Baixe o app para aproveitar ainda mais
Prévia do material em texto
W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR EJB Professor Marcelo Pacote – @professorpacote W W W. D OMI NAND OTI .COM.B R Enterprise Java Beans (EJB) Aplicações corporativas são naturalmente distribuídas Exemplos: aplicações bancárias, comércio eletrônico, folha de pagamentos. Tecnologia de componentes Aplicações compostas por componentes. Um único componente pode ser reutilizado em diversas aplicações. Escalabilidade Professor Marcelo Pacote - @professorpacote 2 W W W. D OMI NAND OTI .COM.B R Componentes X Contêiner X Servidor de Aplicação Servidor de Aplicação Contêiner (EJB) EJB (componente) Professor Marcelo Pacote - @professorpacote 3 W W W. D OMI NAND OTI .COM.B R EJB - Características Características: Portabilidade entre servidores de aplicação (WODA) Padrão de mercado Desenvolvimento acelerado Desenvolvedores concentrados na lógica de negócio Transação (JTA) Segurança Persistência Professor Marcelo Pacote - @professorpacote 4 W W W. D OMI NAND OTI .COM.B R Os serviços de gerenciamento, oferecidos pelo contêiner EJB (Enterprise JavaBeans), são de: a) Transações. Persistência. Ciclo de Vida. Segurança. b) Transições. Pertinência. Ciclo de Vida. Risco. c) Transformações. Persistência. Ciclo de Projeto. Segurança. d) Transações. Comunicação. Ciclo de Vida. Mercado. e) Transações. Consistência. Fases. Segurança. Exercício [01] (CGU/ESAF/2012) Professor Marcelo Pacote - @professorpacote 5 W W W. D OMI NAND OTI .COM.B R A respeito de EJB (Enterprise Java Beans) é correto afirmar que a) containers executam em componentes. b) servidores de aplicação executam em containers. c) containers são hospedados por servidores de aplicação. d) servidores de aplicação são hospedados por componentes. e) containers são hospedados por componentes. Exercício [02] (STN/ESAF/2008) Professor Marcelo Pacote - @professorpacote 6 W W W. D OMI NAND OTI .COM.B R Sobre definições e características de Enterprise JavaBeans, analise as assertivas e assinale a alternativa que aponta as corretas. I. A arquitetura Enterprise JavaBeans é uma arquitetura de componentes para o desenvolvimento e a implantação de aplicativos de negócios distribuídos baseados em componentes. II. Aplicativos escritos utilizando a arquitetura Enterprise JavaBeans são escalonáveis, transacionais e seguros com multiusuários. III. Aplicativos escritos utilizando a arquitetura Enterprise JavaBeans uma vez escritos são implantados em qualquer plataforma de servidor, que suporta a especificação Enterprise JavaBeans Exercício [03] (BRDE/AOCP/2012) (1/2) Professor Marcelo Pacote - @professorpacote 7 W W W. D OMI NAND OTI .COM.B R IV. A arquitetura JavaBeans encontra-se presentes em outras linguagens de programação além da linguagem de programação java, esta arquitetura encontra- se em Object Pascal, Objective-C, Python, SuperCollider, Ruby, Smalltalk, entre outras. a) Apenas I e II. b) Apenas I e III. c) Apenas I, II e III. d) Apenas II, III e IV. e) I, II, III e IV. Exercício [03] (BRDE/AOCP/2012) (2/2) Professor Marcelo Pacote - @professorpacote 8 W W W. D OMI NAND OTI .COM.B R Tipos de Beans - EJB 2.0 Session Beans “Verbos”. Modelam processos de negócio, como autorização de cartão de crédito, engine de cálculo de preços, etc. Entity Beans “Substantivos”. Modelam dados como produto, pedido, empregado. Message Driven Beans São semelhantes aos Session Beans, entretanto são invocados apenas por meio de mensagens (JMS). Professor Marcelo Pacote - @professorpacote 9 W W W. D OMI NAND OTI .COM.B R Tipos de Beans - EJB 3.1 Na EJB 3.0, a persistência possui sua própria especificação chamada JPA “Java Persistence API”. Session Beans “Verbos”. Modelam processos de negócio, como autorização de cartão de crédito, engine de cálculo de preços, etc. Entity Beans “Substantivos”. Modelam dados como produto, pedido, empregado. Message Driven Beans São semelhantes aos Session Beans, entretanto são invocados apenas por meio de mensagens (JMS). Professor Marcelo Pacote - @professorpacote 10 W W W. D OMI NAND OTI .COM.B R Tipos de Beans - Sumário Tipo de Bean EJB 2.x EJB 3.1 Entity Beans Message Driven Beans Session Beans stateful stateless stateful stateless singleton Professor Marcelo Pacote - @professorpacote 11 W W W. D OMI NAND OTI .COM.B R Session Beans - Tipos Stateless Session Beans: Não mantém estado entre invocações de métodos. Exemplo: consulta de CEP, autorização de transação de cartão Stateful Session Beans: Mantém seu estado entre chamadas de métodos. Exemplo: carrinho de compras, prova digital Singleton Session Beans: Compartilhar dados transientes entre todos os usuários de uma aplicação que faça uso de EJB Exemplo: número de usuários conectados, chat Professor Marcelo Pacote - @professorpacote 12 W W W. D OMI NAND OTI .COM.B R Session Beans (Stateless) São mantidos em um pool no EJB Container Escalabilidade Callbacks @postConstruct e @preDestroy Não existe Pronto Instância atendendo chamada Instância destruída Instância criada Professor Marcelo Pacote - @professorpacote 13 W W W. D OMI NAND OTI .COM.B R Session Beans (Stateful) Ciclo de vida Callbacks @postConstruct e @preDestroy @PrePassivate e @PostActivate Não existe Pronto Passivado Professor Marcelo Pacote - @professorpacote 14 W W W. D OMI NAND OTI .COM.B R Session Beans (Singleton) Callbacks @postConstruct e @preDestroy Não existe Pronto Instância atendendo chamada Instância destruída Instância criada Professor Marcelo Pacote - @professorpacote 15 W W W. D OMI NAND OTI .COM.B R Exercício [04] (TRT-AM/2012/FCC/Analista) (1/2) Professor Marcelo Pacote - @professorpacote 16 W W W. D OMI NAND OTI .COM.B R Exercício [04] (TRT-AM/2012/FCC/Analista) (2/2) Foi representado o ciclo de vida de um a) Stateful Session Bean. b) Stateless Session Bean. c) Singleton Session Bean. d) Message-Driven Bean. e) Embedded Session Bean. Professor Marcelo Pacote - @professorpacote 17 W W W. D OMI NAND OTI .COM.B R Exercício [5] (BNDES/CESGRANRIO/2013/Desv./46) Cada tipo de enterprise bean passa por diferentes fases durante seu ciclo de vida. Um desses tipos possui um estado denominado Passivo. Quando um bean entra nesse estado, o container EJB o desloca da memória principal para a memória secundária. Qual tipo de bean se comporta dessa maneira? a) Stateless Session Bean b) Stateful Session Bean c) Web Service Bean d) Singleton Session Bean e) Message-Driven Bean Professor Marcelo Pacote - @profmarcelopacote 18 W W W. D OMI NAND OTI .COM.B R EJB – Outras características Transações CMT (Container Managed Transaction) BMT (Bean Managed Transaction) Persistência com EJB 2.x (BMP e CMP) – compatibilidade Interceptors É comum utilizar interceptadores para tarefas que não estão diretamente relacionadas às regras de negócio implementadas nos Session Beans. Exemplo: logs e controle de acesso. Podem ser especificados em nível de método ou de classe (@interceptors) Professor Marcelo Pacote - @professorpacote 19 W W W. D OMI NAND OTI .COM.B R Exercício[06] (TRT-MS/2011/FCC/Tec. Judiciário)Em relação ao Enterprise Java Beans, é correto afirmar: a) No Session Bean, toda vez que um método é invocado, o estado de suas variáveis se mantém apenas durante a invocação desse método. b) Um Message-Driven Bean é um EJB que possui as interfaces home e remote e apenas um método que recebe qualquer tipo de mensagem. c) Um Entity Bean é um tipo de EJB que representa dado não persistente armazenado em um banco de dados. d) Enterprise Java Beans é um componente J2EE do tipo servidor que executa no container do servidor de aplicação. e) Message-Driven Bean é um EJB statefull. Professor Marcelo Pacote - @professorpacote 20 W W W. D OMI NAND OTI .COM.B R [07] (PRODAM-AM/2010/FUNCAB/Analista) (1/2) Sejam as seguintes assertivas sobre os tipos de EJB existentes: I. Process beans são excelentes opções para a implementação da lógica do negócio, dos processos de negócio e dos fluxos de trabalho. II. Entity beans representam os objetos persistentes em uma aplicação EJB. III. Asynchronous beans podem ser usados para o envio (recebimento) de mensagens assíncronas para (de) outros sistemas. Professor Marcelo Pacote - @professorpacote 21 W W W. D OMI NAND OTI .COM.B R [07] (PRODAM-AM/2010/FUNCAB/Analista) (2/2) Marque a alternativa correta em relação às assertivas acima. a) Apenas I é verdadeira. b) Apenas II é verdadeira. c) Apenas III é verdadeira. d) Todas são verdadeiras. e) Todas as assertivas são falsas. Professor Marcelo Pacote - @professorpacote 22 W W W. D OMI NAND OTI .COM.B R Exercício[08] (PETR/2011/CESGRANRIO) (1/2) No contexto da programação na plataforma Java EE, as tecnologias Servlets, JSP e EJB estão disponíveis. A esse respeito, considere as afirmativas abaixo. I. EJB fornece ao programador Java EE os seguintes tipos fundamentais: Entity Beans, Session Beans e Message Driven Beans. II. JPA é parte integrante da especificação EJB e serve para definir as interfaces de acesso local e/ou remoto de um componente EJB. III. Um servidor de aplicações Java EE oferece vários recursos ao desenvolvedor como pool de conexão, controle de transação, segurança e gerenciamento de recursos. Professor Marcelo Pacote - @professorpacote 23 W W W. D OMI NAND OTI .COM.B R Exercício[08] (PETR/2011/CESGRANRIO) (2/2) IV - Uma diferença entre as tecnologias Servlets e JSP é que, ao contrário da segunda, a primeira permite o armazenamento do estado da aplicação em variáveis de sessão. São corretas APENAS as afirmativas a) I e II b) I e III c) II e III d) II e IV e) III e IV Professor Marcelo Pacote - @professorpacote 24 W W W. D OMI NAND OTI .COM.B R Exercício[09] (TRE-BA/2010/CESPE/Analista) ( ) O Entrerprise JavaBeans (EJB), cuja especificação mais recente é a da versão 2.1, define, em sistemas Java, um conjunto de tecnologias utilizadas do lado cliente. Professor Marcelo Pacote - @professorpacote 25 W W W. D OMI NAND OTI .COM.B R Exercício[10] (TRE-CE/2012/FCC/Analista) (1/2) No âmbito do Enterprise Java Beans 3.0, considere: I. Utiliza a API JMS, facilita a quebra de acoplamento entre o cliente e o destino (Point-to-point ou Publish- subscriber), e é acionado de forma assíncrona. II. Tratam os eventos nas fases do ciclo de vida dos EJB, por meio de anotações, tais como, @PostConstruct, @PrePassivate e @PostActivate. III. Permitem que um código customizado seja aplicado para um EJB, interceptam a chamada do método do EJB para executar um código intermediário, e podem ser configurados no próprio Bean ou em classes externas. Professor Marcelo Pacote - @professorpacote 26 W W W. D OMI NAND OTI .COM.B R Exercício[10] (TRE-CE/2012/FCC/Analista) (2/2) As afirmações contidas nos itens I, II e III referem-se, respectivamente, a a) Session Bean, Injeção de Dependência e Timers. b) Message-Driven Bean, Callback Methods e Interceptors. c) Session Bean, Callback Methods e Timers. d) Java Persistence API,Callback Methods e Message- Driven Bean. e) Java Persistence API, Message-Driven Bean e Session Bean. Professor Marcelo Pacote - @professorpacote 27 W W W. D OMI NAND OTI .COM.B R Gabarito [01] a [02] c [03] c [04] a [05] b [06] d [07] b [08] b [09] errado [10] b Professor Marcelo Pacote - @professorpacote 28 W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR Anexo I Exercícios Complementares Professor Marcelo Pacote – @professorpacote W W W. D OMI NAND OTI .COM.B R Para satisfazer aos objetivos de persistência e gerenciamento de múltiplas aplicações cliente, os EJBs (Enterprise Java Beans) são classifi cados como Session Beans (beans de sessão), utilizados para monitorar sessões com aplicações cliente individuais, ou Entity Beans (Beans de entidade), utilizados para lidar com dados. O contêiner gerencia funcionalidades genéricas, tais como linhas de execução e acesso a banco de dados.Em relação aos métodos de Session Beans ou EntityBeans, é incorreto afirmar que o método a) ejbRemove( ) é um método da classe EntityBean, responsável por apagar o conteúdo do Bean da área de armazenamento. Exercício [01] (MPOG/ESAF/2008) (1/2) Professor Marcelo Pacote - @professorpacote 30 W W W. D OMI NAND OTI .COM.B R b) ejbActivate( ) é um método da classe SessionBean, utilizado quando a aplicação cliente faz contato como contêiner, recuperando o objeto SessionBean correspondente a essa aplicação cliente. c) ejbPassivate( ) é um método da classe SessionBean utilizado quando a aplicação cliente interrompe o contato com o contêiner, armazenando o objeto SessionBean correspondente a essa aplicação cliente. d) ejbStore( ) é um método da classe EntityBean responsável por colocar o conteúdo do Bean na área de armazenamento. e) setSessionContext( ) é um método da classe SessionBean chamado pelo contêiner quando o SessionBean é criado. Exercício [01] (MPOG/ESAF/2008) (2/2) Professor Marcelo Pacote - @professorpacote 31 W W W. D OMI NAND OTI .COM.B R Exercício[02] (CGU/2008/ESAF) (1/2) A especificação do EJB (Enterprise Java Beans) tem como intenção padronizar o tratamento de problemas comuns em aplicações complexas, tais como persistência, integridade transacional,segurança e controle de concorrência. A respeito do EJB, é correto afirmar que a) os Entity Beans foram substituídos pela “Java Persistence API” na versão EJB 3.0, porém, os Entity Beans de versões 2.x podem continuar utilizando o “Container-Managed Persistence”(CMP) por questões de compatibilidade. b) os Session Beans são responsáveis por garantir que o código cliente possua privilégios suficientes de acesso a um EJB. c) as classes EJB usadas pelas aplicações estão incluídas no pacote javax.ejb.spi. Professor Marcelo Pacote - @professorpacote 32 W W W. D OMI NAND OTI .COM.B R Exercício[02] (CGU/2008/ESAF) (2/2) d) um container EJB, na sua versão 3.0, possui 3 tipos principais de beans: Application Beans, Session Beans e Server Beans. e) os Stateless Session Beans são objetos distribuídos que não possuem estado, permitindo acesso concorrente aos mesmos. Assim, o conteúdo das variáveis de instância é preservado entre as chamadas de métodos. Professor Marcelo Pacote - @professorpacote 33 W W W. D OMI NAND OTI .COM.B R Exercício [03] (Serpro/2013/Cespe/Desv./79) ( ) No JBoss AS7, a carga de classes (class loading) é baseada em módulos, que devem definir dependência explícita em relação a outros módulos. ProfessorMarcelo Pacote - @professorpacote 34 W W W. D OMI NAND OTI .COM.B R Gabarito [01] a [02] a [03] certo Professor Marcelo Pacote - @professorpacote 35
Compartilhar