Web service
Web Services são soluções essenciais para a integração de sistemas e comunicação entre aplicações distintas. Eles permitem que novas aplicações interajam com sistemas existentes e que plataformas diferentes sejam compatíveis. Funcionando como componentes, os Web Services possibilitam o envio e recebimento de dados, traduzindo a 'linguagem' particular de cada aplicação para um formato universal como XML ou JSON.
Pontos-chave
- Web Services facilitam a integração e comunicação entre sistemas e aplicações diversas.
- Permitem a interoperabilidade entre plataformas e tecnologias distintas.
- Utilizam formatos universais como XML e JSON para troca de dados.
- Padrões como SOAP, WSDL e REST são fundamentais para sua construção e operação.
- A segurança é um ponto crucial, com diversos mecanismos como SSL, XML Signature e WS-Security.
Instituições como a W3C e a OASIS são responsáveis pela padronização dos Web Services, com apoio de grandes empresas de tecnologia como IBM e Microsoft. Segundo o W3C, um Web Service é um sistema de software projetado para interoperabilidade entre máquinas em rede, utilizando descrições em formatos processáveis por máquina (WSDL) e mensagens SOAP, geralmente sobre HTTP com XML.
As bases para a construção de Web Services incluem os padrões XML e SOAP. O transporte de dados é comumente realizado via HTTP ou HTTPS. Os dados são transferidos em formato XML, encapsulados pelo protocolo SOAP. O protocolo REST também é amplamente utilizado para transferir o estado dos dados.
Web Services permitem que empresas publiquem serviços de forma segura, isolados de suas bases de dados. Embora existam mecanismos de segurança, a falta de consenso sobre qual adotar é um desafio. Os principais mecanismos incluem SSL/HTTPS, XML Signature, XML Encryption, WS-Security e SAML.
SSL/HTTPS
O SSL (Secure Socket Layer), aplicado em HTTPS, oferece autenticação, integridade e privacidade. Protege informações confidenciais e é fácil de configurar, mas pode ser mais lento que HTTP não cifrado e tem restrições para aplicações com múltiplas partes.
XML Signature
Iniciativa conjunta da IETF e W3C, especifica uma sintaxe XML para assinaturas digitais. Suas vantagens incluem independência de linguagem, facilidade de interpretação humana e capacidade de assinar subconjuntos de documentos XML.
XML Encryption
Especificação do W3C que define como criptografar o conteúdo de elementos XML. Utiliza elementos como EncryptedData, EncryptedKey e KeyInfo para gerenciar a criptografia e descriptografia de dados.
WS-Security
Iniciativa de empresas como Microsoft e IBM para usar XML Signature e XML Encryption em mensagens SOAP, visando a segurança em ambientes globais. Inclui componentes para encaminhamento, confiança e transações.
SAML
Security Assertion Markup Language (SAML) é uma estrutura baseada em XML para troca de informações de segurança (autenticação, autorização, atributos) entre parceiros online, facilitando afirmações sobre identidade e direitos de usuários.
Apesar da popularidade, o SOAP, tecnologia base dos Web Services, apresenta limitações. Incompatibilidades em implementações de WSDL entre diferentes fornecedores podem causar conflitos na interpretação e integração de serviços.
Web Services são vistos como uma solução para a falta de integração de sistemas, permitindo uma abordagem compreensível, reutilizável e padronizada para organizar e conectar uma vasta gama de aplicações, fornecedores e plataformas.
XML é usado para estruturar dados, SOAP para codificar chamadas de operações e parâmetros, WSDL para descrever serviços e UDDI para publicação e descoberta. REST é também comum para transferência de estado.
XML
Extensible Markup Language (XML) é a base dos Web Services, fornecendo a estrutura para descrição, armazenamento e troca de dados, além de definir como os serviços são publicados e descobertos.
REST
Representational State Transfer (REST) é um estilo arquitetural baseado em HTTP que permite a interoperabilidade entre sistemas na Internet, acessando e manipulando recursos da Web de forma padronizada e sem estado.
SOAP
Simple Object Access Protocol (SOAP) permite a invocação remota de métodos, formatando dados em XML e enviando-os via HTTP. Garante interoperabilidade entre diferentes linguagens e sistemas, sendo uma norma aceita para Web Services.
WSDL
Web Services Description Language (WSDL) é um padrão baseado em XML que descreve os serviços oferecidos, funcionando como uma 'TypeLibrary' para Web Services. É usado para validação de chamadas e documentação de sistemas distribuídos.
UDDI
Universal Description Discovery and Integration (UDDI) é um protocolo para registro e descoberta de Web Services, permitindo que empresas publiquem e busquem por serviços disponíveis em um diretório.
WS-I
O Web Services Interoperability Organization (WS-I) é um consórcio focado em garantir a interoperabilidade entre Web Services, assegurando que eles possam 'conversar entre si' de forma eficaz.
O sucesso dos Web Services depende da colaboração da indústria e da abertura de processos de normalização. Iniciativas como UDDI, ebXML e XML/EDI, desenvolvidas em consórcios como W3C, UN/CEFACT e OASIS, buscam expandir as funcionalidades para colaborações de negócio eletrônico.
Contribuição das Empresas
Grandes empresas como Microsoft (.Net), Sun (Java ONE), HP (e-speak) e IBM (IBM Web Services) participam ativamente de consórcios e incorporam normas de Web Services em suas plataformas de desenvolvimento e suporte.
O futuro dos Web Services pode trazer novos modelos de negócio, como portais focados no registro e descoberta de serviços para aplicações. No entanto, também surgem novos requisitos tecnológicos, como modelagem de serviços, composição, segurança, negociação e tratamento de exceções.
Novos Modelos de Negócio
A emergência de portais para registro e descoberta de serviços (UDDI, ebXML) pode criar novos modelos de negócio, tanto em nível global quanto regional ou setorial, focados na interação entre aplicações.
Novos Requisitos Tecnológicos
A evolução dos Web Services levanta questões tecnológicas como composição de serviços, coordenação de fluxos de trabalho, segurança, negociação, contratos, pagamentos e tratamento de exceções, que necessitam de investigação e padronização.
Web Services facilitam o desenvolvimento de aplicações de negócio eletrônico, promovendo colaboração aberta e dinâmica. Suas vantagens incluem tecnologias abertas e consensuais (HTTP, SOAP, WSDL, UDDI, XML), independência de linguagens e plataformas. Uma desvantagem é a menor eficiência do SOAP em comparação com RPCs binários, devido ao uso de XML textual.


