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



Documentos relacionados
Mini-curso Gratuito Globalcode Slide 1

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

EJB 3.1: A Community Update

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

J2EE. J2EE - Surgimento

Enterprise Java Beans

Arquitetura JEE Introdução à Camada de Negócios: Enterprise Java Beans (EJB) Marcos Kalinowski

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

UFG - Instituto de Informática

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

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

Como sobreviver com Java 2? Saulo Arruda

EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux

UFG - Instituto de Informática

Experiência em missão crítica de missão crítica

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

Spring: Um suite de novas opções para Java EE

Enterprise Java Bean. Enterprise JavaBeans

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Sistemas Distribuídos e Tolerância a Falhas Mestrado em Engenharia Informática 1ª ano / 2ª semestre

Explorando os novos recursos de EJB 3.1. Fabio Velloso

Prof. Fellipe Araújo Aleixo

Prova Específica Cargo Desenvolvimento

Aplicações Distribuídas Cliente/ Servidor Corporativas

EJB. Session Beans. J2EE (C. Geyer) Introdução a SessionBean 1

Curso de Linguagem Java

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

Middleware de Aplicações Paralelas/Distribuídas

Laboratório EJB e J2EE Uma aplicação completa

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Web Services. (Introdução)

Web Technologies. Tópicos da apresentação

Ensino Superior: IESB Instituto de Educação Superior de Brasília Ciências da Computação - Cursando

J530 - Enterprise JavaBeans. Introdução a EJB e Stateless. Session Beans. argonavis.com.br. Helder da Rocha (helder@acm.org)

Java 2 Enterprise Edition

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

Java EE 6. A revolução do. Um overview sobre as novidades da JSR 316. a r t i g o

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

Java 2 Enterprise Edition Uma aplicação J2EE completa

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Sistemas Distribuídos

J2EE TM Java 2 Plataform, Enterprise Edition

Componentes no Java EE

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

Palavras-chave: clínica de psicologia, Java EE 6, Web Profile, EBJ Lite, sistema de gerenciamento.

Java e Banco de Dados: JDBC, Hibernate e JPA

Enterprise JavaBeans. Java Deployment Course. por Jorge H. C. Fernandes DI-UFPE Julho de 1999

Java II. Sérgio Luiz Ruivace Cerqueira

Message Driven Beans. Apresentação. Introdução Implementação de MDBs Deployment no JBoss Java Messaging Service Exemplo

Tecnologias Web. Java Enterprise Edition

Desktop em minutos com genesis, Matisse, Java WebStart e JSR-296

Projetos Corporativos Baseados na Tecnologia Java Que Falham: O Que Podemos Aprender Deles?

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Padrões do Catálogo J2EE. Lincoln Souza Rocha, M.Sc.

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Enterprise Java Beans (III)

Programação e Configuração de Aplicações JEE. Edilmar Alves

Mini-curso Gratuíto.

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

Artigo JavaMagazine (edição 58)

Arquitetura JEE COFEN Analista de Sistemas CREA/RJ Analista de Sistemas

ARQUITETURA DO SISTEMA ERP PEGASUS

PROJETO PEDAGÓGICO DE CURSOS

SOA na Prática Ricardo Limonta

Aplicativos JavaEE 6 modularizados com Web Fragments

Adriano Reine Bueno Rafael Barros Silva

Boas Práticas no desenvol Aprenda a desenvolver componentes e serviços

Java 2 Enterprise Edition Fundamentos básicos de Transações

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

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

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Capítulo 1 - Java EE 6 por alto - 1

Programação para Web Artefato 01. AT5 Conceitos da Internet

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education

MÓDULO. Linguagem de Programação para Web 2

Java para Web & EJB. Teoria, prática e questões Módulo Introdução e Servlets

Desenvolvendo aplicações desktop em Java: presente e futuro

Introdução a JEE. JEE (C. Geyer) Introdução a JEE 1

Agenda. Desenvolvimento um aplicativo completo usando JSF, EJB e padrões Rodrigo Cândido e Vinny Nunes Instrutores Globalcode / VOffice.

MÓDULO Programação para Web 2

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

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container TomCat Aula 05

INTEGRAÇÃO DE TÉCNICAS DE SISTEMAS DISTRIBUÍDOS APLICADA AO DESENVOLVIMENTO DE UM AMBIENTE PARA O JOGO DE XADREZ

Sistemas Distribuídos: Conceitos e Projeto Java RMI

Modularidade com Java Module System & OSGi

4 - Padrões da Camada de Integração. Introdução

Argo Navis J931 - Padrões de Design J2EE. Versão 2.0 (setembro de 2003) Objetivos

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

Microserviços: flexibilidade e agilidade a que preço?

PLANO DE ENSINO INSTITUTO FEDERAL SUL-RIO-GRANDENSE CAMPUS SAPUCAIA DO SUL PRÓ-REITORIA DE ENSINO

Transcrição:

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

Palestrantes Kleber Xavier Arquiteto Senior / Globalcode kleber@globalcode.com.br Vinicius Senger Arquiteto Senior / Globalcode vinicius@globalcode.com.br @vsenger Autores Livro Gratuito: 33 patterns com Java http://www.slideshare.net/vsenger/33-design-patterns-com-java Slide 2

Agenda Introdução Por que EJB Tipos de EJB Slide 3

Características do EJB EJB é um modelo de componentes com foco em arquiteturas multi-camadas (baseado em princípios básicos de rede) RMI (Remote Method Invocation) JNDI (Java Naming and Directory Interface) Responsável pela regra de negócio das aplicações Web e não Web EJB é um modelo de alto nível para objetos distribuídos / computação distribuída Slide 4

Por que EJB? Componentes de Negócio Distribuídos Vários tipos de aplicações clientes podem utilizar as mesmas regras de negócio; Infra-estrutura do Container de EJBs Segurança Controle Transacional Gerenciamento de recursos Agendamento de tarefas Padrão de Mercado para Componentes de Negócio Slide 5

Por que EJB? Componentes de Negócio Distribuídos Cliente SOA / WS web Web Browser Swing / JavaFX Rede Local Regras de Negócio Java Web JVM + Container EE Slide 6

Por que EJB? Infra-estrutura do Container de EJBs +regras Segurança Controle Transacional Escalabilidade Config. de Ambiente Regras de Negócio Dados Legados Middleware de Mensagens Slide 7

Por que EJB? Padrão de Mercado para Componentes de Negócio: Oracle Glassfish e WebLogic; Red Hat JBoss AS; IBM WebSphere; Apache Geronimo; etc... Slide 8

Remote Method Invocation Nível programação EJB Server / Container JRMP / RMI - IIOP TCP / IP Aplicação Apresentação Transporte rede javax.ejb java.rmi java.net Slide 9

Tipos de EJBs Java EE 1.4 Session Bean (Stateless/Stateful) Entity Bean (BMP/CMP) Message Driven Bean Java EE 5 Session Bean (Stateless/Stateful) Message Driven Bean OBS.: JPA (API de persistência que substitui Entity Bean, mas não é um EJB) Slide 10

EJB 3.x Tipos: Session beans (Stateless e Stateful) Message-driven beans Interface de negócio Local Remota Service Endpoint (web services) Classe de implementação do componente POJO somente com métodos do componente Uso simplificado Slide 11

EJB 3.x Interface de negócio Anotada com o tipo da interface: @Local (javax.ejb) @Remote (javax.ejb) @WebService (JAX-WS ) (javax.jws) Slide 12

EJB 3.x Classe de implementação do componente Anotada com o tipo do componente: @Stateless (javax.ejb) @Stateful (javax.ejb) @MessageDriven (javax.ejb) Slide 13

EJB 3.x Classe de implementação: import br.com.globalcode.model.item; import java.util.*; import javax.ejb.stateful; @Stateful public class CarrinhoBean implements CarrinhoRemote { List<Item> itens = new ArrayList<Item>(); } public void addproduto(int codigo, int qtd) { itens.add(new Item(codigo,qtd); } public List getprodutos() { return itens; } Slide 14

Programação para EJBs Empacotamento / Deployment: É um jar com a classes dentro do seus respectivos pacotes; Contém um diretório META-INF com os deployment descriptors; Slide 15

EJB 3.x Uso: Componentes são injetados dentro dos clientes Anotações definem a dependência com o componente Slide 16

EJB 3.x Usando o EJB na versão 3.x Injeção de dependência Slide 17

Enterprise Java Beans 3.1 JSR 318 Melhora ainda mais EJBs 3.0 Menor curva de aprendizado Maior simplicidade para aplicações menos complexas Novos recursos promissores Principais mudanças Novo componente Singleton Bean Melhoria no agendamento de tarefas Alternativa simplificada a MDBs Simplicidade no uso em aplicações Web / Desktop Slide 18

EJB Lite Subconjunto da EJB 3.1 API Não define API adicional Permite servidores mais leves para cenários simplificados Nem toda aplicação utiliza 100% dos recursos EJB Slide 19

EJB Lite EJB LITE EJB FULL Interface Local/NoInterface SIM SIM Interface Remota SIM Stateless, Stateful, Singleton SIM SIM JPA 2.0 SIM SIM Chamadas Assíncronas SIM MDBs SIM Web Services EndPoints SIM Compatibilidade EJB 2.x SIM Interoperabilidade RMI-IIOP SIM Timer Service SIM Entity Beans SIM CMT/BMT SIM SIM Segurança Declarativa SIM SIM Interceptors SIM SIM Slide 20

Deploy de EJBs na camada Web Facilita o uso de EJBs com aplicações baseadas na Web Menor curva de aprendizado Simplicidade Agora é possível empacotar EJBs diretamente no arquivo.war Em aplicações n-camadas recomenda-se o uso de módulos EJBs, como na 3.0. Slide 21

Deploy de EJBs na camada Web JAVA EE 5 JAVA EE 6 jsp, servlets, img,, etc. <<EJB>> CarrinhoCompras jsp, servlets, img,, etc. <<EJB>> CarrinhoCompras ecommerce.wa r carrinho.ja r ecommerce.wa r ecommerce.ea r Slide 22

Conclusões Java EE 5 e 6 apresentaram muitas melhorias em relação às versões anteriores, facilitando bastante o desenvolvimento de aplicativos; Alguns recursos não especificados são complementados por frameworks de mercado como Spring Parte dos recursos que faltavam foram acrescentados no Java EE 6 Java EE 7 terá recursos para Cloud: @MultiTenancy Slide 23

Mais Informações http://www.oracle.com/technetwork/java/javaee/overview/index.html http://docs.oracle.com/javaee/5/tutorial/doc/ http://docs.oracle.com/javaee/6/tutorial/doc/ Slide 24