UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS Java – J2EE Java pra Web.
Transcript of 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
Agenda
IntroduçãoPlataformas para webJava 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