aplicações para Web

Propaganda
Java – J2EE
Java pra Web
UNIPAC – ARAGUARI
CAMPUS – IX
PROF. EVERTON HIPÓLITO DE FREITAS
Agenda
 Introdução
 Plataformas para web
 Java Web – J2EE
Introdução
 Atualmente, com a globalização e a “evolução das
máquinas”, surgiram diversos meios de comunicação
que permitiram a expansão de diversos ramos
empresarias.
 A internet foi o meio de comunicação que mais
propiciou este crescimento, tornando as empresas
mais competitivas e dispondo-nos de serviços que se
encontravam cada vez mais distantes.
Plataforma web
 Através da internet diversas empresas definiram sua
“capa de rosto”, seu primeiro contato. Aplicações
desenvolvidas para esta plataforma (plataforma web)
são bastantes conhecidas por serem flexíveis,
isto é, não ficarem presas a um determinado
sistema operacional e muito menos a um
software específico.
Plataforma web
 O desenvolvimento de aplicações para Web é um
pouco diferente do desenvolvimento de
aplicações locais (Desktops), desde a parte de
visualização, quanto segurança.
 Diversas linguagens permitem o desenvolvimento
para Web, são elas: Java, PHP, Dot Net (.net), asp,
etc...
 O foco desta disciplina será dado na Linguagem
Java utilizando a Plataforma J2ee.
Plataforma de desenvolvimento é o nome dado a um conjunto de componentes (bibliotecas e APIs) que
regem toda uma arquitetura de desenvolvimento.
JEE
 O que devemos saber antes?
 Java é uma linguagem de programação.

A linguagem java é utilizada na implementação das 3 plataformas
existentes:
 JSE – Java Standart Edition
• Ferramentas e APIs essenciais para qualquer aplicação Java
(inclusive GUI) desktop

JEE – Java Enterprise Edition (Web)
• ferramentas e APIs para o desenvolvimento de aplicações
distribuídas

JME – Java Micro Enterprise
• ferramentas e APIs para o desenvolvimento de aplicações para
aparelhos portáteis
JEE
 A plataforma Java JEE surgiu com o objetivo de padronizar
e simplificar a criação de aplicações empresariais.
 Para isso, propõe um modelo onde componentes J2EE
(páginas JSP, Servlets, EJB's, etc) escritos pelos usuários da
plataforma, podem fazer uso de serviços providos por esta,
os quais simplificam sua implementação e possibilitam
maior foco no negócio.

Tais serviços podem ser envio de email, transações complexas com
banco de dados, etc...
O usuário passa a preocupar com as regras do negócio, não se preocupando com a parte
técnica referente a arquitetura e processamento.
Concluindo o conceito de J2EE
 O JEE (Java Enterprise Edition ou Java EE) não
passa de uma série de especificações bem detalhadas,
dando uma receita de como deve ser implementado
um software que faz um determinado serviço.
Para encontrar informações sobre diversas especificações java,
acesse: www.jcp.org
 Java Community Process
 Informações sobre J2EE: www.sun.com/javaee

Como ocorre o acesso aos sistemas web?
 As aplicações desenvolvidas para internet são
acessadas via os navegadores web, o que quer
dizer que elas utilizam o protocolo HTTP para
comunicação e o tráfego de dados na rede.
 Este protocolo é baseado no modelo de solicitação e
resposta.

O cliente é quem sempre faz uma solicitação a um servidor,
que, por sua vez, processa e gera uma resposta de volta ao
cliente.
Neste ponto a conexão entre cliente e servidor é fechada, ou seja, não existe uma sessão permanente entre esses dois
pontos de comunicação. O cliente abre uma conexão com o servidor, envia a requisição, recebe a resposta e fecha a
conexão.
JEE
 A comunicação entre o cliente (browse) e o servidor .
JEE
 Aplicações distribuídas são compostas de uma camada
cliente, que implementa a interface com o usuário, uma
ou mais camadas intermediárias que processam a
lógica do negócio e provêem serviços à camada cliente, tais
como:

sistemas legados e bancos de dados.

A infra-estrutura oferecida pela JEE possibilita que estas camadas,
possivelmente localizadas em máquinas diferentes, possam se comunicar
remotamente e juntas comporem uma aplicação.
JEE
 Quando criamos um componente numa aplicação
J2EE, o mesmo deve ser instalado no container
apropriado.

Uma parte de código criado em java, que pode ser
aproveitado por outra aplicação, dar-se o nome de
componente.
 Um container é um ambiente de execução
padronizado que provê serviços específicos
a um componente.

Assim, um componente pode esperar que em qualquer
plataforma J2EE implementada por qualquer fornecedor
estes serviços estejam disponíveis.
Aplicações Container
 O container Web, além de gerar conteúdo dinâmico
oferece os seguintes serviços:

Gerenciamento dos recursos utilizados pelos componentes.




Exemplo: Conexões com o banco de dados.
Gerenciamento do ciclo de vida dos componentes.
Gerenciamento de sessões de usuários.
Gerenciamento de segurança da aplicação.
Modelo de acesso
Cliente (Browse)
Servidor Web
Container Web
Especificações
Java
Páginas HTML
estáticas
Aplicações cliente-servidor
 O desenvolvimento de aplicações web na plataforma
J2EE faz-se necessários o conhecimento de alguns
conceitos:




Aplicações cliente-servidor
Aplicações para Web
Linguagem java
HTML, JSP e servlet
Aplicações cliente-servidor
 Aplicações cliente-servidor
 São programas que seguem o modelo cliente-servidor. Neste modelo um
programa serve (envia) dados ao programa cliente quando solicitado.
 Aplicações para Web
 São aplicações criadas com conteúdos dinâmicos a partir de informações
vindas do banco de dados, etc...
 Linguagem java
 Linguagem utilizada na implementação de aplicações na plataforma
J2EE.
 HTML, JSP e Servlet
 Linguagem de hipertexto.
 JSP é a linguagem utilizada para apresentar conteúdo dinâmico
 Servlet é o script utilizado para maniupar banco de dados e processar a
regra de negócios.
Arquitetura em camadas
 O desenvolvimento de software utilizando a
arquitetura de cliente-servidor normalmente é feita
utilizando se o conceito de:

Duas camadas


Neste tipo de arquitetura a parte de acesso a banco de dados e
regra de negócios se misturam, tornando a codificação confusa
para manutenção.
Três camadas
JEE
 Uma aplicação Web pode ser dividido utilizando a
arquitetura em 3 camadas:



Apresentação e visualização.
Controle (definição e o processamento das regras de negócios).
Persistência de dados.
JEE
 Apresentação e visualização.
 É responsável por interagir e apresentar os dados aos usuários
e por se comunicar com outras camadas da aplicação.
 Em geral é a única parte da aplicação com a qual o usuário tem
contato. A camada cliente comunica-se com outras camadas
através de interfaces bem definidas.
JEE
 Controle (definição e o processamento das regras
de negócios).
é quem recebe e processa as requisições dos usuários
através de um web container.
 É responsável por realizar todo processamento web,
como hospedar páginas HTML, executar servlets e
formatar páginas JSP a serem apresentadas pelos
navegadores.


Em nosso caso, é responsável também pelo controle do fluxo da aplicação
e por processar toda a lógica do negócio, incluindo o gerenciamento de
conexões com banco de dados e conectores para acesso a recursos legados
JEE
 Persistência de dados.
 Camada de banco de dados e sistemas de informação legados:
tipicamente nesta camada estão incluídos sistemas
gerenciadores de banco de dados, sistemas de planejamento de
recursos (ou Enterprise Resource Planning (ERP)) e quaisquer
sistemas legados.
JEE
 Mas, o que significam todos estes termos: servlets,
JSP, bean, etc...?
 Próximo assunto

Parte II - Servlets
Arquivos utilizados
 Caelum Java Web .pdf
 Capítulo 3
 Principais padrões J2EE para a construção de
aplicações não distribuídas.pdf

Introdução
 Curso Java Web.pdf
 Slide 1 a 7
 Aplicações cliente-servidor via web usando java.pdf
 Capítulo 1, 2 e 3
Download