Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

18
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011

Transcript of Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Page 1: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Introdução a JEEMarco A. S. ReisArquiteto de SoftwareAbril/2011

Page 2: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

IntroduçãoConceitos

Servidores de aplicação

Arquitetura de componentes

Plataforma JEE: arquitetura, APIs, serviços

Componentes JEE

Page 3: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

ConceitosEnterprise – identifica as tecnologias Java utilizadas em sistemas distribuídos.

JEE – especificação Java para sistemas distribuídos.

Page 4: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Justificativa para se usarIndependência de fornecedor.

Preservação do investimento.

Estado-da-arte em tecnologia.

Suporte ao legado.

Aderência a padrões reais.

Baixo custo de propriedade e de acesso.

Page 5: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Visão geralEspecificação para servidores de aplicação que define um padrão de suporte a componentes e serviços.

Tem como objetivo reduzir custos e complexidade de sistemas multi-camadas.

Um servidor JEE fornece suporte a:Arquitetura de componentes EJB.

Web Services.

Servlets e JSP.

Page 6: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

EspecificaçãoA especificação JEE é o agrupamento de várias especificações diferentes, que atendem às mais diversas finalidades.

Page 7: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Componentes JEEJDBC (acesso a bancos relacionais).

JCA (conectividade com sistemas legados).

JNDI (serviço de diretórios).

JTA (transações distribuídas).

JTS (componentes transacionais).

JMS (serviço de mensagens, operações assíncronas).

JavaMail (serviço de e-mail).

Servlets (web).

EJB (componentes distribuídos e persistentes).

JAXP (processamento de XML e web services).

JMX (gerenciamento de servidores).

Page 8: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Arquitetura de componentesSimula um contrato entre duas partes.

Seus componentes funcionam em qualquer servidor JEE.

Permite que os clientes substituam componentes existentes por outros similares.

Um novo componente pode ser plugado no servidor e passa a funcionar imediatamente.

Page 9: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Componentes de terceirosExemplos de Componentes (CIT, j-company, java-source.net).Veja alguns exemplos de componentes e suas funcionalidades, o que poderia agregar em sua organização.

Page 10: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Componentes WEBServlets

Classes pré-compiladas que processam requisições HTTP e devolvem respostas HTTP.

JSP

Páginas de texto contendo código Java embutido.

Page 11: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

EJB – Enterprise Java BeansNúcleo de uma aplicação distribuída.

Recebem e processam dados de clientes e enviam à camada de dados ou o caminho inverso.

Page 12: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Camadas

Page 13: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Tipos de EJBSession Beans:

Modelam regras de negócio.

São ações como validar, comprar, processar.

Entity Beans:

Dados do negócio.

Representam informações persistidas em banco de dados.

Message-driven Beans:

Processos assíncronos.

Respondem a eventos.

Page 14: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Application ServerInformalmente chamado de AppServer. Software que implementa a especificação JEE.A especificação JEE não é um produto, mas um conjunto de regras (uma especificação!) que devem ser seguidas para garantir todos os benefícios.Vários fabricantes (Sun, IBM, Bea, JBoss, Apache).

Page 15: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

VantagensUma parte significativa do trabalho de desenvolvimento fica encapsulada em um AppServer.Persistência, controle de transações, pool de objetos, otimização de performance são alguns dos itens que já estão prontos em qualquer AppServer.

Page 16: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

JBossOpen Source.

Líder de mercado.

Suporta cluster e outros recursos sofisticados.

Site: jboss.org (agora é um produto RedHat).

Page 17: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Arquitetura do servidor

Page 18: Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.

Dúvidas?