UFG - Instituto de Informática



Documentos relacionados
ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

UFG - Instituto de Informática

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Introdução a Banco de Dados Aula 03. Prof. Silvestri

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

O Gerenciamento de Documentos Analógico/Digital

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Sistemas Operacionais. Prof. André Y. Kusumoto

Enterprise Java Beans

Arquitetura de Banco de Dados

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

Projuris Enterprise Visão Geral da Arquitetura do Sistema

UFG - Instituto de Informática

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

ITIL v3 - Operação de Serviço - Parte 1

Política Gestão de Configuração e Mudança

3 SCS: Sistema de Componentes de Software

ASSUNTO DA APOSTILA: SISTEMAS DE INFORMAÇÃO E AS DECISÕES GERENCIAIS NA ERA DA INTERNET

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

TDC2012. EJB simples e descomplicado, na prática. Slide 1

Análise e Projeto Orientados por Objetos

agility made possible

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

DDoS: como funciona um ataque distribuído por negação de serviço

SISTEMA GERENCIADOR DE BANCO DE DADOS

HIBERNATE EM APLICAÇÃO JAVA WEB

PLANO DE CONTINGÊNCIA DE BANCO DE DADOS

ANEXO V Edital nº 03508/2008

Estudo de Caso Bicicletada Curitiba

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Onde encontrar. Para utilização em rede (Multiusuário) Suporte. Página principal do RDL

sendo bastante acessível e compreendido pelos usuários que o utilizarem.

Java Beans e Servlets

Conheça a nova solução de servidor que ajuda pequenas empresas a fazer mais Com menos.

Fundamentos da Administração Estratégica AULA 2

ARQUITETURAS DOS SISTEMAS DE EMPRESARIAIS (ERP) Arquitetura cliente-servidor Arquitetura aberta

Enterprise Java Bean. Enterprise JavaBeans

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Aplicação da Arquitetura Multicamadas Utilizando Java. Raquel Schlickmann Orientador: Marcel Hugo

Modelos de Arquiteturas. Prof. Andrêza Leite

Disciplina de Banco de Dados Introdução

Trabalho de Redes de Computadores

Aula 03-04: Modelos de Sistemas Distribuídos

Sistema de informação Leandro Salenave Gonçalves*

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

GBD PROF. ANDREZA S. AREÃO

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

Implementando uma Classe e Criando Objetos a partir dela

Redes de Computadores II

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

SISTEMAS DISTRIBUÍDOS

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Stateful Session Beans

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Capítulo 2 Objetivos e benefícios de um Sistema de Informação

UM CAMINHO SIMPLES PARA UMA NUVEM PRIVADA

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

Resolução da lista de exercícios de casos de uso

UFG - Instituto de Informática

TIM BROWN, ESCOLA DE ULM E BRANCUSI ESTÃO MAIS PERTO DE VOCÊ. CONHEÇA JÁ NOSSOS CURSOS E MÉTODO ONLINE.

Virtualização. Prof. Emiliano Monteiro

Disciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013

UFG - Instituto de Informática

Programação para Internet II

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição

COMO VAI A CÂMARA? Uma proposta de uso de dados abertos

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11.

Notas da Aula 6 - Fundamentos de Sistemas Operacionais

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Objetivos Específico

Persistência de Dados em Java com JPA e Toplink

Sistemas Operacionais

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

J2EE TM Java 2 Plataform, Enterprise Edition

Ingersoll Rand. Sistema de Automação Série-X

IBM Software Demos The Front-End to SOA

Introdução ao Modelos de Duas Camadas Cliente Servidor

PLANEJAMENTO DE ATIVIDADES EM CURSOS PRESENCIAIS E SEMIPRESENCIAIS Ricardo Carvalho Rodrigues Faculdade Sumaré rieli@rieli.com

IMPLEMENTAÇÃO DE UM PROTÓTIPO PARA INFORMATIZAÇÃO DE PROCESSO DE ADEQUAÇÃO DE FÉRIAS

Transcrição:

UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 6 EJB

Enterprise Java Beans EJB ou Enterprise JavaBeans é um dos principais componentes da plataforma JavaEE (Java Enterprise Edition). É um componente do tipo servidor que executa no container do servidor de aplicação. Os principais objetivos da tecnologia EJB são fornecer um rápido e simplificado desenvolvimento de aplicações Java baseado em componentes distribuídos, transacionais, seguros e portáveis.

Enterprise Java Beans Atualmente ele encontra-se na versão 3.1 e o seu futuro é definido conjuntamente entre grandes empresas como IBM, Oracle e HP como também por uma vasta comunidade de programadores numa rede mundial de colaboração sob o portal do JCP.

Enterprise Java Beans

EJB 2.1 vs EJB 3.0 A grande mudança entre a versão 2.1 e a versão 3.0 é a introdução de anotações Java. As anotações facilitam o desenvolvimento diminuindo a quantidade de código e o uso de arquivos de configuração XML.

Enterprise Java Beans A plataforma JavaEE providencia algumas facilidades dedicadas à camada de lógica de negócio e para o acesso a banco de dados. Através do EJB o programador utiliza a infraestrutura do servidor de aplicação voltada para o desenvolvimento de aplicações de missão crítica (de alta importância para a empresa) e de aplicações empresariais em geral.

Enterprise Java Beans

Acesso aos Java Beans Para acessar os EJB é necessário definir as suas interfaces de acesso que são: Interface Local, Interface Remota ou Ambas. A Interface Local define o acesso ao bean somente no computador onde está sendo executado o servidor de aplicação. A Interface Remota define o acesso ao bean somente a computadores externos. Ambas define acesso ao bean tanto do computador com o servidor de aplicação ou computadores externos.

Acesso aos Java Beans

Acesso aos Java Beans

Acesso aos Java Beans

Tipos de EJB Session Beans Message Driven Beans Entity Beans

Session Beans É o tipo mais simples de EJB. Atuam como controlador da interação entre outros beans Representam um fluxo de tarefas Contêm a lógica de negócio Gerenciam as interações entre os beans de entidade

Tipos de Session Beans Há dois tipos de beans de sessão: com preservação de estado e sem preservação de estado. Parte da identificação de um bean de sessão é a definição de suas responsabilidades - uma das quais pode ser manter o estado do cliente entre as chamadas. Beans de Sessão sem Estado Beans de Sessão com Estado

Beans de Sessão com Estado Os beans de sessão com preservação de estado contêm informações de estado sobre a conversação entre o cliente e o contêiner EJB. Uma instância de bean de sessão com preservação de estado existe apenas durante a conversação do cliente.

Beans de Sessão com Estado Normalmente, esses beans executam os serviços utilizando esses dados para o cliente. Os serviços fornecidos pelo bean de sessão com preservação de estado podem coordenar as interações de outros objetos de negócios (beans de sessão e beans de entidade).

Exemplo Um carrinho de compras contendo objetos para compra pode ser implementado utilizando um bean de sessão com preservação de estado, porque ele retém as informações enquanto o cliente está interagindo com o aplicativo.

Beans de Sessão com Estado Os beans de sessão com preservação de estado são alocados para um cliente específico Eles consomem mais recursos do sistema que um bean de sessão sem preservação de estado, visando a vantagem de reter o estado do cliente. O contêiner gerencia esses recursos, normalmente passivando (gravando no disco) os beans de sessão com preservação de estado e reativando-os quando e conforme necessário.

Ciclo de vida de um Bean com Estado

Beans de Sessão sem Estado Os beans de sessão sem preservação de estado não contêm informações de estado sobre a conversação entre o cliente e o contêiner EJB. Sem preservação de estado significa realmente sem estado da conversação do cliente. Portanto, um bean de sessão sem preservação de estado pode conter outros tipos de estado, como uma conexão com o banco de dados, que pode ser utilizada por qualquer cliente.

Beans de Sessão sem Estado Os beans de sessão sem estado executam serviços genéricos que não utilizam dados do estado do cliente de chamadas de método anteriores Em vez disso, recebem toda a entrada apropriada como parâmetros na chamada de método atual ou obtêm os dados de outras origens durante a chamada de método (como de beans de entidade ou acessando um banco de dados por meio do JDBC).

Beans de Sessão sem Estado Os beans de sessão sem preservação de estado são normalmente desenhados a partir de um conjunto pronto e utilizados para despacho, conforme necessário, para manipular os pedidos que chegam.

Beans de Sessão sem Estado Como todas as instâncias são equivalentes, os beans de sessão sem preservação de estado não precisam conhecer seu cliente. Isso pode permitir aumento no desempenho e na escalabilidade. Os beans de sessão sem preservação de estado são mais eficientes porque é possível compartilhar uma instância entre os pedidos não-contíguos, em vez de ligar a uma determinada sessão de atividade.

Ciclo de vida do Bean sem Estado

Qual Bean de Sessão usar? Em geral, escolha o tipo de bean de sessão que mais naturalmente se adapte à conversação com o cliente. Há estratégias para forçar o ajuste de um bean de sessão com preservação de estado em um bean de sessão sem preservação de estado, como armazenar o estado do cliente no cliente e reenviar em cada chamada ou armazenar e recuperar o estado do cliente a partir de um banco de dados em cada chamada de método. Essas estratégias, entretanto, podem realmente reduzir a escalabilidade em razão de códigos extras no tráfego de rede e no acesso a dados.

Beans de Sessão na Web Se o bean de sessão for criado para implementar um serviço da Web, será necessário utilizar um bean de sessão sem preservação de estado, conforme definido na especificação da API JSR 1.3.

Padrão Fachada de Sessão Uma utilização comum dos beans de sessão é como uma fachada que encapsula interações entre os objetos na Camada de Negócios. O bean de sessão serve para resumir essa complexidade, fornecendo uma interface mais simples para os clientes. Esse padrão é descrito detalhadamente em Padrões do JavaEE - Padrão de Fachada de Sessão.

Padrão Fachada de Sessão Por exemplo, geralmente é um bom hábito tirar a lógica entre os beans de entidade e mover para os beans de sessão para minimizar o acoplamento entre os beans de entidade. Os beans de entidade podem ser acessados por meio de interfaces locais, uma vez que a fachada do bean de sessão fornece acesso aos clientes remotos. Essa abordagem é mais efetiva quando há vários beans de entidade estreitamente relacionados.

Nó de Extremidade de Serviços da Web Os beans de sessão sem preservação de estado podem ser utilizados para implementar serviços da Web. Esse bean também é chamado de Bean de Implementação de Serviço e precisa preencher os requisitos a seguir: Ele deve ter um construtor público padrão. Ele deve implementar todos os métodos declarados pelo Service Endpoint Interface e seu método de negócios deve ser público e não final ou estático. Ele deve ser um bean sem preservação de estado. A classe deve ser pública, mas não final ou abstrata.