A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Comércio Eletrônico II: Arquitetura do E-commerce

Apresentações semelhantes


Apresentação em tema: "Comércio Eletrônico II: Arquitetura do E-commerce"— Transcrição da apresentação:

1 Comércio Eletrônico II: Arquitetura do E-commerce
Fábio Roberto Pillatt, 2001 Departamento de Sistemas e Computação - UFPb

2 Objetivos e Conteúdo Meta: Fazer com que os analistas de negócios compreendam a “engrenagem” para a construção de sites Web e de comércio eletrônico, contemplando os aspectos técnicos e de custos. Ênfase no “o que” deve ser feito e não no “como” deve ser feito. Conteúdo Elementos que compõem um sistema de comércio eletrônico. Serviços de suporte recomendados (conexão à Internet, “web-hosting”, processamento de , processamento de pedidos de compra, pagamentos, distribuição, etc). Produtos e tecnologias disponíveis, apresentando quadros comparativos e custos. Apresentação de dois projetos-experimento.

3 Avaliação do Módulo Os analistas de negócios serão convidados a propor uma solução para o sistema de comércio eletrônico (arquitetura baseada na estratégia de desenvolvimento por componentes) que estão desenvolvendo, contemplando aspectos técnicos e de custos. A possibilidade de eventuais adições de funcionalidades (devido a exigências do mercado ou crescimento do negócio) deverá ser levada em consideração.

4 Arquitetura E-business
Componentes que adicionam funcionalidades a solução de comércio eletrônico. Podem ser inseridos de acordo com as ne- cessidades de mercado e possi- bilidade financeira. Não difere entre B2B e B2C. Componentes de Processos do E-Business Componentes Genéricos de E-Business Serviços e Utilitários da Internet Serviços baseados na Internet e u- tilizados pela solução de comér- cio eletrônico. Ex.: acesso a BD. Este é o tipo de arquitetura para comércio eletrônico que está começando a ser utilizado pelas organizações. Possibilita que a organização possa crescer aos poucos seguindo a tendência da componentização. Os componentes, principalmente no nível 1, não fazem distinção entre abordagem B2B ou B2C. Ambas requerem funcionalidade similares neste nível. Utiliza de serviços que podem ser fornecidos ou adicionados a uma plataforma ou Middleware. Middleware: É um ambiente que fornece serviços básicos (persistência, transação, segurança, tolerância a falhas) e possibilita a inserção de componentes (business logic). Utiliza de Middlewares que suportam a inserção de componentes. Tudo isto deve rodar sobre uma plataforma de Hardware Servidor de Aplicações e Infra-Estrutura Middleware que disponibiliza alguns serviços e possibilita a inserção de componentes. Plataformas de Hardware Plataforma de Hardware que dá suporte aos níveis superiores.

5 Componentes de Processo
Componentes do E-Business Marketing e Vendas Entrada do Pedido Efetivação do Pedido Consolidação do Pedido Serviços para o Cliente Serviços de Personalização Shopping Cart Agregação e Entrega Serviços de Membership Serviços de Taxação Despachante de Pedido No primeiro nível encontram-se os componentes que tratam do processo de e-business. A componentização possibilita que a empresa adicione funcionalidades aos poucos, de acordo com as necessidades ou com as possibilidades financeiras. Componentes são: um pacote coerente de artefatos de software que pode ser desenvolvido independentemente e entregue como unidade e que pode ser composto, sem mudança, com outros componentes para construir algo maior. No mundo competitivo atual, empresas são obrigadas a estarem sempre ofertando novas funcionalidades. A arquitetura deve possibilitar que novas funcionalidades sejam acrescentadas ao sistema de forma fácil e rápida. Ex. Companhias de telecomunicação. Para suportar esta tendência são necessários Middlewares (Ex.: Enterprise JavaBeans (EJB) e COM). Suportam a inserção e combinação de componentes Fornecem funcionalidades básicas (segurança, tolerância a falhas, gerência de transações distribuídas, persistência ...) Programadores normais não sabem como resolver essas questões (difíceis). E nem deveriam! Eu, como empresário, quero que meus programadores se concentrem no Business Logic, não em acertar transações distribuídas! Os componentes, porém, estão presos a solução proprietárias. Busca de Mercadoria Serviços de Pagamento Gerenciamento de Inventário Treinamento Mecanismos de Transação Vale Presente Pedido Faturamento Log de Problemas

6 Marketing e Venda Apresentação de informações e funcionalidades
específicas para cada cliente. Aumenta a satisfação do cliente. Requer solicitação de informações. Marketing e Vendas Serviços de Personalização Cadastro de Clientes. Momento em que se adquire as informações do mesmo. Contribui para a fidelização do cliente. Serviços de Membership Ferramentas que facilitam a busca de produtos e/ou serviços disponibilizados no site. Deve sempre estar bem visível. Para se obter sucesso na Web não basta criar um site e deixá-lo a espera de clientes. A construção de uma estratégia de marketing, fundamentada em tecnologias disponíveis, é de grande importância para o sucesso comercial. Para isto ser alcançado, componentes podem encapsular as seguintes funcionalidades: Serviços de Personalização. Possibilita apresentar aos clientes apenas informações e funcionalidades que relacionam-se aos mesmos. Aumenta a satisfação do usuário gerando maior fidelização. Requer a solicitação de informações do cliente. Informações são mais fáceis de ser colhidas do que em organizações normais (de cimento e tijolo) Serviços de Membership Cadastro de clientes Solicitação de informações no cadastro que serão utilizadas na personalização. Solicitação de muitas informações pode tornar-se chato para o cliente. Possibilita a entrega de brindes (ex. Dotz - submarino). Contribui para a fidelização de clientes. Busca de Mercadorias Ferramentas que facilitam a busca por mercadorias e/ou serviços disponibilizados no site. Mecanismos de transação Como disponibilizar produtos para os clientes??? A limitação de um único mecanismo sacrifica muitos clientes e com isso a organização deixa de ganhar dinheiro. Mecanismos: Catálogo, produtos feitos sobre medida, leilão, negociação, etc. Busca de Mercadoria Mecanismos que possibilitam a disponibilização de produtos e/ou serviços ao cliente. A limitação em apenas um mecanismo pode causar perda de clientes. Mecanismos de Transação

7 Entrada de Pedido Banco de dados lógicos que contém os itens selecio-
nados. Pode ser capaz de acumular cupons. Pode ser capaz de conter itens de diferentes vendedores. Entrada do Pedido Carrinho de Compras Taxas referentes aos produtos sendo vendido,basea- das no produto e/ou na localização do vendedor e comprador. Serviços de Taxação O serviço de pagamento deve disponibilizar uma ou mais formas do cliente realizar o pagamento do pro- duto e/ou serviço adquirido. Sistema de processamento de pedidos pode ser drasticamente melhorado se realizado de forma online. Pedidos podem ser roteados rapidamente para o site de processamento de pedidos economizando tempo e reduzindo despesas. Clientes podem calcular o custo de seus pedidos economizando tempo de todas as partes envolvidas. Neste sentido, componentes podem encapsular as seguintes funcionalidades: Carrinho de compras É um banco de dados lógico de itens sendo considerados na compra. Pode incluir a capacidade para o comprador mudar a quantidade ou outros atributos de um item sendo comprado. Contém links que retornam a página de catálogo. Pode ser capaz de acumular cupons. Pode ser capaz de conter itens de múltiplos vendedores para realizar uma comparação Serviços de taxação Taxas de venda requerem conjunto de regras complexas com relação ao produto sendo vendido, a localização do comprador e a localização do vendedor. O cálculo de taxas e impostos torna-se ainda mais complexo se as partes envolvidas estão em países diferentes. O serviço de taxação deve tratar esta complexidade de forma correta. Serviços de pagamento O serviço de pagamento deve disponibilizar uma ou mais formas para o comprador realizar o pagamento ao vendedor do produto ou serviço. Mecanismos: boleto bancário, cartão de crédito, e-cash, e-card, e-cheque,... Vale presente Muitas lojas disponibilizam vales presentes. Ex.: Amazon permite que ao invés de mandar um presente para alguém, você envie um vale presente com um determinado valor. Podem ser distribuídos como recompensa por compras realizadas. Fidelização. Serviços de Pagamento Vale Presente Vales presentes e recompensas. Busca a maior satisfação e fidelização do cliente.

8 Efetivação do Pedido Efetivação do Pedido A efetivação do pedido é realizada: Confirmação por parte do cliente, verificação de disponibilidade em estoque, fechamento do pedido, aviso aos fornecedores, emissão de confirmação do fechamento do pedido ao cliente. Confirmação do pedido por parte do cliente (eu, o cliente, QUERO este produto ou serviço). Submissão do produto. Fechamento do pedido Verificação de disponibilidade em estoque Aviso ao fornecedor do produto Emissão de um de confirmação do fechamento do pedido. Pedido

9 Consolidação do Pedido
Responsável pela entrega do produto e/ou serviço após o pedido ser confirmado. A Agregação de produtos é uma forma de redução de custo do envio. Consolidação do Pedido Agregação e Entrega Saída do produto propriamente dita. Um de aviso pode ser enviado ao cliente. Despachante do Pedido Sistema de gerenciamento de estoque. É mais com- plexo em sistemas online. Apenas o que está dispo- nível em estoque deve ser oferecido ao cliente. O Pedido já foi formulado pelo cliente, passou pelo pagamento (pelo menos uma promessa satisfatória de pagamento) e já foi recebido e aceito pelo fornecedor/vendedor do produto. Agora, os sistemas responsáveis pela (1)agregação e entrega de produtos, (2)emissão do produto, (3) gerenciamento de inventário e (4) fatura, devem ser acionados. Tais funcionalidades também podem ser encapsuladas em componentes Agregação e Entrega Uma vez que um pedido é confirmado, ele deve ser entregue ao cliente. Transporte custa dinheiro e é repassado ao consumidor Taxa plana, taxa baseada em peso, taxa baseada em valor, taxa baseada na distância. Taxas de entrega menores podem ser usadas como marketing. Uma forma de redução de custo de entrega é utilizar da técnica de agregação de produtos. Estratégias de logísticas Existem várias empresas que disponibilizam serviços de fretes e entregas: Federal Express, United Parcel Services, Airbone, DHL, etc... Despachante de Pedido Saída do produto propriamente dita. Pode ser enviado outro para o cliente avisando da saída do produto. Gerenciamento do inventário A disponibilidade do produto representa um grande papel nas vendas. O gerenciamento de estoque em tempo real está tornando-se uma necessidade. Compradores desejam conhecer se eles realmente podem obter os produtos ou serviços solicitados. A integração do sistema de e-commerce com o sistema corporativo que realiza o gerenciamento de estoque (empresas não desejam jogar fora seu legado) Integração de catálogo Integração do sistemas de transações. Faturamento Pedidos são faturados e invocam transações de pagamentos (antes o pagamento era apenas uma promessa, agora ele é realizado) Não é liniar: B2C: acontece antes do envio do produto/serviço solicitado B2B: acontece depois do envio do produto/serviço solicitado Gerenciamento de Inventário Faturamento Realização do pagamento. Em B2B o pagamento acontece depois do envio do produto/serviço. Em B2C, antes do envio do produto/serviço.

10 Serviços Prestados ao Cliente
Serviços para o Cliente Treinamento via Web pode ser altamente interativo: simulações, suporte técnico, comunicação em tempo real com instrutores, etc. Treinamento Mesmo após a realização do pedido, serviços devem ser prestados aos clientes (pós negociação). Treinamento Treinamento baseado na Web pode ser altamente iterativo. Pode incluir simulações ou acesso ao produto real (no caso de SW). Instrutores podem comunicarem-se com clientes de forma online e em tempo real (chats) Suporte técnico Logs de Problemas Um log dos problemas mais comuns, com suas respectivas soluções, podem ser mantido e disponibilizado para o acesso dos clientes. A realização online dos serviços prestados aos clientes possibilita uma redução de custos referentes a infra-estrutura necessária para a efetivação de tal serviço. Ex.: Não é mais necessário um center call. Treinamento, suporte técnico, respostas a dúvidas, podem ser feitas online e em tempo real. Muitos preferem ainda adquirir tais serviços da maneira tradicional. Ideal é disponibilizar as duas formas. Um log de problemas comuns, com suas respectivas soluções, pode ser mantido e disponibilizado para o acesso de clientes. Log de problemas

11 Componentes Genéricos de Negócio
Componentes Genéricos de Negócios Gerenciamento de Pedidos Gerenciador de Clientes Gerenciador de Inventário Workflow Contabilidade No segundo nível encontram-se os componentes genéricos de business. A primeira camada abrange funcionalidades adicionais (podem ou não estar presente em uma solução para e-commerce). A segunda camada abrange funcionalidades genéricas para a maioria de soluções de e-commerce. Continuamos no paradigma de componentização. Os componentes aqui apresentados são genéricos e estão presentes em quase a totalidade das organizações. Geralmente já pertencem ao legado da empresa.

12 Gerenciamento de Pedidos
Funções deste módulo capturar informações do pedido (entrada do pedido). Gerenciar pagamento, envio, taxação e inventário. Serviços de Personalização, Membership, Gerenciamento de Clientes Clientes Servidor Web Browser Internet Catálogo Entrada do Pedido O sistema de gerenciamento de pedidos é responsável por: Capturar informações do pedido Itens selecionados, tipo de pagamento selecionado pelo cliente, cálculo de impostos. Utiliza de funcionalidades providas pelos componentes responsáveis pela entrada de pedido. Capturar informações do cliente Através dos serviços de Membership e sistema de gerenciamento de clientes. Efetivar o pedido Gerenciar pagamento, envio, taxação e inventário. Muitas empresas já possuem um sistema de gerenciamento de pedidos antes de implantar uma solução de comércio eletrônico. Poucas empresas desejam começar do zero, jogando seu legado fora. Utilização de ferramentas que fazem a integração de tais sistemas com os componentes anteriormente citados. Host Integrator Server 2000 (BizTalk): permite a integração de processos e a troca de documentos com o legado da empresa. Lotus Domino (WebSphere): Integra vários produtos de software para mensagens, segurança, gerenciamento, réplica de dados. Pedidos Sistema de Gerenciamento de pedidos pode pertencer ao legado corporativo. Host Integration Server 2000 (BizTalk) Lotus Domino (WebSphere) Efetivação do Pedido Processamento do Pagamento

13 Gerenciador de Clientes
Funções deste módulo: Verificar, editar e mudar perfis de clientes Revisar pedidos de clientes Revisar histórico de pagamentos. Clientes Serviços de Personalização Servidor Web Internet Serviços de Membership O sistema de gerenciamento de clientes é responsável por: Verificar, editar e mudar perfis de clientes. Utiliza do serviço de membership. Revisar pedidos de clientes Utiliza do sistema de gerenciamento de pedidos para solicitar informações dos pedidos de determinados clientes. Revisar histórico de pagamentos Utiliza de um sistema de processamento de pagamentos. Sistemas de gerenciamento de clientes também podem pertencer ao legado de uma empresa. Pedidos Sistema de Gerenciamento de Clientes pode pertencer ao legado corporativo. Host Integration Server 2000 (BizTalk) Lotus Domino (WebSphere) Gerenciamento de Pedidos Pagamentos Processamento do Pagamento

14 Gerenciador de Inventário
Disponibilidade do produto representa um grande papel na venda. Comércio face-a-face (visível ao cliente) Pedido por telefone (operador tem acesso a informações) Comércio eletrônico (apenas uma promessa de disponibilidade). Compradores desejam saber se a mercadoria desejada está disponível ou não. Catálogo deve estar sendo atualizado de acordo com a disponibilidade do produto em estoque. Muitas empresas já possuem sistemas de gestão de inventário. A integração do sistema de comércio eletrônico e o sistema corporativo deve ser feito. No comércio face-a-face a mercadoria está na prateleira e pode ser visualizada pelo cliente. No comércio por telefone, o operador normalmente tem acesso a todas as informações referentes ao produto e a sua disponibilidade No comercio eletrônico a disponibilidade imediata do produto é apenas uma promessa. Compradores desejam saber se a mercadoria está disponível. Caso a mercadoria não esteja disponível imediatamente o cliente pode desejar optar por um outro site ou ainda pagar uma taxa extra para a disponibilização imediata da mercadoria. O ideal é que catálogos devem estar sempre atualizados de acordo com a disponibilidade do produto em estoque. Isto não é tão fácil visto que pedidos de produtos estão sendo recebidos pela empresa a todo o momento. Muitas empresas já possuem sistemas de gerenciamento de inventário e desejam integra-lo ao sistema de comércio eletrônico.

15 Gerenciador de Inventário
Integração do sistema de comércio eletrônico com o sistema de inventário corporativo. Integração do catálogo: O sistema de catálogo é atualizado periodicamente com as informações do inventário real. O catálogo usa estas informações para marcar, ou simplesmente não mostrar, itens que não estão mais no estoque. Itens que estão com baixa saída podem ser candidatos a promoções. Integração com o sistema de transação. O sistema de transação do comércio eletrônico é integrado com o sistema de controle de estoque. Itens no formulário de pedido do cliente são confirmados disponíveis ou marcados como não disponíveis no momento (indicando o tempo para a disponibilidade do produto). Integração do catálogo: sistema de catálogo é atualizado periodicamente de acordo com o estoque. Sistema de transação: itens no formulário do pedido do cliente são confirmados como disponíveis ou não após o cliente tê-los selecionados. O catálogo não precisa estar sempre atualizado. O sistema de transação irá verificar se o produto escolhido está disponível ou não. Sistema de transação está integrado com o sistema de controle de estoque.

16 Workflow Representa o fluxo de atividades pertencente a empresa que não está entre os componentes citados (Contabilidade, gerenciamento de estoque, gerenciamento de pedidos, ...). O fluxo de atividades vai depender do escopo da empresa Ex.: B2C - Aquisição de matéria prima Ex.: B2B - E-procurement, aquisição de MRO, contratação de pessoal. Integração com os componentes de processos. Flexibilidade.

17 Contabilidade O comércio eletrônico requer sistemas financeiros e de contabilidade especiais. O uso de novos sistemas de pagamento, tais como dinheiro eletrônico (eletronic cash) torna a contabilidade complicada porque envolve assuntos legais e acordos em padrões internacionais. Uma transação eletrônica requer funcionalidades tais como checar disponibilidade de produto, movimentos em contas a pagar e a receber, faturamento, etc. Estas atividades devem ser eficientes e rápidas para que o comércio eletrônico não torne-se muito lento. O eletronic cach pode ser diferente da moeda corrente do local. O sistema de contabilidade deve ser rápido para possibilitar que o pedido seja fechado rapidamente. Em catálogos online, pedidos levam em média 3 segundos para serem processados.

18 Serviços Internet Componentes estão ligados a alguns serviços.
Serviços vs. Componentes Distinção arbitrária Sistemas de Banco de dados, Processamento de transações, serviços de autenticação, etc. Serviços Internet Abaixo da camada de componentes estão listados alguns dos serviços e utilitários que empresas utilizam nas aplicações de e-business. A distinção entre serviços e componentes pode ser um tanto arbitrária, uma vez que algumas empresas tem implementado seus serviços como componentes, e outras oferecem-os em pacotes em seus próprios servidores. Serviços utilizados: Banco de dados: A maioria dos sistemas de e-business utilizam pesadamente de banco de dados (informações de clientes, produtos, pedidos, etc). Processamento de transações: Serviços de processamento de transações também são de fundamental importância para sistemas de e-business. Repositórios de Meta Dados: Dados pré processados e analisados que são armazenados em um repositório com o intuito de acelerar a busca e processamento de informações. Máquina de Dedução baseada em regras: Utiliza das informações referentes aos clientes e de algumas regras para gerar conteúdo personalizado. Serviço de autenticação: Serviço que visa verificar a identidade do usuário. Você realmente é a pessoa que diz ser? Banco de Dados de Pedidos Processamento de Transações Repositório de Meta Dados Máquina de Dedução baseada em regras Banco de Dados de Clientes Serviços de Autenticação

19 Banco de Dados de Pedidos
Informações referentes aos pedidos realizados. Arquivo de log. Informação importante para traçar o histórico de determinado cliente especificando seu perfil. É informação fonte para o Data Warehouse Informações de pedidos realizados por determinado cliente são importantes para determinar o perfil do mesmo. Serve como informação base para serviços de personalização.

20 Processamento de Transações
Catálogo Online Legado Base de Dados Comprador 1. Seleciona itens EMPRESA 2. Informações de envio e cartão de crédito 3. Produtos taxas e envio são computados 4. Informações computadas são enviadas. O comprador aceita. 5. Autorização de cartão de crédito Propósito do processamento de transações: Garantir que, uma vez ocorrido o pagamento, as mercadorias serão entregues. Vamos considerar um exemplo real 1 - O comprador seleciona um ou mais itens de um catálogo baseado na Web. 2 - O comprador entra com as informações de envio e do cartão de crédito. 3 - Produtos, taxas e envio são computados. 4 - O comprador aceita a quantidade total resultante. 5 - Uma autorização de cartão crédito é obtida. 6 - O pedido é enviado para um centro de fulfillment (consolidação). 7 - O comprador recebe um recibo . Fases 1 a 3 são referentes a entrada do pedido A partir do passo 4 (confirmação do pedido) até o 7, inicia-se o processamento da transação. A partir deste ponto todas as atividades devem ser realizadas com sucesso, caso contrário o pedido deve ser cancelado. Transações podem falhar por muitas razões: Computador do vendedor quebra ou há uma falha de energia. A autorização do cartão de crédito é negada, etc. Muitos negócios já tem sistemas (legado) para gerenciar seus negócio (processamento de pedidos, contabilidade, consolidação do pedido, etc). A integração com este legado deve ser realizada. Nenhuma empresa quer jogar todo o seu legado fora para recomeçar do zero. Utilização de ferramentas para realizar esta integração Host Integrator Server 2000 (BizTalk) Lotus Domino (WebSphere) Integra software de mensagens, segurança, gerenciamento e distribuição. 7. Envia um recibo CA Centro de Fullfilment (consolidação) 6. O pedido é enviado para o centro de fullfilment

21 Processamento de Transações
Transação deve ser atômica (indivisível) Comprador Vendedor 1.Pagamento = R$10,00 5. Crédito = 10,00 6. Recibo 4. Débito = 10,00 Características de uma transação que devem ser respeitadas no processamento da mesma. ATOMICIDADE Estado consistente Realização isolada Durabilidade Cartão de crédito direto na conta bancária Um passo da transação não acontece (crédito). Toda a transação deve ser cancelada. Caso um passo (step) da transação não ocorra com sucesso, a transação deve ser cancelada por completo. As ações realizadas devem ser desfeitas (Débito do cliente). Conceito de atomicidade de uma transação. Para solucionar este problema o gerenciador de transações pode utilizar de arquivos de log para recuperar o último estado consistente. CA 2. Req. Autorização 3. Autorização Banco

22 Processamento de Transações
Transações devem manter o estado consistente 4. Débito = 10,00 Saldo Comprador:0,00 Vededor: 10,00 Saldo Comprador:10,00 Vededor: 10,00 Estado inconsistente!!!!! Comprador Vendedor 1.Pagamento = R$10,00 5. Crédito = 10,00 6. Recibo Em nosso exemplo, o estado do ambiente é representado pelo saldo, presença de recibos. O montante foi debitado da conta do comprador mas não foi creditado na conta do vendedor. Estado inconsistente!!!! Outro exemplo. No momento que o vendedor vai enviar o recibo, há uma queda de luz e o recibo não é emitido. O sistema de gerenciamento de transação pode optar por tentar recuperar a transação e apenas remeter o recibo ou cancelar a transação por completo. Respeitar o conceito de atomicidade e evitar o estado inconsistente. CA 2. Req. Autorização 3. Autorização Banco

23 Processamento de Transações
Transações devem ser realizadas isoladamente Comprador B Crédito A = Saldo_old + 10 = 20 Crédito B = Saldo_old + 15 = 25 Vendedor 1.Pagamento = R$15,00 6.1 Crédito B = 15,00 6.2 Crédito A = R$10,00 Comprador A 4. Débito A = 15,00 É importante que as atividades de um participantes não interfiram nas atividades do outro. As transações devem ser realizadas separadamente. No exemplo acima, os passos referentes ao crédito na conta do vendedor são realizados ao mesmo tempo (são concorrentes). As duas operações utilizam da mesma variável saldo_old. Saldo_old = 10,00 Com isto, o saldo final será igual a R$25,00 (ou R$20,00) ao invés de R$35,00. Para solucionar este problema o gerenciador de transações devem utilizar de ferramentas que impeçam esta concorrência em momentos críticos (chaveamento). Etapas críticas de sistemas concorrentes. 2.Pagamento = R$10,00 CA 5. Débito B = R$10,00 3. Req. Autorização 4. Autorização Banco

24 Processamento de Transações
Transações devem ser duráveis Resultado das transações devem ser armazenadas de forma confiável. EMPRESA Pedido Transação Tais informações podem ser utilizadas para estatísticas e análises. O resultado das transações deve ser registrado de forma confiável e resistente a falhas. Duplicação de Base de dados Discos espelhados. Lembrem-se que estas funcionalidades podem ser providas por middleware, ou por sistemas já pertencentes a empresa (legado). É muito difícil para uma organização que está entrando para o comércio online, partir do zero e implementar todas estas funcionalidades sem a ajuda de ferramentas e/ou plataformas. Funcionalidades: Gerenciamento de banco de dados Processamento de transações Segurança ... A equipe de desenvolvimento levaria mais tempo tentando implementar estas funcionalidades do que com o business logic propriamente dito. É difícil encontrar profissionais que conhecem todas estas áreas: Banco de dados Transações distribuídas Lógica do negócio Tolerância a falhas Replicação de dados etc. Gerenciador de Transações Réplicas Base de Dados Base de Dados Base de Dados

25 Repositório de Meta Dados
Um data warehouse é um banco de dados derivados de transações, e estruturado para consultas complexas e análise. Um data warehouse é um banco de dados derivados de transações, e estruturado para consultas complexas e análise. Um dos grandes objetivos do Data WareHouse é possibilitar que o gerente de business tome decisões de alto nível e dar suporte a previsões referentes ao futuro do negócio. Ex.:Em uma rede de supermercado nacional, cada filial possui a sua base de informações, sendo que todas estão interligadas. O gerente de negócios deseja saber, por exemplo, qual o aumento das vendas (caso tenha ocorrido) em janeiro de 2001 com relação a janeiro de 2000, em toda a rede de supermercados, para cada produto fornecido por um determinado fornecedor. Devido a grande quantidade de informações que precisam ser processadas para gerar a resposta desta consulta, torna-se inviável a sua implementação sem um Data Warehouse. Tempo de processamento muito grande. Solução usando Data Warehouse: Todos os supermercados possuem as informações em uma granularidade pequena (transações). O que será feito é : cada supermercado da rede irá reunir esta informação gerando dados de granularidade maior (vendas diárias) que será armazenado em uma outra base de dados na qual o gerente de negócios fará suas consultas. Este pré-processamento dos dados deve ser realizado antes da consulta ser requerida pelo gerente de negócios. O Gerente de negócios irá buscar dados no Data Warehouse que conterá informações em uma granularidade maior (vendas/dia para cada produto fornecido pelo fornecedor X). Outras visões do Data Warehouse, com granularidade maior (vendas/mês) podem ser geradas.

26 Máquina de Dedução Baseada em Regras
Máquinas de Regras: Possibilitam a execução de regras de negócios que determinam qual conteúdo será mostrado para cada visitante. WebSphere Personalization Fundamental para alcançar personalização. Utiliza-se da base de dados para obter informações e realizar a personalização. Pode utilizar Data Mining Exemplo de regra de negócios. Em uma loja de roupas a oferta de produtos nos banners pode variar de acordo com a estação climática e localização geográfica do cliente. Um cliente de Porto Alegre, nesta época do ano, deve receber uma oferta de roupa diferentes de um cliente de Sobrau. Regras podem ser geradas com a ajuda de Data Mining Software que, a partir de uma base de dados, gera regras que possibilitam a previsão de um interesse de um determinado cliente. Um determinado grupo de clientes comprou casacos de lã no último mês (junho). O software de Data Mining verifica que a grande maioria deste grupo pertence a região sul. Com esta informação, o software gera uma regra que determina a exposição de um determinado tipo de roupa para os clientes localizados na região sul.

27 Banco de Dados de Clientes
Informações referentes aos clientes registrados no serviço de Membership. Contém informações que servem de base (juntamente com os pedidos realizados pelo cliente) para a personalização. É informação fonte para o Data Warehouse.

28 Serviços de Autenticação
Requerimentos de Segurança Autenticação: Método para verificar a identidade dos participantes. Criptografia: Processo que torna mensagens indecifráveis exceto para aqueles que possuem a chave de decodificação. Integridade: Garante que a informação não é alterada ou destruída durante a transmissão. Não Repúdio: Negação Clientes: Não realização de pedidos. Comerciantes: Não realização de pagamentos por parte do cliente. Alguns requerimentos de segurança são essenciais para a prática de comércio sobre um ambiente online. Autenticação Cripotgrafia Integridade Não repúdio

29 Serviços de Autenticação
Criptografia Simétrica Keysender (= Keyreceiver) Keyreceiver Original Message Sender Scrambled Message Scrambled Message Original Message Internet Chave de codificação e decodificação é a mesma. Os dois lados envolvidos na comunicação devem ter conhecimento da chave secreta. Transferência desta chave deve ser feita de forma segura. Vantagem: performance Desvantagem: necessidade de transmitir a chave secreta pela rede. Receiver Decryption Encryption

30 Serviços de Autenticação
Criptografia Assimétrica Public Keyreceiver Private Keyreceiver Original Message Scrambled Message Scrambled Message Original Message Message Internet Sender Receiver Existe um par de chaves, uma privada e outra pública Uma mensagem codificada com uma chave (pública ou privada) só pode ser decodificada pelo seu par correspondente. Vantagem: o uso do par de chaves privada e pública elimina a necessidade da transmissão da chave secreta. Esse esquema permite também conferir a autoria de uma mensagem (Assinatura Digital) Desvantagem: desempenho Existe ainda um sistema híbrido, que mistura os dois esquemas. Será visto no exemplo a seguir. Private Keysender Public Keysender Digital Signature Original Message Scrambled Message Scrambled Message Original Message Internet Sender Receiver

31 Serviços de Autenticação
Certificado Uma espécie de identidade de seu proprietário. Contém informações referente ao seu proprietário, bem como as suas chaves públicas. É emitido pela Autoridade Certificadora (CA). Name : “Richard” key-Exchange Key : Signature Key : Serial # : Other Data : Expires : 6/18/96 Signed : CA’s Signature Autoridade Certificadora: Intermediário de confiança que emite certificados e também verifica a autenticidade dos mesmos.

32 Serviços de Autenticação
Exemplo de troca de mensagens autenticadas. 1. Para enviar a mensagem para o receptor, o remetente dispara o aplicativo responsável pela segurança no envio da mensagem. O sistema aplica uma função Hash sobre os dados confidenciais a serem transmitidos, por exemplo o número do cartão, gerando uma “Message Digest”. Uma message digest é um valor gerado para uma mensagem (ou documento) que é único para esta mensagem. É gerada pela passagem de uma mensagem através de uma função de codificação unidirecional (não pode ser revertida). 2. A “Message Digest” é codificada com a chave privada do remetente para produzir a assinatura digital dessa mensagem. 3. Depois, o sistema gera uma chave randômica simétrica e codifica os dados, a assinatura digital e o certificado do remetente, num único pacote, gerando a mensagem criptografada. 4. Para poder decodificar a mensagem, o receptor irá precisar de uma cópia da chave simétrica. Essa chave é codificada com a chave pública do receptor que o remetente obteve através do certificado do receptor (previamente enviado), gerando um envelope digital. 5. O remetente envia para o receptor um pacote contendo a mensagem criptografada e o envelope digital. 6. O sistema do receptor recebe a mensagem e decodifica o envelope digital com sua chave privada, obtendo assim a chave simétrica. 7. O receptor usa a chave simétrica para decodificar a mensagem e obter os dados confidenciais, a assinatura digital e o certificado do remetente. 8. Ele decodifica a assinatura digital do remetente com sua chave pública, que foi obtida através do certificado do remetente, obtendo assim a “Message Digest” original. 9.Ele roda a mesma função Hash, usada pelo remetente, sobre os dados recebidos, gerando uma “Message Digest”. 10.Finalmente, o receptor compara as duas “Message Digest”, se elas forem iguais ele pode ter certeza da autenticidade e integridade dos dados recebidos.

33 Middleware e Infra-Estrutura
Modelos Server Component/Arquiteturas: Java 2 Enterprise Edition/Enterprise JavaBeans, DNA/COM Servidores de Aplicações Enterprise JavaBean Application Server, WebSphere Padrões EAI CORBA, RMI, DNA Quem desenvolve um sistema para a Internet tem que assumir que clientes o acessarão de plataformas diferentes e utilizarão softwares diferentes. Plataformas podem ser desde um telefone móvel até um browser com uma interface chinesa. Caso você queira incluir estes clientes seu software empresarial precisa negociar com eles. Empresas ligadas a seus fornecedores (Transações B2B) devem antecipar diferenças de hardware, linguagens, banco de dados, etc. Estas verdades tem forçado organizações a adotarem sistemas de middleware baseado em componentes. Modelo Cliente/Servidor está morto. Motivos: escalabilidade, baixa gerenciabilidade, queremos Very thin Clients (Dispositivos Internet-Enabled) organizações estão adotando uma arquitetura de n-camadas fundamentadas em servidores de aplicações baseados em componentes. Padrões Internet TCP/IP, HTML, XML

34 Cenário Possível EJB Application Web Server Server Browser Cliente
HTML Celular Servlet Middleware WAP Toplink Um cenário possível de acesso a uma aplicação corporativa (mundo Java) HTML/WAP - formato com que as informações são passadas para o servidor Web. RMI/CORBA - responsável pela comunicação entre objetos distribuídos. Servlet: Recebe informações, processa-as (com a ajuda do servidor de aplicações), e retorna uma resposta para o cliente. Middleware: É um ambiente que fornece serviços básicos (persistência, transação, segurança, tolerância a falhas) e possibilita a inserção de componentes (business lógico). EJB (Sun) COM (Microsoft) Componentes: Um pacote coerente de artefatos de software que pode ser desenvolvido independentemente e entregue como unidade e que pode ser composto, sem mudança, com outros componentes para construir algo maior. Pacote que encapsula uma funcionalidade. JavaBeans (EJB) DNA (COM) Toplink: Framework profissional de persistência. Trata a persistência dos dados e a conversão do mundo orientado a objeto (aplicação) para o relacional (banco de dados) de forma transparente. Apenas um dos serviços disponibilizados pelo Middleware Mover o Business Logic de volta para o servidor requer uma nova arquitetura, com a introdução de uma camada intermediário. (Não mais cliente/Servidor) RMI Corba BDR

35 Arquitetura / Componentes
Objetivo maior de um Middleware é deixar o programador se concentrar no Business Logic. Isto é feito de duas grandes formas: Programação Declarativa Cada Bean tem um Deployment Descriptor que permite configurá- lo visualmente durante a implantação Serviços automáticos (segurança, transações, persistência, ...) Arquitetura de 3 Camadas O User Services Tier trata da apresentação. O Business Services Tier trata do Business Logic e de serviços de suporte Servidor Web, Segurança, Tolerância a falhas, Directory/Naming. O Data Services Tier trata da persistência,concorrência, ... Podemos ir até uma arquitetura n-camadas quando: O Middle Tier é distribuído em várias camadas. Data Services Tier também pode ser distribuído em várias fontes. Tudo isto tem que ser feito dentro de um paradigma de componentes (Server Component Model). Precisamos de um modelo de componentes que simplifique o processo de mover Business Logic para o servidor. Para tanto, o modelo deve implementar um conjunto de serviços automáticos para gerenciar os componentes. Em outras palavras, queremos um framework que ofereça serviços automáticos e permita que Business Logic seja plugado facilmente com componentes que obedeçam ao modelo. Exemplos de plataformas: Server Component/Enterprise JavaBeans, DNA/COM

36 O modelo EJB Interface Home e Home Object
Interface para criar, localizar e remover instâncias de Beans. O Home Objetct implementa a interface Home. Os Beans não são acessados diretamente, apenas o container (Home Object e EJBObject) os acessa. Interface Remote e o EJBObject Especifica os Business Methods do Bean. Invoca os métodos de um Bean.

37 Novos Papéis (Paradigma EJB)
EJB Developer Um programador que produz EJBs EJBs capturam o Business Logic da empresa Sendo reutilizável, vale a pena colocar num Bean (Bean = componente no mundo EJB) EJB Deployer Faz tudo que tem a ver com o ambiente run-time final. Um técnico da empresa cliente final. Vai instalar os Beans no EJB Server e configurá-los no ambiente run-time. Não precisa saber java, nem o Business Logic. Deve saber quais são os bancos de dados, os tipos de usuários, etc. Application Developer Junta todos as camadas para criar a aplicação final. Escreve a aplicação usando componentes prontos. A aplicação pode ser: Aplicação Java, Applet, Servlet, Aplicação CORBA. O desenvolvedor se preocupa mais com a funcionalidade de alto nível. Tipicamente apresentação de dados. System Administrator Gerencia o ambiente. Monitoração em tempo real de: Servidor de aplicação Beans Container Clientes Pode ter visão instantânea ou histórica de eventos,cargas, etc.

38 Servidores de Aplicações
Enterprise JavaBean Application Server, WebSphere Application Server. É a base de uma solução “Internet-Based” Servidor de aplicações: servidor que irá suportar a inserção de aplicações (componentes) possibilitando seu acesso. Servidor Web: servidor que possibilita o acesso via HTTP.

39 Padrões de EAI DNA (Distributed interNet Applications)
Paradigma da programação orientada a objeto é uma realidade. CORBA (Common Object Request Broker) Baseado no ORB (Object Request Broker) que é o mecanismo básico através do qual objetos fazem requisições e recebem respostas de outros objetos, sendo que os mesmos podem estar em máquinas diferentes. DNA (Distributed interNet Applications) Componentes no mundo da Microsoft (COM+) Possibilita a construção de aplicações distribuídas construídas com base no padrão COM. JavaBeans/RMI (Remote Method Invocation). JavaBeans: É a versão java de componentes de Software. RMI: É a maneira padrão de um objeto Java comunicar-se com outro objeto Java pela rede.

40 Padrões da Internet Padrões sobre os quais a Internet fundamenta-se:
TCP/IP (Transport Control Protocol / Internet Protocol). HTML (HyperText Markup Language) XML (eXtensible Markup Language) TCP/IP: TCP garante que dois computadores podem comunicarem-se

41 Padrões da Intenet TCP/IP
É arquitetura de rede de computadores utilizada pela Internet. TCP/IP vs. RM-OSI (Reference Model - Open System Interconection) Host A Host B Roteador/Gateway Aplicação Aplicação Transporte Transporte Inter-Rede Interface de rede Interface de rede Inter-Rede Interface de Rede Interface de Rede Rede Física

42 Padrões da Intenet HTML (HyperText Markup Language)
Linguagem para desenvolvimento de páginas Web baseadas em tags (etiquetas). Linguagem para descrever como os documentos (páginas) devem ser formados. Trata a apresentação do documento. Suporta ponteiros para outras páginas URLs (Uniform Resource Locators)

43 Padrões da Intenet XML (eXtensible Markup Language)
Linguagem para organização de dados (não meramente apresentação). Permite a definição de suas próprias tags. O DTD (Document Type Definition) define as tags de um documento XML. Posso criar regras de negócios (business rules) com a ajuda de DTDs. XML separa a apresentação e definição de conteúdo (não substitui HTML). Facilita a busca de informações na Web. Padronizando-se DTDs o XML possibilita a integração de aplicações de e-commerce (B2B). <?xml version=“1.0”?> <customer order_number= “A9999”> <first_name>John</first_name> <last_name>Smith</last_name> <shipping_address> <street>123 Street</street> <city>Ijui</city> <state>RS</state> </shipping_address> </customer>

44 Plataforma de Hardware
Servidor de Base de Dados Servidor de Aplicações Servidor Web Base de Dados Firewall Arquitetura de 3 camadas Arquitetura n camadas: n servidores de aplicação n servidores de banco de dados. Internet Cliente Browser Cliente Browser HTTP TCP/IP HTTP TCP/IP

45 Fontes de Referência Eletronic Commerce: A Managerial Perspective – Efraim Turban, Jae Lee, David King, Michael Chung. Prentice Hall, 2000. Designing Systems For Internet Commerce - G. Winfield Treese, Lawrence C. Stewart, Addison Wesley, 1999


Carregar ppt "Comércio Eletrônico II: Arquitetura do E-commerce"

Apresentações semelhantes


Anúncios Google