Ha tempos estou tentando escrever um post sobre BPM, e hoje a pedido do Diego J, o unico mais assiduo leitor do blog, resolvi tentar.O objetivo desse post e demonstrar um exemplo simples de criacao de um ccBPM.No cenario que sera criado, receberemos atraves de um Adapeter File, uma requisicaoassincrona, que ira fazer uma consulta sincrona em um sistema legado e gravar, utilizando umAdapter JDBC e por ultimo gravar o resultado em um file system usando novamente o AdapterFile.O cenario criado tem algumas peculiaridades, como por exemplo, a consulta no legado rodauma Stored Procedure. Para conseguirmos formatar essa mensagem foi necessario utilizar,alem do mapeamento normal, um mapeamento XSL. Esses passos nao serao explicados nesse post.Objetos criados:Integration Process:Containers:Passo a passoReceiver:Nesse step a mensagem de entrada(Outbound), e recebida do Adapter File. No nosso caso essa mensagem e umarquivo em uma determinada pasta do file system.Transformation 1:Nesse step a mensagem de entrada etransformada(Mapping) para ficar no formato da mensagem de request da chamadasincrona.Sender1:Nesse step e realizada a chamada sincrona.Transformation 2:Esse step a mensagem de response recebidano ultimo step e transformada (Mapping) para o formato como ela sera gravada nasaida.Sender 2:Nesse step a mensagem de saida e enviadapara ser gravada em outra pasta do file system.Integration Scenario:O IS e considerado por muitas pessoas comouma parte de perfumaria. Nao compartilho dessa opiniao, considero o IS umaparte extremamente importante no processo de criacao de uma interface, sejapela melhor funcionalidade, maior facilidade de manutencao e ate deorganizacao. Acho muito mais facilentender o funcionamento de uma interface olhando pelo IS do que direto noDirectory.Applications Components:FileSender:O FileSender e o application de entrada, ele vai receber uma Action, que nesse caso eu nomei como Entrada. A Action Entrada recebe no OutboundInterfaces, a Service Interface que representa no nosso caso o arquivo queestamos recebendo via File. IP:O Application IP, e onde e configurado oIP. Esse Aplication recebeu uma Action quechamei de RequestJBoss JBoss:Esse e o Application do sistema legado, elerecebe uma Action de nome ResponseJBoss. Essa Action recebe no Outbound Interfaces,a SI que sera a resposta da consulta sincrona.No Inbound Interfaces a SI de consulta no legadosincrona.FileReceiver: Esse e o Application que vai gravar aresposta da consulta sincrona. Ele recebe uma Action de nome Saida. Essa Action recebe no Inbound Interfaces aSI inbound que sera a mensagem a ser gravada na saida.Conexoes As conexoes sao uma parte importante, e sevoce criou as Actions corretamente, vai ser bem facil crias as conexoes. Esse eum passo que pela simplicidade, acaba sendo um dos pontos de mais erros nacriacao de um Scenario com ccBPM. Agora e so fazer a configuracao no Directory e rodar os testes.Espero que isso possa ajudar, ao menos a dar ideias dos passos a serem seguidos.Grande abraco... Muitas vezes quando uma interface e definida como Web Service no Integration Directory e a opcao de sugerir o Target URL e selecionada, o endereco que vai aparecer no WSDL nao vai funcionar.Segue um exemplo de URL que utilizei para realizar a chamada:http://<SID>:<SY.NR>/XISOAPAdapter/MessageServlet?channel=<Nome_da_Party>:<Nome_do_Service>:<Nome_do_canal> Pessoal vem ai o SAP Inside Track Sao Paulo 201, um evento gratuito e muito bacana para quem vive o dia a