Nota do editor: Conhece muito sobre esse tópico? Deseja compartilhar seu conhecimento? Participe hoje do programa de wiki do software IBM Lotus.
| Wiki do Alloy pela IBM e pelo SAP |
|---|
O software Alloy da IBM e SAP fornece aos usuários de negócios um fácil acesso a informações e processos corporativas principais, permitindo que os usuários do IBM Lotus® Notes® atuem em fluxos de trabalho SAP e acessem dados SAP no cliente de e-mail Lotus Notes.
Os usuários nem mesmo precisam se preocupar com a existência do sistema SAP em sua organização. Não há necessidade de mudar para uma interface do usuário (UI) backend SAP para usar os processos SAP; os usuários podem tomar decisões com base em informações no Lotus Notes porque todos os dados de negócios relevantes estão disponíveis nele.
O Alloy é uma integração de ponta a ponta dos fluxos de trabalho SAP no Lotus Notes. Toda comunicação entre SAP e Lotus Notes ocorre através do banco de dados de serviços da Web NDERPws.nsf, disponível no servidor IBM Lotus Domino® do Alloy. No release atual do Alloy, os fluxos de trabalho genéricos, de licença, de viagem e de relatório que usam decisões personalizadas são ativados.
Embora o Guia de Administração Alloy by SAP and IBM aborde muitos detalhes sobre os diferentes aspectos do banco de dados de serviços da Web, a finalidade deste artigo é abordar alguns dos tópicos principais bem detalhadamente. Considera-se que você tenha conhecimento básico da funcionalidade do Alloy.
Este artigo explica os serviços da Web que a IBM fornece ou consome por meio do banco de dados de serviço da Web e mostra como o banco de dados é usado em vários cenários. Também incluída está uma breve descrição geral das ações e visualizações disponíveis aos administradores e usuários do Alloy.
Função do banco de dados de serviços da Web na arquitetura do Alloy
A Figura 1 mostra um esquema da arquitetura da arquitetura do Alloy, por meio da qual os fluxos de trabalho SAP são ativados no Lotus Notes. O Alloy oferece comunicação bidirecional entre IBM e SAP para o envio de pedidos do usuário, como licença, viagem e relatório, à SAP.
O Alloy consome serviços da Web fornecidos pela SAP, como metadados, gerenciamento de aplicativo, gerenciamento de função, fluxo de trabalho de relatório/viagem/licença e serviços de consistência de dados (adicionados na versão 1.0.1 do Alloy).
Figura 1. Arquitetura de alto nível do Alloy

No Alloy 1.0, os cenários de licença, viagem e relatório são suportados e estão prontos para uso sem modificação, e a extensibilidade é fornecida por meio de suporte de gerenciamento das decisões de fluxo de trabalho. Para suportar esses cenários, os metadados do SAP devem estar presentes no Lotus Domino e no lado do cliente do Lotus Notes.
Esses metadados são obtidos do SAP e em sincronia com ele regularmente pelo uso do serviço de metadados. Essa sincronização pode ser planejada ou baseada na demanda do administrador ou dos usuários.
Os pedidos do usuário são enviados ao banco de dados de serviços da Web, e o agente manipulador de pedidos seleciona esses pedidos em sequência e realiza as chamadas ao serviço da Web apropriado para SAP. Esse fluxo de processamento é chamado de saída.
A SAP processa esses pedidos e também se comunica com o servidor backend da SAP para reunir os dados de resposta necessários. A IBM fornece um serviço da Web genérico, BoundItemService, que a SAP usa para enviar respostas à IBM. O BoundItemService, que reside no banco de dados de serviços da Web, processa essas respostas e as encaminha aos usuários apropriados. Esse fluxo é chamado de entrada.
Os pedidos de saída são processados pelo agente manipulador de pedidos em fila, para os quais o banco de dados de serviço Web implementou visualizações como estas:
- Pedidos de saída/não processados
- Pedidos de saída/suspensos
- Pedidos de saída/processados
- Pedidos de saída/todos
Os administradores podem ver os pedidos enviados pelos usuários do Alloy nessas filas e podem ver também as respostas de entrada da SAP na visualização de objetos de negócios no banco de dados de serviços da Web. Abordaremos essa visualização em mais detalhes posteriormente na seção, “NDERPws a partir da perspectiva de um usuário”.
O banco de dados de serviços da Web é também uma interface para o administrador executar tarefas administrativas. Consulte a seção “NDERPws a partir da perspectiva de um administrador”.
Criando e configurando o banco de dados de serviços da Web
A base para todos os componentes de projeto no banco de dados de serviços da Web é o modelo NDERPws.ntf. Esse modelo é adicionado ao diretório Data do servidor Lotus Domino quando você instala o servidor do Alloy no Lotus Domino.
A instalação também adiciona modelos específicos de idioma (por exemplo, NDERPws_it.ntf, NDERPws_de.ntf, NDERPws_ja, NDERPws_fr.ntf) que podem ser usados para configurar o banco de dados de serviços da Web para um código do idioma diferente.
As seguintes etapas gerais resumidas são usadas para criar e configurar NDERPws.nsf. Para detalhes completos, consulte o Guia de Administração Alloy by SAP and IBM.
- No cliente Lotus Notes, faça login como Administrador e selecione File - Application - New.
- Na janela New Application (veja a figura 2), preencha o campo Server (que é o nome do servidor do Alloy) e os campos Title e File name.
Figura 2. Criando o banco de dados NDERPws

- Especifique o modelo como serviço da Web NDERP. Se estiver usando um código do idioma que não seja o inglês, use o modelo específico do idioma em vez do NDERPws.ntf para criar o banco de dados.
- Clique em OK para criar o banco de dados.
O banco de dados está agora pronto para ser configurado para o Alloy. No lado esquerdo da página inicial do banco de dados, você vê os painéis Application, Roles, F4 Help e Sidebar:
- Aplicativos. É possível ter um conjunto fixo de aplicativos; entretanto, esses fluxos de trabalho SAP que são implementados no Alloy estão preparados para uso sem modificação:
- LEMA - Gerenciamento de licença
- TRVL- Gerenciamento de viagem
- REMA - Gerenciamento de relatório
Pode-se ter também vários fluxos de trabalho de decisão personalizados. Por exemplo, suponha que queira configurar uma ordem de compra SAP ou um fluxo de trabalho de gerenciamento de materiais SAP. Eles não são fornecidos como prontos para uso sem modificação no Alloy, mas você pode usar o fluxo de trabalho genérico extensível do Alloy para mapeá-los como aplicativos.
Ao criar um aplicativo predefinido (LEMA, REMA ou TRVL), você informa ao SAP que todos os dados relacionados a esse aplicativo podem ser enviados ao Lotus Domino (lado IBM) a partir do SAP. Se não houver nenhum aplicativo LEMA criado, a SAP não enviará nenhum dados relacionado à licença ao lado do Lotus Domino.
- Roles. Os usuários podem ter uma função de USER ou MANAGER para um aplicativo. A função LEMAUser significa que você pode criar um pedido de licença. A função LEMAManager significa que você pode aprovar e rejeitar pedidos de licença para os seus funcionários.
- F4 Help. Esta visualização faz parte dos metadados de relatório e é comum para todas as funções REMAUsers. O modelo de relatório inclui uma janela Parameter, em que os usuários podem editar valores ou fazer seleções em listas predefinidas para diferentes parâmetros. Pode haver um ou mais desses parâmetros com uma lista predefinida de valores para um conjunto de modelos de relatório.
A SAP envia todos esses conjuntos de valores (conhecidos como F4 Help) na primeira vez em que qualquer usuário efetuar login no cliente Lotus Notes. Após isso, o Alloy realiza verificações pré-planejadas para quaisquer atualizações.
- Painel Sidebar. Esse painel é o específico do Alloy na barra lateral do cliente de e-mail Lotus Notes. Pode ser configurado para exibir dados específicos de contexto relevantes para o contexto do Alloy atual. Por exemplo, quando você abre um pedido de licença no cliente Lotus Notes, a barra lateral mostra o seu saldo de licenças. Quando você abre Reports, a barra lateral mostra links de relatórios relacionados, links de relatórios entregues etc.
No NDERPws, a visualização do painel Sidebar mostra os documentos de configuração do painel de barra lateral do cliente. As configurações nesses documentos ditam o que é exibido na barra lateral do cliente para contextos diferentes do Alloy (por exemplo, contexto de licença, de relatório etc.). A configuração disponível em NDERPws é recuperada para todos os clientes do Alloy durante uma sincronização de metadados.
Configurando o servidor e o banco de dados de entrada de correio
Para configurar o banco de dados NDERPws do Alloy, o administrador executa as seguintes etapas:
- Clique em Open Server Config na barra Actions na parte superior da visualização NDERPws Applications. O formulário Server Properties é exibido, em que você define as configurações de servidor/cliente específicas do Alloy, como mostra a figura 3.
- Na seção superior do formulário, verifique se a opção de processamento de pedidos Outbound está ativada (este campo é novo no Alloy 1.0.1).
O campo de endereço de servidor SAP J2EE é o endereço do servidor onde todos os serviços da Web SAP residem. O Lotus Domino faz uma chamada aos respectivos serviços da Web SAP usando esse endereço. É possível também especificar o endereço do servidor SAP J2EE usando o parâmetro $NDERPJ2EEServer=http://<Server>:<Port> server Notes.ini, por exemplo:
$NDERPJ2EEServer=http://sapj2eedev.notesdev.ibm.com:50200 - Na seção SAP Name Mapping, o ID do Lotus Notes deve ser mapeado para um ID do SAP, o que está contido no documento Person do usuário. Para mapear o campo SAP ID, é possível selecionar a opção SAP=statement no campo User name, com fazemos na figura 3. Se por acaso for usada a opção Use first name especificada em um campo de formulário, ele poderá ser mapeado para qualquer campo de formulário no documento Lotus Domino Person em Names.nsf.
Figura 3. Definições de configuração do servidor NDERPws

A Figura 4 mostra as configurações de Metadata Fetch Schedule de SAP para IBM. Os metadados especificam o escopo das ações do usuário e a visibilidade. Por exemplo, se a sua função for LEMAUser ou REMAUser, não será possível fazer um pedido de viagem, já que você não tem autorização para fazer isso; em vez disso, é preciso ter uma função TRVLuser.
A atribuição de funções a usuários diferentes ocorre no SAP e está sincronizada no Alloy Lotus Domino.
Figura 4. Definições de configuração do cliente NDERPws

As configurações da figura 4 acionam uma recuperação de metadados conforme segue:
- Catálogo de relatório após cada hora
- Funções todo dia às 2h00
- Licença todo dia às 4h00
- Viagem todo dia às 5h00
- Relatórios relacionados todo dia às 4h00
- Bandeja lateral todo dia às 2h00
Banco de dados de entrada de correio
O banco de dados de entrada de correio é onde todas as suas mensagens de e-mail de entrada e de saída são depositadas. Para definir esse banco de dados, especifique Mail In Database em Names.nsf (mesmo que em NDERPws.nsf); após isso, a seguinte configuração será adicionada a Lotus Domino Notes.ini, usando as definições de configuração da figura 5:
$NDERPMID=<Alias do e-mail em Banco de Dados>
Por exemplo,
$NDERPMID=E-mail Alloy em Banco de Dados@SeuDomínio
O Guia de Administração Alloy by SAP and IBM contém os detalhes completos para configurar NDERPws. Aqui, fornecemos apenas algumas instruções simplificadas.
Conforme explicado anteriormente, para enviar os dados relacionados a um aplicativo do SAP para o servidor do Alloy, o administrador cria o respectivo aplicativo. Para criar e configurar os aplicativos fornecidos de LEMA, REMA ou TRVL, siga estas etapas:
- Acesse a visualização Applications no banco de dados NDERPws e clique em New Application na barra Actions no topo.
- Na janela Application Properties, selecione o aplicativo que deseja criar na lista suspensa no topo; por exemplo, aqui, usamos LEMA (veja a figura 5).
Figura 5. Selecionar o aplicativo

- Clique em Save & Close; o aplicativo é criado, sendo possível ver o documento na visualização Applications. Para detalhes sobre como configurar o aplicativo Customized Decision, consulte o Guia de Administração.
Quando os administradores excluem um aplicativo, eles recebem uma mensagem de confirmação e, após a exclusão com êxito, recebem a mensagem de status apropriado.
Conforme mencionado anteriormente, as funções decidem o escopo das ações e a visibilidade de dados de um usuário. Para criar funções, os administradores selecionam a visualização Roles / By SAP ID e clicam em Create/Update Roles no topo (veja a figura 6). Quando um novo banco de dados NDERPws é criado, o administrador deve obter todas as funções de usuário SAP; depois, ele pode usar a mesma ação para sincronizar os dados de funções para obter as atualizações mais recentes da SAP.
As funções de usuário são sincronizadas automaticamente com base em planejamento, de acordo com o planejamento definido nas propriedades do cliente da configuração NDERPws. Os administradores podem iniciar a sincronização manualmente, usando o botão Create/Update Role.
Figura 6. Criar/atualizar funções

Catálogo se refere ao catálogo de relatórios, que é o repositório de todos os modelos de relatório configurados para um usuário. O administrador de SAP inicialmente atribui modelos de relatórios a usuários e funções, e os mesmos são recuperados para o lado do Lotus Domino durante a operação de recuperação de metadados do catálogo de relatórios.
O modelo de relatório é definido em uma categoria de relatório, como viagem ou custos, e define exatamente quais dados e colunas o relatório fornece. Permite aos usuários consultar esses dados com base nos parâmetros de entrada, com os quais podem especificar intervalos ou valores de dados discretos, intervalos de datas, formato de entrega, como arquivos ZIP ou DOC, e planejamento, como diário, semanal etc.
Os usuários também solicitam dados de relatório com base nesses parâmetros. Para mais detalhes, consulte o artigo do developerWorks®, “Managing reporting in Alloy by IBM and SAP 1.0”.
Caso existam problemas nos modelos de relatório ou se não puderem ser utilizados, os usuários poderão solicitar que o catálogo de relatórios seja apagado. Para realizar essa tarefa, o administrador seleciona a visualização Reporting / Report Template e clica na ação Clear Catalog (veja a figura 7), para um ou vários usuários ao mesmo tempo.
Figura 7. Apagar Catálogo

Ferramenta Update Mail Template
O Alloy tem seus próprios componentes de projeto em NDERPmail.ntf que devem ser mesclados com um modelo de e-mail existente do Lotus Notes (por exemplo, Mail8.ntf) durante a implementação inicial do Alloy.
O administrador pode fazer essa operação no topo da visualização Applications, usando o botão Update Mail Template da barra Actions e substituindo o projeto dos bancos de dados de correio pelo modelo recém-mesclado (consulte a figura 8). Em seguida, para substituir o projeto, o administrador pode usar o comando Load design do servidor Lotus Domino ou os comandos File - Application - Replace Design do menu do cliente Lotus Notes.
Figura 8. Janela de mesclagem de modelo de correio

Personalizar dados do painel da barra lateral
O modelo NDERPws especifica alguns dados do painel da barra lateral padrão, portanto, esses dados são exibidos automaticamente no banco de dados NDERPws quando criados a partir desse modelo.
Os administradores podem efetuar alterações posteriores no formato de prateleira lateral com base nos requisitos dos usuários; entretanto, essas alterações não são personalizáveis por usuário. Em outras palavras, em uma instalação do Alloy, todos os usuários veem o mesmo formato de prateleira lateral; os dados podem variar com base no usuário, mas o formato é o mesmo para todos.
O tipo dos dados exibidos na prateleira lateral depende do contexto atual do usuário (relatório, aprovação de pedido) e da função do usuário (gerente, funcionário), como especificado nos dados do painel lateral. Para mais detalhes, consulte o Guia de Administração.
Agora, vamos discutir as várias visualizações no banco de dados NDERPws e seu uso.
Os pedidos de saída vão da IBM para a SAP, e sempre que um novo pedido é feito, ele chega a NDERPws (também configurado como o banco de dados de entrada de correio no Names.nsf do Lotus Domino). O estado inicial desse pedido é Unprocessed (In Process). Após chegar ao servidor SAP J2EE (servidor da Web da SAP) e um item ter sido criado para ele, o estado do pedido muda para Processed.
Se houver um erro durante a comunicação de serviços da Web entre a IBM e a SAP ou se a SAP detectar um erro de negócios no pedido recebido, ocorrerá um erro no fluxo de saída. Nesse caso, o pedido vai para o estado Suspended. Os administradores podem abrir qualquer pedido na fila Suspended para ver uma descrição do motivo da falha.
Além disso, os administradores podem ver o seguinte:
- O estado dos pedidos na visualização NDERPws Outbound Requests (veja a figura 9). Em caso de falha, eles podem verificar a mensagem de erro.
- Pedidos de todos os usuários do Alloy. Eles restauram os pedidos suspensos na fila Unprocessed, para que possam ser repetidos depois. Os usuários individuais do Alloy podem ver apenas os pedidos feitos por eles mesmos.
Figura 9. Filas de saída

Monitorando os objetos de negócios de entrada
As mensagens de entrada contêm as respostas da SAP e, como toda a comunicação ocorre através dos serviços da Web, as mensagens de entrada da SAP estão na forma de arquivos XML SOAP.
Essas mensagens são analisadas e processadas e convertidas por NDERPws nos documentos do Lotus Notes e encaminhadas à caixa de entrada do correio do usuário apropriado. Os administradores e os usuários podem ver os objetos de entrada na visualização Business Objects no banco de dados de serviço da Web (veja a figura 10).
Figura 10. Visualização Business Objects

Agora, vamos olhar para outras visualizações NDERPws; especificamente, Applications, Report Templates, Report Parameter Help, Roles e dados em Sidebar Panel.
- Aplicativos. Essa visualização contém os diferentes aplicativos configurados no Alloy, como de licença padrão, viagem, relatório e vários aplicativos de decisões personalizados (veja a figura 11).
Figura 11. Visualização Applications

- Report Templates. A SAP tem um conjunto configurado de modelos de relatório para usuários do Alloy. Esses modelos de relatório são enviados ao servidor Lotus Domino e, por fim, ao banco de dados de metadados local do usuário como parte de uma recuperação de metadados. Os administradores podem selecionar a visualização Reporting / Report Templates para ver os modelos de relatório configurados para cada usuário sob o nome do usuário (veja a figura 12).
Figura 12. Visualização Report Templates

- Report Parameter Help. Os documentos de F4 Help (disponível apenas para Reporting/Report Templates) podem ser vistos com o uso da visualização Reporting - Report Parameter Help, que contém a lista de valores disponíveis para diferentes parâmetros de relatório fornecidos pela SAP (veja a figura 13).
Esses documentos são também enviados ao banco de dados de metadados local do usuário durante a sincronização de metadados, para que possam ser usados na forma de listas de ajuda suspensas quando os usuários realizarem várias ações, como o modelo de relatório Personalize e o relatório Run.
Figura 13. Visualização Report Parameter Help

- Roles. Um administrador e um usuário podem ver as funções atribuídas a um usuário nessa visualização, em Roles - By Role Name (veja a figura 14).
Figura 14. Visualização Roles

- Dados de Sidebar Panel / Panel. Essa visualização contém os dados de configuração disponíveis da prateleira lateral do Alloy (veja a figura 15). A configuração pode ser alterada pelo administrador, se necessário. Todos os dados de configuração da barra lateral são também enviados ao banco de dados Local Metadata do usuário durante a sincronização de metadados e, com base nesses dados, a prateleira lateral do Alloy é renderizada no cliente Lotus Notes.
Figura 15. Visualização de dados de Sidebar Panel / Panel

Aqui, eis algumas dicas para solucionar problemas comuns.
Resolução: Verifique se o administrador criou um aplicativo LEMA e atualizou as funções após essa criação, usando as ações Create Application e Create/Update Roles no banco de dados NDERPws.
Nem todas as ações no banco de dados Mail estão no código de idioma francês (esperado)
Resolution: Esse problema pode ocorrer devido a uma mesclagem incorreta dos modelos de correio. O administrador deve usar um modelo de correio de francês limpo, mesclá-lo com NDERPmail_fr.ntf e, após a mesclagem, certificar-se de executar o comando Load design do Lotus Domino ou substituir o projeto do banco de dados de correio por meio do cliente Lotus Notes.
Resolução: Verifique se o banco de dados NDERPws tem os documentos de F4/Report Parameter Help disponíveis; caso contrário, é provável que a chamada ao serviço da Web tenha falhado. O administrador pode investigar a falha nos lados da IBM e da SAP. Se esses documentos estiverem presentes em NDERPws, os metadados locais do usuário os obterão durante a próxima sincronização de metadados, após a qual o usuário pode utilizar as listas de ajuda.
O catálogo de relatório do usuário está inutilizável
Resolução: Peça ao administrador para apagar o catálogo de relatório correspondente em NDERPws. Na próxima vez em que o cliente Lotus Notes realizar sincronização com os modelos de relatório em NDERPws (o que ocorre em um intervalo definido pelo administrador), o catálogo de relatório do usuário será redefinido para um estado em que possa ser utilizado. Assim, todos os modelos de relatório configurados no lado da SAP pelo administrador SAP são disponibilizados ao usuário e, após isso, o usuário pode criar modelos personalizados com base nesses modelos.
Os usuários não têm certeza de como atualizar seus dados do painel lateral do Alloy
Resolução: Os dados no painel lateral do Alloy são atualizados automaticamente com base em um planejamento definido pelo administrador. É possível também atualizar os dados do painel lateral manualmente.
Para realizar essa etapa manualmente, clique no botão Refresh na barra Action do painel lateral. Essa ação atualiza os dados de licença e relatório no painel na barra lateral do Alloy e exibe qualquer personalização que o administrador possa ter feito no painel (por exemplo, a adição de um novo link HTML) desde a última atualização.
Observe que a atualização do painel lateral não afeta a sincronização do catálogo de relatório, o que é feito com base em um intervalo definido pelo administrador.
Resolução: Verifique a fila suspensa em NDERPws para determinar se o pedido de relatório do usuário foi suspenso; caso tenha sido suspenso, abra o pedido para ver o motivo. Se for algum tipo de erro temporário, verifique se o administrador pode restaurar o pedido para a fila Unprocessed, para que ele possa ser tentado novamente.
Resolução: O administrador pode criar visualizações personalizadas com base nos dados disponíveis na visualização Business Objects. Ele pode categorizar e classificar com base no destinatário, na data, em boundItemType, etc. para obter a visualização desejada do gerente.
O banco de dados de serviços da Web é uma parte crucial da funcionalidade do Alloy, visto que seu projeto proporciona os meios para todas as comunicações da SAP e da IBM. O banco de dados serve como uma interface para que administradores configurem os fluxos de trabalho e as funções de usuário do aplicativo Alloy, e os usuários podem monitorar pedidos e solucionar problemas, usando as visualizações apropriadas.
- Participar do fórum de discussão.
-
Leia o artigo do developerWorks, "Managing reporting in Alloy by IBM and SAP 1.0".
-
Leia o artigo do developerWorks, "Performance report: Alloy pela IBM e pelo SAP 1.0."
-
Leia o artigo do wiki do IBM Lotus Notes e Domino, "Basic troubleshooting guidelines for Alloy software by IBM and SAP 1.0".
-
Leia mais artigos sobre o Alloy no wiki de produto do Lotus Notes e Domino.
-
Consulte o conteúdo sobre Alloy no Centro de Informações do Lotus Notes e Lotus Domino.
-
Consulte a nota técnica do IBM Support, "Domino 8.0.2 and Notes 8.0.2 system requirements for Alloy v.1.0".
-
Consulte a página de produto para Alloy by IBM and SAP.
-
Assista a demo do Alloy, "Optimizing decision making and improving productivity."
Amita A. Vadhavkar é Senior Staff Software Engineer na IBM India Software Labs, Pune, Índia. Ela trabalha atualmente no projeto Alloy Software pela IBM e pelo SAP. Desde que se juntou à IBM em 2003, trabalhou com várias tecnologias no desenvolvimento de produtos, como WebSphere, arquitetura orientada a serviços e Lotus. É possível entrar em contato com Amita pelo e-mail avadhavk@in.ibm.com
Prashant Admile é Associate Software Engineer na IBM India Software Labs, em Pune, Índia. Trabalha atualmente no software Alloy no projeto IBM e SAP e, desde que ingressou na IBM em 2007, trabalha na equipe de servidores Lotus Domino Nível 3. É possível entrar em contato com Prashant pelo e-mail pradmile@in.ibm.com.