32
Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

Embed Size (px)

Citation preview

Page 1: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse

LEIC – Engenharia de Software

Page 2: 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

Page 3: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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

Page 4: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

2. Java To Enterprise Edition (overview) 4

Serviços Empresariais J2EE

Page 5: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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)

Page 6: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

2. Java To Enterprise Edition (overview) 6

Modelo para Aplicações Empresariais

Page 7: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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

Page 8: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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.

Page 9: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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.

Page 10: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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).

Page 11: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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.

Page 12: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

3. Desenvolvimento de Aplicações Web - Páginas Web

12

Funcionamento dos JSP’s

Diagrama de Funcionamento

Page 13: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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.

Page 14: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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.

Page 15: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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)

Page 16: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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)

Page 17: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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

Page 18: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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)

Page 19: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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

Page 20: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

4. IDE Eclipse 20

IDE Eclipse

Projecto Open Source

Dividido em : Plataforma Eclipse JDT (Java Development Tools) PDE (Plugin Development Environment)

Page 21: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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

Page 22: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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

Page 23: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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.

Page 24: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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

Page 25: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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.

Page 26: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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

Page 27: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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

Page 28: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

5. Eclipse Web Tools Platform Project 28

Quadros do projecto:

Pcm (comissão gestora do projecto)

Utilizadores Passivos

Utilizadores activos (construtores/programadores)

Coordenadores

Page 29: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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”…

Page 30: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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)

Page 31: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

5. Eclipse Web Tools Platform Project 31

Desenvolvimento:

Controlado pela pcm

Etapas e prazos

Reuniões e gestão de conflitos

Page 32: Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse LEIC – Engenharia de Software

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”.