arquitetura de aplicações j2eejhcf/cursos/dim341s03.2/j2ee.pdf · session beans?modelo de...
TRANSCRIPT
Arquitetura de Aplicações J2EE
Jorge FernandesOutubro de 2003
J2EE? O que é? Como se organiza? Como funciona? Elementos? Arquitetura Típica
Componentes de Software? Reuso é um processo
? Publicar interfaces? Distribuir componentes
? Componentes de sw? Unidades coesas de código (sw) que possuem uma interface
pública bem definida
? Utilizar múltiplas cópias do componente em várias configurações de sistema, baseado na interface do componente
? Reusabilidade é uma propriedade
Reusabilidade relaciona-se com Acoplamento e Coesão
? Coesão? Propriedade desejável, que demonstra unidade
conceitual de dos elementos que formam um módulo de software
? Acomplamento? Propriedade indesejável, que demonstra a falta
de coerência no no agrupamento de elementos que formam um módulo de software
Classes e componentes? O que é uma classe?
? UNIDADE DE MODELAGEM DE OBJETOS, ATRAVÉS DE métodos e atributos, usando uma linguagem de programação orientada a objetos
? Relacionado a codificação? Quando os métodos de uma classe são
públicos, podemos dizer que eles formam a interface da classe? Por princípio, os atributos são privados
classe classemetods
metodos
Pacote x
metods
metods
Componente x.jarmetods
metods
classe classemetods
metodos
Pacote x
metods
metods
Gerando ou construindo um componenteCriando um “build”
código
componente
Métodos públicosFormam a interface de componentes
Componente x.jar
metods
metods
Componente x.jar
metods
metods
Componente x.jar
metods
metods
Ciclo de desenvolvimento de software com reuso
aplicacao
Componente x.jar
metods
metods
Componente x.jar
metods
metods
Novo ComponenteProduzido
metods
metods
Cópia (reuso)
Publicacao e divulgacãoDe novos componentes
Componente x.jar
metods
metods
Código da aplicação
aplicação
biblioteca
A Solução da Tecnologia Java
Um amplo espectro de Plataformas,edições, configurações e perfis
Edições Java 2 e Seus Dispositivos. Fonte [CLDC1.0a]
J2EE – Plataforma para Desenvolvimento de Software e Sistemas Corporativos
? Conjunto de bibliotecas, interpretadores e outras ferramentas adequadas para desenvolvimento e execução de aplicações distribuídas de uso corporativo
? Objetivos? Padronização
? Integração entre modelo web e modelo corporativo
? Simplificação na construção de componentes? Reuso de componentes? Agilidade e produtividade na construção? Desempenho? Escalabilidade
Diferentes Perspectivas de Evolução de Sistemas Corporativos
? O que pode variar?? Cliente? Regras de negócio? Sistemas e bases de
dados? Infra-estrutura
Apresentação
Regras de funcionamentoDo negócio
Bases de dados
Infra-estrutura
Infra-estrutura de Aplicações Corporativas
Bases de Dados
Subsistemas eRegras de Negócios
InterfaceWeb/Wap/J2ME/XML
Sistemas Legados
Variando os Clientes
web
Regras de funcionamentoDo negócio
Bases de dados
wap tv xml
Filtro
Variando as Regras
apresentação
Bases de dados
Ambiente de Runtime Padronizado
Módulo #1
Módulo #2
Módulo #3
Módulo #n
Dependências entre classes ou pacotes
utilitário
componente
componente
Componente
aplicacao
utilitários
Componentes de negócios
Variando os Dados
apresentação
SGDB #1
Regras de funcionamentoDo negócio
SGDB #2 SGDB #n
Integrador de dados
Modelo de Infra-estrutura abstrata para Aplicações Corporativas
web wap tv xml
Filtro
Módulo #1
Módulo #2
Módulo #3
Módulo #n
SGDB #1 SGDB #2 SGDB #n
Integrador de dados
Ambiente de Runtime Padronizado
Ambiente J2EE
Container? Ambiente de runtime padronizado que provê
serviços específicos para clientes? Qualquer plataforma J2EE deve conter este
runtime? Serviços padronizados
? Gerenciamento de transação? Gerenciamento de sessão web? Messaging? Instalação e configuração
APIs J2EE? JSP – Java Server Pages? Enterprise JavaBeans? Java API for XML
Processing (JAXP)? J2EE Connector
Architecture? infrastructure para
interacting com Enterprise Information System como ERP, CRM, and other
? JDBC 2.-? Java Transaction – JTA
? JNDI – Java Naming and Directory
? Java IDL – InterfaceDefinition Language
? Java RMI? Java Message Service? Java Authentication and
Authorization Service –JAAS
? JavaMail? JavaBeans
APIs J2EE
JSP – Java Server Pages? Tecnologia de componentes
para interface com usuário web? Html – wml – xml –
? O componente é o JSP? O foco é em apresentação,
em vez de controle
Enterprise JavaBeans? Tecnologia de componentes para regras de
negócios e persistência de objetos? Componentes:
? Entity beans? Modelo de componente especializado para representar
entidade de dados que pode ser persistida junto ao um SGBD
? Session beans? Modelo de componente EJB especializado para representar
as regras de negócios da organização, sistema ou aplicação
? Message beans? Modelo de componentes para tratamento de integração com
sistemas através de eventos ou mensagens assíncronas
Java API for XML Processing (JAXP)
J2EE Connector Architecture? infrastructure para
interacting com Enterprise Information System como ERP, CRM, and other
JDBC 2.-
Java Transaction – JTA
JNDI – Java Naming and Directory
Java IDL – Interface Definition Language
Java RMI
Java Message Service
Java Authentication and Authorization Service – JAAS
JavaMail
JavaBeans? Modelo de componente originalmente
concebido para criar componentes de GUI? É um idioma de programação? Prescreve um modo padronizado de escrita
de mensagens, métodos de acesso a propriedades e tratamento de eventos
Um exemplo de JavaBeanclass Componente {
setNome(String nome) {// especificação de que o componente tem uma
propriedade nome, que é alterável}String getNome() {// especificação de que o componente tem uma
propriedade nome, que é alterável}
}