WSRP

WSRP é um padrão utilizado para o desenvolvimento de portais, que é uma especificação de Web Services usado para descrever o acesso ao conteúdo remoto de um portal. Em combinação com o padrão JSR-168, facilita os desenvolvedores de portlets a publicar seus portlets em um portal remoto (YANG; WANG; ALLAN, 2002).

O padrão WSRP é um produto de OASIS (Organization for the Advancement of Structured Information Standards), em que define um padrão de uma interface para comunicação para Web Services. Esses serviços processam interações dos usuários e fornecem a interoperabilidade, agregando os serviços em portais. Uma das características mais importantes é que os serviços são orientados a apresentação, permitindo que o usuário possa interagir diretamente ao serviço a partir da interface (CASTLE, 2005).

(CASTLE, 2005) destaca que o WSRP está construído em cima de padrões Web Services existentes, como SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) e UDDI (Universal Description, Discovery and Integration). Na figura abaixo é demonstrado um desenho esquemático contendo as tecnologias existentes em WSRP:

WSRP – Web Services for Remote Portlets

O WSRP (Web Services for Remote Portlets) permite a fácil integração de portlets remotos, aplicativos e conteúdo no portal.

O padrão e a especificação WSRP são fornecidos pelo OASIS. Ele define uma interface de comunicação de serviços da Web para serviços da Web orientados à apresentação interativa. Esse padrão simplifica a integração de portlets remotos, aplicativos e conteúdos em portais. Com o WSRP, os administradores do portal podem selecionar uma grande variedade de conteúdo remoto, portlets e aplicativos e integrá-los em seus portais com apenas alguns cliques no mouse, e sem nenhum esforço de programação. Os produtores e consumidores usam essa interface para fornecer e consumir serviços da Web. O WSRP permite que os usuários desempenhem as seguintes tarefas:

  • Os produtores podem fornecer portlets como serviços do WSRP orientados à apresentação e torná-los disponíveis aos Consumidores que desejam utilizar esses serviços.
  • Os Consumidores podem selecionar a partir de uma grande variedade de serviços da Web disponíveis e integrá-los em seus portais.
  • Os usuários podem, então, acessar os serviços e trabalhar e interagir com eles apenas como eles o fazem com os portlets locais.

Utilizar o WSRP para executar essas tarefas tem os seguintes benefícios:

  • O WSRP torna-se o meio para os fornecedores de conteúdo e aplicativos fornecerem seus serviços de forma facilmente consumível para as organizações que executam portais.
  • Em virtude das interfaces comuns e bem definidas do WSRP, todos os serviços da Web que implementam o WSRP conectam-se a todos os portais pertencentes ao WSRP sem requerer qualquer adaptador específico ao serviço. Um único adaptador independente de serviço no lado do portal é suficiente para integrar quaisquer serviços do WSRP.
  • A integração do conteúdo e dos aplicativos nos portais está mais fácil. Agora, nenhum esforço de programação customizada utilizando uma variedade de interfaces e protocolos diferentes é requerido. Os administradores do portal não precisam mais gravar o código de interface para adaptar os serviços do WSRP para o portal.
  • Os serviços orientados para apresentação, visto que foram padronizados pelo WSRP, permitem que os portais do Produtor entreguem os dados solicitados e sua apresentação ao portal do Consumidor. Anteriormente, eles forneciam apenas os dados e os administradores do portal tinham que fornecer a lógica de como apresentar os dados.
  • Os administradores do portal não precisam manter o código dos serviços do WSRP localmente em seus dispositivos de armazenamento.
  • Os serviços do WSRP parecem e operam para os usuários do portal exatamente como portlets locais.

Arquitetura WSRP

De acordo com a especificação WSRP (CASTLE , 2005), define-se os seguintes atores dentro de uma arquitetura WSRP:

WSRP Producer (Produtor): é um serviço web que oferece um ou mais portlets e implementam um conjunto de interfaces WSRP. Este serviço pode oferecer ainda, apenas um portlet ou um container para distribuir e gerenciar diversos portlets.

WSRP Portlet: um WSRP Portlet inclui componentes de interface do usuário que reside dentro do WSRP Producer, para que estes possam ser acessados remotamente através de uma interface definida por WSRP Producer.

WSRP Consumer (Consumidor): é um serviço cliente web que consume os serviços oferecidos pelo WSRP Producer e provê um ambiente para os usuários interagirem com os portlets oferecidos por um ou mais serviços web. Um exemplo de WSRP Consumer é um Portal.

Na figura abaixo é demonstrado cada um dos atores preliminares de uma arquitetura WSRP:

Arquitetura WSRP

Arquitetura cliente WSRP

Na figura abaixo um exemplo dos portlets ou WSRP Producers e Consumers interagindo. No inicio da figura demonstra um Portlet Producer, no qual pode estabelecer uma comunicação (seta 1) com os portlets consumers (Portals Servers) via serviços padrões web como SOAP/UDDI/WSDL. Um dos possíveis consumidores processam o conteúdo do portlet producer, podendo organizar os dados como é conveniente, emitindo-os nas aplicações clientes (seta 2), abstraindo qualquer ideia de uma arquitetura portlet . Depois a aplicação cliente pode retornar resultados ou ações ao portlet consumer correspondente, finalizando o processo ou pode redirecionar ao portlet producer para obter novos resultados (setas 3 e 4) (RUBIO , 2005).

arquitetura wsrp

Produtor

Os Produtores do WSRP fornecem serviços WSRP para Consumidores que os integram em seus portais para seus usuários.

Um Produtor do WSRP é um portal que fornece serviços WSRP. Os portais do Consumidor podem então, consumir esses serviços WSRP como portlets remotos.

A parte do Produtor da implementação do WSRP no portal fornece um ponto de entrada adicional no portal do Produtor, permitindo que o portal forneça aplicativos de portlet ou portlets únicos como serviços do WSRP. O Produtor funciona como o “servidor” da comunicação do WSRP.

Um Produtor do WSRP fornece um ou mais portlets como serviços do WSRP para ser chamado pelos aplicativos do Consumidor que residem nos sites remotos. O portal do Produtor recebe os pedidos do portal do Consumidor para o serviço WSRP. O portal do Produtor gera a marcação conforme necessário e envia a mesma ao portal do Consumidor, onde é exibida para o usuário que iniciou o pedido.

Para permitir comunicação entre o portal do Produtor e o portal do Consumidor, o Produtor fornece um conjunto de interfaces aos Consumidores. Essas interfaces são definidas pelo WSRP padrão. O Produtor pode expor algumas ou todas essas interfaces para os Consumidores, conforme apropriado. O Produtor descreve essas interfaces do WSRP no documento WSDL (Web Services Description Language). O documento WSDL fornece informações técnicas gerais sobre como o Consumidor se conecta com o Produtor e com a infra-estrutura relacionada.

Portlet Management

Um Portlet particular é identificado como um portletHandle. O Consumidor usa o portletHandles através da comunicação ao endereços e interage com Portlets através das interfaces de web service do produtor. Os Portlets um Produtor publica com disponível para todos os Consumidores para interagir com os chamados “Producer Offered Portlets”. Producer Offered Portlets são pré-configurados e não são modificados pelos consumidores.

Se o produtor escolher expor sua interfaces de gerenciamento de portlet, ele irá permir consumidores para clonar Portlets. Such a uniquely configured Portlet is called a “Consumer Configured Portlet”. Like Producer Offered Portlets, a portletHandle is used to address Consumer Configured Portlets. This portletHandle is both;

  • invariant until released
  • unique within and scoped to the Consumer registration.

Consumidor

Consumidores do WSRP consomem os serviços WSRP fornecidos pelo Produtor.

Um Consumidor do WSRP é um portal que integra serviços WSRP e os consome como portlets remotos a partir de portais do Produtor que fornecem esses serviços.

A parte do Consumidor da implementação do WSRP no portal possibilita o consumo de aplicativos de portlet ou de portlets únicos como serviços WSRP pelo portal. O Consumidor funciona como o “cliente” da comunicação do WSRP.

Um Consumidor do WSRP seleciona o serviço WSRP e integra-o ao portal do Consumidor como um portlet remoto. O portal do Consumidor solicita e recebe a marcação do serviço WSRP no portal do Produtor e apresenta a mesma a seus usuários. Dessa forma, o portal do Consumidor consome um ou mais serviços WSRP como portlets remotos.

Como os Portais de Produtor e Consumidor se Comunicam

O padrão WSRP define as interfaces de comunicação entre os portais do Produtor e do Consumidor.

O portal do Consumidor requer informações sobre um Produtor WSRP a fim de configurar a comunicação antes de consumir serviços WSRP. Isso inclui as seguintes informações:

  • O documento WSDL (Web Services Description Language). É um documento de descrição de serviço e fornece as seguintes informações:
    • Descreve os serviços WSRP que o Produtor fornece.
    • Define as interfaces WSRP que o Produtor utiliza.
    • Fornece informações técnicas, como endereços de terminal de serviço.
  • A configuração do portal do Produtor. Isso inclui a configuração de segurança para serviços WSRP no portal do Produtor.

Após receber as informações requeridas pelo Produtor, o Consumidor configura consequentemente o portal Consumidor antes de consumir os serviços WSRP como portlets remotos. Por exemplo, se o portal Produtor fornecer segurança para o WSRP, o portal Consumidor deverá ter a mesma configuração de segurança do WSRP.

Dependendo da configuração geral do WSRP, o Consumidor poderá fornecer informações para o Produtor.

Fluxo de Processo Típico

Enquanto alguns dos passos seguintes são opcionais, o fluxo típico de interações entre os atores é:

1) Consumer “discovers” the Producer. This involves the Consumer learning the URL of the web service end-point for the Producer and getting the Producer’s metadata with its description of the registration requirements and possibly an indication of the portlets the Producer is exposing.

2) Establishment of a relationship between the Consumer and Producer. This may involve the exchange of information regarding capabilities, security requirements or other business and/or technical aspects of the relationship.

3) Consumer learning the full capabilities and services of the Producer based on the now established relationship.

4) Establishment of a relationship between the Consumer and End-User. This permits the Consumer to authenticate the End-User and may allow the End-User to customize the aggregated pages presented by the Consumer

5) Production of aggregated pages. This typically involves the Consumer defining some base level of page design (often with customized Portlets) and may involve further customization of those pages by the End-User.

6) Request for a page. This typically results when the End-User directs a user-agent (e.g. Browser) to the Consumer’s URL, but also occurs indirectly as a result of processing an interaction with the markup of a previous page.

7) Processing interactions. Some End-User interactions with the markup of a page will result in an invocation on the Consumer to provide some logical function. The Consumer will process this invocation to determine the Producer/Portlet that the interaction has targeted and the nature of the invocation requested for that Portlet. Since the resulting invocation of that Portlet is likely to change its state (and may also change the state of other Portlets), the Consumer must also treat this as an indirect request for a page and thereby loop back to step 6

8) Destruction of relationships: Producers and Consumers may choose to end a registration relationship at any time. The protocol provides means by which the Producer and Consumer may inform each other that the relationship (or some portion of it) has ended and that related resources may be cleaned up.

As Interfaces WSRP

Como vimos anteriormente, WSRP define um conjunto de interfaces padrões que todos WSRP Producers devem implementar, permitindo que os WSRP Consumers possam interagir como portlet remoto. Desta forma, a padronização destas relações permite que o portal interaja com genéricos portlets remotos. Veja quais são as interfaces obrigatórias que todo WSRP Producer deve implementar, e as interfaces opcionais de acordo com ( CASTLE , 2005) – DesMark RegMan:

Service Description Interface (obrigatório): permite os WSRP Producers anunciem seus serviços disponíveis para possíveis WSRP Consumers.

Mark-up Interface (obrigatório): permite os WSRP Consumers possam interagir com os portlets remotos executados em um WSRP Producer.

Registration Interface (opcional): permite que WSRP Producer possa exigir que WSRP Consumer seja registrado antes de qualquer tipo de interação com os serviços.

Portlet Management Interface (opcional): fornece para WSRP Consumer o acesso do ciclo de vida dos portlet remotos que estão em execução.

Ferramentas

IBM Websphere Portal
Microsoft Sharepoint
Liferay Enterprise Portal
OpenPortal
GateIn Portal project (JBoss & eXo)
Apache WSRP4J

Bibliografia

WSRP Specification 1.0
WSRP Specification 2.0
Utilizando Serviços do WRSP – IBM

Resolução de Questões de Concursos Anteriores

TER-MS – Analista Judiciário – 2013 – CESPE

Segundo o Web Services for Remote Portlets Specification v2.0 (WSRP), em um fluxo típico de interação entre os atores, a fase que deve ocorrer primeiro, na ordem cronológica, é aquela em que

a) se estabelece uma relação entre o consumidor e o usuário final.
b) o consumidor aprende as capacidades totais e serviços do produtor.
c) se estabelece a relação entre o consumidor e o produtor.
d) páginas agregadas são produzidas pelo produtor.
e) uma página é requisitada pelo consumidor.

RESPOSTA: C

De acordo com as opções da questão a ordem certa seria:

  • Estabelece-se a relação entre o consumidor e o produtor.
  • O consumidor aprende as capacidades totais e serviços do produtor.
  • Estabelece-se uma relação entre o consumidor e o usuário final.
  • Páginas agregadas são produzidas pelo produtor.
  • Uma página é requisitada pelo consumidor.

Porém antes do primeiro passo, apontado pela questão, existe ainda um passo anterior a estes citados “0 – Consumidor descobre Produtor”.

Atenção: Este resumo foi criado como material de estudo para Concurso Público (em 2014) a partir da compilação de diversos materiais encontrados na Internet. Algumas informações podem estar incompletas ou defasadas pois são baseadas no entendimento utilizado pela Banca FCC em suas provas naquela época.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *