Webservices

Introdução

Um grande problema que existia era a comunicação entre conjuntos de aplicações diferentes. Alem disso com o surgimento de novas aplicações tornava-se uma tarefa complexa interagir com aplicações já existentes e assim dificultava a integração de sistemas que também poderiam esta em plataformas diferentes. Como solução para isso, foi criado o web service, na qual essa tecnologia se baseia em disponibilizar vários serviços na internet que permitir uma maior integração entre diversas aplicações. Sendo que utilizem interface de acesso bem definida e simples.

Web Service

A utilização de web service, simplesmente é impressionante, pois é possível acessar rotinas de endereçamento postal (CEP), calcular valores de fretes dos sites de comércio eletrônico, validação de cartão de créditos etc.
Os web services são identificados por uma URI (Unifique Resource Identififier) que requer dois requisitos fundamentais:

  • Comunica-se sempre via protocolo HTTP (Hiper Text Markup Language);
  • São definidos e descritos em formato XML (Extensible Markup Language).

Cada programa pode ter sua própria linguagem que é traduzindo e convertido, para uma linguagem universal, o XML, logo é possível trocar dados ou solicitar serviços pela rede de internet. Porem, para realizar essa trocar de mensagens entre aplicações é necessário um padrão, o SOAP (Simple Object Access Protocol) é um padrão aberto criado pela Microsoft, IBM e Ariba para padronizar a transferência de dados entre diversas aplicações.
Entre outras utilizações, SOAP foi projetado para encapsular e transportar chamadas RPC ou chamadas remotas de procedimentos.

Tecnologias

Com uma gama gigantesca de web services resultou no surgimento de um conjunto de tecnologias complementares que se tornaram um padrão. O W3C e OASIS (Organization for the Advancement of Structured Information Standards) são as instituições responsáveis por gerir esta padronização. Portanto ao desenvolver web services deve-se considerar o uso dessas tecnologias:

  • WDSL

WDSL (Web Service Description Language) é um documento escrita em XML, com uma gramática XML definida que descreve os protocolos que podem ser utilizados para acessar o web service, capazes de trocar mensagens, fazendo com que o documento especifique a localização do serviço e as operações disponíveis, tais como: a URL de acesso, o nome do web service , a descrição de cada método e como fazer a solicitação via SOAP (Simple Object Access Protocol), GET ou POST. Um web service deve, portanto, definir todas as suas interfaces, operações, esquemas de codificação, entre outros neste documento.
As definições de serviço WSDL provêm documentação para sistemas distribuídos e servem como uma receita para automação dos detalhes envolvidos em comunicação de aplicações.
O documento WSDL permite a geração automática de clientes para os web services, pois todo web service tem o seu WSDL. Assim, os aplicativos conseguem gerar clientes do web service após o “parsing” do documento WSDL. Essa possibilidade traz grande praticidade e poder à tecnologia de web services.

  • UDDI

UDDI (Universal Description, Discovery, and Integration) é um protocolo baseado em XML, independente de registro, para que negócios ao redor do mundo sejam listados por eles mesmos na internet, encorajando a interoperabilidade e adoção de serviços web, por estar integrado ao padrão WS-I (Web Services Interoperability) como um pilar central de infra-estrutura de web services.
O UDDI é uma iniciativa do consócio industrial, patrocinada pela OASIS, estabelecendo negócios ao publicar listagens de serviço e descobrir cada um, além de definir como os serviços ou as aplicações de softwares interagem com a internet.

O UDDI foi escrito em 2000 e fundado pela IBM, Ariba e Microsoft, originalmente proposto como um núcleo padrão de web service. Ele era para ser uma fonte de transmissão de mensagens SOAP e prover acesso aos documentos WSDL, descrevendo as ligações de protocolo e formatos de mensagem requeridos para interagir com os web services listados em seu diretório. No momento de sua construção, os seus autores tinham uma visão de um mundo em que os consumidores de web services seriam “linkados” por provedores através de um sistema de corretagem dinâmica e privada. Nesta visão, qualquer pessoa que precisasse de um serviço, como autenticação de cartão de crédito, iria para seu corretor e selecionaria um que suportasse e SOAP desejado ou outra interface de serviço além de outro critério de encontro. Para o consumidor, corretores públicos ou abertos somente retornariam serviços listados para descobertas públicas de outros, enquanto para um produtor de serviço, tendo uma boa colocação na corretagem (ao confiar nos dados de categorias de índices autoritários), seria crítico para colocação efetiva.

O UDDI provê um conjunto de especificações baseadas em padrões para serviço de descrição e descoberta, também como um conjunto de implementações baseadas na internet.

Um registro UDDI consiste de três informações:

  • Informações gerais de cada organização, por exemplo: endereço, contato e telefone;
  • Informações de organizações e serviços de categoria de negócios;
  • Informação técnica sobre serviços disponibilizados pelas organizações.

O UDDI constrói uma camada de transporte de rede e uma camada de mensagem XML baseada em SOAP. As linguagens de descrição de serviço, como WSDL, provêem um vocabulário XML uniforme (similar a um IDL (Interactive Data Language)) para uso em descrição de web services e suas interfaces. O usuário pode construir sob toda fundação ao adicionar capacidades em camadas, como descrições de workflow de web services usando WSFL (Web Services Flow Language), segurança, coordenação e características de qualidade de serviço.

Algumas pessoas defendem que o lugar mais comum que um sistema UDDI pode ser achado é dentro de uma empresa onde ele é usado para dinamicamente ligar os sistemas cliente às implementações. Elas diriam que muitos dos dados de busca permitidos no UDDI não são usados em suas funções principais. Entretanto, o núcleo da infra-estrutura de negócio sob o UDDI, quando disposto nos registros de negócios universais, ele tem feito que toda a informação torne-se disponível a qualquer aplicação cliente, exceto aos domínios de computação heterogêneos.

As principais funções de um UDDI são: publicação de serviços da organização permite que cliente procure e encontrar um determinado serviço e permite o cliente do serviço possa estabelecer a ligação e interação com o serviço.

  • WS-I

WS-I (Web Services Interoperability Organization) é um consórcio industrial não-lucrativo, registrado para arquivar interoperabilidade de web services juntamente com a pilha de especificações de web services. O WS-I não define padrões para web services, ele cria linhas e testes para a interoperabilidade. Ele é usado pelas organizações que promovem interoperabilidade de web services através de plataformas, sistemas operacionais e linguagens de programação distintas.
Ele somente usa recomendações aprovadas por corpos de padrões como e OASIS. Atualmente, os perfis disponíveis do WS-I cobrem somente o nível de segurança WS-Security 1 de diferentes especificações implementadas pelo WSIT.
Ele é organizado por um grupo de diretores, constituintes dos membros fundadores (IBM, Microsoft, BEA Systems, , SAP, Oracle, Fujitsu, Hewlett-Packard, e Intel) além de dois membros eleitos (atualmente a Sun Microsystems e webMethods).
As entregas das organizações incluem perfis, aplicações-exemplo que demonstram o uso dos perfis e ferramentas de teste para ajudar a determinar a conformidade do perfil.

Conclusão

Nos Web Services, os processos são separados em módulos independentes disponíveis através do protocolo HTTP. Algumas ferramentas de desenvolvimento já possuem toda essa funcionalidade dentro delas, permitindo que ganhe tempo no que diz respeito a lógica do sistema.E por ser usado por organizações que verificam a relação de web services através de plataformas, sistemas operacionais e linguagens de programação é uma grande tecnologia para a cada dia especializar e interrelacionar aplicações de diferentes seguimentos, e assim tendo mais dinâmica e portabilidade para qualquer tipo de plataforma.

Bibliografia

Data: 08/04/2009, 18:48hs
http://msdn.microsoft.com/pt-br/library/cc564893.aspx

Data: 08/04/2009. 18:52hs
http://devedge-temp.mozilla.org/viewsource/2002/soap-overview/index_pt_br.html

Data: 08/04/2009, 19:03hs
http://www.devmedia.com.br/articles/viewcomp.asp?comp=2873&hl=*web*%20and%20*service*

Data: 08/04/2009, 19:20hs
http://pt.wikipedia.org/wiki/Web_service

Data: 08/04/2009, 19:36hs
http://imasters.uol.com.br/artigo/1680/webservices/visao_geral_sobre_webservices/

Data: 09/04/2009, 01:17hs
http://www.gta.ufrj.br/grad/05_1/webservices/home.htm

Data: 14/04/2009, 23:18hs
Especificação WSDL 1.1
http://www.w3c.org/TR/wsdl

Data: 14/04/2009, 23:23hs
http://www.sinfic.pt/SinficWeb/conteudo/displayconteudo.do2?numero=21197

Web Service, connecting extreme

T07-Gabriel Brawne,Marlon Ferreira,Silvio Guedes

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License