JorgeLz (discussão | contribs)
JorgeLz (discussão | contribs)
Linha 20: Linha 20:
= SOA =
= SOA =
<br>
<br>
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 =
= Tecnologias =

Edição das 01h55min de 19 de abril de 2016

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


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