Aw 2

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Aw 2 as PDF for free.

More details

  • Words: 3,650
  • Pages: 21
AW2 – Desenvolvimento Web com J2EE: JSP 2.0, Servlets 2.4 e Design-patterns

1

Introdução a Java Enterprise Edition 1.1 Porque Java EE tem sido tão utilizado? 1.2 O que é Java Enterprise Edition 1.3 Java Enterprise Edition versus Java Standard Edition 1.4 Java Community Process 1.5 A plataforma Java Enterprise Edition 1.5.1 APIs 1.5.2 Containers 1.5.3 Diagrama de atividades do Container 1.5.4 Deployment de aplicações

2

Análise de arquiteturas 2.1 2.2 2.3 2.4 2.5

3

Arquitetura Física e Arquitetura Lógica Arquitetura em duas camadas: cliente / servidor Arquitetura em três camadas: baseada na Web, com cliente “magro” Arquitetura em três camadas: utilizando EJB Arquitetura em n-Camadas: baseada na Web, com EJB

Ambiente de desenvolvimento 3.1 Aplicações Web 3.1.1 Web ARchive (WAR) 3.2 Tomcat 3.2.1 Instalação e Configuração 3.2.2 Observações relativas à versão 5.5.X 3.2.3 Tomcat Administration 3.2.4 Tomcat Manager 3.2.5 Aplicações no Tomcat 3.3 Laboratório 1 3.4 Deploy de aplicações com Ant 3.4.1 Instalação e Configuração 3.4.2 Introdução 3.4.3 Projeto (project) 3.4.4 Grupo de tarefas (target) 3.4.5 Variáveis (properties) 3.4.6 Tarefa (task) 3.4.7 Dependências 3.4.8 Exemplo completo e tags mais usadas 3.5 Laboratório 2

4

Java Servlet 4.1 Overview Histórico 4.2 O que é um Servlet? 4.3 A classe HttpServlet 4.3.1 Overview dos métodos da interface 4.4 O Ciclo de vida do Servlet no Container 4.5 Deployment Descriptor

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

2 3 5 6 6 7 8 9 11 12

14 15 17 18 19 20

22 23 24 25 26 27 27 28 29 30 31 32 33 34 35 36 38 41 42 49

52 53 54 56 57 58 59

Índice

5

Request e Response 5.1 5.2 5.3 5.4 5.5 5.6 5.7

6

Introdução HTTP Get HTTP Post A Interface HttpServletRequest A Interface HttpServletResponse Criando o Servlet OlaMundo Laboratório 3

Criando a Aplicação Web 6.1 Introdução 6.2 Endereçamento Relativo 6.3 Formulários 6.3.1 Exemplo: Leitura de dados de um formulário 6.4 Manipulação de Cookies 6.4.1 A Classe javax.servlet.http.Cookie 6.4.2 Exemplo: Funcionalidade de lembrar usuário e senha com cookies 6.5 Navegação 6.5.1 Redirecionamento 6.5.2 Encaminhamento 6.5.3 Redirect versus Forward 6.6 Passagem de dados entre componentes Web 6.6.1 Atributos da request 6.7 Laboratório 4

7

Gerenciamento de Sessão 7.1 7.2 7.3 7.4 7.5 7.6 7.7

8

Introdução Obtendo uma sessão Atributos da sessão Invalidando uma sessão Exemplo Gerenciamento de Sessão sem cookies Laboratório 5

ServletContext 8.1 Introdução 8.2 Parâmetros de inicialização 8.2.1 Adicionando parâmetros de inicialização no Deployment Descriptor (web.xml) 8.3 Utilizando atributos do ServletContext

9

JavaServer Pages 9.1 Introdução 9.1.1 Ciclo de vida do JSP 9.2 Estrutura de diretórios 9.2.1 Projetos Web 9.2.2 JSPs dentro do WAR 9.2.3 Como acessar os JSPs? Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

62 63 65 65 66 69 70 72

74 75 75 77 78 83 84 85 88 89 90 91 95 95 101

104 105 108 109 110 111 116 118

122 123 124 124 126

128 129 131 132 132 133 134

AW2 – Desenvolvimento Web com J2EE: JSP 2.0, Servlets 2.4 e Design-patterns Elementos utilizados em JSPs 9.3 9.3.1 Scriptlets 9.3.2 Comentários 9.3.3 Expressões 9.3.4 Declarações 9.3.5 Diretivas JSP 9.4 Importando pacotes e classes 9.5 Laboratório 6 9.6 Objetos implícitos 9.6.1 Exemplo: Entendendo como funcionam os objetos implícitos 9.6.2 Exemplo: Leitura de dados recebidos de um formulário 9.6.3 Exemplo: Passando atributos através da request do Servlet para o JSP 9.7 JavaBeans 9.7.1 <jsp:useBean> 9.7.2 <jsp:getProperty> 9.7.3 <jsp:setProperty> 9.8 Laboratório 7 9.9 Páginas compostas 9.9.1 Fragmentos JSP 9.9.2 Diretiva include 9.9.3 Standard Action <jsp:include> 9.9.4 Standard Action <jsp:param> 9.10 Laboratório 8

10 Tratamento de erros em aplicações Web 10.1 Configuração de páginas de erro para Servlets 10.1.1 Criando nossa Exception 10.1.2 Servlet que dispara Exception 10.1.3 Mapeamento no Deployment Descriptor 10.1.4 Criando a página que será apresentada em caso de erro 10.1.5 Enviando Erros HTTP 10.2 Configuração de páginas de erro para JSPs 10.3 Laboratório 9

11 Internacionalização 11.1 11.2

Introdução Exemplo

12 Expression Language 12.1 O que é EL 12.2 Sintaxe de EL 12.2.1 Literais e Operadores 12.2.2 Variáveis 12.2.3 Navegação em variáveis 12.2.4 Navegação em arrays e Lists 12.2.5 Navegação em Maps 12.2.6 Objetos implícitos 12.3 Habilitando e Desabilitando EL e scriptlets Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

135 135 136 136 137 138 140 141 142 143 146 150 154 155 158 159 163 164 165 166 172 175 176

178 179 180 180 182 183 185 187 189

192 193 196

200 201 203 204 208 209 210 211 212 216

Índice Laboratório 10

218

13 Introdução ao uso de Tags

222

12.4

13.1 13.2 13.3 13.4

Introdução Como funcionam as Custom Tags? Como utilizar bibliotecas de tags? Como criar Custom Tags ?

14 JavaServer Pages Standard Tag Library ( JSTL ) 14.1 O que é JSTL 14.2 Instalação da JSTL 14.3 Como usar JSTL em uma página JSP 14.4 Biblioteca Core 14.4.1 Suporte a variáveis 14.4.2 Controle de Fluxo 14.4.3 Exemplo 14.5 Biblioteca de Internacionalização 14.5.1 Locale 14.5.2 Mensagens 14.5.3 Formatação de Números e Datas 14.6 Laboratório 11

15 Tag File 15.1 O que é um Tag File 15.2 Utilizando Tag Files em uma página JSP 15.3 Tag Files empacotados 15.4 Diretivas 15.4.1 tag 15.4.2 attribute 15.4.3 Exemplo 15.5 Standard Actions 15.5.1 <jsp:invoke/> 15.5.2 <jsp:doBody/> 15.6 Comparação entre include e TagFile 15.7 Tópicos Avançados 15.7.1 variable 15.7.2 Exemplo 1 15.7.3 Exemplo 2 15.8 Laboratório 12

16 Simple Tag 16.1 O que é uma Simple Tag 16.2 Ciclo de vida 16.3 Overview das classes envolvidas 16.3.1 SimpleTag 16.3.2 SimpleTagSupport 16.3.3 JspContext 16.4 Criando Simple Tags Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

223 224 226 228

230 231 231 232 233 233 235 240 245 245 246 251 259

262 263 264 265 266 266 267 268 270 270 272 273 274 274 275 277 280

282 283 283 284 284 284 284 285

AW2 – Desenvolvimento Web com J2EE: JSP 2.0, Servlets 2.4 e Design-patterns 16.4.1 Definindo tags com atributos 16.4.2 Tag Library Descriptor 16.4.3 Utilizando tags no JSP 16.4.4 Exemplo 16.5 Exemplo 16.6 Mapeamento de tlds em páginas JSP 16.6.1 Mapeamento direto na página 16.6.2 Mapeamento em web.xml 16.6.3 Mapeamento via tag no arquivo .tld 16.7 Tópicos avançados 16.7.1 Variables 16.7.2 Manipulando o corpo da tag 16.8 Laboratório 13

17 Filtros

285 286 288 289 294 299 299 300 300 301 301 302 303

306

17.1 Introdução 17.2 Overview das classes envolvidas 17.2.1 FilterChain 17.2.2 Filter 17.3 Configuração do Deployment Descriptor 17.4 Criando um filtro 17.5 Laboratório 14

18 Segurança 18.1 Introdução 18.2 Conceitos sobre segurança 18.2.1 Glossário de terminologias 18.2.2 Níveis de segurança 18.3 Segurança no modelo Java Enterprise Edition 18.4 Repositório de usuários 18.4.1 Repositório de usuários em arquivo texto 18.4.2 Repositório de usuários em banco de dados relacional 18.4.3 Servidores de Diretório LDAP 18.5 Definindo grupos e usuários 18.6 Declarando requisitos de segurança no web.xml 18.6.1 Configuração do sistema de login 18.6.2 Configurando roles / papéis / grupos 18.6.3 Configurando URLs protegidas 18.6.4 Resumo de configurações no web.xml 18.7 Deployment de aplicativo Web seguro no Tomcat 18.8 Usando o deploytool para configurar segurança 18.9 Integrando Tomcat e MySQL com realm 18.9.1 Criando um repositório no MySQL 18.9.2 Configurando realm no Tomcat 18.10 Estendendo o modelo de segurança com API de Servlets 18.11 Integrando o modelo de segurança declarativa com frameworks MVC

19 Design Patterns Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

307 308 308 309 311 313 319

322 323 323 324 326 327 332 333 333 334 335 336 336 338 338 340 342 348 351 351 352 354 355

358

Índice 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 19.10 19.11

Service Locator Data Access Object (DAO) Model, View and Controller design-pattern Front-Controller design-pattern Action ou Command design-pattern Factory e ActionFactory View Helper Dispatcher to Views Business Delegate Considerações finais sobre padrões Laboratório 15

20 Apêndices 20.1 Sintaxe XML para JSP 20.2 JSP Code Conventions 20.2.1 Convenções para estrutura de diretórios de acordo com o tipo de arquivo 20.2.2 Nomenclatura sugerida 20.2.3 JSP Page versus JSP Document 20.2.4 Comentários 20.2.5 JSTL, Scriptlets ou Standard Actions? 20.2.6 Recomendações sobre a diretiva page 20.2.7 Aspas duplas ou Aspas simples? 20.3 Servlet Listener 20.4 ServletConfig 20.5 Classic Tags 20.5.1 TagSupport 20.5.2 Definindo tags com atributos 20.5.3 O atributo pageContext 20.5.4 Exemplo 20.5.5 Tag Library Descriptor 20.5.6 Diretiva taglib 20.5.7 Deploy da aplicação 20.5.8 Exemplo 20.6 Certificação SCWCD 20.6.1 Sobre a certificação 20.6.2 Questões para certificação SCWCD 20.6.3 Respostas 20.7 Introdução a AJAX 20.7.1 O que há de errado com as interfaces web tradicionais? 20.7.2 O que é AJAX 20.7.3 O objeto XMLHttpRequest 20.7.4 Utilizando AJAX com Java no lado servidor

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

361 362 365 367 370 372 376 377 378 379 380

382 383 387 387 388 388 388 389 389 389 390 394 398 398 399 399 400 401 403 403 405 407 407 413 427 434 434 435 437 439

CAPÍTULO

1

Introdução a Java Enterprise Edition Porque Java EE tem sido tão utilizado O que é Java Enterprise Edition Java Enterprise Edition versus Java Standard Edition Java Community Process A plataforma Java Enterprise Edition

1 Introdução a Java Enterprise Edition

1 Introdução a Java Enterprise Edition

Anotações

2

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

AW2 – Desenvolvimento Web com J2EE: JSP 2.0, Servlets 2.4 e Design-patterns

1.1

Porque Java EE tem sido tão utilizado?

Java EE é multi-plataforma, ou seja, é uma solução que pode ser utilizada para PCs com Linux, com Windows, com Apple e também pode ser utilizada com MainFrames.

Além de ser uma vantagem numérica, pois não elimina parte do mercado que usa um sistema operacional específico também aumenta a “integrabilidade” da aplicação, ou seja, permite às empresas que integrem os sistemas que estão rodando em diferentes plataformas, como por exemplo o sistema Web, os sistemas que estão nos MainFrames, os sistemas que são executados na máquina do usuário.

Esta é uma grande vantagem para grandes corporações que enfrentam a batalha da integração de sistemas.

Outro fator fundamental no sucesso da plataforma é a participação de grandes empresas na especificação das APIs no Java Community Process, como Oracle, IBM, Apple, que atuam não só na especificação, mas também no desenvolvimento de produtos como containers, IDEs, frameworks, que agregam assim ainda mais confiabilidade a tecnologia.

Certamente a existência de diversos containers Open-Source e/ou Gratuitos, também colabora com o alto índice de adoção da tecnologia.

Anotações

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

3

1 Introdução a Java Enterprise Edition Além destes fatores, elencamos aqui alguns pontos que podem ser atingidos com Java EE, considerados fundamentais para a Arquitetura dos sistemas desenvolvidos atualmente:

Escalabilidade Trata-se de um dos "ades" da engenharia de software que pertence à nova economia globalizada e conectada. Uma campanha de marketing pode fazer com que uma pequena empresa cresça de forma abrupta do dia para a noite. É necessário que a sua solução seja capaz de acompanhar o crescimento do negócio.

Disponibilidade Com uma linguagem e plataforma confiáveis, podemos contar com sistemas que rodam simultaneamente em mais de um servidor para prevenção de falhas. Sistemas conhecidos como cluster de servidores permitem que aplicativos fiquem distribuídos e à prova de falha no data-center hospedeiro.

Performance Quando o assunto é computação distribuída, Java tem uma performance muito boa em comparação a outras tecnologias. Podemos dizer, por exemplo, que Fortran é mais rápido que Java para resolver um algoritmo complexo isoladamente, mas Java, quando distribuído entre servidores, não possui concorrente.

Baixo custo de manutenção Código bem escrito, objetos bem definidos e documentados, herança, polimorfismo, interfaces da orientação a objeto e outros aspectos técnicos tornam um software simples de ser mantido no decorrer do tempo, quando bem planejado e escrito em Java. Sabemos que os aplicativos tendem a ter um ciclo de vida cada vez mais duradouro na empresa, por isto o custo de manutenção do software se torna cada vez mais importante.

Anotações

4

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

AW2 – Desenvolvimento Web com J2EE: JSP 2.0, Servlets 2.4 e Design-patterns

1.2

O que é Java Enterprise Edition

Java Enterprise Edition é uma plataforma de desenvolvimento de componentes para aplicações em multi-camada, que disponibiliza uma série de serviços de infra-estrutura de alto nível, evitando o desenvolvimento de código complexo e aproximando os desenvolvedores do negócio em si.

Algumas das especificações de componentes mais importantes da plataforma Java Enterprise Edition são: JavaServer Pages (JSP) : utilizadas para criar páginas Web; Servlets: geralmente utilizado para construir a camada de controle da aplicação, viabilizando a integração entre as páginas JSP e a camada de negócios; Enterprise JavaBeans: utilizados para criar componentes distribuídos, representando dados ou regras de negócio.

Nenhum destes componentes foi idealizado para ser executado diretamente pela máquina virtual, todos eles devem ser executados e controlados por um container específico como podemos observar na figura abaixo:

Web Container: hospeda Servlets, JSPs (JavaServer Pages) e arquivos estáticos (HTMLs, JavaScript, XML); utiliza qualquer classe Java como, por exemplo, APIs de envio de e-mail ou acesso a banco de dados. EJB Container: hospeda Enterprise JavaBeans (EJB) que, por sua vez, também pode utilizar uma série de APIs Java, tais como envio de e-mail e acesso a banco de dados. Database: Representamos aqui um banco de dados, mas poderíamos, a partir de uma arquitetura Java EE, acessar arquivos, sistemas legados, ERPs, fila de mensagens e qualquer outra fonte de dados.

Anotações

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

5

1 Introdução a Java Enterprise Edition

1.3

Java Enterprise Edition versus Java Standard Edition

É importante realçar que embora os componentes sejam gerenciados pelo container, ainda assim é necessário uma Java Virtual Machine. É como se estívessemos escrevendo componentes de mais alto nível.

1.4

Java Community Process

Assim como Java Standard Edition a especificação de toda a plataforma Java EE é gerenciada pelo Java Community Process (JCP) e está disponível na URL www.jcp.org. O JCP é composto por um comitê executivo e membros da comunidade. O Comitê executivo é composto por experts de diversas empresas, como Sun, Intel, IBM, Apple, Borland, BEA Systems, SAP, Fujitsu, HP, Apache, e Google entre outas. Desta forma dizemos que as empresas colaboram na especificação e concorrem na implementação, ou seja, apesar de discutirem juntas a evolução da plataforma, muitas empresas são concorrentes no mercado de containers Java EE.

Anotações

6

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

AW2 – Desenvolvimento Web com J2EE: JSP 2.0, Servlets 2.4 e Design-patterns

1.5

A plataforma Java Enterprise Edition

Item

Descrição

Blueprints Design Guidelines

Padrões de codificação e modelagem desenvolvidos por técnicos altamente

for Java EE

capacitados, reunindo em documentos e exemplos de código, as melhores práticas de desenvolvimento de aplicação Java EE.

Compatibility Test Suite

Processo formal de teste de compatibilidade de Application Server Java EE, garantindo a padronização entre os servidores de diferentes fabricantes.

Reference Implementation

A plataforma inclui um servidor chamado de R.I. (Reference Implementation) implementado com 100% das funcionalidades especificadas. Pode ser utilizado para validar aplicações Java EE, sendo 100% gratuito e com código fonte disponível.

APIs

Enterprise JavaBeans, Java Servlets API, Java Server Pages, XML e Messaging.

Anotações

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

7

1 Introdução a Java Enterprise Edition

1.5.1

APIs

O conjunto de APIs Java EE é definido, em sua maioria, por interfaces que podem ser empregadas pelos desenvolvedores das aplicações corporativas. Tais APIs possuem vínculos com o núcleo (kernel) do servidor que executa tarefas voltadas para o gerenciamento de recursos e infra-estrutura.

Podemos dizer que, ao desenvolvermos aplicações Java EE através do uso de APIs disponibilizadas no Java Enterprise Edition (Reference Implementation), elas podem ser executadas nos servidores de aplicações que tenham implementado as especificações técnicas dos servidores JAVA EE.

Contamos com as seguintes APIs na plataforma Java EE:

API

Descrição

JDBC Extension

Extensão da API JDBC.

Enterprise JavaBeans (EJB)

Componentes gerenciados pelo EJB Container, que oferece serviços de transação, multi-threading, persistência automática, entre outros para os componentes.

Java Servlets

Componentes frequentemente utilizados para integração entre as páginas Web e a camada de negócio.

JavaServer Pages (JSP)

API utilizada principalmente para construção de páginas dinâmicas.

Java Message Service (JMS)

API para tratamento de mensagens assíncronas.

Java Transaction API (JTA)

API para controle manual de transações.

JavaMail

Utilizada para envio e recebimento de e-mails.

Java API for XML Processing ( JAXP)

Processamento de XML.

Java Naming and Directory Interface ( JNDI)

API que oferece acesso a Catálogo de Objetos.

Java Connector Architecture

API que padroniza os conectores para integração de aplicações.

Web Services ( JAX-RPC, JAXR e SAAJ )

APIs para construção e utilização de Web Services.

A partir de J2EE 1.4.

Anotações

8

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

AW2 – Desenvolvimento Web com J2EE: JSP 2.0, Servlets 2.4 e Design-patterns

1.5.2

Containers

Containers são servidores de objetos, também chamados de Servidores de aplicação que oferecem serviços e infra-estrutura para a execução de componentes. O conceito de container é independente da plataforma Java EE, utilizado em outras linguagens e plataformas.

Existem outros tipos de container utilizados em Java, considera-se a seguinte divisão de perfil de containers Java e Java EE:

Tipo

Descrição / Exemplo

Client-side

Responsável pelo ciclo de vida da aplicação, gerenciamento de eventos, bibliotecas, entre outros. Exemplos: Applet container - para painéis gráficos desenvolvidos com AWT/Swing controlados por browser; Application client container - aplicações standalone (AWT / Swing), podendo, opcionalmente, ser distribuídas por Java Web Start.

Server-side

Um container server-side, gerencia, além do ciclo de vida de componentes, recursos e meios de acesso. Configuramos no container os recursos que desejamos disponibilizar para que nossas aplicações os acessem através de APIs de serviços, como no caso de um pooling de Conexões a Banco de Dados. Exemplos: Web container - para objetos dirigidos por HTTP (Servlets e JSP); EJB container - para objetos de negócio server-side.

Além da definição das interfaces na API, Java Enterprise Edition também especifica como o container deve ser, quais recursos ele deve obrigatoriamente implementar, quais serviços ele deve oferecer. Permitindo assim que diversas empresas implementem seus próprios containers. Desta forma as aplicações desenvolvidas de acordo com a especificação podem ser instaladas em qualquer container.

Anotações

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

9

1 Introdução a Java Enterprise Edition

Apresentamos a seguir uma pequena amostra de empresas e organizações que desenvolvem containers Java EE: Sun IBM Oracle BEA Systems JBoss Group Apache Macromedia Borland

A lista completa de empresas licenciadas em Java EE e o teste de compatibilidade associado pode ser encontrada em http://java.sun.com/j2ee/licensees.html.

Como já vimos, a plataforma Java EE está fortemente baseada em Containers, como o foco do nosso curso é o desenvolvimento de aplicações Java para Web, nosso alvo são os Web Containers.

Alguns dos serviços oferecidos pelos Web Containers são: Gerenciamento dos recursos utilizados pelos componentes, como pool de conexões; Gerenciamento do ciclo de vida dos componentes (Servlets, JSPs e Custom Tags); Gerenciamento de sessões de usuários; Controle de acesso.

As duas principais APIs suportadas do container Web são: Java Servlets e JavaServer Pages.

A implementação de referência de container Web é o Tomcat. Observe que há alguns servidores que se denominam compatíveis com o JAVA EE, mas que não passaram pelo teste de Compatibilidade. Em caso de dúvidas, pode-se encontrar uma lista dos containers JAVA EE na seguinte URL: http://java.sun.com/j2ee/compatibility.html

Anotações

10

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

AW2 – Desenvolvimento Web com J2EE: JSP 2.0, Servlets 2.4 e Design-patterns

1.5.3

Diagrama de atividades do Container

Anotações

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

11

1 Introdução a Java Enterprise Edition

1.5.4

Deployment de aplicações

Normalmente, a estrutura de diretórios utilizada em desenvolvimento não é a mesma estrutura utilizada dentro do servidor. Além disto, nos diretórios de desenvolvimento temos os arquivos fonte, enquanto no servidor temos apenas os arquivos compilados (além dos outros arquivos necessários).

O trabalho de mover os arquivos estáticos da estrutura de desenvolvimento para o Container Web, assim como, o da compilação das classes Java, é conhecido como deployment e existem duas opções para a realização desta operação. Podemos gerar um empacotamento WAR para o nosso aplicativo, ou então, copiar diretamente os arquivos para dentro do container, seguindo uma estrutura de diretórios conforme será apresentada mais adiante (deployment aberto ou expandido).

Este trabalho pode ser feito: Manualmente: copiando os arquivos e organizando dentro do container na estrutura necessária; Através de ferramentas oferecidas pelo próprio container; Pelo ambiente de desenvolvimento (IDE); Por ferramentas específicas como Ant e Maven.

Anotações

12

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

CAPÍTULO

2

Análise de Arquiteturas Arquitetura Física e Arquitetura Lógica Arquitetura em duas camadas: cliente / servidor Arquitetura em três camadas:beseada na Web com cliente “magro” Arquitetura em três camadas: utilizando EJB Arquitetura em n-Camadas: baseada na Web, com EJB

2 Análise de arquiteturas

2 Análise de arquiteturas

Anotações

14

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

AW2 – Desenvolvimento Web com J2EE: JSP 2.0, Servlets 2.4 e Design-patterns

2.1

Arquitetura Física e Arquitetura Lógica

Os servidores podem estar todos fisicamente na mesma máquina, apesar de existir a divisão conceitual de responsabilidades e processamento, ou podem estar separados fisicamente, cada um em uma máquina separada.

Muitas vezes não é necessario inicialmente separar os servidores fisicamente, mas a divisão conceitual garante a escalabilidade e a flexibilidade da arquitetura, permitindo e facilitando a separação física dos servidores no momento em que seja necessário.

Servidor HTTP

Container Web

Container EJB

Cliente

Banco de Dados

Todos os servidores estão fisicamente na mesma máquina

Anotações

Copyright 2005 – Globalcode – The Developers Company, todos os direitos reservados.

15

Related Documents

Aw 2
November 2019 12
Aw
May 2020 22
Aw!~
November 2019 38
Aw
November 2019 31
Aw Bab 2.docx
June 2020 4
Say Ad Aw 2
May 2020 5