Integração do BPM com Webform, Parte 2: Tarefas Manuais no Espaço de Negócios com Lotus Webform Server

Lotus Webform Server foi escolhido como uma das tecnologias padrão de interface com o usuário. Este artigo explica como integrar o Webform Server com a pilha BPM.

Também discute e detalha como construir as topologias distribuída e local do Webform Server. Além disso, o artigo orienta sobre a criação de um cluster de Webform Servers, e como realizar alta disponibilidade na infraestrutura de formulários.

Jeff Brent, Senior Software Engineer, IBM

Jeff Brent é engenheiro senior na organização de desenvolvimento do WebSphere BPM. Desde 2005, Jeff é membro da equipe WebSphere Process Server SWAT e é responsável por resolver problemas e reclamações dos clientes.



23/Set/2010

WebSphere BPM e Lotus Webform Server

Visão Geral da interação entre HTML e formulário

Sempre que uma tarefa manual é incluída em um BPEL de longa duração, é preciso decidir qual tecnologia será usada para renderizá-la. A pilha WebSphere BPM oferece algumas escolhas em tecnologia de interface com o usuário (UI): JSF, HTML simples e agora uma integração de vínculo próximo com Lotus Forms.

Cada uma dessas interfaces pode ser integrada no Espaço de Negócios e usada com ele, mas o uso do Lotus Forms requer que os usuários implementem uma nova infraestrutura de produto de suporte, para implementar e visualizar esses formulários.

Em versões anteriores do Lotus Forms, era preciso instalar um aplicativo cliente (Lotus Viewer) em cada máquina do usuário final. Isso restringia a interação dos usuários com Tarefas Manuais a um número finito de plataformas – aquelas suportadas pelo Lotus Viewer – e, mais importante, a um conjunto de máquinas no qual o visualizador estivesse instalado.

Lotus Webform Server é uma tecnologia criada pra remover essas restrições, e permitir aos usuários visualizar e interagir com Lotus Forms a partir de um navegador.

Aplicativo SalesPromotion

No aplicativo SalesPromotion existe um simple business process (BPEL) que contém uma única Tarefa Manual.

Figura 1. BPEL StorePromotions
StorePromotions BPEL

Já foi criado um formulário para a Tarefa Manual 'Approve Request', que pode ser visualizado ao clicar no nome da Tarefa na seção de detalhes. Isso exibirá as configurações atuais para esta tarefa. Neste caso, na figura 1, uma interface com o usuário do Lotus Forms foi selecionada.

Figura 2. Configurações de Tarefa Manual
Human Task settings

Quando 'Generate Human Task Interface' é selecionado no menu de contexto de módulo e o formulário é gerado para 'Approve Request', um arquivo 'xfdl' (Extensible Forms Description Language) é gerado e colocado na pasta do módulo. Quando implementado, o arquivo de formulário (xfdl) é armazenado na pasta WebContent (ou na pasta do projeto da Web selecionado).

Figura 3. Arquivo xfdl NewPromotionForm em recursos físicos
NewPromotionForm xfdl file in physical resources

Este arquivo, NewPromotion.xfdl, armazena todos os formulários de requisição – no caso de aplicativo com vários formulários – que serão enviados ao Webform Server. A tarefa do Webform Servers, nesse momento, é converter o "formulário" para HTML e devolvê-lo ao Espaço de Negócios para exibição. Se você tiver o Lotus Forms Designer instalado, abrir o NewPromotionForm permite editar e customizar o formulário.


Implementação do Lotus Webform Server

Opções de Implementação

Existem, efetivamente, duas opções para implementar o Lotus Webform Server (WFS) para uso com uma topologia Business Process Management.

A implementação Local instala o Webform Server em uma célula BPM existente. Nesse cenário, devido à localização do aplicativo de proxy bSpaceWebformEnabler, é mais fácil instalá-lo no mesmo nó físico contendo o aplicativo de Espaço de Negócios.

Tabela 1. Tipo de Cluster de Referência para local do Webform Server
Tipo de ClusterLocal
Sistema de Mensagens Remotas/Suporte Remoto (Ouro)Membros do Cluster de Suporte
Sistema de Mensagens Remotas (Prata)Cluster de Aplicativo/Suporte
Cluster Único (Bronze)Cluster Único disponível

Embora este seja o tipo de instalação "mais fácil", pois não é necessário relocar o aplicativo de proxy, pode se tornar inapropriado devido à carga criada nos nós. Para sistemas de alto desempenho, pode ser mais prudente instalar o Webform Server em sua própria célula, em nós separados. Esse tipo de instalação é chamado de implementação Distribuída.

Implementação Local - mesma Célula

Figura 4. Implementação Local em um cluster de Sistema de Mensagens Remotas - Suporte Remoto
Local Deployment in a Remote Messaging-Remote Support cluster

Implementação Distribuída - célula remota

Figura 5. Cluster de Webform Server Distribuído com Servidor HTTP
Distributed Webform Server Cluster with HTTP Server

Webform Server Armazenado em Cluster

Em ambos os tipos de implementação, pode ser criado um único Webform Server ou um cluster de servidores.

Com um único servidor, corre-se o risco de criar um gargalo e um ponto único de falha para os aplicativos. Sem o Webform Server, formulários de Tarefa Manual não seriam renderizados, e, embora isso não afetasse o mecanismo de BPC em si, impediria efetivamente que os usuários interagissem com o processo. Armazenar os Webform Servers em cluster reduziria efetivamente o gargalo potencial e removeria o ponto único de falha.

Para criar o cluster do Webform Server, o Servidor de Tradução precisa ser instalado em uma máquina usando o procedimento padrão de instalação, implementando o aplicativo e o Servidor de Aplicativos fornecido ou implementando o aplicativo de Servidor de Tradução em um Servidor de Aplicativos implementado.

O Servidor de Aplicativos que serve de host para o aplicativo de Servidor de Tradução deve ser federado na Célula do Webform.

No segundo nó, que deve ser um nó do Servidor de Aplicativos já federado na Célula do Webform, devem ser instalados os binários do Webform Server. O aplicativo do Servidor de Tradução não deve ser implementado nesse momento, como mostrado na figura 4. Isso é obtido pela criação do cluster.

Figura 6. Implementando o Servidor de Tradução
Deploying the Translator Server

Para armazenar o servidor em cluster, no console administrativo, selecione Servers > Clusters > WebSphere Application Server Cluster e crie um novo cluster, como mostra a figura 7.

Figura 7. Criação do cluster do Webform Server
Webform Server cluster creation

Insira o nome do cluster, e mantenha as configurações padrão. Na próxima tela, figura 8, selecione create the member using an existing application server as a template e selecione o Servidor de Tradução criado originalmente.

Essa opção toma um Servidor de Aplicativo existente como base para outros nós no cluster. Quaisquer aplicativos e/ou outros recursos configurados no Servidor de Aplicativos existente serão criados no cluster, e serão assim transferidos para novos membros incluídos no cluster.

Figura 8. Criar um cluster a partir de um servidor existente
Create a cluster form an existing server

Na janela Add Member, figura 9, selecione o segundo Servidor de Aplicativos, aquele em que o Servidor de Tradução não foi implementado, e clique em Next. Isso criará um novo membro no cluster, e transferirá os aplicativos e recursos implementados no Servidor de Aplicativos existentes para o novo membro.

Figura 9. Membros Adicionais
Additional Members

Você agora tem um cluster com dois Servidores de Aplicativos, cada um com um Servidor de Tradução implementado, a partir do qual formulários podem ser renderizados.

Servlet BspaceWebformEnabler

O servlet bSpaceWebFormEnabler é o proxy por meio do qual o Espaço de Negócios se comunica com o Lotus WebForm Server. É um aplicativo simples que deve ser implementado sempre que os binários do WebForm Server sejam instalados, já que ele requer acesso a essas bibliotecas.

Há dois pontos de configuração para permitir que o Espaço de Negócios interaja com o WFS:

  • Configurar o local do bSpaceWebformEnabler
  • Configure bSpaceWebformEnabler para ser direcionado para o local do WebForm Server

A URL padrão definida para bSpaceWebformEnabler usa o nome de host 'localhost', por isso, se o WFS for instalado localmente no membro do cluster no qual o bSpacewebformEnabler está instalado, não é necessária alteração alguma.

Para alterar o valor, selecione Resource Environment Provider > Mashup EndPoints > Custom Propertiese altere a entrada {com.ibm.bspace}bspaceWebformProxyRootId.url, como mostra a figura 10.

Figura 10. Editando a URL de raiz do proxy
Amending the Proxy root URL

Se bSpaceWebformEnabler estiver instalado em um servidor diferente que o Webform Server, o parâmetro 'translatorLocation' do servlet bSpaceWebformEnabler precisa ser alterado, como mostra a figura 11. Observe que a porta não deve, em geral, ser diferente do padrão de 8085.

Figura 11. Configuração do ativador do Proxy Webform
Webform Proxy enabler configuration

Na configuração de translatorLocation, uma única URL é configurada. Isso significa que, mesmo que um cluster esteja configurado para o aplicativo do Servidor de Tradução, o servlet do proxy acessa apenas um deles, ou seja, temos uma funcionalidade de Alta Disponibilidade(HA) em operação.

Para melhorar essa situação, um servidor HTTP, ou um Servidor de Proxy IBM, deve ser configurado e colocado na frente do cluster. A URL em 'translatorLocation' deve, então, ser configurada para apontar para uma porta associada nesse servidor.

Um Servidor de Proxy será o mais fácil de configurar, já que está embutido no Servidor de Aplicativos. Ao contrário do servidor HTTP, o de Proxy tem uma lista dinâmica de aplicativos que não requer plug-ins para ser gerada e manualmente distribuída.


Conclusão

O padrão de instalação usado para o WebForm Server depende dos requisitos do projeto e da disponibilidade dos recursos necessários.

Um ambiente distribuído, no qual o Lotus Webform Server é remoto, oferece a melhor demarcação de interesses, e permite planejar manutenções separadas.

Instalações locais podem ter um efeito negativo no Cluster WPS no qual o WebForm Server é instalado, com carga adicional sendo colocada nos servidores. Uma instalação local significa também que o WebForm Server seria afetado quando fosse realizada manutenção no Servidor de Aplicativos.

Se a Alta Disponibilidade for um requisito, um cluster de WebForm Servers deve ser implementado, e um Servidor HTTP ou Servidor de Proxy IBM deve ser configurado para permitir balanceamento de carga entre os membros do cluster.

Recursos

Aprender

Obter produtos e tecnologias

  • Avalie os produtos IBM da maneira que for melhor para você: faça download da versão de teste de um produto, avalie um produto on-line, use-o em um ambiente de nuvem ou passe algumas horas na SOA Sandbox aprendendo a implementar Arquitetura Orientada a Serviços de modo eficiente.

Discutir

  • Participe da comunidade My developerWorks. Entre em contato com outros usuários do developerWorks, enquanto explora os blogs, fóruns, grupos e wikis orientados ao desenvolvedor.

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=WebSphere
ArticleID=555945
ArticleTitle=Integração do BPM com Webform, Parte 2: Tarefas Manuais no Espaço de Negócios com Lotus Webform Server
publish-date=09232010