Web Services

Propaganda
Desenvolvimento de Aplicações Web
nas plataformas J2EE e IDE Eclipse
LEIC – Engenharia de Software
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
LEIC - Engenharia de Software
2
Plataforma para
Soluçõ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)
3
Serviços Empresariais J2EE
2. Java To Enterprise Edition (overview)
4
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)
5
Modelo para Aplicações
Empresariais
2. Java To Enterprise Edition (overview)
6
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
2. Java To Enterprise Edition (overview)
7
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
8
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
9
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
10
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
11
Funcionamento dos JSP’s
 Diagrama
de Funcionamento
3. Desenvolvimento de Aplicações Web
- Páginas Web
12
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
13
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
- Páginas Web
14
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
15
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
16
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
17
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
18
Tecnologias Java usada para
Web Services

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
3. Desenvolvimento de Aplicações Web
- Web Services
19
IDE Eclipse

Projecto Open Source

Dividido em :
Plataforma Eclipse
 JDT (Java Development Tools)
 PDE (Plugin Development Environment)

4. IDE Eclipse
20
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
21
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
22
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
23
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
24
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.
4. IDE Eclipse
25
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
26
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
27
Quadros do projecto:

Pcm (comissão gestora do projecto)

Utilizadores Passivos

Utilizadores activos
(construtores/programadores)

Coordenadores
5. Eclipse Web Tools Platform Project
28
Projecto
Sub-projecto 1
Sub-projecto2
…
Componente 1
Componente 2
…
“Port” 1
“Port” 2
…
5. Eclipse Web Tools Platform Project
Sub-projecto N
Componente N
“Port N”
29
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
30
Desenvolvimento:

Controlado pela pcm

Etapas e prazos

Reuniões e gestão de conflitos
5. Eclipse Web Tools Platform Project
31
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”.
LEIC - Engenharia de Software
32
Download