Unidade 1 – Introdução a J2EE Prof.: Henrique Santos

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos Baseados na Web
Advertisements

JBanana.
Sistemas Cliente/Servidor Introdução
ARQUITETURA EM CAMADAS
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
PLATAFORMA J2EE Luís Filipe Almeida Santos
Alcides Calsavara JSP JavaServer Pages Alcides Calsavara
Interação Cliente Servidor
Objetos Distribuídos Padrão CORBA
DAS Sistemas Distribuídos para Automação Industrial
WebWork e JSP Keven andrade
Sistema de Gestão de Manutenção
Tecnologias para Internet
EL e JSTL Prof. Danton Cavalcanti Franco Junior
Curso EFA de técnico de Informática e Sistemas
Introdução a Arquitetura Orientada a serviços
Seminários Avançados 3 Conceitos Java EE Servidor de aplicação Tomcat
Linguagem de Programação JAVA
Aplicativos Web Com Orientação a Objetos
Tecnologia de Informática
Enrique P. L. de Oliveira Tecnologia para Web Enrique P. L. de Oliveira
Introdução ao Desenvolvimento Web
Estratégias Cliente-Servidor para SIGWeb
Programação para estrutura Cliente-Servidor
Arquitetura Cliente/Servidor
Rodrigo Cristiano Silva
Integração com Banco de Dados
Programação Orientada a objetos II
A autoria - II.
Arquitetura Cliente /Servidor
Conceitos de J2EE para a WEB
Prof. Alexandre Monteiro Recife
Professor: Márcio Amador
JSP e Servlets ISEP – LP2 Filipe Costa – /2004.
SISTEMAS DISTRIBUIDOS Aula 4
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
Arquitetura das JSP - Aula 2
Implementação MVC Pedro Antonino.
Aplicações Web com Orientação a Objetos
Aplicativos Web Com Orientação a Objetos – Java Server Pages(JSP) Prof. Odair
Aula 1 - Fundamentos Web Servidor
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
PROGRAMAÇÃO WEB AULA 01 Prof. Gustavo Linhares
LINGUAGENS DE PROGRAMAÇÃO WEB
Padrões de Interação com o Usuário
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas.
Desenvolvimento de Aplicações para WEB Para inserir o logotipo da empresa neste slide No menu 'Inserir' Selecione 'Figura' Localize o arquivo com o logotipo.
Java – Remote Method Invocation (RMI)
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Programação para Internet
Serviços de rede e internet Jackson Eduardo da Silva.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Aula 1 - Fundamentos Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros.
Student Tech Clubs Desenvolvimento WEB Antonio Ladeia Graduando em Tecnologia em Análise e Desenvolvimento de Sistemas Instituto Federal da Bahia Introdução.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Aplicativos para Internet Prof. Wolley W. Silva
Universidade Federal de Sergipe Departamento de Sistemas de Informação Bruno Cruz Jessica Rodrigo Aragão – ASP.NET MVC 3.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
Desenvolvimento WEB II Professora: Kelly de Paula Cunha Apresentação baseada no material didático elaborado pelo Prof. Pasteur Ottoni de Miranda Junior.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Aplicativos para Web MVC Prof. Odair Indena Jr.
ALUNO: RONI FABIO BANASZEWSKI Model-View-Controller.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Persistência de dados e padrão DAO
Persistência de dados e padrão DAO Padrões de Projeto Orientado a Objetos Profa. Danielle Martin/Mauricio Universidade de Mogi das Cruzes.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Síntese do Negócio ONTOWEB. Ontoweb – Nova Geração de Ferramenta de Busca Possui comportamento inteligente que auxilia o usuário a organizar e compartilhar.
Transcrição da apresentação:

Unidade 1 – Introdução a J2EE Prof.: Henrique Santos Programação para Web Unidade 1 – Introdução a J2EE Prof.: Henrique Santos

Introdução

O que é uma Aplicação Web? Uma aplicação Web é um sistema que é acessado por um Navegador Web. Uma das palavras-chave desta definição é SISTEMA Deve haver um software (aplicação ou sistema) sendo acessado Páginas HTML/CSS simples não podem ser consideradas aplicações Web (é necessário haver alguma programação para isso).

Por que Programar na Web? Ambiente multiplataforma Qualquer hardware executando a pilha de protocolos TCP/IP pode acessar uma aplicação Web. Não existe atualização para os usuários O código fica no servidor, e é executado toda vez que o usuário acessar a aplicação Web. Portanto não é necessário atualizar programas no usuário, somente o código do servidor.

Por que Programar na Web? Centralização do Código Embora vários clientes possam acessar uma aplicação Web, seu código fica centralizado no servidor de aplicação. Isso facilita seu controle e manutenção. Facilidade de acesso Qualquer pessoa tendo uma conexão com a Internet pode acessar uma aplicação Web. Facilidade de utilização pelo usuário Atualmente qualquer usuário comum sabe utilizar um navegador.

Modelo Cliente/Servidor Amplamente usado e constitui a base da grande utilização de redes de computadores. Basicamente os dados são armazenados em poderosos computadores chamados servidores. Os clientes são máquinas mais simples que acessam os dados remotos do servidor.

Características de Clientes Ativo. Inicia e termina as conversações com os Servidores, solicitando serviços distribuídos. Geralmente, não se comunica com outros Clientes. Normalmente responsável pela entrada e saída de dados e comunicação com o usuário. Torna a comunicação em rede bastante simples ao usuário. O hardware é normalmente um PC. O software geralmente tem início e fim definido.

Características de Servidores Reativo. Execução contínua. Recebe e responde a solicitações dos Clientes. Normalmente, não se comunica com outros Servidores. Presta serviços distribuídos. Atende a diversos Clientes simultaneamente. O hardware exige máquinas mais robustas, com grande capacidade de processamento. O software é composto por processo(s) sempre em execução, aguardando ser chamado por Clientes.

Tipos de Cliente Existem praticamente duas abordagens para programação Cliente/Servidor Cliente Light-Loaded – Comum de aplicações Web, o cliente é um software bem leve que normalmente apenas recebe e exibe informações para usuários. Cliente Pesado – Comum para jogos online, o cliente é um software bem pesado com muita lógica e processamento (normalmente gráfico).

PC executando um Navegador Servidor executando um Web Server Cliente Web Ao acessar um Web Site o seu navegador é na verdade um Cliente Web. Resposta do Servidor (contém o documento requisitado). Requisição do Cliente (contém o nome e endereço de um item procurado pelo cliente). PC executando um Navegador Servidor executando um Web Server

Opções de Clientes Web

Cliente de Aplicações Web Por se tratar de um Cliente Web, todas requisições e respostas usam os protocolos HTTP e FTP, que são protocolos padrões da Internet. Não importa a Linguagem de Programação escolhida, no final o programa irá converter a saída para HTML e enviá-la ao cliente. E todo navegador sabe exibir HTML, provendo uma interface universal.

Tecnologias de Desenvolvimento Web J2EE Plataforma Java para desenvolvimento Web .NET Plataforma Microsoft para desenvolvimento Web PHP Linguagem de script de propósito geral para servidores

Modelo MVC

Modelo Arquitetural MVC Modelo-Visão-Controlador (Model-View-Controller) Trata-se de um modelo de Desenvolvimento de Software Amplamente utilizado Consiste em separar o desenvolvimento em camadas. Cada camada é responsável por uma tarefa, separando: a lógica, a interface, e os dados.

Modelo Arquitetural MVC Visão (Interface) Usuários Controlador (Lógica) Banco de Dados Modelo (Dados)

Modelo Arquitetural MVC Modelo (Dados) Classes responsáveis por manipular os dados da aplicação. São as únicas classes que podem realizar consultas SQL. Controlador (Lógica) Classes responsáveis pela lógica do negócio, ou lógica das funcionalidades do sistema. Visão (Interface) Classes responsáveis pela apresentação da aplicação, ou seja, a interface com o usuário.

J2EE

O que é J2EE Significa Java 2 Enterprise Edition Plataforma Java para desenvolvimento de aplicações corporativas Web Estende a linguagem Java através de padrões simples e unificados para aplicações distribuídas através de um modelo baseado em componentes. Basicamente mesma linguagem Java Padrão mas com alguns novos componentes.

Por que usar J2EE? Por ser uma extensão do Java, possui todas suas características. Pode-se usar praticamente qualquer recurso disponível na versão padrão do Java. É mais fácil aprender programar J2EE para quem já sabe programar Java. A própria linguagem induz uma programação por camadas usando o modelo MVC. Possui uma boa performance para aplicações Web.

Vantagens da Ling. Java Linguagem Orientada a Objetos Melhora a leitura, entendimento e promove o reuso do código. Linguagem Portável Qualquer hardware com a JVM instalada pode executar aplicações Java Linguagem com desalocação automática de memória Isto aumenta a produtividade e qualidade do código, e diminui os bugs e testes necessários para seu funcionamento.

Linguagem Portável

Desvantagens da Ling. Java Linguagem Orientada a Objetos Custo para implementação do polimorfismo, semântica por referência, e tratamento de exceções. Linguagem Portável Perda de performance para interpretação. Linguagem com desalocação automática de memória Aumenta o consumo de memória, e diminui a performance do programa.

Características de Java Devido as suas vantagens, a linguagem Java é considerada como muito bem elaborada. Devido as suas desvantagens, a performance de Java perde em relação linguagens como C e C++. Entretanto, considerando ambas vantagens e desvantagens, a linguagem Java é ótima para um servidor Web.

Servidor Web Java Orientação a Objetos e Desalação Automática de Memória Devido a complexidade dos projetos Web, estas características favorecem uma alta produtividade de implementação. Custo de Interpretação Praticamente todas linguagens e padrões Web são interpretadas (Php, Asp, Html, ...), então não existe perda de performance pela interpretação do Java Outras características de Java Como facilidade de Multithreading e Exceções.

Aplicação Web ? ? Cliente Servidor Visão Lógica Contr. Modelo SGBD Interface ? ? Lógica Contr. Modelo SGBD

Javascript (jQuery) Vbscript Cliente Web Navegador HTML CSS XML Visão Javascript (jQuery) Vbscript Contr.

Aplicação Web Cliente Servidor Serv. BD. Visão JVM Servlets Contr. Navegador HTTP HTTP HTTP HTTP JVM Servlets Contr. SGBD Modelo

Servlets Em J2EE Servlets são classes que respondem a requisições HTTP. Servlets são subclasses da classe HttpServlet. Por serem classes java, e possuírem código, é possível gerar conteúdo dinâmica usando Servlets

Exemplo de Servlet

Visão no Servidor Da mesma forma que existe lógica no cliente, existe apresentação no servidor. Como separar a apresentação da lógica? Facilitar edição para mudança de layout Facilitar manutenção da interface Resposta: Java Server Pages (JSP)

Exemplo de JSP

? Java no Servidor JVM Servidor JSP Visão JSP Servlet Contr. Modelo SGBD

Modelo no Servidor No servidor existem dois tipos de componentes do Modelo DAOs (Database Access Object) Java Beans (Classes de Entidade) Os DAOs são as únicas classes que podem acessar diretamente o SGBD Os JavaBeans encapsulam os dados vindos do SGBD em classes de entidade

Exemplo JavaBean

Exemplo DAO

Aplicação Web Cliente Servidor Serv. BD. Visão JSP Servlets Contr. JB JVM Visão JSP HTTP Navegador Servlets Contr. SGBD JB DAO Modelo

Módulos e Distribuição Arquivos Java Arquivos java de uma mesma aplicação são normalmente agrupados e distribuídos em um arquivo JAR (Java ARchive) Arquivos J2EE No J2EE este arquivo é chamado WAR (Web Application Archive)

Performance Performance de Java para Web é equivalente a CGI C++ (programa C++ Web executado no servidor) Benchmarks de Java vs .NET são controversos. Deixando favoritismos de lado, ambos possuem uma performance equivalente. Perde apenas para PHP e CGI C.