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.

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


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