Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Tópicos Avançados em Sistemas Distribuídos
Divisão em Camadas e Servidores de Aplicação
2
Desenvolvimento em Camadas
Divisões lógicas de um programa Lógica de Apresentação Interação usuário x aplicativo Apresentação das informações Lógica de Negócio Regras que governam o processo de negócio Lógica de Acesso a Dados Funcionalidades de acesso a dados e persistência
3
Desenvolvimento em Camadas Monolítico
Código Monolítico Lógica de Apresentação Lógica de Negócios Lógica de Acesso a Dados Banco de dados
4
Desenvolvimento em Camadas 2 Camadas físicas
Cenário de 2 camadas físicas Lógica de Apresentação Lógica de Negócios Lógica de Acesso a Dados Banco de dados
5
Desenvolvimento em Camadas 2 Camadas físicas
Problemas do modelo Cliente com lógica de negócio Necessidade do cliente saber detalhes da localização das fontes de dados Clientes gordos Atualizações individuais Suporte ao desenvolvimento WEB
6
Desenvolvimento em Camadas 3 Camadas físicas
Cenário de 3 camadas físicas Lógica de Apresentação Lógica de Negócio Lógica de Acesso a Dados Banco de dados
7
Desenvolvimento em Camadas 3 Camadas físicas
Vantagens Independência entre camadas Divisão de trabalho Facilidade na atualização Proteção do código Transparência no acesso a dados Maior portabilidade
8
Desenvolvimento em Camadas Modularidade
Divisão independente das camadas, baseada na reunião de conceitos interligados Funções - > Classes -> Pacotes -> Componentes Orientação Objetos Encapsulamento, interfaces, classes e pacotes; Componentes Containers Comunicação, persistência, etc Componentes distribuídos Interface
9
Desenvolvimento em Camadas Camadas Físicas e Componentes
Lógica de Apresentação Lógica de Negócio Lógica de Acesso a Dados Banco de dados
10
Servidores de Aplicação
Software que disponibiliza uma ambiente para instalação e execução de certas aplicações, fornecendo uma infra- estruturas para seu funcionamento Funcionalidades comuns a diversas aplicações Segurança Persistência Balanceamento de carga Vantagens Integração de dados e código Configuração centralizada Desempenho Suporte a transações
11
Servidores de Aplicação
Framework .NET Microsoft Desenvolvimento Multi-linguagem Asp .NET, Windows Mobile, ADO .NET, LINQ Plataformas J2EE SUN Java J2SE, J2ME, JSF, Servlet, JDBC, etc Jboss, GlassFish, Tomcat, WebSphere, etc.
12
J2EE Padrão dinâmico para a produção de aplicativos corporativos escaláveis e altamente disponíveis Define os serviços a serem fornecidos JSR 58 Exige padrões abertos de construção: J2SE Componentes de interface web Componentes para encapsular processos corporativos Acesso a dados em repositórios de dados corporativos Conectividade com outras fontes de dados e sistemas legados Suporte a XML, linguagem do comércio eletrônico B2B
13
J2EE – Componentes e Contêineres
Containers Fornecem um ambiente em tempo de execução para os componentes J2SE APIs Comunicação entre componentes Persistência Descoberta de serviços Implementados pelos fornecedores de servidores de aplicação Há um container para cada tipo de componente Contêiner de applet Contêiner de clientes de aplicativo Contêiner Web EJBs
14
J2EE Componentes que rodam no servidor J2EE WEB EJB
15
Contêineres J2EE
16
J2EE – Serviços Padrão Conectividade Serviços de diretório
Objetos distribuídos Java RMI e Corba Internet Http e https Serviços de diretório Serviços de atribuição de nome Registro e descoberta de componentes Java Naming and Directory Interface Acesso a dados e persistência API Java Database Connection (JDBC) Fornece uma interface a nível de aplicativo para acesso ao banco de dados E interface para construção de drivers para bancos de dados específicos
17
J2EE – Serviços Padrão Conectividade legada Segurança Suporte para XML
Java Connector Arquitecture (JNC) Fornece suporte a integração de servidores de informação corporativas e sistemas legados, como processamento de informações de computadores de grande portes e sistemas ERP (Enterprise Resource Planning). Pode ser utilizado para criação de novos adaptadores para conectar outros sistemas Segurança Java Autentication and Authorization Service (JAAS) Suporte para XML API JAXP para análise de documentos XML Document Object Model (DOM) Simple API for XML (SAX) eXtensible Stylesheet Language Transformation (XSTL)
18
J2EE – Serviços Padrão Transações Troca de mensagens e e-mail
Java Transaction API (JTA) Fornece serviços de transações para seus componentes Pode ser controlado tanto pela aplicação como pelo contêiner Troca de mensagens e Java Message Service (JMS) Permite um componente enviar e receber mensagens síncronas e assíncronas, normalmente dentro de um limite organizacional JavaMail Permite envio de correspondência pela Web e fornece funcionalidades para recuperar s em depósitos de correspondência
19
J2EE - Blueprints Conjunto de boas práticas de implementação de aplicativos J2EE Java Pet Store Sample Application ( Promove: Reutilização de código Particionamento lógico funcional Separação de áreas de alta manutenção Extensibilidade Modularidade Segurança Interface com usuário simples e consistente Integridade dos dados
20
J2EE – Papéis de desenvolvimento
Provedor de produtos J2EE Empresa que projeta e disponibiliza no mercado uma versão da plataforma Fornecedores de sistemas operacionais, servidores de aplicação ou servidores web Provedor de ferramentas Cria ferramentas usadas para desenvolvimento, montagem ou implantação de componentes Provedor de componentes de aplicação Desenvolvedor de enterprise bean Desenvolvedor de componentes Web Desenvolvedor de clientes de aplicação J2EE Montador da aplicação Utiliza os componentes criados pelos provedores para montar uma aplicação J2EE Utiliza as ferramentas desenvolvidas pelo provedor de ferramentas
21
J2EE – Camadas Físicas e Componentes
J2EE facilita o desenvolvimento em camadas Foco na camada de apresentação e na camada de negócio As camadas são construídas utilizando diversos componentes, os quais devem possui um fraco acoplamento
22
J2EE – Camadas Físicas e Componentes
Navegador da web Contêiner JSP Camada de apresentação JSP Aplicativo de computador de mesa Funcionalidade do processo de pagamento Contêiner EJB Camada de negócio Cliente de comunicação móvel EJB contendo funcionalidades do processo de pagamento
23
J2EE – Componentes Corporativos
Vantagens Maior eficiência Divisão de trabalho agiliza a implementação de novos aplicativos Pessoas especializadas em cada uma das camadas Extensibilidade Adição de novas funcionalidades apenas adicionando novos componentes Independência de linguagem Divisão em módulos e bibliotecas de integração permite que códigos escritos em diferentes linguagens se comuniquem Corba e COM Bridge Upgrade do sistema Atualizações internas de um componente não alteram o funcionamento dos demais componentes do sistema
24
Componentes: Enterprise JavaBeans
Fornecem uma maneira conveniente de encapsular e compartilhar lógica do negócio comum Tira proveito de serviços fornecidos pelo contêiner EJB
25
EJB - Cenário Aplicativo de comércio eletrônico. Fluxo da aplicação:
Apresentar os produtos ao cliente Permitir que um cliente selecione um ou mais produtos Confirmar o pedido e receber detalhes da entrega Receber pagamento dos itens Entregar seu pedido para seus sistemas de armazenamento e distribuição [opcional] Autenticar o usuário para acessar informações ou preferências armazenadas anteriormente [opcional] Gerar um relatório dos itens adquiridos por um cliente em particular ou em um dia específico
26
EJB - Cenário Lógica de negócio espalhada na camada de usuário
Informações sobre produtos e preços podem estar espalhadas em diversos banco de dados, ou ainda deve ser extraída de um sistema legado Podem existir processos corporativos extras que precisam ser aplicados durante a criação do catálogo. Informações sobre preferências dos clientes requerem autenticação e conhecimento do local de armazenamento Tais problemas podem ser resolvidos com EJBs Fornecem componentes para a lógica do negócio Podem ser descobertos automaticamente JNDI e RMI Base EJB
27
Usando um Componente EJB
Contêiner EJB Contêiner Cliente Componente Cliente Chamada a métodos Do negócio Bean corporativa Obtém Instância Base Consulta EJB Banco de Dados Fábrica
28
Tipos de Componentes EJB
Beans de Sessão Tipos mais simples e comuns Encapsula um conjunto de funções corporativas comuns Armazena informações relevantes apenas para a sessão de usuário corrente Pode usar conexões com JDBC ou utilizar um EJBs de entidade para obter dados persistentes Beans de Entidade Utilizado para modelar objetos corporativos que possuem dados dinâmicos e que podem ser compartilhados entre vários clientes a qualquer momento Oferece um interface síncrona através do qual um cliente pode acessar seus dados e sua funcionalidade Atua como uma representação dinâmica dos dados corporativos, fornecendo métodos para atualizá-los e recuperá-los
29
Beans de mensagens Oferecem uma interface assíncrona através do qual os clientes podem interagir com eles Destinada a abrigar lógica de negócio e não dados Acessa dados através de JDBC ou de beans de entidade É acessado através de mensagens enviadas pelo cliente a fila de mensagens a qual o beans está associado
30
J2EE - Camada de Apresentação
Trata a interface de comunicação entre o usuário e lógica de negócio criada com os EJBs O dispositivo utilizado para exibição da lógica de apresentação pode ser um dispositivo móvel, um aplicativo desktop ou uma página web
31
J2EE - Componentes Centrados na Web
Aplicados na camada de apresentação Fornece serviços para clientes que usam HTTP como meio de comunicação Navegadores orientados para HTML Dispositivos J2ME conectando-se através de redes sem fio Desktops utilizando HTTP bruto ou funcionalidade de soquetes Navegadores WML (Wireless Markup Language), encontrados em dispositivos móveis compatíveis com WAP
32
Funcionalidade do processo de pagamento Contêiner de EJBs Camada de
Cliente centrado na WEB Requisição Http Contêiner WEB Camada de apresentação Navegador da web JSP ou Servlet Aplicativo de computador de mesa Resposta Http Cliente de comunicação móvel Funcionalidade do processo de pagamento Contêiner de EJBs Camada de negócio EJBs
33
Contêineres Web Java Server Pages Servlet
Combinação de tags JSP que contém código dinâmico (scripts) e marcação estática (HTML) Código dinâmico é processado no servidor e o resultado é uma página HTML contendo tanto o HTML original como a resultante do processamento Geração transparente Servlet Aplicativos Java que rodam em um servidor WEB Inúmeras vantagens sobre scripts CGI Velocidade, independência de plataforma, API padrão (Servlet), poder (acesso as APIs Java), Suporte Interage facilmente com outros componentes J2EE
34
J2EE – A Camada do Cliente
Clientes HTML estáticos Clientes HTML dinâmicos Clientes Applet Java Outros clientes HTTP Exemplo dispositivos WAP com navegador WML
35
Empacotando e Implantando Arquivos J2EE
Um aplicativo J2EE consiste: Zero ou mais componentes Web empacotados como Web Archives (arquivos WAR) Zero ou mais componentes EJB empacotados como arquivos EJB-JAR Zero ou mais componentes clientes empacotados como arquivos JAR Zero ou mais conectores empacotados como Resource Archives (arquivos RAR) Todos os componentes são armazenados em um arquivo JAR específico, chamado Enterprise Application Archive (EAR) Descritores de Implantação Arquivos XML contendo informações sobre a configuração interna do pacotes Inter-relacionamento Requisitos de ambiente
36
DD de Aplicativo DD de Contêiner DD Módulos EJB DD Módulos Da Web
EJB_JAR DD de Contêiner DD Módulos EJB WAR DD Módulos Da Web JAR Módulos Cliente DD Módulos de Recurso RAR DD
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.