Você está na página 1de 14

Web Services

Gabrielle K. Canalle, Henriete K. F. Berti, Raphael Karvat, Rodrigo de Oliveira Universidade Tecnolgica Federal do Paran (UTFPR) Caixa Postal 271 85884-000 - Medianeira PR Brasil {gabyzynha_karine, henrietekelly, raphael_karvat, rodrigoassist@hotmail.com} Abstract. This article aims to explain the web services, which are a solution used in systems integration and communication between different applications. Each application can use a specific type of language which is then translated into a universal language, XML. Web services applications connect directly with other applications. The basic idea is that this connection be given without having to make large applications in their own customizations. One of the fundamental premises is that the standard used for connections to be open and independent of technology platform or programming languages. Resumo. Este artigo tem por objetivo explicar os web services, que so uma soluo utilizada na integrao de sistemas e na comunicao entre aplicaes diferentes. Cada aplicao pode utilizar um tipo especfico de linguagem que depois traduzida para uma linguagem universal, a linguagem XML. Os web services conectam aplicaes diretamente com outras aplicaes. A idia bsica que essa conexo se d sem que seja necessrio efetuar grandes customizaes nas prprias aplicaes. Uma das premissas fundamentais que o padro usado pelas conexes seja aberto e independente de plataforma tecnolgica ou linguagens de programao.

Introduo
Nos primeiros anos do novo milnio, principalmente nos dois primeiros, quando a euforia em torno do e-commerce comeou a dar lugar a experincias bem mais modestas do que alardeavam as previses do final dos anos 90, um novo coro de promessas sobre o potencial da Internet comeou a ganhar volume. Assim, surgiu a

idia em que as corporaes logo iriam comprar suas tecnologias de informao como servios providos atravs da Internet. Esses servios so genericamente conhecidos como web services, tendo alguns atributos peculiares, pois diferente dos web sites" tradicionais, projetados para as pessoas interagirem com informao, os web services conectam aplicaes diretamente com outras aplicaes. A idia bsica que essa conexo se d sem que seja necessrio efetuar grandes customizaes nas prprias aplicaes. Uma das premissas fundamentais que o padro usado pelas conexes seja aberto e independente de plataforma tecnolgica ou linguagens de programao. Portanto, um Web Service uma unidade lgica de aplicao ou um componente de software, que se comunica atravs de tecnologias padres de Internet. Esse componente prov dados e servios para outras aplicaes. Essa tecnologia combina os melhores aspectos do desenvolvimento baseado em componentes e a Web. Como componentes, representam uma funcionalidade implementando em uma 'caixa-preta', que pode ser reutilizada sem a preocupao de como o servio foi implementado. As aplicaes acessam os Web Services atravs de protocolos e formatos de dados padres, como HTTP, XML e SOAP.

Web Services
Web services uma soluo utilizada na integrao de sistemas e na comunicao entre aplicaes diferentes. Com esta tecnologia possvel que novas aplicaes possam interagir com aquelas que j existem e que sistemas desenvolvidos em plataformas diferentes sejam compatveis. So componentes que permitem s aplicaes enviar e receber dados em formato XML. Cada aplicao pode ter a sua prpria "linguagem", que traduzida para uma linguagem universal, o formato XML. Sua aplicao trs agilidade para os processos e eficincia na comunicao entre cadeias de produo ou de logstica. Toda e qualquer comunicao entre sistemas passa a ser dinmica e principalmente segura, pois no h interveno humana.

So componentes de aplicao utilizando protocolo aberto, alm de serem autosuficiente e auto-descrevendo, pode ser descoberto usando UDDI. Sua plataforma desenvolvida basicamente em XML + HTTP. Utilizando o XML, obtm-se a vantagem de poder utilizar varias linguagens de programao, diferentes plataformas e ainda expressar funes e mensagens complexas. O protocolo HTTP o protocolo mais utilizado dentro na internet. Seu objetivo permitir uma transferncia de ficheiros em formato HTML, localizados graas a uma cadeia de caracteres chamada URL entre um navegador (o cliente) e um servidor Web. No modelo de web services, cada sistema da organizao atua como um componente independente na arquitetura de integrao. Todas as interfaces, transformaes de dados e comunicaes entre componentes so baseados em padres abertos e vastamente adotados, independentes de fornecedores e plataformas. Algumas das caractersticas de um servio web que tornam especialmente vulnerveis a ataques de segurana incluem o seguinte: Interaes so realizadas atravs da Internet utilizando protocolos de transporte que so firewall amigvel. Comunicao muitas vezes iniciadas por consumidores de servios que no tm nenhuma relao prvia com o fornecedor de servios. O formato da mensagem baseado em texto.

Alm disso, a natureza distribuda de interaes de servios web e as dependncias podem requerer uma maneira padro para propagar a identidade e a confiana entre domnios de aplicativos. Existem vrios bem definidos aspectos da segurana do aplicativo que, quando devidamente tratados, ajudam a minimizar a ameaa segurana enfrentado por uma empresa. Estes incluem autenticao, autorizao, integridade, confidencialidade e no repdio, e muito mais. Os Web services servem Praticamente para quase tudo no que voc possa pensar em troca de dados e informaes, qualquer plataforma que interprete rotinas HTTP e

manipule XML pode utilizar os dados dos web services sem qualquer problema. Como quase sempre os web services utilizam o protocolo HTTP, no haver surpresas com Firewall quando sua aplicao sair do servidor de aplicao para a verso final do cliente.

Vantagens
As vantagens de se utilizar essa abordagem so: Simplicidade: mais simples de se implementar que as solues tradicional que utilizam CORBA ou DCOM; Padres abertos: utilizam padres abertos como HTTP, SOAP, UDDI, ao invs de tecnologias proprietrias; Flexibilidade: alteraes nos componentes so muito mais simples para o sistema como um todo do que alteraes nos adaptadores tradicionais; Custo: as solues tradicionais so muito mais caras; Escopo: cada sistema pode ser tratado de maneira individual, j que para "componentiz-lo" basta implementar uma camada que o encapsule. Na abordagem tradicional, todos os sistemas devem ser tratados ao mesmo tempo, j que faro parte da mesma soluo monoltica de integrao.

Desvantagens
As solues tradicionais de EAI provem uma mquina de integrao centralizada e monoltica, que usa tecnologias proprietrias para integrar os sistemas, e adaptadores especializados para conectar fontes de dados e sistemas legados. Essa abordagem monoltica tem as seguintes desvantagens: dependente de plataforma requerendo uma nova verso tanto da mquina de integrao quanto dos adaptadores para cada plataforma a ser suportada ou integrada;

Introduz uma linguagem proprietria no "core" da integrao; Resulta num nico ponto de falha; Prov um mtodo de integrao que baseia-se na replicao dos dados dos diversos sistemas ao invs de consolidar os dados das vrias fontes.

Alm disso, as solues tradicionais de EAI requerem um investimento inicial substancial, que quando combinado com a complexidade da tecnologia proprietria, gera um alto grau de dependncia do fornecedor. Como resultado, o prprio EAI se transforma em mais um sistema legado. Na verdade, as abordagens dos sistemas tradicionais de EAI, monolticas e centralizadas, no levam em conta a atual dinmica imposta pela Internet, onde os sistemas de uma empresa no podem ser isolados do resto do mundo. E nesse contexto, os requisitos de integrao se alteram constantemente fazendo com que as solues tradicionais tornem-se pouco geis e caras diante de qualquer alterao demandada. Qualquer nova tentativa de se integrar uma nova tecnologia quase to difcil e cara quanto a integrao inicial.

SOAP
Os Web Services so identificados por uma URI(Unique Resource Identifier), e so definidos utilizando XML. Os Web Services so atrativos por que so baseados em XML e HTTP. Web Services so utilizados para disponibilizar servios na WEB, podendo ser acessados por outras aplicaes. SOAP (Simple Object Access Protocol) vem se tornando padro para a troca de mensagens entre aplicaes e Web Services, j que uma tecnologia construda com base em XML e HTTP. um protocolo projetado para invocar aplicaes remotas atravs de RPC (Remote Procedure Calls - Chamadas Remotas de Procedimento) ou trocas de mensagens, em um ambiente independente de plataforma e linguagem de programao. um protocolo elaborado para facilitar a chamada remota de funes via Internet, permitindo que dois programas se comuniquem de uma maneira tecnicamente muito semelhante invocao de pginas Web.

Possui diversas vantagens sobre outras maneiras de chamar funes remotamente como DCOM, CORBA ou diretamente no TCP/IP: simples de implementar, testar e usar. um padro da indstria, criado por um consrcio da qual a Microsoft parte, adotado pela W3C e por vrias outras empresas. Usa os mesmos padres da Web para quase tudo: a comunicao feita via HTTP com pacotes virtualmente idnticos; os protocolos de autenticao e encriptao so os mesmos; a manuteno de estado feita da mesma forma; normalmente implementado pelo prprio servidor Web. Tanto os dados como as funes so descritas em XML, o que torna o protocolo fcil de utilizar. independente do sistema operacional e CPU. Pode ser usado tanto de forma annima como com autenticao (nome/senha).

Os pedidos SOAP podem ser feitos em trs padres: GET, POST e SOAP. Os padres GET e POST so idnticos aos pedidos feitos por navegadores Internet. O SOAP um padro semelhante ao POST, mas os pedidos so feitos em XML e permitem recursos mais sofisticados como passar estruturas e arrays. Independente de como seja feito o pedido, as respostas so sempre em XML. O XML descreve perfeitamente os dados em tempo de execuo e evita problemas causados por inadvertidas mudanas nas funes, j que os objetos chamados tm a possibilidade de sempre validar os argumentos das funes, tornando o protocolo muito robusto. O SOAP pode ser facilmente implementado em qualquer ambiente de programao.

SOAP e RPC Entre outras utilizaes, SOAP foi desenhado para encapsular e transportar chamadas de RPC, e para isto utiliza-se dos recursos e flexibilidade do XML, sob HTTP. RPCs ou chamadas remotas de procedimento, so chamadas locais a mtodos de objetos (ou

servios) remotos. Portanto, podemos acessar os servios de um objeto localizado em um outro ponto da rede, atravs de uma chamada local a este objeto. Cada chamada ou requisio exige uma resposta. Processo de uma chamada RPC: Antes de serem enviadas pela rede, as chamadas de RPC (emitidas pela aplicao cliente) so encapsuladas (ou serializadas) segundo o padro SOAP. O servio remoto, ao receber a mensagem faz o processo contrrio, desencapsulando-a e extraindo as chamadas de mtodo. A aplicao servidora ento processa esta chamada, e envia uma resposta ao cliente. O processo ento se repete: a resposta tambm serializada e enviada pela rede. Na mquina cliente, esta resposta desencapsulada e repassada para a aplicao cliente. Invocao de um mtodo no web services; Em geral chamadas sncronas; Ligado a interface de programao; Utiliza codificao SOAP para os dados; Codificao SOAP (Cada elemento tem uma indicao).

Itens obrigatrios para chamadas RPC A URI do destino; O nome do mtodo; Os parmetros do mtodo (request, response); Assinatura do mtodo opcional Um header (cabealho) - opcional

Encoded: Com estilo RPC Web Services, o mtodo inteiramente especificado no arquivo WSDL

e no corpo SOAP, incluindo os parmetros enviados e os valores de retorno. Desse modo, tem-se uma ligao bastante forte com esse schema. O Encoded indica que a mensagem SOAP ir conter as informaes codificadas como xsi:type=:xsd int, xsi: type = xsd:string .

Literal: Permanece estilo RPC, mas o WSDL ter sua codificao alterada, de modo que os dados so serializados de acordo com o esquema informado. Documentos - Envio de documentos XML para o wev services; - Envio e/ou recebimento de um documento XML - Ligado a XML schemas que definem os documentos. Intermedirios: Ns que podem processar uma mensagem SOAP no caminho do seu emissor para o seu receptor.

Documento WSDL (Web Service Description Language)


um documento que utiliza a linguagem WSDL, que uma linguagem baseada em XML, utilizada para descrever um Web Service. Neste documento o Web Service define todas as suas interfaces, operaes, esquemas de codificao, entre outros, ou seja, um documento WSDL define um XML Schema para descrever um web service. O WSDL descreve os servios como colees de terminais de rede, ou portas. A especificao WSDL fornece um XML formato de documentos para este fim. As definies abstratas de portas e as mensagens so separadas da sua utilizao concreta ou instncia, permitindo a reutilizao dessas definies. Uma porta definida associando um endereo de rede com uma ligao reutilizveis, e uma coleo de portas define um servio. Mensagens so descries abstratas dos dados sendo trocados, e tipos de porta so colees abstratas de operaes apoiadas. O protocolo de concreto e especificaes de formato de dados para um tipo de porta em particular constitui uma ligao reutilizvel, onde as operaes e mensagens so, ento, vinculado a um protocolo de rede concreto e formato de mensagem. Desta forma, WSDL descreve a interface pblica para o servio da Web.

WSDL freqentemente usado em combinao com o SOAP e um esquema XML para fornecer servios da Web atravs da Internet . Um programa cliente se conectar a um servio Web pode ler o arquivo WSDL para determinar quais operaes esto disponveis no servidor. Quaisquer danos especiais tipos de dados utilizados so incorporadas no arquivo WSDL na forma de Schema XML. O cliente pode ento usar SOAP para realmente chamar uma das operaes listadas no arquivo WSDL usando XML ou HTTP. Os elementos fundamentais so: <definitions>

Engloba restantes elementos Define o nome do web service Declara namespaces usados no resto do documento

<types>

Define os tipos de dados usados pelo web service O elemento types define: Tipos de dados referenciados pelo elemento message Utiliza por defeito a especificacao W3C XML Schema Se o web service apenas utiliza tipos de dados simples (definidos no XML Schema), este elemento no requerido

<message>

Define os dados trocados numa operao Relativamente a cada mtodo do web service, define:

Argumentos de entrada Valores de retorno O elemento message define: Identificao atributo name - referenciado por portType Argumentos de entrada / Valores de Retorno pode conter zero ou mais elementos part - argumento de entrada ou valor de retorno do tipo de dados referenciado no atributo type do campo part definido no elemento types.

<portType>

Este elemento descreve o web service: Operaes que podem ser acedidas Mensagens envolvidas nas operaes Cada descrio define as mensagens usadas na operao: Mensagem de entrada Mensagem de sada O elemento portType define: Identificao atributo name - referenciado por binding Operaces Elemento operation - metodo do web service Mensagens

elemento input - mensagem de entrada

<binding>

Detalha como a informao passada entre cliente e ws Protocolos utilizados para aceder aos mtodos do ws Formato dos dados para cada um desses protocolos O elemento binding define: Identificao atributo name - referenciado por service A ligao com o portType definido anteriormente atributo type - referencia o atributo name de portType Elementos referentes ao protocolo e formato dos dados elemento operation - define cada operao em termos dos protocolos usados e do formato dos dados;

<service>

Define o endereo para invocar determinado web service O elemento service define: Identificao atributo name A URL para aceder ao web service elemento port

A ligao com o binding definido anteriormente atributo binding do elemento port - referencia o atributo name de binding Podem ser definidos: diferentes endereos para aceder ao mesmo servio diferentes bindings para o mesmo port type

UDDI (Universal Description, Discovery and Integration)


um protocolo aprovado como padro pela OASIS e especifica um mtodo para publicar e descobrir diretrios de servios em uma arquitetura orientada a servios (SOA), ou seja, um protocolo desenvolvido para a organizao e registro de web services. Esse protocolo gerencia informaes sobre provedores, implementaes e metadados de servios. Os provedores de servios utilizam o UDDI para publicar os servios por ele oferecidos. Os usurios de servios podem utilizar UDDI para descobrir servios que lhes interessem e obter metadados necessrios para utilizar esses servios. Um registo comercial UDDI consiste de trs componentes: Pginas em branco - endereo, contato, e identificadores conhecidos; Pginas Amarelas - categorizaes industrial baseada no padro taxonomias; Pginas Verdes - informaes tcnicas sobre os servios expostos pelo negcio.

Pginas Brancas
Pginas brancas do informaes sobre a empresa que fornece o servio. Isso inclui o nome da empresa e uma descrio do negcio - potencialmente em vrios idiomas. Usando essa informao, possvel encontrar um servio sobre o qual alguma informao j conhecida (por exemplo, localizar um servio com base no nome do provedor). Informaes de contato para o negcio tambm fornecida - por exemplo, o endereo das empresas e nmero de telefone e outras informaes, tais como a Dun & Bradstreet nmero Sistema Universal de Numerao.

Pginas Amarelas

Pginas amarelas fornecer uma classificao do servio ou de negcios, baseada em taxonomias padro. Estes incluem a Standard Industrial Classification (SIC), o North American Industry Classification System (NAICS), ou o padro das Naes Unidas Produtos e Servios Cdigo (UNSPSC). Porque uma nica empresa pode fornecer um nmero de servios, pode haver vrios Pginas Amarelas (cada um descrevendo um servio) associado a uma pgina em branco (que d informaes gerais sobre o negcio).

Pginas Verdes
Pginas verdes so usadas para descrever como acessar um Web Service, com informaes sobre as ligaes de servio. Algumas das informaes est relacionado com o servio da Web - como o endereo do servio e os parmetros e referncias para especificaes de interfaces. Outras informaes no est relacionado diretamente ao Servio da Web - o que inclui e-mail, FTP, CORBA e detalhes de telefone para o servio. Porque um servio Web pode ter vrias ligaes (conforme definido em sua descrio WSDL), um servio pode ter vrios Pginas Verdes, pois cada ligao ter de ser acessado de forma diferente.

Referncias
Dextra Coding your Business(2010) Web Services na Integrao de Sistemas Corporativos, http://www.dextra.com.br/empresa/artigos/webservices.htm Redao Oficina da Net(2007) O que Web Service?, http://www.oficinadanet.com.br/artigo/447/o_que_e_web_service Cunha, D.(2002) Web Services, SOAP e Aplicaes Web, devedgetemp.mozilla.org/viewsource/2002/soap-overview/index_pt_br.html JavaFree.org Tutoriais Admin(2010) Introduo a Web Services, http://javafree.uol.com.br/artigo/871485/

SantAnna, M. (2002) SOAP e Web Services, http://www.linhadecodigo.com.br/Artigo.aspx?id=38

Dantas, T. C. D. (2007) SOAP(Simple Object Access Protocol), http://www.gta.ufrj.br/grad/07_2/daniel/index.html Nunes, P. M. M. (2006) WSDL e UDDI, http://www.gsd.inescid.pt/~ler/docencia/tm0607/slides/WSDL-UDDI-PedroNunes.pdf Baccaro, M. (2010) SOAP e RPC, http://marcobaccaro.wordpress.com/2010/06/29/soap-e-rpc/

Você também pode gostar