Escolar Documentos
Profissional Documentos
Cultura Documentos
Tpicos
Introduo
A expresso servios Web utilizada para classificar aplicaes que so expostos em uma rede via o uso de padres XML e protocolos de Internet de tal modo que eles sejam bastante interoperveis com outros aplicativos distribudos distintos So baseados no estilo da arquitetura SOA So componentes de aplicao Se comunicam usando protocolos abertos So independentes e auto-descritivos XML a base para servios Web
SOA
um modelo de arquitetura de software voltado para a construo de aplicaes que implementam processos de negcio ou servios utilizando um conjunto de componentes fracamente acoplados e orquestrados a fim de prover um nvel de servio bem definido uma abordagem para implementar a SOA com o uso de protocolos de comunicao e representaes de dados com base em XML para alcanar independncia de plataforma e, consequentemente, a interoperabilidade
Web Services
Registro
Localizao
Publicao
Consumidor
Execuo
Provedor
2. Localizao
1. Publicao
Consumidor
4. Invocar o servio
Provedor
<wsdl> </wsdl>
3. Baixar o WSDL Localizao do documento WSDL que pode estar na rede e muitas vezes est no Provedor de servio
3. O consumidor usa a informao localizada do servio para localizar e baixar uma cpia da descrio WSDL 4. O consumidor usa a informao do WSDL para vincular-se ao servio Web e invoc-lo
A base da plataforma de servios da Web XML + HTTP XML fornece uma linguagem que pode ser usado entre diferentes plataformas e linguagens de programao e ainda expressa mensagens e funes complexas O protocolo HTTP o mais usado protocolo de Internet Elementos de plataforma de servios da Web:
SOAP (Simple Object Access Protocol) UDDI (Universal Description Discovery and Integration) WSDL (Web Services Description Language)
Servios da Web podem ajudar a resolver o problema de interoperabilidade, dando diferentes aplicaes uma maneira de unir os seus dados. Com os servios da Web, voc pode trocar dados entre diferentes aplicaes e plataformas diferentes.
SOAP Introduo
Significa Simple Object Access Protocol um protocolo para acessar um Web Service baseado em XML para permitir que aplicaes troquem informaes sobre HTTP um formato para envio de mensagens independente de plataforma e de linguagem simples e extensvel Permite contornar firewalls um padro W3C
SOAP Introduo
O principal uso de SOAP a comunicao aplicativo a aplicativo (A2A application-to-application), especificadamente de:
Negcio a negcio (B2B business-to-business) Integrao de aplicativos corporativos (EAI enterprise application integration)
SOAP Introduo
Conceitos importantes
Remetente SOAP
N que gera e transmite uma mensagem SOAP N que recebe e processa a mensagem SOAP que foi gerada pelo remetente N que considerado tanto receptor quanto remetente Podem existir zero ou mais intermedirios Podem realizar pr-processamento da mensagem antes de ela atingir seu destino final Usado comumente para segurana, acesso e transaes
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoarauj@gmail.com
Receptor SOAP
Intermedirio SOAP
SOAP Introduo
Remetente Mensagem SOAP
Remetente inicial
Intermedirio
Mensagem SOAP
Primeiro intermedirio
Intermedirio
Mensagem SOAP
Receptor
Solicitao/Resposta
O remetente transmite uma mensagem SOAP solicitando alguma informao e o remetente envia uma mensagem SOAP de resposta
<soap> </soap>
Remetente
<soap> </soap>
Receptor
Resposta
Idntico ao padro Solicitao/Resposta, porm o remetente transmite uma mensagem no SOAP solicitando alguma informao e o remetente envia uma mensagem de resposta SOAP
Mensagem No SOAP
Remetente
<soap> </soap>
Receptor
Unidirecional
O remetente transmite uma mensagem SOAP ao receptor sem retorno de resposta Pode ser usado para modelar chamadas assncronas de procedimento remoto Tambm conhecido como Dispare-E-Esquea Exemplo desse padro o envio de mensagens de e-mail
<soap> </soap>
Remetente
Receptor
Notificao
O receptor transmite uma ou mais mensagens SOAP ao remetente sem retorno de uma resposta de volta Assemelha-se a notificao de eventos Pode ser uma resposta a uma chamada assncrona de procedimento remoto
<soap> </soap>
<soap> </soap>
Remetente
<soap> </soap>
Receptor
similar ao padro Solicitao/Resposta, exceto que o receptor transmite zero ou mais mensagens de volta ao remetente em resposta solicitao inicial Tambm chamado de Solicitao/Resposta N*
<soap> </soap>
<soap> </soap>
Remetente
<soap> </soap>
Receptor
Solicitar/Resposta
o inverso do padro Solicitao/Resposta O receptor que transmite uma mensagem SOAP inicial e o remetente ir responder com outra mensagem SOAP
<soap> </soap>
Remetente
<soap> </soap>
Receptor
SOAP Envelope SOAP Encoding Uma referncia DTD Instrues de processamento XML
No deve conter:
Cabealho HTTP
obrigatrio a raiz de uma mensagem SOAP Define que um documento XML uma mensagem SOAP Namespace xmlns:soap
Defines o elemento Envelope como um envelope SOAP Deve ter sempre o valor de http://www.w3.org/2001/12/soap-envelope
Attributo encodingStyle
usado para definir os tipos de dados usados no documento Pode aparecer em qualquer elemento SOAP e aplica-se o contedo do elemento e todos os elementos filho Uma mensagem SOAP no tem codificao padro Sintaxe:
soap:encodingStyle=URI
opcional Contm informaes especficas do aplicativo (como autenticao, por exemplo) sobre a mensagem SOAP Se o elemento do cabealho est presente, deve ser o primeiro elemento filho do elemento Envelope Todos os elementos filho imediato do elemento Header deve ser qualificado de namespace
O exemplo anterior contm um cabealho com um elemento Trans com valor 234 e este elemento possui um atributo mustUnderstand com valor de 1
O elemento Trans vem do namespace http://www.w3schools.com/transaction/ O atributo mustUnderstand vem do namespace http://www.w3.org/2001/12/soap-envelope
Atributo mustUnderstand
Pode ser usado para indicar se uma entrada de cabealho obrigatria ou facultativa para que o destinatrio do processo Se mustUnderstand="1", ento o receptor deve reconhecer o cabealho
Sintaxe
Atributo actor
usado para enderear o elemento Header para um endpoint especfico Uma mensagem SOAP pode viajar de um remetente para um receptor, passando parmetros diferentes ao longo do caminho da mensagem Nem todas as partes de uma mensagem SOAP pode ser destinado para o endpoint final, em vez disso, podem ser destinados a um ou mais dos endpoints no caminho da mensagem Sintaxe:
soap:actor="URI"
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoarauj@gmail.com
obrigatrio A necessria elemento SOAP Body contm a mensagem SOAP reais destinados ao desfecho final da mensagem. Elementos filhos de Body devem ser qualificados pelo namespace
<m:GetPreco <m:GetPrecoResposta xmlns:m="http://www.w3schools.com/pri xmlns:m="http://www.w3schools.com/pri ces"> ces"> <m:Item>Pizza congelada</m:Item> </m:GetPreco> </soap:Body> </soap:Envelope> <m:Preco>10,90</m:Preco> </m:GetPrecoResposta> </soap:Body> </soap:Envelope>
opcional usado para indicar mensagens de erro Pode aparecer apenas uma vez em uma mensagem SOAP Se um elemento de falha estiver presente, ele deve aparecer como um elemento filho do elemento Body
Um cliente HTTP conecta a um servidor HTTP usando TCP Aps estabelecer uma conexo, o cliente pode enviar uma mensagem de solicitao HTTP para o servidor:
O servidor processa a requisio e envia uma resposta HTTP para o cliente A resposta contm um cdigo de status que indica o status da requisio:
Se o servidor no conseguiu decodificar a solicitao, ele poderia ter retornado algo como isto:
Um mtodo SOAP uma solicitao/resposta em HTTP que cumpre as regras de codificao SOAP HTTP + XML = SOAP Uma solicitao SOAP pode ser
Content-Type Content-Length
Content-Type
Define o tipo MIME da mensagem e da codificao de caracteres (opcional) utilizados para o corpo XML do requisio ou resposta Sintaxe
Exemplo
Content-Length
Content-Length: bytes POST /item HTTP/1.1 Content-Type: application/soap+xml; charset=utf-8 Content-Length: 250
Exemplo
WSDL Introduo
Significa Web Services Description Language baseado em XML usado para descrever servios Web Tambm usado para localizar os servios da Web um padro W3C
Um web service As operaes que podem ser executadas As mensagens que esto envolvidos.
Define o ponto de ligao para a um servio web Pode ser comparada a uma uma classe feita por uma linguagem orientada a objeto
UDDI
Significa Universal Description, Discovery and Integration um servio de diretrio onde as empresas podem se registrar e procurar por Web Services um diretrio para armazenar informaes sobre os servios web um diretrio de web service interfaces descritas por WSDL Comunica via UDDI SOAP Est incorporada no Microsoft.NET Usa padres da W3C e da ITEF (Internet Engineering Task Force), como XML, HTTP e DNS. Usa o WSDL para descrever interfaces de web services. rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoarauj@gmail.com
Questes!!!
6. [CESPE 2009 TCE/RN - Questo 61] Nos servios web, clientes e servidores, direta ou indiretamente, podem acessar documentos UDDI completos por meio de seus URIs (uniform resource identifier), usando um servio de diretrio, tal como o WSDL.
Questes!!!
6. [CESPE 2009 TCE/RN - Questo 61] Nos servios web, clientes e servidores, direta ou indiretamente, podem acessar documentos UDDI completos por meio de seus URIs (uniform resource identifier), usando um servio de diretrio, tal como o WSDL.
Questes!!!
7. [CESPE 2008 TRT/BA - Questo 70] O UDDI uma especificao tcnica que tem como objetivo descrever, descobrir e integrar web services; embasado na tecnologia XML, que fornece uma plataforma neutra de dados e permite descrever relaes hierrquicas de modo natural.
Questes!!!
7. [CESPE 2008 TRT/BA - Questo 70] O UDDI uma especificao tcnica que tem como objetivo descrever, descobrir e integrar web services; embasado na tecnologia XML, que fornece uma plataforma neutra de dados e permite descrever relaes hierrquicas de modo natural.
Gabarito: CERTO.
Questes!!!
8. [CESPE 2008 TRT/BA - Questo 69] Na viso do SOA, XML e WSDL so padres abertos que permitem que os servios se comuniquem de maneira homognea, independentemente da plataforma de hardware, do sistema operacional e da linguagem de programao nos quais o servio est implementado.
Questes!!!
8. [CESPE 2008 TRT/BA - Questo 69] Na viso do SOA, XML e WSDL so padres abertos que permitem que os servios se comuniquem de maneira homognea, independentemente da plataforma de hardware, do sistema operacional e da linguagem de programao nos quais o servio est implementado.
Gabarito: CERTO.
Questes!!!
9. [CESPE 2008 TRT/BA - Questo 68] No SOA, os web services permitem que os aplicativos se comuniquem entre si de modo independente da plataforma e da linguagem de programao. Os web services utilizam WSDL para descrever interfaces de aplicativos na linguagem XML.
Questes!!!
9. [CESPE 2008 TRT/BA - Questo 68] No SOA, os web services permitem que os aplicativos se comuniquem entre si de modo independente da plataforma e da linguagem de programao. Os web services utilizam WSDL para descrever interfaces de aplicativos na linguagem XML.
Gabarito: ERRADO. Os web services utilizam XML para descrever interfaces de aplicativos na linguagem WSDL.
Questes!!!
10. [CESPE 2009 INMETRO - Cargo 11 - Questo 58] Na SOA, a descrio do servio mantida em um repositrio WSDL, em formato UDDI (universal description, discovery and integration).
Questes!!!
10. [CESPE 2009 INMETRO - Cargo 11 - Questo 58] Na SOA, a descrio do servio mantida em um repositrio WSDL, em formato UDDI (universal description, discovery and integration).
Gabarito: ERRADO. Na SOA, a descrio do servio mantida em um repositrio UDDI, em formato WSDL.
Estrutura do WSDL
Estrutura do WSDL
Define os elementos de dados de uma operao. Cada mensagem pode consistir de uma ou mais partes. As partes so como os parmetros de uma chamada de funo em uma linguagem de programao tradicional. Elemento mais importante elemento do WSDL. Descreve um Web Service, as operaes que podem ser executadas, e as mensagens que esto envolvidas. Pode ser comparado a uma biblioteca de funes (ou um mdulo ou uma classe) em uma linguagem de programao tradicional.
<portType>
Estrutura do WSDL
Questes!!!
11. [CESPE 2009 TCU - Questo 139] Em WSDL, os elementos do tipo types descrevem todos os tipos de dados usados entre cliente e servidor. O WSDL est exclusivamente ligado a um sistema de tipagem especfico pois utiliza, como padro, um esquema de especificao W3C XML.
Questes!!!
11. [CESPE 2009 TCU - Questo 139] Em WSDL, os elementos do tipo types descrevem todos os tipos de dados usados entre cliente e servidor. O WSDL est exclusivamente ligado a um sistema de tipagem especfico pois utiliza, como padro, um esquema de especificao W3C XML.
Gabarito: ERRADO. O WSDL no est exclusivamente ligado a um sistema de tipagem especfico, pois tipos podem ser definidos de acordo com o servio disponibilizado.
Estrutura do SOAP
DEVE ser codificado usando XML. DEVE usar o namespace SOAP Envelope. DEVE usar o namespace SOAP Encoding. NO DEVE conter uma referncia DTD. NO DEVE conter instrues de processamento XML.
Estrutura do SOAP
Referncias