Desenvolvimento WEB II Professora: Kelly de Paula Cunha Apresentação baseada no material didático elaborado pelo Prof. Pasteur Ottoni de Miranda Junior.

Slides:



Advertisements
Apresentações semelhantes
Sistemas distribuídos
Advertisements

ARQUITETURA EM CAMADAS
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Sockets Marco Antonio – marcoreis.net Arquiteto de Software Dezembro/2007.
Marco A. S. Reis EJB Acesso Remoto Marco A. S. Reis
PLATAFORMA J2EE Luís Filipe Almeida Santos
Sistemas Distribuídos
TECNOLOGIAS PARA SISTEMAS DISTRIBUÍDOS Especialização em Tecnologias para Sistemas de Informação PUCPR 2001.
Prof. João Bosco M. Sobral
Fundação Aplicações de Tecnologias Críticas - Atech
Aplicações para Web.
Introdução a EJB 3.0 Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.
Model-View-Controller (MVC) em Aplicações Web Eduardo Martins Guerra Desenvolvimento de Soluções WEB.
Middleware e Sistemas Distribuídos
Aplicativos Web Com Orientação a Objetos
Concorrência em Java Threads em Java.
Web Services Uninorte Semana de Tecnologia da Informação
Integração com Banco de Dados
JSP / Servlets Avançado
Chamada Remota de Procedimentos
Stateful Session Beans
Tópicos Avançados em Sistemas Distribuídos
Conceitos de J2EE para a WEB
1 Mobilidade de Código com μcode Projeto Giga Alexandre Lages
PESQUISADOR: CASSIANO DALCIN / 2010 Trabalho de Conclusão de Curso MINISTÉRIO DA EDUCAÇÃO Universidade Tecnológica Federal do Paraná Campus Medianeira.
Servlets e JSP Desenvolvimento de Aplicações Web
JSP e Servlets ISEP – LP2 Filipe Costa – /2004.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Arquitetura das JSP - Aula 2
SessionBeans Marco Antonio Arquiteto de Software.
Aplicações Web com Orientação a Objetos
Processos.
Introdução às Java Threads
Conceitos da arquitetura
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos.
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas.
1 Análise e Projeto Orientados a Objetos Marcos Mendes 1º Semestre
APLICAÇÃO J2EE – EXEMPLO PRÁTICO Guilherme Amaral Avelino.
Introdução a Programação Orientada a Objetos
Java – Remote Method Invocation (RMI)
Developing Web Applications with JavaServer Faces (Qusay H. Mahmound) Luiza Pagliari Pablo Grigoletti Universidade Federal do Rio Grande do Sul Programa.
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Programação Distribuída em Java Aula 09 - JSP. Na aula passada vimos: Aspectos gerais de segurança em Java policytool Instalação de políticas de segurança.
Java EE Message Driven Beans
Programação com Objetos Distribuídos (Vânia R. Sávio Rodenas) 1 Transações com EJB 3.0 Vânia Regina Sávio Rodenas.
Transações em J2EE Mara Denise Coutinho da Silva Sandra Luzia Cortinovi Universidade Federal do Rio Grande do Sul Instituto de Informática Web e Sistemas.
Feapa Prof Osiel Marlon Disciplina: Engenharia de Software 2009 Curso: Sistemas de Informação.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Globalcode – Open4Education 1 EJB3 Interceptors Ricardo Limonta.
Introdução a JMS e Message-Driven Bean Comunicação Assíncrona Ricardo Cavalcanti Jobson Ronan
Aplicativos para Internet Prof. Wolley W. Silva
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados
RMI Java Remote Method Invocation em Java. Introdução Java Remote Method Invocation (Java RMI) permite desenvolver sistemas distribuídos baseados em Java.
Fundamentos de EJB Componentes do framework Ricardo Cavalcanti Jobson Ronan
Desenvolvimento WEB II Continuação AJAX Professora: Kelly de Paula Cunha.
PSW1 Prof. Rafael. Persistência Atividade que permite que o estado de um objeto exista mesmo após a extinção do processo computacional que o criou. Em.
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
Aspectos de performance EJB Performance tuning Ricardo Cavalcanti Jobson Ronan
Aplicações em Três Camadas MVC – Model, View, Control.
Aplicativos para Web MVC Prof. Odair Indena Jr.
ALUNO: RONI FABIO BANASZEWSKI Model-View-Controller.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
ProgramaçãoConcorrente Glêdson Elias
Transcrição da apresentação:

Desenvolvimento WEB II Professora: Kelly de Paula Cunha Apresentação baseada no material didático elaborado pelo Prof. Pasteur Ottoni de Miranda Junior Disponível em

EJB O que é um EJB? Entertprise Java Bean - componente server-side que encapsula a lógica de negócio de uma aplicação.

EJB O que é um EJB?

Java na WEB: Servlet Revisão: Camadas de uma aplicação Java EE Paginas WEB -Servlets -JavaServer Pages (JSP) -Beans -Servlets -JavaServer Pages (JSP) -Beans Máquina do ClienteServidor web Banco de Dados Servidor de Banco de Dados

Java na WEB: Servlet Revisão: Encapsulamento  em programação orientada a objetos significa separar o programa em partes, o mais isoladas possível.  a ideia é tornar o software mais flexível, fácil de modificar e de criar novas implementações [ [

Java na WEB: Servlet Revisão: Lógica de negócio  o termo lógica de negócio é a parte de um sistema que se encarrega das tarefas relacionadas com os processos de um negócio.  Ex: entradas de dados, consultas aos dados, geração de relatórios e mais especificamente todo o processamento que se realiza por trás da aplicação visível para o utilizador (Backoffice).

EJB O que é um EJB? Entertprise Java Bean - componente server-side que encapsula a lógica de negócio de uma aplicação. - permite que o desenvolvedor de aplicações foque na lógica de negócio e não se preocupe com transações de baixo nível, detalhes de gerenciamento de status, comunicação remota, concorrência, multithreading, pools de conexão ou outras APIs complexas de baixo nível.

EJB

Qual o benefício do uso de EJBs ? EJBs simplificam o desenvolvimento de aplicações grandes e distribuídas. COMO?

EJB Como os EJBs simplificam o desenvolvimento de aplicações grandes e distribuídas?  fornece serviços de nível de sistema a elas. Com isso o desenvolvedor pode se concentrar em resolver problemas do negócio. O EJB é responsável por serviços como gestão de transações e autorizações de segurança.  São os EJBs que contêm a lógica de negócios, não os clientes. Assim sendo, o desenvolvedor da aplicação cliente pode se concentrar na apresentação, não tendo que implementar regras de negócio ou de acesso bancos de dados. Como resultado, clientes tornam-se mais leves, executáveis em máquinas menos poderosas.  Os EJBs são componentes portáteis, podendo ser reutilizados em outros aplicativos.

EJB Quando usar EJBs?  Quando a aplicação for escalável. Para suportar um crescente número de usuários, pode-se desejar distribuir aplicações por múltiplas máquinas.  Quando transações precisam garantir a integridade dos dados.  Quando a aplicação contém um grande número de clientes, leves e variados.

EJB Tipos de EJBs : Session Beans e Message-driven Beans 1) Session Beans : -encapsulam lógica de negócio que pode ser invocada programaticamente por um cliente de maneira local, remota ou via web service. - para acessar uma aplicação armazenada em um servidor, o cliente invoca os métodos do session bean.

EJB 1)Session Beans : a) Beans com Estado de Sessão (Stateful Session Beans) - Um bean com estado de sessão tem como característica manter o estado conversacional para um cliente específico. - O estado é armazenado nos valores das variáveis de instância do bean e nos interceptadores associados. - Podemos definir um simples bean com estado de sessão usando a

EJB a) Beans com Estado de Sessão (Stateful Session Beans) São apropriados para as seguintes situações: O estado do EJB representa a interação entre o EJB e um cliente específico; O EJB precisa manter informação do cliente entre invocação de métodos;

EJB 1)Session Beans : b) Beans sem Estado de Sessão (Stateless Session Beans) - Um bean sem estado de sessão não contém qualquer estado conversacional para um cliente específico. - Todas as instâncias de um bean sem estado de sessão são equivalentes, portanto o container pode escolher delegar um método invocado por um cliente para qualquer instância. - Podemos definir um simples bean sem estado de sessão utilizando a

EJB b) Beans sem Estado de Sessão (Stateless Session Beans) -Proveem melhor escalabilidade para aplicações que requerem um número maior de clientes, pois aplicações requerem menos EJBs stateless do que stateful para atender ao mesmo número de clientes. -Para incrementar a performance, deve-se escolher um EJB stateless quando, em uma única invocação de método, o EJB realiza uma tarefa genérica para todos os clientes;

EJB 1)Session Beans : c) Beans com Sessão Única (Singleton Session Beans) -São instanciados apenas uma vez por aplicação e existem durante o ciclo de vida da mesma. -São projetados para circunstâncias nas quais uma única instância do EJB é compartilhada e concorrentemente acessada por clientes. -O estado é mantido entre invocações de clientes, mas não quando ocorrem quedas do servidor. -Oferecem a mesma funcionalidade dos EJBs stateful, só que com a diferença de que são instanciado uma única vez por aplicação

EJB c) Beans com Sessão Única (Singleton Session Beans) São apropriados nas seguintes circunstancias: -O estado precisa ser mantido durante a execução da aplicação; -Um único EJB precisa ser acessado por múltiplos threads concorrentemente;

EJB Tipos de EJBs 2) Message-driven Beans: -permitem a aplicações JEE processar mensagens assincronamente. -Recebe mensagens provenientes de aplicações, outro EJB ou componentes web. -São acessados através de um serviço de mensagens (JMS), enviando mensagens ao destinatário (MessageListener).

EJB Interface do EJB Os métodos que darão acesso às regras de negócio do EJB devem estar contidos dentro de uma interface Java, como no exemplo abaixo: package com.webage.ejb; import public interface SimpleBean { public String sayHello(String name); }

EJB A classe que implementa a interface Obs: deve estar contida no mesmo pacote que a classe anterior. package com.webage.ejb; import mappedName="ejb/SimpleBeanJNDI") public class SimpleBeanImpl implements SimpleBean { public String sayHello(String name) { return "Hello " + name + "!"; }

EJB O cliente EJB A classe exibida abaixo faz o acesso ao Session Bean criado anteriormente. package com.webage.client; import javax.naming.*; import com.webage.ejb.SimpleBean; public class TestClient { public void runTest() throws Exception { InitialContext ctx = new InitialContext(); SimpleBean bean = (SimpleBean) ctx.lookup("ejb/SimpleBeanJNDI"); String result = bean.sayHello("Billy Bob"); System.out.println(result); } public static void main(String[] args) { try { TestClient cli = new TestClient(); cli.runTest(); } catch (Exception e) { e.printStackTrace(); }

EJB Obs: -O objeto ctx da classe InitialContext é instanciado e é um contexto criado para acesso ao Session Bean através do chamado JNDI (Java Name and Directory Interface) Lookup, que é uma interface para localização da instância do session bean. -Em seguida, o SessionBean é instanciado, por meio de uma chamada ao método lookup de InitialContexto, passando-se com o parâmetro o caminho JNDI. -Na linha seguinte, o método correspondente do bean (sayHello) é invocado explicitamente

Referências: De Miranda Junior, Pasteur Ottoni. Enterprise Java Beans. Disponível em Medeiros, Higor. EJB: Introdução ao novo Enterprise JavaBeans 3.2. Disponível em: enterprise-javabeans-3-2/30807