23
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

Embed Size (px)

Citation preview

Page 1: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

UNIPAC – ARAGUARICAMPUS – IX

PROF. EVERTON HIPÓLITO DE FREITAS

Java – J2EEJava pra Web

Page 2: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

Agenda

IntroduçãoPlataformas para webJava Web – J2EE

Page 3: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 4: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 5: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 6: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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

Page 7: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 8: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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

Page 9: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 10: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

JEE

A comunicação entre o cliente (browse) e o servidor .

Page 11: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 12: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 13: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 14: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

Modelo de acesso

Cliente (Browse)

Servidor Web

Container Web

Especificações Java

Páginas HTML estáticas

Page 15: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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

Page 16: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 17: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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

Page 18: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 19: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 20: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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

Page 21: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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.

Page 22: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

JEE

Mas, o que significam todos estes termos: servlets, JSP, bean, etc...?

Próximo assunto Parte II - Servlets

Page 23: UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web

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