23
Web Services Da Introdução à Prática Americo do Nascimento Penna

Web Services Da Introdução à Prática Americo do Nascimento Penna

Embed Size (px)

Citation preview

Page 1: Web Services Da Introdução à Prática Americo do Nascimento Penna

Web ServicesDa Introdução à Prática

Americo do Nascimento Penna

Page 2: Web Services Da Introdução à Prática Americo do Nascimento Penna

Introdução Devido aos avanços tecnológicos, a

popularização da Internet e a evolução das redes de computadores, resultando no surgimento de aplicações distribuídas.

Cada vez mais aumenta a necessidade de

Compartilhamento de informações,

Interoperabilidade de sistemas Independência de plataforma Independência de linguagem

O papel dos Middlewares: Independência e portabilidade (CORBA, DCOM, RMC, RMI).

Page 3: Web Services Da Introdução à Prática Americo do Nascimento Penna

Introdução

Modelo de Aplicação RMC

Programa 1 Programa 2

XML XMLHTTP

Dado 1

Dado 2

Dado 3

Dado A

Dado B

Dado C

Page 4: Web Services Da Introdução à Prática Americo do Nascimento Penna

Introdução

Web Service é a tecnologia ideal para comunicação entre sistemas.

A comunicação entre os serviços é padronizada, possibilitando a independência de plataforma e de linguagem de programação.

Page 5: Web Services Da Introdução à Prática Americo do Nascimento Penna

Definição Segundo Menéndez, há uma definição bastante

simples para um Web Services: É uma aplicação que aceita solicitações de outros sistemas através da Internet.

Segundo James Snell, Web Services são interfaces acessíveis de rede, para as funcionalidades da aplicação, que utilizam em sua construção tecnologias padrões da Internet.

Web Services são serviços que visam facilitar o processamento distribuído em sistemas heterogêneos.

Estes serviços são baseados em um conjunto de padrões da Internet definidos pelo W3C

Page 6: Web Services Da Introdução à Prática Americo do Nascimento Penna

Definição

São sistemas distribuídosFuncionam na InternetVários envolvem achar (navegar) o que

se quer antes de usar

Muitos envolvem organizações diferentes◦ Não temos controle sobre a plataforma,

linguagem, etc. do outro lado◦ O outro lado é essencialmente um sistema

legado no qual não podemos mexer

Page 7: Web Services Da Introdução à Prática Americo do Nascimento Penna

Definição

Page 8: Web Services Da Introdução à Prática Americo do Nascimento Penna

ArquiteturasMainFrames

[ Dados + Lógica + Interface ]

Mainframe

TerminalTerminal

Terminal

Terminal

Page 9: Web Services Da Introdução à Prática Americo do Nascimento Penna

Arquiteturas

Arquitetura Cliente-Servidor

Servidor c/ SGBD

[ Lógica + Interface ]

[ Dados ]PC

Cliente

PC

Cliente

PC

Cliente

PC

Cliente

Page 10: Web Services Da Introdução à Prática Americo do Nascimento Penna

Arquiteturas

Arquitetura em n-camadas

Browser Web

Browser Web

Internet

Servidor WebServidor de

Aplicação

SGBD

[ Interface ] [ Dados ][ Lógica ]

Page 11: Web Services Da Introdução à Prática Americo do Nascimento Penna

Arquitetura SOA• SOA – Service Oriented Architecture

– Um serviço é uma função bem definida, auto-contida e que não depende do estado ou contexto de outros serviços;

• Os Web Services podem ser utilizados para implementar arquiteturas orientadas a serviços, as Service-Oriented Architectures (SOA).

• Neste modelo de arquitetura os principais requisitos viram serviços e são acessados por outros serviços, modularizando e aumentando a coesão dos componentes da aplicação

Page 12: Web Services Da Introdução à Prática Americo do Nascimento Penna

XMLOferece um formato ASCII

para trocar qualquer tipo de informação estruturada

Usa o “estilo” HTML de markup com tags◦ <pessoa nome=”João”> <frutasFavoritas> <fruta>Manga</fruta> <fruta>Maçã</fruta> <fruta>Uva</fruta> </frutasFavoritas></pessoa>

Os tags podem ser definidos para criar uma “Aplicação XML”.

Page 13: Web Services Da Introdução à Prática Americo do Nascimento Penna

SOAPSOAP é uma forma de fazer

Remote Procedure Call (RPC) usando documentos XML

Page 14: Web Services Da Introdução à Prática Americo do Nascimento Penna

SOAPO binding sobre HTTP, SMTP, etc.

permite driblar firewalls com mais facilidade

Qualquer outro protocolo de transporte pode ser usado

Page 15: Web Services Da Introdução à Prática Americo do Nascimento Penna

SOAP

Page 16: Web Services Da Introdução à Prática Americo do Nascimento Penna

WSDLWSDL é a sigla de (Web Service

Description Language), padrão baseado em XML para descrever o serviço, onde ele traz os métodos do Web Service.

Page 17: Web Services Da Introdução à Prática Americo do Nascimento Penna

WSDLDescrição/formato de mensagens que

podem ser passadas◦ Elementos <types>, <message>

Semântica da passagem de mensagens (Request-only, request-response, response-only) ◦ Dentro do elemento <portType>

Uma codificação usando um transporte particular◦ Elemento <binding>

O endpoint do serviço (uma URL)◦ Dentro do elemento <service>

Veremos um exemplo logo

Page 18: Web Services Da Introdução à Prática Americo do Nascimento Penna

WSDL<!– Exemplo de um WSDL XML -->

<!– Serviço disponibilizado pela classe Somador--><wsdl:definitions targetNamespace=“Somador">

<wsdl:documentation>Comentários sobre o serviço

</wsdl:documentation>

...<!– Descritor da chamada do método Soma --><wsdl:message name="somaRequest">

<!– Parâmetros do método--> <wsdl:part name="valor1" type="xsd:int"/> <wsdl:part name="valor2" type="xsd:int"/></wsdl:message><!– Descritor do retorno do método Soma--><wsdl:message name="somaResponse">

<!– Retorno do método--><wsdl:part name="somaReturn" type="xsd:int"/>

</wsdl:message>

Page 19: Web Services Da Introdução à Prática Americo do Nascimento Penna

UDDI

Universal Description, Discovery and Integration (UDDI) disponibiliza um registro (baseado em XML’s).

A partir deste registro, os sistemas podem divulgar seus serviços.

Page 20: Web Services Da Introdução à Prática Americo do Nascimento Penna

UDDIA especificação UDDI define:

◦APIs SOAP utilizadas para publicar e obter informações de um registro UDDI

◦Esquemas XML do modelo de dados do registro e do formato das mensagens SOAP

◦Definições WSDL das APIs SOAP◦Definições de registro UDDI (modelos

técnicos - tModels) de diversos sistemas de identificação e categorização, que podem ser utilizados para identificar e categorizar registros UDDI

Page 21: Web Services Da Introdução à Prática Americo do Nascimento Penna

Caso de Estudo Construiremos uma calculadora usando um Web Service.

Ferramentas utilizadas:

Apache Tomcat 7.0.14◦ Web Server

Infra-estrutura que oferece suporte a pedidos e respostas HTTP.

◦ Web Container Componente que oferece suporte ao ciclo de vida de um

servlet.

AXIS (Apache eXtensible Interaction System)◦ É um framework de código aberto, baseado em

linguagem Java, utilizado para construção de web services através do protocolo SOAP.

◦ Com as ferramentas do Axis, a criação e publicação de web services, além da criação de clientes de acesso se torna simplificada.

Page 22: Web Services Da Introdução à Prática Americo do Nascimento Penna

Caso de Estudo public class Calculadora

{public int somar(int numA, int numB){

return numA + numB;}

public int subtrair(int numA, int numB){

return numA - numB;}

public int multiplicar(int numA, int numB){

return numA * numB;}

public int dividir(int numA, int numB){

if(numB != 0) return numA / numB;return 0;

}}

Page 23: Web Services Da Introdução à Prática Americo do Nascimento Penna

BibliografiaRobert Richards - Pro PHP XML and Web

Services, 2006Nicolescu Matthieu – Web Services,2003James Snell – Programming Web Services with

SOAPPablo Dal´Oglio – PHP5 e Web services, 2006DEITEL, H. M. et al. XML: Como Programar,

2003.Andrés Ignácio Martínez Menéndez. Uma

ferramenta de apoio ao desenvolvimento de Web Services. Dissertação de Mestrado, Universidade Federal de Campina Grande, curso de Pós-Graduação em Informática, 2002.