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

Post on 22-Apr-2015

106 views 3 download

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

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

IntroduçãoConceitos

Servidores de aplicação

Arquitetura de componentes

Plataforma JEE: arquitetura, APIs, serviços

Componentes JEE

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

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

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.

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.

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

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).

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.

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.

Componentes WEBServlets

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

JSP

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

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.

Camadas

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.

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).

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.

JBossOpen Source.

Líder de mercado.

Suporta cluster e outros recursos sofisticados.

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

Arquitetura do servidor

Dúvidas?