Patterns Arquitetônicos para E-Business Acervo de patterns arquitetônicos nivelados Favorecem aos arquitetos de sistemas implementar soluções de e-business de sucesso, através do reuso de componentes e soluções arquitetônicos, obtidos a partir de experiências comprovadas http://www-106.ibm.com/developerworks/patterns/ Patterns de Negócios Identificam interações mais comuns que ocorrem entre usuários, negócios e dados. Tipos de Patterns de Negócios SELF – SERVICE (usuário para negócios) COLABORAÇÃO (usuário a usuário) AGREGAÇÃO DE INFORMAÇÃO (usuário a dados) CORPORAÇÃO ESTENDIDA (negócios a negócios) SELF – SERVICE (usuário para negócios) Aplicações simples de Web site Usuários acessando transações na base 24x7 pela Interner / Intranet Usuário acessando seu saldo bancário COLABORAÇÃO (usuário a usuário) Aplicações onde a Internet suporta trabalho colaborativo entre usuários Usuário trabalhando com outro usuário para compartilhar dados: email, grupos, chat, vídeoconferência AGREGAÇÃO DE INFORMAÇÃO (usuário a dados) Aplicações onde o usuário extrai informações úteis a partir de grandes volumes de dados, textos, imagens, .. Dados de fontes múltiplas, agregadas e apresentadas através de canais múltiplos: Business Intelligence, Gestão do Conhecimento, .. CORPORAÇÃO ESTENDIDA (negócios a negócios) Aplicações que ligam um ou mais negócios, através de empresas separadas Integração de dados e processos através das fronteiras da empresa: SCM, CRM Patterns de Integração “Cola” entre os Patterns de Negócios: aplicações complexas podem ser construídas combinando múltiplos patterns de negócios Integração de diversos serviços através de um ponto de entrada comum: Portais Integração por Acesso Integração Integração por Aplicação Patterns de Integração de múltiplas aplicações e fontes de dados, sem os usuários diretamente envolvidos: EAI :Brokers de Mensagem, Gerenciadores de Workflow Patterns Compostos Casos Comuns •Comércio Eletrônico •Portal •Acesso a Contas •Troca •Hub voltado a Vendas ( Fornecedor ) •Hub voltado a Compras ( Comprador ) Customização do Projeto Incluir somente os patterns que são usados num caso específico Usado Não Usado Pattern Composto Comércio Eletrônico Compras do usuário On-line: www.amazon.com Pattern Composto Portal Agrega fontes de informação e aplicações através de acesso uniforme e personalizado: Portal Intranet duma empresa Os patterns de Negócios / Integração podem ser implementados usando um ou mais Patterns de Aplicação Descreve a estrutura, colocação e integração entre as camadas lógicas da Aplicação SELF – SERVICE (usuário para negócios) Patterns de Aplicação •Canal Stand Alone Simples •Canal Diretamente Integrado Simples •Roteador •Decomposição •Agente Pattern de Aplicação Self Service :: Canal Stand-Alone Simples Estrutura para aplicações que não tem necessidade de integração com outros sistemas e cujo foco principal é o canal Web Usa duas camadas lógicas: de Apresentação e da Aplicação ( lógica dos negócios ) Exemplo: Aplicação que permite localizar a filial mais próxima do endereço do cliente Pattern de Aplicação Self Service :: Roteador Pattern de Aplicação Self Service :: Roteador Provê estrutura para aplicações que necessitam roteamento inteligente de requisições feitas a partir múltiplos canais de transferência para múltiplas aplicações back-end Usa três camadas De Apresentação : com estilos diferentes: Internet, call centers, kiosks De Roteamento: rotear de forma inteligente para as transações de backend apropriadas: implementa um mínimo de regras de negócios. É responsável por transformação de mensagens, conversão de protocolos, gerência de níveis diferentes de segurança e concentração de sessões. Aplicação de Negócios: maioria das regras de negócios Exemplo: Financeira: permite serviços de crédito pessoal, investimentos, cartão de crédito, suportados por aplicações back-end diferentes e acessados por diferentes canais Escolha do Pattern de Aplicação Feita baseada em fatores de Negócios Tecnologia Pattern de Aplicação Self Service :: Roteador Fatores de Negócios: Melhora a eficiência organizacional Reduz a latência dos eventos de negócios Fácil de adaptar quando houver fusões e novas aquisições Integração através de múltiplos canais de transmissão Fatores de Tecnologia Minimiza o custo total de compra Aproveita as funcionalidades já existentes Aproveita o investimento já feito com sistemas legados Faz integração de aplicações back-end Minimiza a complexidade da empresa Fácil manutenção Solução escalável Patterns de Aplicação para Integração De Acesso De Aplicação Foco no Processo Foco no Dado Patterns de Aplicação para Integração por Acesso Pervasive Device Access Web Single Sign-On application Extended Single Sign-On application Personalized Delivery Patterns Runtime Captura a topologia lógica da arquitetura que é necessária para suportar um pattern de aplicação Identifica nós de: Software Middleware Hardware necessários e baseados num conjunto de características de nível de serviço: Disponibilidade Segurança, ... Pattern de Aplicação::Self Service :: Roteador Self-Service:: Pattern Runtime Roteador public key infrastructure (PKI) PKI is a system for verifying the authenticity of each party involved in an Internet transaction, protecting against fraud or sabotage, and for nonrepudiation purposes to help consumers and retailers protect themselves against denial of transactions. Trusted third-party organizations called certificate authorities issue digital certificates -attachments to electronic messages -- that specify key components of the user's identity. During an Internet transaction, signed, encrypted messages are automatically routed to the certificate authority, where the certificates are verified before the transaction can proceed. PKI can be embedded in software applications, or offered as a service or a product. e-business leaders agree that PKIs are critical for transaction security and integrity, and the software industry is moving to adopt open standards for their use. user node The user node is most frequently a personal computing device (PC) supporting a commercial browser, for example, Netscape Navigator and Internet Explorer. The browser is expected to support SSL and some level of DHTML. Increasingly, designers need to also consider that this node might be a pervasive computing device, such as a Personal Digital Assistant (PDA). Domain Name Server (DNS) Node The DNS Node assists in determining the physical network address associated with the symbolic address (URL) of the requested information. The Domain Name Server Node provides the technology platform to provide host to IP address mapping, that is, to allow for the translation of names (referred to as URLs) into IP addresses and vice versa. Additional Resources •(in English) ESS Web Server Redirector Node In order to separate the Web server from the application server, a so-called Web Server Redirector Node (or just redirector for short) is introduced. The Web server redirector is used in conjunction with a Web server. The Web server serves HTTP pages and the redirector forwards servlet and JSP requests to the application servers. The advantage of using a redirector is that you can move the application server behind the domain firewall into the secure network, where it is more protected than within the DMZ. application server node The application server node provides the infrastructure for application logic and can be part of a Web application server. It is capable of running both presentation and business logic but generally does not serve HTTP requests. When used with a Web server redirector, the application server node can run both presentation and business logic. In other situations, it can be used for business logic only. Integration Server Node The purpose of this node is to interface between any front end access channel, such as the web, a call center, or a client/server ("fat client") PC, and whatever back-end application system is needed (including applications from other companies). It will perform the following kinds of services •convert protocols from the front end to match whatever the back-end systems understand •decompose a single message from the front end (such as a web server) into several back-end messages (or transactions), and then re-compose the replies •navigate from the front end to whatever back-end system needs to be accessed •in more complex cases, control the process or unit of work for a number of back-end interactions based on a request from the front end directory and security services node The directory and security services node supplies information on the location, capabilities, and attributes (including user ID/password pairs and certificates) of resources and users known to this Web application system. This node can supply information for various security services (authentication and authorization) and can also perform the actual security processing, for example, to verify certificates. The authentication in most current designs validates the access to the Web application server part of the Web server, but this node also authenticates for access to the database server. LDAP Lightweight Directory Access Protocol (LDAP) refers to the protocol that is used to communicate from a calling program (running on a node such as a Commerce Server) and a Directory Node. Information is kept on the LDAP-based directory node about such topics as people and/or services. For example, the directory could be used to store information needed to identify registered shoppers (referred to as authentication). It could also be used to store information about what functions those shoppers are allowed to perform after being identified (referred to as authorization). Mapeamento para Produto Self-Service::pattern de aplicação Roteador: Mapeamento para Produto - Windows NT, message broker-based Caso : Geospacial Information On-Stop Descrição geral dos negócios Identificação dos Patterns de Negócio Identificação dos Patterns de Integração Identificação dos Patterns de Aplicação Identificação dos Patterns de RunTime Combiná-los numa arquitetura integrada