segunda-feira, 7 de novembro de 2022

Funções de um Web Services

 

Funções de um web services

Serviços podem assumir diferentes funções quando envolvidos em diversos cenários de interação. Dependendo do contexto pelo qual é visualizado, assim como o estado da tarefa rodando no momento, o mesmo web service pode trocar de papéis ou ser designado para múltiplos papéis simultâneos:

Provedor de serviços

Agindo como um provedor de serviços, um web service expõe uma interface pública através da qual pode ser chamado por solicitantes do serviço. Um provedor de serviços disponibiliza esta interface publicando uma descrição do serviço. Num modelo cliente-servidor, o provedor de serviço pode ser comparado ao servidor.

O termo “provedor de serviço” pode também ser usado para descrever a organização ou ambiente que hospeda (provê) o web service.

Um provedor de serviço pode também agir como um solicitante de serviço. Por exemplo, um web service pode atuar como um provedor de serviço quando um solicitante de serviço lhe pede para executar uma função. Pode então atuar como um solicitante de serviço quando mais tarde contata o solicitante de serviço original (agora agindo como um provedor de serviço) para solicitar informação de status.

Solicitante de serviço

Um solicitante de serviço é o remetente de uma mensagem web service ou o programa de software solicitando um web service específico. O solicitante de serviço é comparável ao cliente dentro de um modelo cliente-servidor padrão. Solicitantes de serviços são às vezes chamados de consumidores de serviços.

Um solicitante de serviço pode também ser um provedor de serviço. Por exemplo, num modelo de solicitação e resposta, o web service iniciador primeiro age como um solicitante de serviço ao requerer informações do provedor de serviço. O mesmo web service então, faz o papel de um provedor de serviço ao responder à solicitação original.

Intermediário

O papel de intermediário é assumido pelo web service quando ele recebe a mensagem de um solicitante de serviço e a passa adiante para o provedor de serviço. Neste caso, ele  pode também agir como um provedor de serviço (recebendo a mensagem) e como um solicitante de serviço (passando adiante a mensagem).

Intermediários podem existir em muitas formas diferentes. Alguns são passivos e simplesmente re-transmitem ou roteam as mensagens, enquanto outros processam ativamente uma mensagem antes de repassá-la. Tipicamente, aos intermediários só é permitido o processamento e modificação do cabeçalho da mensagem. Para preservar a integridade da mensagem, seus dados não devem ser alterados.

Remetente inicial

Como o web service responsável por iniciar a transmissão da mensagem, remetentes iniciais também podem ser considerados solicitantes de serviço. Este termo existe para ajudar a diferenciar o primeiro web service que envia uma mensagem, dos intermediários também qualificados como solicitantes de serviço.

Receptor final

O último Web service a receber uma mensagem é o receptor final. Estes serviços representam o destino final de uma mensagem e também podem ser considerados provedores de serviço.

Interação de web service

Quando mensagens são passadas entre dois ou mais web services, uma variedade de cenários de interação pode acontecer. A seguir, termos comuns utilizados para identificar e etiquetar estes cenários serão apresentados.

Caminho da mensagem

A rota pela qual a mensagem viaja é o caminho da mensagem. Deve consistir de um remetente inicial e um receptor final e pode conter nenhum, um, ou mais de um intermediários. A Figura 5 ilustra um caminho de mensagem simples.

O caminho de transmissão atual percorrido por uma mensagem pode ser dinamicamente determinado por roteadores intermediários. A lógica de roteamento pode ser ativada em resposta à carga de requisitos de balanceamento, ou pode ser baseada nas características da mensagem e outras variáveis lidas e processadas pelo intermediário em tempo de execução.

 A transmissão da mensagem é enviada via um ou dois caminhos possíveis, que é determinado pelo roteador que faz a intermediação da transmissão.

Programar serviços Web

 Utilize ferramentas de serviços Web para localizar, criar e publicar serviços Web criados a partir de beans Java™ beans empresariais e ficheiros WSDL. Pode criar serviços Web através de uma abordagem de cima para baixo (que começa com um ficheiro WSDL) ou de uma abordagem de baixo para cima (que começa com um bean Java ou com um EJB).

Sobre esta tarefa

Nesta edição, o caminho de programação que normalmente seguiria ao criar e publicar um serviço Web é o seguinte:

  1. Criar um projecto da Web.
  2. Criar ou importar um artefacto para ser transformado num serviço Web.
  3. Criar um serviço Web.
  4. Publicar uma entidade empresarial.
  5. Publicar um serviço Web.
Resultados

Para mais instruções sobre a execução destas tarefas, consulte a lista de tópicos relacionados no final deste tópico.

As ferramentas da Web auxiliam o desenvolvimento de aplicações da Web que pode configurar como um serviço Web. As aplicações da Web são desenvolvidas num projecto Web e as ferramentas do Servidor permitem utilizar o ambiente de teste do servidor para testar e implementar os seus serviços Web.

Criar serviços Web de cima para baixo

Os serviços Web podem ser criados através de dois métodos: programação de cima para baixo e de baixo para cima. A programação dos serviços Web de cima para baixo implica a criação de um serviço Web a partir de um ficheiro WSDL.

Sempre que cria um serviço Web a partir de uma abordagem de cima para baixo, concebe primeiramente a implementação de um serviço Web através da criação de um ficheiro WSDL. Pode fazer isto utilizando o Editor de WSDL. Posteriormente poderá utilizar o assistente de serviços Web para criar o serviço Web e as classes de estrutura Java™ às quais pode adicionar o código exigido.

Embora a programação de serviços Web de baixo para cima seja mais fácil e rápido, sobretudo se o utilizador não tem experiência na programação de serviços Web, a abordagem de cima para baixo é a via aconselhável para criar um serviço Web. Criar o ficheiro WSDL em primeiro lugar permitir-lhe-á, finalmente, ter um maior controlo sobre o serviço Web e eliminar questões de interoperacionalidade que poderão surgir na criação de um serviço Web através do método de baixo para cima.


Criar serviços Web de baixo para cima

Os serviços Web podem ser criados através de dois métodos: programação de cima para baixo e de baixo para cima. A programação dos serviços Web de baixo para cima implica a criação de um serviço Web a partir de um bean Java™ ou bean empresarial.

Embora a programação de serviços Web de baixo para cima seja mais fácil e rápido, sobretudo se o utilizador não tem experiência na programação de serviços Web, a abordagem de cima para baixo é a via aconselhável para criar um serviço Web.

Se pretende criar um serviço Web através de uma abordagem de baixo para cima, deve, antes de mais, criar um bean Java ou um bean EJB e, em seguida, utilizar o assistente dos serviços Web para criar o ficheiro WSDL e o serviço Web.


Fonte:  IBM Brasil

Padrões de serviços Web

 

Padrões de serviços Web

Um dos atributos chave dos padrões da Internet é o facto de se poderem concentrar em protocolos e não em implementações. A Internet é constituída por tecnologias heterogéneas que interoperam com êxito através de protocolos partilhados. Este facto evita a imposição de uma norma na Internet por parte dos revendedores individuais. O desenvolvimento de software em código aberto desempenha um papel crucial na preservação da interoperacionalidade das implementações de padrões pelo revendedor.

Os padrões que se seguem desempenham papéis fundamentais nos serviços Web: Descrição, Localização e Integração Universais (UDDI), Linguagem de Descrição de Serviços Web (WSDL- Web Services Description Language), Linguagem de Inspecção de Serviços Web (WSIL- Web Services Inspection Language), SOAP e Interoperacionalidade dos Serviços Web (WS-I). A relação entre estes padrões está descrita na Figura 2.

A especificação UDDI define padrões abertos e independentes de plataformas que permitem às empresas partilhar informações num registo de empresas global, localizar serviços nesse registo e definir o modo como interagem na Internet. Para obter mais informações sobre a UDDI, consulte www.uddi.org

A WSIL é uma especificação aberta baseada em XML que define um método de localização de serviços distribuído o qual fornece referências a descrições de serviços no ponto de oferta do fornecedor de serviços, especificando o modo de procurar serviços Web disponíveis um sítio da Web Relação entre o UDDI e a WSIL.  Para obter mais informações sobre a WSIL, consulte www.ibm.com/developerworks/webservices/library/ws-wsilspec.html

A WSDL é uma especificação aberta baseada em XML que descreve as interfaces e instâncias dos serviços Web na rede. É uma especificação extensível, por isso os terminais podem ser descritos independentemente os formatos da mensagem ou dos protocolos de rede utilizados para comunicar. As empresas podem disponibilizar os documentos WSDL para os seus serviços Web através do UDDI, WSIL ou difundindo as URLs para o WSDL via e-mail ou através dos sítios da Web. A WSDL é descrita como um tópico diferente nesta documentação. Para obter mais informações sobre a WSDL, consulte www.w3.org/TR/wsdl

O SOAP é um padrão baseado em XML para serviços de mensagens em HTTP e outros protocolos da Internet. Trata-se de um protocolo ligeiro para a permuta de informações num ambiente descentralizado e distribuído. É baseado em XML e é constituído por três partes:
  • Um envelope que define uma estrutura para descrição do conteúdo de uma mensagem e o modo de processá-la.
  • Um conjunto de regras de codificação para expressar instâncias de tipos de dados definidos pela aplicação.
  • Uma convenção para representar chamadas de procedimento remotas e respostas.
O SOAP permite a associação e a utilização de serviços Web identificados, definindo um caminho de mensagem para mensagens de reencaminhamento. O SOAP pode ser utilizado para consultar o UDDI para serviços Web. Para obter mais informações sobre o SOAP 1.1 (SOAP 1.2 não é suportado pelas ferramentas dos serviços Web), consulte www.w3.org/TR/SOAP

Figura 2. Relações entre SOAP, UDDI, WSIL e WSDL.

A Figura 2 ilustra as relações entre SOAP, UDDI, WSIL e WSDL.

Um fornecedor de serviços aloja um serviço Web e torna acessível a utilização de protocolos, tais como SOAP/HTTP ou SOAP/JMS. O serviço Web é descrito por um documento WSDL armazenado no servidor do fornecedor ou num repositório especial. O documento WSDL pode ser referenciado pelo registo de empresa UDDI e os documentos WSIL. Estes contêm indicadores para os ficheiros WSDL dos serviços Web.

O WS-I Simple SOAP Binding Profile e o WS-I Attachments Profile são esquemas de requisitos com os quais a WSDL e o tráfego (SOAP/HTTP) do protocolo dos serviços Web e WSDL deverão estar de acordo de modo a poder declarar conformidade com a WS-I. As ferramentas de validação dos serviços Web WS-I suportam actualmente o SOAP Binding Profile 1.0 e o Attachment Profile 1.0. Para ver as especificações, consulte o sítio da Web da WS-I, e em Recursos seleccione Documentaçãohttp://www.ws-i.org

Vários novos padrões de serviços Web são igualmente suportados por este ambiente de programação. Estes incluem:
JAX-RPC
O JAX-RPC representa uma API Java™ para RPCs baseados em XML, também conhecidos como JSR 101. Trata-se de uma especificação que descreve Interfaces de Programação da Aplicação Java (APIs) e convenções para criar serviços Web e clientes de serviços Web que utilizam chamadas de procedimento remotas (RPC) e XML. Normaliza a linguagem Java para WSDL e a WSDL para correlações Java e fornece as APIs centrais para desenvolvimento e implementação de serviços Web e de clientes de serviços Web na plataforma Java. Para obter mais informações consulte as especificações oficiais.
JSR-109
O JSR-109 (Implementação de Serviços Web Empresariais ) define o modelo de programação e a arquitectura de tempo de execução para implementar e verificar serviços Web no ambiente da Java EE; mais precisamente, na Web, o EJB e os contentores de Aplicação Cliente. Um dos principais objectivos é assegurar que as implementações dos fornecedores interoperem. Para obter mais informações consulte as especificações oficiais:
WS-S
Estas ferramentas suportam o padrão da OASIS Web Services Security 1.0. Para obter mais informações sobre os vários componentes deste padrão, consulte:

As ferramentas dos serviços Web suportam as seguintes especificações:

Tecnologia ou especificação
Versão ou nível suportado
Transportes
HTTP/HTTPSv1.0 e v1.1
JMS 
Serviços de Mensagens
Especificação SOAPv1.1
Anexos SOAP 
Descrição
UDDIv2.0
WSDLv1.1
WSILv1.0
Segurança
WS-SecurityOASIS Standard 1.0
Interoperacionalidade
WS-I Basic Profile1.1.2
WS-I Simple SOAP Binding Profile1.0.3
WS-I Attachments Profile1.0
Outros Padrões 
JAX-RPCv1.0 para J2EE 1.3, v1.1 para J2EE 1.4 e Java EE 1.5
JSR 109 

Ferramentas de Serviços Web

 As ferramentas são facultadas para auxiliar os seguintes aspectos do desenvolvimento dos serviços Web:

  • Localizar. Pesquisar os Registos de Negócio UDDI ou documentos WSIL para localizar serviços Web existentes para integração.
  • Criar ou Converter. Criar serviços Web de baixo para cima a partir dos artefactos existentes, tais como beans Java™ e beans empresariais. Criar serviços Web de cima para baixo a partir de WSDL localizados a partir de outros ou criados através da utilização do Editor WSDL.
  • Construir. Conjugar artefactos existentes, tais como serviços acessíveis do SOAP, e descrevê-los em WSDL. Os assistente de serviços Web auxiliam o utilizador na geração de um proxy de cliente Java para serviços Web descritos em WSDL e na geração de estruturas bean Java a partir de WSDL.
  • Implementar. Implementar serviços Web para uma variedade de ambientes de teste.
  • Teste. Testar serviços Web em execução local ou remota, de forma a obter comentários imediatos.
  • Desenvolver. Gerar aplicações exemplo para auxiliar na criação da sua própria aplicação de cliente de serviço Web.
  • Publicar. Publicar serviços Web num Registo de Negócios UDDI v2 ou v3, anunciando os seus serviços Web de forma a que outras empresas e clientes possam ter acesso aos mesmos.

Serviços Web

 

Descrição geral de serviços Web

Um serviço Web é um conjunto de funções de aplicação relacionadas que podem ser invocadas programaticamente na Internet. As empresas podem misturar e corresponder dinamicamente os serviços Web para executar transações complexas com uma programação mínima. Os serviços Web permitem que compradores e vendedores em todo o mundo se identifiquem mutuamente, contactem de forma dinâmica e executem transações em tempo real com a mínima interação humana.

Os serviços Web são aplicações modulares contidas e descritas a si próprias que podem ser publicadas, localizadas e invocadas na Web.

 

Os serviços Web são independentes. No lado do cliente, não é necessário nenhum software adicional. Uma linguagem de programação com o suporte do cliente XML e HTTP é suficiente para poder começar. No lado do servidor, são necessários um servidor da Web e um motor servlet. O cliente e o servidor podem ser implementados em ambientes diferentes. O servidor da Web pode activar uma aplicação existente sem gravar uma única linha de código.

 

Os serviços Web descrevem-se a si próprios. O cliente e o servidor necessitam de reconhecer apenas o formato e o conteúdo de mensagens de pedido e de resposta. A definição do formato da mensagem desloca-se com a mensagem; não são necessários repositórios de metadados externos, nem ferramentas de geração de código.

 

Os serviços Web são modulares. Os serviço Web simples podem ser agrupados para formar serviços Web mais complexos, utilizando técnicas de fluxo de trabalho ou chamando serviços Web de nível mais baixo a partir de uma implementação de serviço Web.

 

Os serviços Web são independentes de plataformas. Os serviços Web baseiam-se num conjunto conciso de padrões abertos baseados em XML, concebidos para a promoção da interoperacionalidade entre um serviço Web e os clientes, ao longo de várias plataformas de cálculo e de linguagens de programação.

 

Os serviços Web podem ser qualquer coisa, como por exemplo, artigos de crítica de teatro, boletins meteorológicos, análises de crédito, cotações da bolsa, avisos de viagens ou processos de reserva de viagens de avião. Cada um destes serviços empresariais independentes é uma aplicação que pode facilmente integrar-se com outros serviços, quer da mesma empresa, quer de empresas diferentes, para criar um processo empresarial completo. Esta interoperacionalidade permite às empresas publicar, localizar e associar dinamicamente uma variedade de serviços Web na Internet.

Categorias de serviços Web

Os serviços Web podem ser agrupados em três categorias:

 

Informações sobre a empresa. Uma empresa partilha informações com os consumidores e com outras empresas. Neste caso, a empresa está a utilizar serviços Web para expandir o seu âmbito. Exemplos de serviços Web de informações de empresas são notícias, boletins meteorológicos ou cotações da bolsa.

 

Integração de empresas. Uma empresa fornece, aos seus clientes, serviços transacionais com comissões. Neste caso, o negócio torna-se parte de uma rede global de fornecedores de valor adicionado que podem ser utilizados para proceder ao comércio. Alguns exemplos de serviços Web de integração de empresas incluem e-marketplaces de licitações e leilões, sistemas de reservas e verificações de crédito.

 

Exteriorização do processo empresarial. Um negócio distingue-se da competição através da criação de uma cadeia de valores global. Neste caso, a empresa utiliza serviços Web para integrar os seus processos dinamicamente. Um exemplo de serviços Web de processo de exteriorização de uma empresa é a associação entre empresas diferentes de forma a combinar o fabrico, a montagem, a distribuição por grosso e a venda a retalho de um determinado produto.

 

Funções e interações de serviços

Uma componente de rede numa arquitetura de serviços Web pode desempenhar um ou mais papéis fundamentais: fornecedor de serviços, corretor de serviços e cliente de serviços.

  • Os fornecedores de serviços criam e implementam os seus serviços Web e podem publicar a disponibilidade dos seus serviços descritos pelo WSDL através de um registo de serviços, tal como o Registo de Negócio UDDI.
  • Os corretores de serviços registam e categorizam serviços publicados e fornecem serviços de procura. Por exemplo, a UDDI age como um corretor de serviços para serviços Web descritos pelo WSDL.
  • Os clientes de serviços utilizam serviços do corretor, tais como o a UDDI Business Registry para localizar um serviço descrito pelo WSDL necessário e para associar e chamar um fornecedor de serviços.

A associação implica estabelecer todos os pré-requisitos ambientais necessários para concluir os serviços com sucesso. Exemplos de pré-requisitos ambientais incluem a segurança, monitorização da transação e disponibilidade do HTTP. As relações entres estas funções estão descritas na Figura 1.

Figura 1. Funções e interações de serviços

A Figura 1 ilustra as interacções entre o corrector de serviços, o fornecedor de serviços e o requisitante de serviços.

Para obter mais informações sobre serviços Web, consulte www.ibm.com/developerworks/webservices