Você está na página 1de 28

Princpios e Arquitetura

Prof Rafael Braga

Motivao SOA Web Services


Rede SOAP WSDL UDDI

Definio Pilha de Protocolos Web Services

17/04/2013

Breve Conceito

Web Service uma maneira de expor funcionalidades para usurios Web atravs de protocolos padres

17/04/2013

Utiliza

de protocolos de comunicao bastante conhecido


HTTP, FTP, SMTP XML Java Outros

Usa

tecnologias e linguagens conhecidas

Fcil

Implementao

Transporte de dados ocorre via HTTP (sem problemas de Firewall)


17/04/2013 4

Independncia de Protocolos
HTTP JMS

Independncia de Sistemas Operacionais


Linux Windows Unix
MySQL, Oracle, PostGree

Independncia de SGBD

Independncia de Linguagens Independncia de Aplicaes Utiliza a Arquitetura Orientada a Servios

17/04/2013

Estilo arquitetural especfico que visa o acoplamento flexvel e ligao dinmica entre os servios. [Weerawarana, 2005]

Caractersticas
Aplicaes monolticas so dissolvidas em servios que executam funes de negcio especficas

Novas aplicaes so montadas a partir de um conjunto de servios publicados por fornecedores internos ou externos empresas
O conjunto de servios disponveis gerenciado a partir de um registro central

17/04/2013

Personagens

Provedor de Servios Entidade que cria o servio Registro de Servios Local onde o servio publicado Consumidor de Servios Pesquisa no Registro pelo servio de seu interesse Publicar (publish) Encontrar (finding) Vincular (binding)
17/04/2013 7

Aes

Registro de Servios

Consumidor de Servios

Vincula

Provedor de Servio

17/04/2013

Vantagens

Desacoplamento de Requisies

Suporte para diferentes tipos de clientes


Elevada manutenibilidade Facilidade de reuso Escalabilidade

17/04/2013

Um servio Web uma aplicao auto-contida, identificada por um URI (Uniform Resource Identidier), onde as interfaces e ligaes so definidas, descritas e localizadas por artefatos que utilizam a linguagem XML. (Austin, 2002)

Domnios de confiana
Internos Um nico domnio de segurana, geralmente a prpria empresa ou uma intranet. Externos Conectados a mais de um domnio.

17/04/2013

10

Pilha Bsica de Protocolos Web Services


UDDI WSDL SOAP HTTP
Publicao de Servio
Descrio do Servio Mensagem XML Transporte

17/04/2013

11

Camada Transporte
A camada de Rede de Transporte responsvel pela disponibilizao dos servios Web. Tornando-os acessveis por intermdio de algum dos protocolos de transporte disponveis, como HTTP, SMTP, FTP e outros. (Hendricks, 2002)

17/04/2013

12

Mensagem XML SOAP


Define, estabelece e mantm a comunicao entre as aplicaes, tambm contendo as descries dos formatos das mensagens utilizadas no estabelecimento da comunicao entre as aplicaes

Caractersticas
Protocolo superficial e simples No vinculado a nenhum protocolo de transporte em particular Facilmente extensvel por meio da XML

17/04/2013

13

Elementos de uma mensagem SOAP


Envelope Contm os elementos Header e Body Header Usado para passar informaes adicionais Body Contm a carga til que codifica a chamada do procedimento, as respostas da chamada do procedimento, ou o relatrio de falhas

Formato de uma mensagem SOAP


Envelope SOAP
Cabealho SOAP Cabealho SOAP

17/04/2013

14

Exemplo de uma mensagem SOAP:

<?xml version="1.0"?> <soap: Envelope xmlns:soap="http://.../envelope/"> soap:encodingStyle="http://../encoding/"> <soap: Header> <h: identity xmlns: "http://../header/">autor@wrox</h:identity> </soap:Header> <soap: Body> <m:GetStockQuote xmlns:m"http://..getstockquote/"> <m:ticker>WROX</m:ticker> </m:GetStockQuote> </soap: Body> </soap:Envelope>

17/04/2013

15

17/04/2013

16

Documento WSDL
Descreve um servio Web como uma coleo de extremidades ou portas operando independentemente, tanto nas mensagens orientadas a documentos, quanto nas mensagens orientadas a procedimentos Hendricks 2002.

As operaes e mensagens relativas a um servio so descritas de forma abstrata e em seguidas ligadas a protocolos de rede e formatos de mensagens concretos com o objetivo de definir um ponto de servio
17/04/2013 17

Modelo de um documento WSDL


Binding PortType Messages Types Service Port Definio Concreta Definio Abstrata

17/04/2013

18

Um

documento WSDL dividido em duas partes:


Parte Abstrata (Elementos de Interface de Servio)

Independe do protocolo de transporte de um Servio WEB


Parte Concreta (Elementos de Implementao de Servio)
Representa uma descrio de ligao especfica para o transporte na rede

17/04/2013

19

Elementos de Interface de Servio


Binding
Define uma especificao de protocolo e formato de dados para as mensagens definidas em um port type

PortType
um conjunto de operaes suportadas por um ou mais end points, onde cada operao se refere a uma mensagem de entrada, sada ou erro.

17/04/2013

20

Elementos de Interface de Servio Cont.


Message
Representa a informao que ser trocada atravs das definies dos tipos de dados

Types
Fornece a definio dos tipos de dados para descrever as mensagens trocadas entre aplicaes, normalmente representadas por um documento XSD (XML Schema Definition)

17/04/2013

21

Elementos de Implementao de Servio


Service
Especifica um processo que pode atender as solicitaes para um determinado elemento binding

Port
um end point, representa a combinao de um binding e um endereo de rede

17/04/2013

22

UDDI uma especificao para criar registros distribudos de servios na internet

Um registro UDDI armazena informaes sobre empresas, servios oferecidos por estas empresas e informaes tcnicas sobre estes servios
Um registro UDDI possui dois tipos de clientes. O primeiro envolve as aplicaes que desejam publicar servios e suas insterfaces, o segundo tipo envolve clientes que desejam obter e se ligar a servios Web

17/04/2013

23

UDDI

Pesquisar

Publicar

Cliente

Servidor

17/04/2013

24

O protocolo UDDI apresenta trs papeis, representados sob a forma de XML Schemas, so eles:

Pginas Brancas contm identificadores sobre o contato tcnico do servio oferecido.


Pginas Amarelas contm informaes genricas sobre os tipos e localizao dos servios disponveis Pginas Verdes contm informaes tcnicas sobre um determinado servio Web

17/04/2013

25

A especificao UDDI tambm define quatro estruturas de dados, tambm descritas como documento XML, onde cada elemento descreve o tratamento dado ao servio Web businessEntity - estrutura de alto nvel (pginas brancas) que contm, para cada servio, as informaes (nome, categoria, identificadores, entre outros) sobre a organizao que publicou o servio Web businessService contm informaes descritivas sobre servios Web (pginas amarelas), tais como nome e descrio do servio publicado

17/04/2013

26

bindingTemplate - contm informaes tcnicas sobre o servio Web tais como forma de acesso e endereos dos pontos acesso ao servio (pginas verdes) tModel - mecanismo usado para a troca de definies abstratas (metadados) sobre um servio Web, contm as descries do servio Web, opcionalmente aponta para documentos WSDL
17/04/2013 27

2. O Cliente pesquisa pelo servio especifico

UDDI

1. O Servio publicado usando WSDL

Pesquisa
Mensagens SOAP 3. O Cliente obtm informaes em WSDL 5. Resposta em XML baseado em WSDL

Publicao

Ligao Cliente

Provedor de Servio Web

4. O Cliente requisita o servio em XML baseado em WSDL

17/04/2013

28

Você também pode gostar