Usando o ITCAM para SOA para monitorar Sistemas BPM: Parte 3: Usando a visualização de topologia Serviço a Serviço

Usando a visualização de topologia Serviço a Serviço para monitorar o modelo WDPE e o caminho de execução de invocação do tempo de execução

A visualização de topologia Serviço a Serviço expõe a transação de invocação do aplicativo e o caminho de execução através da visualização do diagrama de topologia. Esse artigo explica o que é a topologia Serviço a Serviço e como lê-la. A visualização de topologia Serviço a Serviço é bastante clara e simples para pequenos sistemas com poucos aplicativos, processos e estilos de invocação de serviço simples. Entretanto, o diagrama de topologia deve se tornar muito complexo caso haja muitos aplicativos no WDPE e se as invocações forem complexas. Esse artigo também descreve algumas boas práticas e metodologias para filtrar e organizar a topologia Serviço a Serviço a fim de se tornar mais compreensível.

Sen Wang, BPM Integration QA, IBM  

Sen WangSen Wang (Watson) currently is the BPM Integration QA team member, He has broad experience of BPM products including WID, WPS, Message Broker, WSRR and FileNet, also has the In-depth knowledge covering Java/J2EE development. Before taking the current role, he works for SOA design center as intern since 2007 and have rich experience of custom projects, such as bank and insurance projects.



Yunjie Tan, BPM Integration QA, IBM  

Yunjie TanYunjie Tan (Jim) is a staff software engineer and the BPM Integration QA team Designer. Besides the in-depth knowledge about the WPS/WID products, he is also an expert of UML, Business analysis/modeling, and Software methodology. He also is an author of the popular Chinese book about the UML - "Elephant--thinking in UML".



Hua Cheng, BPM Integration QA, IBM  

Hua ChengHua Cheng (Ted) joined IBM since 2003 and currently is the BPM Integration QA team Lead, He has broad experience of BPM products including WID, WPS, Modeler, Monitor and Adapter. Also has the In-depth knowledge covering Java/J2EE development and product testing. Before taking the current role, he works for several WPS development and test project, including the WPS (Webpshere Process Server) component owner, development lead and test lead.



28/Dez/2009

O que é topologia de Serviço a Serviço

Podemos usar um exemplo para explicar o que é topologia de Serviço a Serviço. No cenário de exemplo apresentado na Figura 1, um componente BPEL invoca 4 séries de serviços para concluir seu trabalho. Presumindo que as 4 séries de serviços sejam heterogêneas, o componente BPEL tem de invocá-las através de protocolos diferentes como, por exemplo, SCA, JAX-RPC, JMS e HTTP.

Figura 1. Cenário de exemplo
example scenarios used in this artical

O cenário de exemplo acima apresenta a topologia desse cenário. O componente BPEL usa importações (importação SCA\importação JAX-RPC\importação JMS) para invocar os serviços através das respectivas exportações. Este cenário pode ser implementado em WID, a seguir implementar os aplicativos ao WPS (Websphere Process Server) e executar. Quando o ITCAM para SOA monitorar esse cenário, ele exibirá a topologia desse cenário em visualização de topologia de Serviço a Serviço, conforme apresentado na Figura 2.

Figura 2. Visualização de topologia de Serviço a Serviço
Service-to-Service topology view

Aqui, na Figura 2, uma "roda dentada" representa um serviço. As setas entre as rodas dentadas representam transações invocadas, o ITCAM para SOA constrói o relacionamento entre serviços por meio das transações entre eles. Visto que a figura exibe o relacionamento entre serviços como topologia, nós a chamamos de Topologia de Serviço a Serviço.

O ITCAM para SOA não poderia exibir apenas a topologia das transações, mas, também, os detalhes das transações, como, por exemplo, os dados de tráfego. Conforme apresentado na Figura 2, há muitas rodas dentadas e quando o mouse é movido sobre uma delas, ele exibirá as informações de dados de tráfego em detalhes, conforme mostrado na Figura 3. Dados de tráfego de uma transação.

Figura 3. Dados de tráfego de uma transação
Traffic data of one transaction

Escopo de dados limite no diagrama de topologia

A visualização de topologia padrão exibirá todos os relacionamentos que o ITCAM para SOA puder localizar, portanto, o diagrama ficaria muito complexo se houvesse muitos aplicativos envolvidos. Se você navegar pela área de trabalho da topologia de Serviço a Serviço, ao abrir a visualização do Navegador "ITCAM para SOA" e selecionar a área de trabalho "Fluxos Operacionais", a visualização exibe a topologia de todos os fluxos em toda a empresa que o ITCAM para SOA já tiver monitorado. Chamamos isso de visualização "Todos os Fluxos Operacionais"; consulte a Figura 4. Todos os Fluxos Operacionais, para obter detalhes. Na Figura 4, podemos observar não apenas a topologia apresentada na Figura 3, mas também outras topologias de outro sistema que o ITCAM para SOA estiver monitorando

Figura 4. Todos os Fluxos Operacionais
All Operational Flows

O número de "rodas dentadas" aumentará significativamente junto com o aumento do número de aplicativos, portanto, o diagrama de topologia para sistema complicado com muitos aplicativos se tornará cada vez mais complexo. É definitivamente necessário um meio de localizar a parte que você deseja visualizar entre o grande número de "rodas dentadas" ou, então, você terá problemas. Há muitas abordagens para limitar o escopo de dados apresentados na visualização para localizar o que se deseja visualizar de modo fácil e preciso.

Para limitar o escopo de dados, é possível iniciar a visualização de fluxos operacionais de diferentes formas, como, por exemplo, executando através de nó de servidor específico ou mensagens específicas. Os elementos apresentados na topologia limitam-se ao escopo executado.

1. Link para a visualização de topologia de Serviço a Serviço através de nó de servidor específico.

A finalidade desse modo é limitar a topologia no escopo do servidor de aplicativo selecionado; a visualização de topologia exibe o relacionamento de Serviço a Serviço no servidor de aplicativo selecionado, em vez da empresa toda.

Se você navegar até um dos nós do servidor de aplicativo (por exemplo, AppMem1, consulte a Figura 5. Escopo de dados para um servidor de aplicativo) para uma máquina e selecionar "Fluxo Operacional para Servidor de Aplicativo", os serviços serão limitados a essas invocações ocorridas no Servidor de aplicativo selecionado. A Figura 2. Visualização de topologia de Serviço a Serviço é exatamente o resultado após selecionar o "Servidor de aplicativo de Fluxo Operacional" para AppMem1; é possível observar que ela é mais clara e mais simples comparada ao diagrama de serviço agregado apresentado na Figura 4. Todos os Fluxos Operacionais.

Figura 5. Escopo de dados limite para um servidor de aplicativo
Limit data scope to one application server

2. Link para a visualização de topologia de Serviço a Serviço através de mensagem específica.

A finalidade deste modo é limitar a topologia em escopo de tipo de mensagem. No ITCAM para SOA, há dois tipos de mensagens, Requester e Provider. É possível escolher exibir topologia a partir do lado Requester ou do lado Provider.

Se você navegar até um dos nós do servidor de aplicativo (por exemplo, AppMem1) para a visualização Resumo de Desempenho, o painel inferior apresenta o "Inventário de Serviços". O ícone de link à esquerda das linhas na tabela pode ser usado para acessar a visualização de topologia Serviço a Serviço. Consulte a Figura 6. Link para topologia de Serviço a Serviço através de mensagem.

Figura 6. Link para topologia Serviço a Serviço através de mensagem
Link to Service-to-Service topology by message

Se você selecionar o link para uma linha "requester", o link é denominado "Fluxos Operacionais para Servidor de Aplicativo". Esse link resultará em uma topologia que exibe SOMENTE a mensagem selecionada a partir do lado requester. Consulte a Figura 7. Visualização de topologia de mensagem, para obter o resultado de mensagem selecionada a partir do lado requester.

Se os serviços forem invocados em um ambiente ND, podem ser executadas instâncias de mensagem em qualquer membro de aplicativo. Independentemente de qual membro de aplicativo estiver sendo executado pela mensagem, o ITCAM para SOA exibe a mensagem. Por exemplo, se você efetuar o link da visualização de topologia de mensagem a partir de AppMem1, o ITCAM para SOA realçará em azul as mensagens executadas no AppMem1, exibirá as demais mensagens em cinza para informar que não estão sendo executadas no AppMem1, porém, apanhadas pelo ITCAM para SOA. A Figura 7 apresenta a visualização de topologia de mensagem do AppMem1. É possível observar as mensagens azuis e acinzentadas. É possível ler a Parte IV deste artigo serial, Usando o ITCAM para SOA para monitorar e analisar ambiente de cluster de ND, para aprender mais sobre o ITCAM para SOA em ambiente de cluster de ND.

Figura 7. Visualização de topologia de mensagem
message topology view

Se você selecionar o link para uma linha "provider", o link é denominado "Fluxos Operacionais de Operação". Esse link resultará em uma topologia que exibe SOMENTE os fluxos envolvidos no Serviço/Operação nessa linha da tabela Inventário de Serviços. Similar à visualização "requester", o nó na topologia "Fluxos Operacionais de Operação" que representa o Serviço/Operação selecionado(a) é realçado em azul para informar que está sendo executado e os demais nós no fluxo são exibidos em cinza para informar que não estão sendo executados.

Em geral, não recomendamos que usuários cheguem à área de trabalho Topologia de Serviço a Serviço através do caminho "Todos os Fluxos Operacionais"; recomendamos executá-los em um desses dois modos, para que a topologia esteja no âmbito do item especificado (Servidor de Aplicativo ou Serviço/Operação) que o usuário tem mais facilidade de monitorar.


Use Grupo de Serviço para personalizar serviços desejados

Como padrão, a visualização de topologia de Serviço a Serviço exibirá todas as operações monitoradas. Contudo, clientes podem ter mais interesse em uma determinada parte do diagrama de serviços, em vez da topologia integral. Por exemplo, observe a Figura 2. Visualização de topologia de Serviço a Serviço. A topologia tem 4 ramificações; suponhamos que o cliente tenha interesse apenas na primeira ramificação, pois esta ramificação está relacionada com o manuseio do requerente de alto risco.

Em alguns outros casos, o cliente pode desejar exibir serviço não relacionado em uma visualização. Por exemplo, em um cenário de compra Web, "cliente solicita o produto" e "Logística entrega o produto" são dois processos não relacionados e executados em sistemas diferentes, porém, o cliente deseja exibi-los juntos para acompanhar todo o estado de compra do começo ao fim.

Para tornar isso possível, podemos usar o grupo de Serviço. Na área de trabalho de topologia de Serviço a Serviço, podemos escolher os nós operacionais de nosso interesse e, em seguida, selecionar o comando "Gerenciar Grupos de Serviço" no menu de contexto e, então, definir os grupos de serviço na próxima caixa de diálogo. A Figura 8 mostra como definir o grupo de serviço.

Figura 8. Definir grupo de serviço
Define service group

Então, o painel Gerenciar Grupo de Serviço apresentado na Figura 9 surgirá e poderemos definir uma "Verificação de alto risco" para os serviços selecionados.

Figura 9. Gerenciar Grupo de Serviço
Manage Service Group

Após definir um grupo de serviço, é possível verificar o estado do serviço a partir da visualização "Resumo de Grupos de Serviço". Para acessar a visualização de grupo de serviço, vá até o navegador "ITCAM para SOA" e, em seguida, selecione o comando "Resumo de Grupos de Serviço" a partir do menu de contexto. Consulte a Figura 10. Visualização de resumo de grupos de serviço; o lado direito do diagrama exibe o estado do grupo de serviço definido.

Figura 10. Visualização de resumo de grupos de serviço
Service groups summary view

O status do grupo de serviço que acabamos de definir é apresentado na visualização de resumo. Neste modo de visualização, é possível monitorar de forma rápida o status dos serviços desejados. Se o grupo de serviço apresentar problemas, ele tem 4 estados, que são:

  • Fatal
  • Crítico
  • Advertência
  • Indisponível

Ao definir o grupo de serviço, é possível agrupar logicamente os serviços para corresponder à intenção do negócio. Isso fornece ao cliente capacidade para monitorar sua empresa não somente em nível de TI, mas, também, em Nível de Negócios.


Use qualificador SystemContext para evitar fragmento na topologia de Serviço a Serviço

Na visualização de topologia, é possível descobrir que o relacionamento foi rompido, em caso das ligações sem SCA, desse modo a topologia aparenta fragmentada e de difícil compreensão. Consulte a Figura. 11 Visualização de topologia fragmentada; é a topologia de Serviço a Serviço do cenário similar com o cenário original cuja topologia de serviço é apresentada na Figura 2. Ela contém as ligações sem SCA sem aplicação do qualificador SystemContext.

Figura 11. Visualização de topologia fragmentada
The fragmented topology view

Na Figura 11, há alguns fragmentos; isso faz com que as pessoas tenham dificuldades para compreender o relacionamento dos serviços correlacionados. Aqui, esses fragmentos ocorreram porque os dados de relacionamento resultam das transações, e transações necessitam de contexto de sistema para conhecerem a fonte e o destino da invocação. O Contexto de Sistema é propagado com ligações, contudo, como padrão, somente a ligação SCA propagará o Contexto de Sistema; as demais ligações não propagarão. Portanto, quando o contexto de sistema estiver faltando, o ITCAM para SOA não tem como saber a fonte e o destino da invocação para construir o relacionamento, por isso, os fragmentos na visualização de topologia serão exibidos.

Para evitar esses fragmentos e exibir o quadro todo, o Contexto de Sistema deve ser propagado. A partir do release WPS 6.2, a propagação de Contexto de Sistema é suportada por ligações sem SCA (inclusive ligações JMS/MQ/JAX-RPC/JAX-WS/HTTP/JCA). É preciso adicionar "Propagar contexto de sistema" para a ligação de importação permitir a propagação, visto que o Contexto de Sistema não é desenvolvido para não ter propagação padrão.

1. Usando WID6.2.0.1

Em vez de WID6.2.0.1 já com o suporte adicionar qualificador "Propagar contexto de sistema" através de GUI. Na visualização de montador do WID, selecione o componente de importação e, em seguida, altere as propriedades de "Propagação" e defina "Propagar contexto de sistema" como verdadeiro. Consulte a Figura 12. Habilitar propagação de contexto de sistema no WID6.2.0.1

Figura 12. Habilitar propagação de contexto de sistema no WID6.2.0.1
Enable system context propagation in WID6.2.0.1

Após definir o qualificador, o ITCAM para SOA tem como saber a fonte e o destino da invocação a partir do contexto de sistema para construir o relacionamento necessário entre o solicitante e o provedor do serviço. Na imagem de Fragmento desaparecido apresentada na Figura 13, é possível observar que os fragmentos desapareceram, em comparação com a visualização apresentada na Figura 11.

Figura 13. Fragmento desaparecido
Fragment disappeared

2. Usando o WID 6.2

Recomendamos intensamente que os clientes atualizem seu WID para 6.2.0.1 se estiverem usando WID 6.2. Além disso, eles têm que adicionar o qualificador manualmente, modificando o arquivo de Importação, visto que a habilitação "Propagar contexto de sistema" não é suportada pelo WID 6.2.

Aqui está um exemplo de como habilitar "Propagar contexto de sistema" manualmente: é necessário localizar o arquivo *.import para propagar o contexto de sistema e abri-lo através de um editor de texto. Em seguida, adicione a cadeia de caracteres "<scdl:bindingQualifier xsi:type="scdl:IsTargetSCA" value="true"/>"nos pares <esbBinding></esbBinding>. Observe o texto em negrito no fragmento a seguir. Isso é totalmente equivalente a habilitar "Propagar contexto de sistema" com o modo GUI para o WID 6.2.0.1.

<?xml version="1.0" encoding="UTF-8"?>
<scdl:import xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:Binding4="http://tSessionAsyncLib/testInterface/Binding4" 
xmlns:ns1="http://tSessionAsyncLib/testInterface" 
xmlns:scdl="http://www.ibm.com/xmlns/prod/websphere/scdl/6.0.0" 
xmlns:webservice="http://www.ibm.com/xmlns/prod/websphere/scdl/webservice/6.0.0" 
xmlns:wsdl="http://www.ibm.com/xmlns/prod/websphere/scdl/wsdl/6.0.0" 
        displayName="targetWSImport" 
name="targetWSImport">
  <interfaces><interface xsi:type="wsdl:WSDLPortType" portType="ns1:testInterface"/> 
            </interfaces>
<esbBinding xsi:type="webservice:WebServiceImportBinding" 
endpoint="http://localhost:9080/tSessionBusinessContextTargetWeb/sca
                                /testInterfaceExport1" 
port="Binding4:testInterfaceExport1_testInterfaceHttpPort" 
service="Binding4:testInterfaceExport1_testInterfaceHttpService" 
        userContextPropagationEnabled="true">
  <scdl:bindingQualifier xsi:type="scdl:IsTargetSCA" value="true"/>
</esbBinding>
</scdl:import>

Resumo:

Nesta parte, você aprendeu o que é topologia de Serviço a Serviço e como usar a visualização de topologia de Serviço a Serviço para monitorar o tempo de execução do WDPE. Existe uma variedade de melhores práticas para simplificar o diagrama e determinar os fragmentos de forma rápida, como, por exemplo, limitar o escopo de exibição de topologia, definir o Grupo de Serviço e habilitar a propagação do qualificador SystemContext para evitar que o diagrama se fragmente. É útil para clientes usarem o ITCAM para SOA para monitorar seu sistema BPM de modo fácil e eficaz.

Recursos

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=Tivoli
ArticleID=459052
ArticleTitle=Usando o ITCAM para SOA para monitorar Sistemas BPM: Parte 3: Usando a visualização de topologia Serviço a Serviço
publish-date=12282009