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

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

Sistemas Distribuídos

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos"— Transcrição da apresentação:

1 Sistemas Distribuídos
Silvia Cristina Sardela Bianchi

2 Agenda Arquitetura 2-tier Arquitetura n-tier
EJB (Enterprise Java Beans) 2

3 Arquitetura Cliente/Servidor

4 Arquitetura cliente-servidor
As camadas de apresentação, lógica de aplicação e gerenciamento de recursos são construções conceituais que separam logicamente as funcionalidades de um sistema de informação. • Estas camadas podem ser combinadas ou organizadas de diferentes maneiras, sendo referenciadas como tiers (níveis). • Tipos de um sistema de informação, conforme a organização dos tiers: 1-tier, 2-tier, 3-tier e Ntier. 4 4 4

5 Cliente Gordo vs. Servidor Gordo
Cliente Gordo: forma mais tradicional de cliente/servidor. A parte principal da aplicação fica do lado cliente. Problema: qualquer alteração requer atualização do componente para todos os usuários da aplicação. Servidor Gordo: a maior parte do código reside no servidor. Minimiza as trocas de dados pela rede através da criação de níveis mais abstratos de serviços. Em lugar de exportar os dados, exporta os procedimentos ou métodos que operam sobre os dados. 5 5 5

6 Cliente-servidor: apresentação distribuída

7 Cliente-servidor: apresentação remota

8 Cliente-servidor: função distribuída

9 Cliente-servidor: gerência de dados remota

10 Cliente-servidor: gerência de dados distribuída

11 Cliente-servidor: Arquitetura 3-tier

12 Cliente-servidor: gerência de dados distribuída

13 Exemplo: Arquitetura N-tier

14 Exemplo: Arquitetura N-tier

15

16 Vantagens da Arquitetura 3-tier
Cliente universal ‰ Padrão, multimídia „ Navegador Web, cliente EJB, cliente COM, cliente CORBA ‰ portabilidade Servidor de aplicações ‰ Facilita a manutenção e a implantação de aplicações ‰ É escalável (com n servidores de aplicações) ‰ Facilita o acesso a servidores de dados heterogêneos Pode ser generalizada para n camadas 16

17 Tipos de servidor Servidores de Arquivos: Netware, Windows NT.
Servidores de Base de Dados: Oracle, SQL Server, Sybase, DB/2. Servidores Transacionais: MTS (Microsoft), Tuxedo, CICS (IBM). Servidores de Mensagens: MQSeries. Servidores de Groupware: Lotus Notes Servidor de Nome: DNS, X.500. Servidor de Gerenciamento: Agentes SNMP. Servidor de Qmail, MS Exchange. Servidor Web: Apache, MS Internet Information Server 17 17 17

18 Tipos de servidor de aplicação
* Apache Tomcat  * IBM WebSphere  * BEA WebLogic  * Oracle AS/OC4J  * Resin  * Jetty  * Sun Application Server 8  * Glassfish  * JBoss  * Sybase EAServer * .NET * Zope 18 18 18

19 J2EE Objetivo: – Definir uma plataforma padrão para aplicações distribuídas – Simplificar o desenvolvimento de um modelo de aplicações baseadas em componente – J2EE une APIs e serviços em um framework de componente: JDBC, JNDI, RMI, AWT/Swing, JMS, EJB

20 Definição de componente
"Um componente é uma unidade de composição com interfaces especificadas contratualmente e com dependências de contexto explícitas apenas. Um componente de software pode ser implantado [deployed] de forma independente e está sujeito à composição por terceiros“ Serviços de componentes devem ser oferecidos automaticamente no Middle Tier para que programadores possam se concentrar nas regras de negócios

21 Serviços oferecidos pelo servidor de aplicação
Serviço de páginas Web Persistência de componentes e acesso a dados Gerência de transações distribuídas Directory/Naming Segurança Tolerância a falha com Failover Balanceamento de carga Resource pooling Monitoring, logging, ... -> Uso de componentes

22 J2EE • Componentes – Desenvolvimento de módulos que podem ser usados
por múltiplas aplicações – Tipos: Clientes: Applets, clientes de aplicações, ... Servidores: componentes EJB, componentes Web, ... • Serviços – Oferecem funcionalidades usadas pelos componentes (serviço de nomes, serviços de comunicação assíncrona,…) • Comunicação: – protocolos para comunicação remota (RMI, RMI-IIOP, HTTP

23

24

25

26 EJB: Enterprise Java Beans
Elemento central da plataforma J2EE Arquitetura de componentes para o desenvolvimento e implantação de servidores em ambientes distribuídos. J2EE complementa o EJB especificando: – APIs para desenvolvimento – Um ambiente distribuído onde o EJB é responsável pela lógica da aplicação Separação entre as funcionalidades da aplicação das funcionalidades orientada a sistema (consultar objetos, armazenar objetos, etc..)

27 Descritores de implantação
Arquitetura EJB Servidor EJB Container EJB Descritores de implantação Componente EJB Ambiente Métodos Funcionais do componente Objeto EJB Visão Cliente Cliente Create, Find e Remove Home EJB Id do Bean

28 Visão do Cliente Componente Session : objeto não persistente em execução em um servidor Componente Entity : objeto que fornece uma visão OO de entidades armazenadas num BD, ou de entidades persistentes implementadas por aplicação corporativa já existente Container: gera ou fornece as classes que implementam as interfaces Home e Remote Cliente: utiliza JNDI para localizar e obter uma referência para interface Home (define os métodos de ciclo de vida do componente) Através da Home o cliente obtém uma referência para interface Remote (define os métodos funcionais do componente)

29 Componentes Servidor EJB
servidor de aplicação genérico que fornece um ambiente compatível com a especificação da arquitetura EJB fornece um ou mais containers para os componentes nele implantados responsável pelo gerenciamento e coordenação da alocação de recursos: Threads, processos, memória, conexões a BD serviços: transações, nomes, segurança e persistência Container EJB fornece contexto de execução e contexto transacional aos componentes registra o componente no serviço de nomes, cria e destrói instâncias fornece interface remota para o componente gerencia transações, estado e persistência

30 Elementos Componente EJB Interface Home
define os métodos de ciclo de vida do componente: criação, remoção e busca através dessa interface, clientes vêem componentes EJB como uma coleção homogênea de instâncias Interface Remote define os métodos funcionais do componente representa a visão que o cliente terá do componente expõe todas as interfaces relacionadas à aplicação Classe do Componente implementa os métodos funcionais (aspectos funcionais do componente) Tipos de Componentes EJB: Componentes Entidades (Entity Beans) Componentes Sessão (Session Beans)

31 Entity Beans Fornece uma visão em forma de objeto dos dados na BD (entidades) Permite acesso compartilhado por múltiplos usuários Persistente que possui “vida longa” igual a do dado associado na BD Uma instância de um bean entidade, sua chave primária e sua interface remota sobrevivem a eventual quedas do container Queda não transparente ao cliente com exceção ao chamar método Criação de um bean entidade: inserção de novo registro na BD Exemplo: Registrar informções do cliente como endereço

32 Entity Beans Representa uma sessão de um único cliente
Não representa dados na BD, mas pode atualizá-los Vida relativamente curta Removido quando ocorre queda do container. Cliente tem de restabelecer um novo objeto sessão para continuar o trabalho Úteis para descrever e gerenciar interações entre os componentes entidades e implementar um fluxo de trabalho Tipos: Sem estado - não mantém o estado entre as chamadas dos métodos. Exemplo: lista de 10 livros mais vendidos Com estado - dedicado a um cliente pelo tempo de vida da instância - mantém estado conversacional: pode guardar dados relativos ao cliente entre chamadas de métodos Exemplo: carrinho de compras

33 EJB: Serviços Automáticos
Gerência de Lifecycle Alocação de processos, gerência de thread, ativação de objetos, destruição de objetos Gerência de estado Estado é mantido pelo container, mesmo entre chamadas Segurança Autenticação e autorização de usuários Transações Não precisa de código demarcando transações para participar de transações distribuídas Persistência Mapeamento automático para BD


Carregar ppt "Sistemas Distribuídos"

Apresentações semelhantes


Anúncios Google