desenvolvimento de aplicações web nas plataformas j2ee e ide eclipse leic – engenharia de...
TRANSCRIPT
Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse
LEIC – Engenharia de Software
LEIC - Engenharia de Software 2
Estrutura da Apresentação
1. Java To Enterprise Edition (overview)
2. Aplicações Web - Páginas Web
3. Aplicações Web - Web Services
4. IDE Eclipse
5. Eclipse Web Tools Platform Project
2. Java To Enterprise Edition (overview) 3
Plataforma paraSoluções Empresariais
Baseada em componentes modulares standard
Proporciona um conjunto completo de serviços
Gere automaticamente detalhes relativos ao comportamento das aplicações
2. Java To Enterprise Edition (overview) 4
Serviços Empresariais J2EE
2. Java To Enterprise Edition (overview) 5
Tecnologias Implementadas
Conceito “Write Once, Run Anywhere” Java Database Connectivity (JDBC) Servlets e JavaServer Pages (JSPs) Common Object Request Broker Architecture
(CORBA) Extensible Markup Language (XML) Enterprise JavaBeans (EJBs)
2. Java To Enterprise Edition (overview) 6
Modelo para Aplicações Empresariais
2. Java To Enterprise Edition (overview) 7
Modelo de Aplicação J2EE
Permite um desenvolvimento mais rápido com melhor qualidade e manutenção com portabilidade para um grande número de plataformas
empresariais
Aumenta a produtividade das equipas de desenvolvimento
Permite uma gestão melhorada dos recursos disponíveis
Resulta num melhor aproveitamento dos investimentos tecnológicos efectuados pelas organizações empresariais
3. Desenvolvimento de Aplicações Web - Páginas Web
8
Servlets
Servlets permitem que a lógica de aplicação seja embutida no processo request-response:
Um servlet é um programa Java que corre do lado do servidor e que estende a funcionalidade do servidor Web.
3. Desenvolvimento de Aplicações Web - Páginas Web
9
Funcionamento dos Servlets
Quando um servidor Web entende que uma URL deve ser atendida por um Web Container, passa o controlo para o container (um conjunto de classes em Java, geradas automaticamente)
Este container decide qual é a Web Application que deve executar;
Quando é um servlet, o container controla a execução do servlet; Através da API de servlets, o servlet pode aceder à informação do Request e fornecer uma Response.
3. Desenvolvimento de Aplicações Web - Páginas Web
10
Java Server Pages (JSP’s)
A geração de informação dinâmica pode ser feita de duas formas:
Programando-a (servlets);
Através de templates (Java Server Pages ou JSP).
3. Desenvolvimento de Aplicações Web - Páginas Web
11
Funcionamento dos JSP’s
JSP é uma extensão da tecnologia de servlets:
Uma página JSP contém código HTML (ou XML);
Tags ou "scripts" especiais são introduzidos no HTML para execução;
A página JSP é traduzida para um servlet, automaticamente, pelo servidor J2EE;
O servlet é compilado (apenas uma vez);
A partir daí, o servlet é executado para gerar o conteúdo dinâmico;
É de notar que depois de a página JSP ser transformada em servlet, a situação é idêntica à execução de um servlet.
3. Desenvolvimento de Aplicações Web - Páginas Web
12
Funcionamento dos JSP’s
Diagrama de Funcionamento
3. Desenvolvimento de Aplicações Web - Páginas Web
13
Enterprise JavaBeans (EJB)
A especificação EJB define: As interfaces entre o servidor EJB e os
componentes nele contidos; Os serviços que o container oferece para esses
componentes.
O objectivo maior é deixar o programador concentrar-se no “Business Logic”. Isso é feito de duas grandes formas: Programação Declarativa; Serviços Automáticos.
3. Desenvolvimento de Aplicações Web - Páginas Web
14
Modelo de Aplicação J2EE
Programação Declarativa Cada Bean tem um
“Deployment Descriptor” que permite configurá-lo visualmente durante a implementação;
Sem ter código fonte e sem programar. Aumenta a produtividade das equipas de desenvolvimento;
Serviços Automáticos Implementados por um
Container.
3. Desenvolvimento de Aplicações Web - Web Services
15
Desenvolvimento de Web Services em J2EE
Serviços oferecidos através da Internet utilizando aplicações modulares
Facilitam a comunicação entre aplicações de empresas diferentes baseadas no XML
Estas aplicações utilizam: Web Services Description Language (WSDL) Universal Description, Discovery and Integration(UDDI) Simple Object Access Protocol (SOAP)
3. Desenvolvimento de Aplicações Web - Web Services
16
Tecnologias Java usada para Web Services
A linguagem Java é ideal para construir Web Services
Foram criadas APIs com a finalidade de ligar o Java ao XML
Estas APIs e algumas ferramentas encontram-se no Java Web Services Developer Pack (Java WSDP)
3. Desenvolvimento de Aplicações Web - Web Services
17
Java APIs
Java API for XML Registries (JAXR) Aceder a registos standard tais como os baseados no
UDDI e no ebXML Publicar usando o registo UDDI ou o registo ebXML, ou
procurar por um registo de um Web Service
Java API for XML-based RPC (JAX RPC) Aceder a Web Services através de uma chamada a um
procedimento remoto (RPC) baseado no SOAP Chamar métodos do Web Service num ambiente
distriuído
3. Desenvolvimento de Aplicações Web - Web Services
18
Java APIs
Java API for XML Messaging (JAXM)Construir e enviar mensagens orientadas por
documentos baseados no SOAP (mais propriamente no SOAP for Messaging)
Java API for XML Processing (JAXP)Processar documentos XML (usado para
retornar este tipo de documentos como resposta de um Web Service)
3. Desenvolvimento de Aplicações Web - Web Services
19
Sun Microsystems: Sun ONE Developer Platform: ambiente sofisticado
de desenvolvimento baseado em Java e no J2EE que inclui o Java WSDP
Outras: Apache Jakarta-Tomcat Apache-Soap Jakarta-AXIS (3ª geração de SOAP da Apache) Ant
Tecnologias Java usada para Web Services
4. IDE Eclipse 20
IDE Eclipse
Projecto Open Source
Dividido em : Plataforma Eclipse JDT (Java Development Tools) PDE (Plugin Development Environment)
4. IDE Eclipse 21
IDE Eclipse
IDE que “serve para tudo e para nada em particular”
Serve fundamentalmente para desenvolver IDEs, facilmente, para quaisquer linguagens de programação, editores de texto, etc
4. IDE Eclipse 22
IDE eclipse
É permitido adicionar novas funções(ferramentas) ao IDE através de plugins que são programados em Java
Os plugins são desenvolvidos de forma modular de modo a permitir a determinados plugins utilizarem as funções de outros
4. IDE Eclipse 23
Interface Gráfica
A interface gráfica do Eclipse é programada utilizando o JFace e o SWT, logo o UI (interface com o utilizador) é igual em qualquer sistema operativo.
4. IDE Eclipse 24
JDT (Java Development Tools)
Conjunto de Plugins que adicionam ao IDE a capacidade de desenvolver aplicações Java
Permite colorir a sintaxe do programa, gravar informações do debugger e do compilador, ter a hierarquia de ficheiros organizada em árvore entre outras opções
4. IDE Eclipse 25
JDT (Java Development Tools)
Dividido em 2 grupos: Plugins de UI (interface com o utilizador) Plugins não-UI (plugins não relacionados
com a interface com o utilizador) Esta divisão permite a utilização do
Eclipse em sistemas que não sejam baseados em interfaces gráficas com o utilizador.
5. Eclipse Web Tools Platform Project 26
Eclipse Web Tools Platform Project
Recursos humanos envolvidos no projecto (pcm)
Constituição do projecto (sub-projectos e componentes)
Infra-estrutura
Desenvolvimento
5. Eclipse Web Tools Platform Project 27
Eclipse Web Tools Platform Project
Plataforma baseada na plataforma mãe da eclipse
Fornece ferramentas no campo da Web (baseadas em Java)
Tool suites
5. Eclipse Web Tools Platform Project 28
Quadros do projecto:
Pcm (comissão gestora do projecto)
Utilizadores Passivos
Utilizadores activos (construtores/programadores)
Coordenadores
5. Eclipse Web Tools Platform Project 29
Projecto
Sub-projecto 1 Sub-projecto2 … Sub-projecto N
Componente 1 Componente 2 … Componente N
“Port” 1 “Port” 2 “Port N”…
5. Eclipse Web Tools Platform Project 30
Infra-estrutura:
bug database source repository (depósito de código) Website Forum genérico (general mailing lists) Forum de sub-projecto (subproject
mailing lists) Forum de componente (component
mailing lists)
5. Eclipse Web Tools Platform Project 31
Desenvolvimento:
Controlado pela pcm
Etapas e prazos
Reuniões e gestão de conflitos
LEIC - Engenharia de Software 32
Conclusões do trabalho efectuado:
A plataforma J2EE revela-se ideal para desenvolver aplicações empresariais;
A plataforma Eclipse é um IDE concebido para desenvolver variadas aplicações, desde páginas web até aplicações Java, em C ou C++;
A plataforma Web Tools Platform Project, uma das várias plataformas da Eclipse, destaca-se pela disponibilização de inúmeras ferramentas vocacionadas para o fácil desenvolvimento de “tool suites” e “web tools”.