Your SlideShare is downloading. ×
Instituto Superior de Entre Douro e VougaTecnologias da Informação e da Comunicação│2010/2011               Tecnologias de...
TP 5 - Trabalho Prático                                                                                  WEB SERVICES     ...
TP 5 - Trabalho Prático                                                     WEB SERVICES1. INTRODUÇÃOWeb Services, é a mai...
TP 5 - Trabalho Prático                                              WEB SERVICESUma arquitectura orientada a serviços dif...
TP 5 - Trabalho Prático                                               WEB SERVICES2. WEB SERVICES E AS ALTERNATIVAS TECNOL...
TP 5 - Trabalho Prático                                             WEB SERVICESTais nomenclaturas compõem o conjunto de t...
TP 5 - Trabalho Prático                                             WEB SERVICESNo contexto de Web Services, um software h...
TP 5 - Trabalho Prático                                               WEB SERVICESEntão, percebe-se que o SOAP não especif...
TP 5 - Trabalho Prático                                              WEB SERVICESAssumindo que um dos objectivos do Web Se...
TP 5 - Trabalho Prático                                              WEB SERVICES    • Privados, os quais servem um papel ...
TP 5 - Trabalho Prático                                              WEB SERVICES        (Binding Templates). Este contem ...
TP 5 - Trabalho Prático                                                      WEB SERVICES3. CONCLUSÃOEm forma de resumo, v...
TP 5 - Trabalho Prático                                             WEB SERVICES    • UDDI - Utilizado para o descobriment...
TP 5 - Trabalho Prático                                                      WEB SERVICES4. BIBLIOGRAFIA      • http://pt....
Upcoming SlideShare
Loading in...5
×

Web services

2,025

Published on

Published in: Education
1 Comment
4 Likes
Statistics
Notes
  • Prezados,

    Excelente material. Gostaria de compartilhar uma experiência interessante mostrando a aplicação de web services para venda de seguros pelo site WebMotors. Mais detalhes no link http://www.supravizio.com/Webservices-SOA.aspx

    Wallace Oliveira
    www.venki.com.br
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,025
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Web services"

  1. 1. Instituto Superior de Entre Douro e VougaTecnologias da Informação e da Comunicação│2010/2011 Tecnologias de Internet Trabalho realizado por: Sérgio Paulo Lopes da Rocha Santa Maria da Feira, 03 Dezembro de 2010
  2. 2. TP 5 - Trabalho Prático WEB SERVICES Í NDICE1. Introdução.............................................................................................................. 32. Web Services e as Alternativas Tecnológicas (arquitectura)................................. 5 2.1 SOAP (Simple Object Access Protocol)........................................................ 6 2.2 WSDL (Web Service Description Language) ................................................ 8 2.3 UDDI (Universal Description, Discovery and Integration).............................. 93. Conclusão............................................................................................................ 124. Bibliografia........................................................................................................... 14 Sérgio Rocha - 2104 ISVOUGA Página 2 de 14
  3. 3. TP 5 - Trabalho Prático WEB SERVICES1. INTRODUÇÃOWeb Services, é a mais recente evolução nos padrões de desenvolvimento deaplicações distribuídas, permitindo que aplicações cooperem facilmente e compartilheminformações e dados umas com as outras. Espera-se que esta evolução altere a formacomo as aplicações são construídas e desenvolvidas, como a informação éapresentada e compartilhada e como software é comprado e vendido.Tecnicamente, Web Services são serviços distribuídos que processam mensagensSOAP codificadas em XML, enviadas através de HTTP e que são descritas através deWeb Services Description Language (WSDL).Web Services fornecem interoperabilidade entre componentes de software que podemestar em diferentes empresas e podem residir em diferentes infra-estruturas. O SOAP ébaseado em XML e “navega” sobre o HTTP através de requisições GET ou POST naporta 80, base de funcionamento da Web, isto é o que garante a interoperabilidadeentre diferentes plataformas. O WSDL, que também é baseado em XML e “navega”sobre HTTP, fornece a descrição do serviço possibilitando a integração dele comferramentas de desenvolvimento e de gestão de componentes. No WSDL de um WebServices estão descritos a URL para cessar o serviço, o nome do Web Service, adescrição de cada método e a forma de fazer a requisição utilizando SOAP, GET ouPOST.Uma das principais razões para o crescente interesse em Web Services é que elespermitem uma Arquitectura Orientada a Serviços (SOA - Service-OrientedArchitecture). Quando se utiliza Web Services para a construção de tal arquitectura, assoluções consistem de colecções de serviços autónomos, identificados por URLs, cominterfaces documentadas através de WSDL e processando mensagens XML. SOA éum complemento a abordagens orientadas a objectos (OO) e processuais. Sérgio Rocha - 2104 ISVOUGA Página 3 de 14
  4. 4. TP 5 - Trabalho Prático WEB SERVICESUma arquitectura orientada a serviços difere de sistemas (OO) e processuais numaspecto: a informação de ligação entre os componentes (binding). Serviços interagembaseando-se em quais funções eles fornecem e como elas são entregues. Sistemas(OO) e processuais ligam os elementos baseando-se em tipos e nomes.Diferente de sistemas anteriores, o modelo de Web Services não opera sobre a noçãode tipos compartilhados que requerem implementações comuns. Em vez disso, osserviços interagem baseando-se somente em contratos e esquemas. Isto permite que oserviço descreva a estrutura das mensagens que ele pode enviar e/ou receber eestabelecer restrições em suas mensagens. A separação entre estrutura ecomportamento, e a explícita descrição dessas características simplificam a integraçãoem ambientes heterogéneos. Além disso, esta informação caracteriza completamente ainterface do serviço, de forma que a integração da aplicação não requer um ambientede execução compartilhado para criar a estrutura ou o comportamento das mensagens.Web Services, utilizam características de XML, esquemas e cabeçalhos SOAP parapermitir a evolução dos serviços de forma que não prejudiquem aplicações que já osestejam utilizando.Problemas como distribuição e transporte, segurança e autenticação, e controle detransacções, são resolvidos com várias tecnologias e características dos Web Services. Sérgio Rocha - 2104 ISVOUGA Página 4 de 14
  5. 5. TP 5 - Trabalho Prático WEB SERVICES2. WEB SERVICES E AS ALTERNATIVAS TECNOLÓGICAS (ARQUITECTURA)Um factor decisivo para a consolidação deste novo conceito como um segmento daindústria de tecnologia foi a formação de um consórcio, designado como Web ServicesInteroperability Organization (WS-I), objectivando o desenvolvimento de padrões. Talgrupo reuniu grandes líderes do mercado de tecnologia, tais como IBM, Microsoft, SAP,Oracle, BEA System, Fujitsu entre outras, endossado por duas importantes empresasde consultoria nesta área: o Gartner Group e a Forrester Research. A reunião destesgrandes competidores foi marcada, espantosamente, pelo interesse genuíno eautêntico de se estabelecer padrões satisfatórios para todos os envolvidos. Adiciona-sea isto o fato de que este consórcio, mais nitidamente através da Microsoft, vemtrabalhando junto ao W3C, entidade responsável pela padronização de diversaslinguagens e protocolos de Internet, numa proposta visando a padronização do SOAP(Simple Object Access Protocol) e de outros padrões que dão suporte ao uso de WebServices.Conforme citado anteriormente, um Web Service é um componente ou unidade desoftware que fornece uma funcionalidade específica, como uma rotina para validaçãodo número de cartão de crédito. A mesma poderá ser acessada por diferentessistemas, através do uso de padrões da Internet, como XML (Extensible MarkupLanguage) e HTTP (Hyper Text Transfer Protocol). A utilização de tais padrões éimportante para o desenvolvimento de aplicações distribuídas com Web Services.Portanto, um Web Service poderá ser utilizado internamente, por uma única aplicaçãoou por várias aplicações da mesma empresa, podendo ser exposto através da Internet,a fim de ser utilizado por qualquer aplicação, bastando para isso que a aplicação sejacapaz de entender SOAP e XML. Acrescente-se ao uso do XML, HTTP e SOAP anecessidade de uma linguagem que esclareça sobre sintaxe, parâmetros, métodos oufunções, a WSDL (Web Services Description Language) e um directório geral, UDDI(Universal Description, Discovery and Integration Services), verdadeira espécie depáginas amarelas descrevendo os serviços disponíveis. Sérgio Rocha - 2104 ISVOUGA Página 5 de 14
  6. 6. TP 5 - Trabalho Prático WEB SERVICESTais nomenclaturas compõem o conjunto de tecnologias aceites pelos padrõesacordados entre os fornecedores, acima citados, e propostos ao W3C no que concerneo assunto Web Services, a saber: HTTP, XML, SOAP, WSDL e UDDI. Neste trabalhoabordar-se-á mais detalhadamente as últimas três tecnologias, SOAP, WSDL e UDDI,dado que as outras duas, HTTP e XML já foram abordadas em trabalhos anteriores. 2.1 SOAP (SIMPLE OBJECT ACCESS PROTOCOL)É utilizado para invocar serviços remotos de forma síncrona ou assíncrona de um WebService. Trata-se, na realidade, de um protocolo padrão para troca de mensagens,conforme se constata na imagem abaixo.Possibilita que qualquer aplicação invoque e responda a qualquer outra aplicação.Justamente, o que garante a inter-operabilidade do Web Services é o uso desteprotocolo padrão (SOAP) para o envio e recebimento destas mensagens. De notar quea união das tecnologias amplamente disseminadas HTTP e XML deram origem aosdemais elementos que compõem a plataforma Web Services, como o protocolo SOAP,por exemplo. Vale ainda citar, a título de referência, que este protocolo ainda seencontra em fase de estudo junto ao W3C, conforme citado, sendo que esta entidadereferenda o mesmo como XML Protocol (XMLP).Sérgio Rocha - 2104 ISVOUGA Página 6 de 14
  7. 7. TP 5 - Trabalho Prático WEB SERVICESNo contexto de Web Services, um software hipotético de e-commerce formata umamensagem com informações do produto e do local de destino, na forma de umamensagem XML, a qual é encapsulada no formato SOAP, a fim de ser transportadapelo protocolo HTTP, utilizado amplamente na Internet. No destino, o Web Service"desempacota esta mensagem", lê informações no formato XML, faz cálculos eempacota o resultado no formato XML, o qual é encapsulado pelo protocolo SOAP paraser transportado pelo protocolo HTTP, de volta para o programa que fez a solicitaçãode cálculo.O SOAP possui duas vantagens em relação a tais protocolos: 1) Não se utiliza de mecanismos de selecção dinâmica de "ports" e, portanto, pode processar facilmente através de "firewalls" padrões; 2) Pelo facto de ser derivado do padrão XML pode ser utilizado para dispor argumentos de qualquer aplicação para qualquer outra aplicação, não importando o tipo de sistema, linguagem de programação ou sistema distribuído.Basicamente, este protocolo compõe-se de três partes: 1) Um envelope que define um "framework", o qual descreve o que a mensagem contém e como processá-la; 2) Um conjunto de regras codificadas para expressar instâncias dos tipos definidos da aplicação; 3) Uma convenção que representa chamadas e respostas remotas de procedimento. Sérgio Rocha - 2104 ISVOUGA Página 7 de 14
  8. 8. TP 5 - Trabalho Prático WEB SERVICESEntão, percebe-se que o SOAP não especifica necessidades da informação a sertrocada, isso cabe às aplicações que o usam. O SOAP é assim uma plataforma sobre aqual informação específica de aplicações pode ser trocada. É um standard que permitegrande expansibilidade e interoperabilidade entre sistemas. Esta interoperabilidadepoderá naturalmente estar ameaçada se não forem utilizados standards puros SOAP. 2.2 WSDL (WEB SERVICE DESCRIPTION LANGUAGE)Trata-se de uma linguagem de definição de interface, baseada em XML, a qualpossibilita a descrição das funcionalidades, métodos e atributos disponibilizados peloWeb Service. Consequentemente, permite que uma aplicação descreva as suasfuncionalidades e atributos num formato padrão, de tal forma que outra aplicação possacompreendê-la. É considerado como um dos fundamentos que possibilita aespecificação consistente de um Web Service.A fim de documentar e expor as funcionalidades de um Web Service, a Microsoftpropôs ao W3C a especificação WSDL. Esta define, adicionalmente, regras para adescrição das funcionalidades de um Web Service, utilizando-se para isso do XML. Sãodescritos os métodos e propriedades suportados pelo Web Service, os tipos de dados eos protocolos que podem ser utilizados para o envio e recebimento de mensagens. Asinformações inseridas nas mensagens são repassadas por meio de operações epalavras-chave da linguagem WSDL, como type, message, operation ou binding.Sérgio Rocha - 2104 ISVOUGA Página 8 de 14
  9. 9. TP 5 - Trabalho Prático WEB SERVICESAssumindo que um dos objectivos do Web Services, é permitir que aplicaçõesdesenvolvidas em diferentes linguagens ou mesmo modelos de programação diversospossam operar entre si, o mesmo utiliza-se desta tecnologia WSDL. Interessante notarque a mesma, descreve o serviço que será implementado pela lógica do negócio e asinterfaces necessárias para os clientes a chamarem. Não haverá a definição daimplementação da lógica de negócios. Haverá sim, apenas a descrição da mesma,assumindo um conjunto de ponteiros finais de operações nas mensagens, os quaiscontêm informações orientadas a documentos ou procedimentos.Por tanto, verifica-se que o WSDL é um formato XML para descrever a interface pelaqual um Web Service é usado. 2.3 UDDI (UNIVERSAL DESCRIPTION, DISCOVERY AND INTEGRATION)O aplicativo que irá utilizar um Web Service necessita identificar, ou descobrir, aexistência do mesmo. Ao criar-se uma aplicação de e-commerce, são necessáriosmecanismos para catalogar e localizar Web Services com funcionalidades específicase que possam ser utilizados pela aplicação que está sendo criada. O UDDI vematender a esta necessidade. Tal como os anteriores formatos, este conceito utiliza-sedo padrão XML. A ideia é similar ao que propõe o padrão Corba com o conceito de"repositório de objectos", embora as implementações sejam distintas. Analogamente,trata-se de um serviço similar ao prestado pelas páginas amarelas, excepto pelo factode serem as mesmas electrónicas. Estas provêem uma estrutura de informações, naqual várias entidades de negócio se registam a elas mesmas e aos seus serviçosrespectivos, através das suas definições na linguagem WSDL, discriminadas por áreasde negócio como indústria, produto ou geograficamente, de forma a permitir uma buscaoptimizada.Existem dois tipos de registos: • Públicos, os quais servem como pontos de agregação para uma variedade de negócios publicarem os seus serviços; Sérgio Rocha - 2104 ISVOUGA Página 9 de 14
  10. 10. TP 5 - Trabalho Prático WEB SERVICES • Privados, os quais servem um papel similar nas organizações. A analogia que se faz a este protocolo em face de uma arquitectura utilizando-se do J2EE ou mesmo CORBA, são os protocolos JNDI Repos ou LDAP.A especificação UDDI consiste de um esquema de 4 camadas dispostashierarquicamente, as quais provêem um modelo base de informação para publicar,validar e invocar informações a respeito de um Web Service, conforme especifica aimagem abaixo. • Entidade de Negócio - o elemento no nível mais elevado de um registo UDDI captura o conjunto inicial de informações requeridas por parceiros, pesquisando para localizar informações a respeito de serviços de negócio, incluindo aí o nome, o tipo de indústria, categoria do produto, sua localização geográfica, categorizações opcionais e informações de contacto; • Serviço de Negócio - esta estrutura agrupa uma série de Web Services relacionados de tal forma, que eles possam ser relacionados a ambos os processos de negócio, quanto por categorias de serviços. Este agrupamento possibilita uma melhor optimização no tempo de pesquisa; • Informações de troca (Bind Information) - cada Web Service de negócio tem um ou mais elementos de descrições capturadas em XML, designados como exemplos de trocaSérgio Rocha - 2104 ISVOUGA Página 10 de 14
  11. 11. TP 5 - Trabalho Prático WEB SERVICES (Binding Templates). Este contem informações que são relevantes para aplicações que são necessárias no momento de se invocar um serviço ou quando está a ocorrer uma troca com um destes. Estas informações referem- se ao endereço URL e o servidor, por exemplo; • Informações de concordância - são informações que possibilitam a um cliente determinar se um Web Service específico está de acordo quanto à sua implementação. Referem-se a informações de ordem de compra do serviço, questões de segurança, que protocolos são apropriados, que tipo de resposta deverá ser aguardada após a ordem de compra, entre outras.Assim, pode-se dizer que as funções do UDDI são: • Permitir que as aplicações de negócio se descubram; • Definir como elas irão interagir através da Internet; • Compartilhar informações em registos globais.Sérgio Rocha - 2104 ISVOUGA Página 11 de 14
  12. 12. TP 5 - Trabalho Prático WEB SERVICES3. CONCLUSÃOEm forma de resumo, vale dizer que, o modelo de funcionamento da Web Servicesegue uma linha que remete ao seguinte fluxo: • Uma aplicação é desenvolvida, utilizando-se de qualquer tipo de linguagem de programação; • Tal aplicação possui uma série de interfaces formalizadas, as quais são publicadas em WSDL; • A entidade responsável pela aplicação, regista a si mesma apropriadamente como sendo uma entidade de negócio, e publica as suas interfaces em WSDL, num ou mais registos UDDI, que vêm a ser directórios de Servidores Web; • Qualquer outra aplicação que necessite das funcionalidades daquela desenvolvida, pesquisa os registos UDDI e localiza os serviços correspondentes; • Finalmente, é então invocado o serviço desejado, utilizando-se das informações armazenadas no registo UDDI, especificamente, o URL do serviço a ser localizado e a interface WSDL para ser utilizado.Por fim, e a respeito das três tecnologias fundamentais para a implementação doconceito de Web Services: • SOAP - Utilizado para acesso e transporte. Trata-se do protocolo utilizado para invocar um Web Service; • WSDL - Utilizado para descrição. Trata-se da descrição ou definição de um Web Service;Sérgio Rocha - 2104 ISVOUGA Página 12 de 14
  13. 13. TP 5 - Trabalho Prático WEB SERVICES • UDDI - Utilizado para o descobrimento e publicação. Trata-se do directório no qual o Web Service pode ser localizado.Sérgio Rocha - 2104 ISVOUGA Página 13 de 14
  14. 14. TP 5 - Trabalho Prático WEB SERVICES4. BIBLIOGRAFIA • http://pt.wikipedia.org/wiki/Web_service • http://msdn.microsoft.com/pt-br/library/cc564893.aspx • http://www.w3schools.com/webservices/default.asp • http://pt.wikipedia.org/wiki/SOAP • http://www.w3schools.com/soap/ • http://www.w3.org/TR/wsdl • http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration • http://technet.microsoft.com/pt-br/library/cc783718%28WS.10%29.aspxSérgio Rocha - 2104 ISVOUGA Página 14 de 14

×