Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as  
referëncias (fontes) no último item, reforçando que não deve ser um Copy/Paste e sim uma síntese 
das pesquisas que fizer.


Conceito


Web service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes, com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis, isto é possível pois os web services são componentes que permitem às aplicações enviar e receber dados em formato XML, mesmo que cada aplicação tenha sua própria "linguagem" ela é traduzida para a "linguagem universal" o formato XML. Os web services podem ser acessados usando os protocolos padrão da Web, como por exemplo http, https, etc. web Services podem ser aplicados a qualquer tipo de plataforma de integração e suportam tanto aplicações ponto-a-ponto quanto aplicações distribuídas. Os web services são formados por aplicativos que usam codificações e protocolos padronizados para troca de informações. Assim, são amplamente utilizados em aplicações de cunho comercial permitindo que sistemas de computação interajam através de diferentes ambientes. Os web services dispõem, alem de facilidades nas transações distribuídas, de bom nível de segurança e de serviços de mensagens confiáveis. Portanto, alguns problemas como distribuição, transporte, segurança, autenticação e controle de transações são amenizados através dessa tecnologia.


Alguns dos conceitos principais de Web Services são:

  • Ele é acessível pela Internet pois os serviços se comunicam utilizando protocolos que são independentes de plataforma facilitando a integração em plataformas heterogêneas.
  • Web Services define um protocolo de comunicação e uma interface que pode ser requerida por um cliente ou fornecida pelo servidor de aplicação
  • WSDL (Web Services Description Language) adiciona uma camada de abstração entre a interface do serviço com o cliente e sua implementação.

Funcionamento


SOA


Uma SOA é um modelo de projeto com um conceito profundamente amarrado à questão do encapsulamento de aplicação. A arquitetura resultante estabelece essencialmente um paradigma de projeto, no qual web services são os blocos de construção chave. Isto quer dizer que ao migrar a arquitetura da sua aplicação para uma SOA, estabelece-se um compromisso com os princípios de projeto de web services e a tecnologia correspondente, como partes fundamentais do seu ambiente técnico. Uma SOA baseada em XML web service é construída sobre camadas de tecnologia XML estabelecidas, focada em expor a lógica de aplicação existente como um serviço fracamente acoplado. Para apoiar este modelo, uma SOA promove o uso de um mecanismo de discovery por serviços via um service broker ou discovery agent.

Os três papeis básicos presentes em uma plataforma para Web Services são:


  • "Service Consumer"
O consumidor busca o serviço desejado na base de dados do Broker e utiliza o contrato para ligar a sua aplicação ao provedor. 


  • "Service Provider"
O provedor disponibiliza o serviço na Web e publica o contrato que descreve a sua interface.
  
  • "Service Broker"
O Broker fornece para o cliente as direções necessárias sobre como encontrar o contrato que descreve a interface do serviço.

Funcionalmente, pode-se dividir uma plataforma SOA em três componentes básicos:


  • Transporte - SOAP+XML
O componente de transporte representa os formatos e os protocolos usados para conectar com o serviço. O formato especifica os tipos de dados transmitido e as seqüências de bits para representar os dados nas mensagens. É o protocolo de transporte que faz transferência da mensagem de um ponto a outro.


  • Descrição - WSDL

Este componente representa a linguagem utilizada para descrever um serviço. É a descrição a responsável por juntar o serviço com a aplicação do cliente. Ela descreve o contrato de serviço que contém informações como as operações e os parâmetros que o serviço necessita para se comunicar.


  • Busca - UDDI
O componente de busca implementa o mecanismo responsável por encontrar um serviço e sua descrição na web. esses mecanismos podem ser utilizados também em tempo de execução, tornando a aplicação mais dinâmica.

Tecnologias


Hoje em dia, a maioria dos serviços integrados à Web são feitos a partir de um grupo de tecnologias incluindo:

  • XML - que fornece uma representação de dados independente de plataforma;
  • SOAP - que descreve o protocolo de comunicação e troca de dados;
  • WSDL - que descreve o serviço;
  • UDDI - que fornece uma maneira de encontrar serviços na Web.

Vantagens


as vantagens são varias dentre elas estão:

  • XML é uma linguagem para representação de dados que é extensível e naturalmente independente de plataforma, além de ser amplamente utilizada pela indústria. Em web services, tando a descrição de um serviço quanto a comunicação entre serviços é feita usando XML.
  • Web services têm recebido grande apoio da indústria, particularmente por parte da IBM e da Microsoft. Recentemente, web services se tornatam parte das plataformas J2EE (Java Enterprise Edition, da Sun) e .NET (Microsoft). É possível, por exemplo, que um web service implantado num servidor de aplicações J2EE acesse outro web service implantado numa plataforma .NET.
  • Baseado em padrões abertos: web services são baseados em uma série de padrões abertos e amplamente difundidos, tais como XML, HTTP, SOAP, WSDL e UDDI. Isso assegura que implementações compatíveis com as especificações sejam interoperáveis.
  • As mensagens trocadas entre web services tipicamente usam HTTP como protocolo de transporte, o que em boa parte dos casos evita problemas com firewalls.
  • Os web services são identificados por uma URI (que tipicamente é uma URL), um formato muito utilizado devido à popularização da web e de fácil assimilação pelas pessoas.

Exemplos de código


código para soma de dois números

Imports System.Data.SqlClient

Imports System.Web.Services

<System.Web.Services.WebService(Namespace

= "http://tempuri.org/wstreinamento/Service1")>

_

Public Class Service1

Inherits System.Web.Services.WebService

<WebMethod(Description:="Somar valores")> _ Public Function Somar(ByVal intValor1 As Int32, ByVal IntValor2 As Int32) As Int32 Return intValor1 + IntValor2 End Function


código para consulta ao banco de dados e retornar dados

<WebMethod(Description:="Consulta banco de dados e retorna DataSet")> _ Function RetornaDataSet(ByVal strQuery As String) As DataSet

Dim conn As New SqlConnection Dim cmd As New SqlCommand Dim da As New SqlDataAdapter Dim ds As New DataSet conn.ConnectionString = "Data Source=localHost; User ID=sa; Password=;Initial Catalog= Northwind;" cmd.Connection = conn cmd.CommandText = strQuery da.SelectCommand = cmd da.Fill(ds) conn.Dispose() cmd.Dispose() da.Dispose() Return ds

End Function

End Class

Referências bibliográficas