Introdução a JEE
Marco A. S. Reis
Arquiteto de Software
Abril/2011
Introdução
Conceitos
Servidores de aplicação
Arquitetura de componentes
Plataforma JEE: arquitetura, APIs,
serviços
Componentes JEE
Conceitos
Enterprise – identifica as tecnologias
Java utilizadas em sistemas distribuídos.
JEE – especificação Java para sistemas
distribuídos.
Justificativa para se usar
Independê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 geral
Especificaçã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ção
A especificação JEE é o agrupamento de
várias especificações diferentes, que
atendem às mais diversas finalidades.
Componentes JEE
JDBC (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 componentes
Simula 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 terceiros
Exemplos de Componentes (CIT, jcompany, java-source.net).
Veja alguns exemplos de componentes e
suas funcionalidades, o que poderia
agregar em sua organização.
Componentes WEB
Servlets
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 Beans
Nú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 EJB
Session 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 Server
Informalmente 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).
Vantagens
Uma 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.
JBoss
Open Source.
Líder de mercado.
Suporta cluster e outros recursos
sofisticados.
Site: jboss.org (agora é um produto
RedHat).
Arquitetura do servidor
Dúvidas?
Download

Slide 1 - Marco Reis