| 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
_
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