Arquitetura de Aplicações J2EEjhcf/cursos/DIM341s03.2/J2EE.pdf · Session beans?Modelo de...

Preview:

Citation preview

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}

}

Recommended