IBM WebSphere Portal 8.5: Assistência ao utilizador para administradores

Comunicação entre portlets do Web Application Bridge

O Web Application Bridge suporta o envio de eventos do lado do cliente para o lado do servidor. A portlet Acoplamento da Web pode enviar e receber eventos provenientes de outras portlets na mesma página. Utiliza uma técnica do lado do cliente baseada em OpenAjax. Com eventos do lado do cliente, não é necessária qualquer actualização de página. A portlet Acoplamento da Web pode também enviar eventos para outras portlets. Utiliza uma técnica do lado do servidor baseada no suporte de evento JSR 286. Com eventos do lado do servidor, é necessária uma actualização total da página.

Restrições: Não configure a mesma aplicação de acoplamento da Web para publicar e subscrever na mesma fila e ao mesmo tempo. Além disso, se tiver várias aplicações de acoplamento da Web numa página, a função de comunicação inter-portlets é desactivada.

Lado do cliente: portlet Acoplamento da Web como editor

O método de criação de eventos do lado do cliente utiliza o método OpenAjax.hub.publish(name, publisherData). O parâmetro name corresponde ao tópico no qual o evento é publicado. O parâmetro publisherData corresponde aos dados transmitidos como argumento para a função de rotina de tratamento, que está a processar este evento.

Para permitir que a portlet Acoplamento da Web publique um evento do lado do cliente, defina a preferência Publicar evento do lado do cliente como yes. A portlet Acoplamento da Web envia sempre o elemento de origem no formato de nó DOM (Document Object Model) como publisherData. O elemento de origem corresponde ao elemento onde o utilizador executou qualquer acção, a qual resultou na publicação do evento. A preferência Tipo de elemento de origem de evento é utilizado para especificar o tipo de elementos que podem resultar na publicação de um evento. O Tipo de evento capturado especifica o tipo de eventos que têm de ser capturados a partir do iFrame da portlet Acoplamento da Web. Ambos os eventos ou elementos podem ser seleccionados na lista ou introduzidos numa lista separada por vírgulas. Apenas os eventos capturados a partir do iFrame resultam na publicação de um evento. Por predefinição, a portlet Acoplamento da Web publica no tópico global, que corresponde a com.ibm.vwat.event. No entanto, utilize Publicar tópico de evento para publicar outro tópico. O valor de Tópico de publicação de evento é acrescentado a "com.ibm.vwat.event" para formar o novo tópico. Por exemplo, se o Tópico de publicação de evento for definido como "myTopic.subTopic1.subTopic2", o evento é publicado em "com.ibm.vwat.event.myTopic.subTopic1.subTopic2".

Lado do cliente: portlet Acoplamento da Web como subscritor

Com este método do lado do cliente, pode subscrever um tópico com o método OpenAjax.hub.subscribe(name, refOrName).

Para activar a portlet Acoplamento da Web para subscrever um evento, defina Subscrever evento do lado do cliente como yes. Por predefinição, a portlet Acoplamento da Web subscreve o tópico global "com.ibm.vwat.event". No entanto, utilize o Tópico de subscrição do evento para subscrever um tópico diferente. A portlet Acoplamento da Web espera sempre um URL ou um fragmento de URL como publisherData. O publisherData define o atributo src do iFrame da portlet Acoplamento da Web. Este atributo é utilizado para apresentar conteúdo a partir do novo URL na portlet Acoplamento da Web. No entanto, a preferência de modelo do URL pode ser utilizada para adicionar um prefixo a publisherData. Por exemplo, se o modelo de URL for definido como http://www.abc.com e publisherData for /xyz, o valor utilizado para definir o atributo src do iFrame é http://www.abc.com/xyz.

O valor devolvido a partir de processSubscribedEvent é utilizado como o URL para a portlet de subscrição Acoplamento da Web.

Lado do servidor: portlet Acoplamento da Web como subscritor

Para subscrever a portlet Acoplamento da Web para um evento, crie um encadeamento ligação a partir de qualquer portlet de origem para a portlet Acoplamento da Web com a Ferramenta de encadeamento de portlets. A portlet Acoplamento da Web pode subscrever os seguintes três eventos:
  • ss_subscriber_reset: Repõe a portlet Acoplamento da Web, de forma a que a iFrame remeta para a localização inicial, conforme indicada no modo Editar definições partilhadas. Definição do evento:
    <event-definition>
    	  	<qname>vwat:ss_subscriber_reset</qname> 
    	  	<alias>xsd:string</alias>
    	  	<value-type>java.lang.String</value-type>
    </event-definition>
  • ss_subscriber_set: Define o URL do iFrame da portlet Acoplamento da Web de acordo com o valor recebido do evento. Definição do evento:
    <event-definition>
    	  	<qname>vwat:ss_subscriber_set</qname> 
    	  	<alias>xsd:string</alias>
    	  	<value-type>java.lang.String</value-type>
    </event-definition>
  • ss_subscriber_append: Define o URL da iFrame da portlet Acoplamento da Web após acrescentar o valor recebido a partir do evento para o modelo do URL. Definição do evento:
    <event-definition>
    	  	<qname>vwat:ss_subscriber_append</qname> 
    	  	<alias>xsd:string</alias>
    	  	<value-type>java.lang.String</value-type>
    </event-definition>

Lado do servidor: portlet Acoplamento da Web como editor

Pode activar a portlet Acoplamento da Web para publicar um evento do lado do servidor. Defina o Publicar evento do lado do servidor como yes. Crie um encadeamento a partir da portlet Acoplamento da Web para algumas portlets de destino com a Ferramenta de encadeamento de portlets. A portlet Acoplamento da Web publica uma cadeia JSON que contém as propriedades de ID e valor do elemento de origem. Por exemplo, se o Tipo de elemento de origem do evento for a, o valor corresponde à propriedade HREF do elemento. O elemento de origem do evento corresponde ao elemento em que o utilizador executou uma acção. Esta acção resulta na publicação do evento. O Tipo de evento capturado é utilizado para especificar o tipo de eventos; por exemplo, onclick, onchange. Ambos os eventos ou elementos podem ser seleccionados na lista ou introduzidos numa lista separada por vírgulas. Este evento tem de ser capturado a partir da iFrame da portlet Acoplamento da Web. Apenas os eventos capturados na iFrame da portlet Acoplamento da Web resultam na publicação de um evento.

O Modelo de URL corresponde a um prefixo que é adicionado ao elemento de origem do evento.