Índice

Considerações gerais
O sistema fluig | ESB possui diversos componentes que poderão ser utilizados para montar uma integração entre aplicativos. Porém, em alguns casos se faz necessário de alguns componentes customizados para definir tarefas que não são suportados pelos componentes padrões. Ex.: conexão a base de dados, tratamento de arquivos textos, etc.
O objetivo desse tutorial é demonstrar como fazer uso dos componentes CustomReceiver e CustomSender bem como o desenvolvimento das classes que serão executadas. O editor Java para construir as classes necessárias é o Eclipse na versão Indigo como JDT (Java Development Kit) instalado e configurado. Porém, outros editores e ambientes poderão ser utilizados para o desenvolvimento Java. A construção dos componentes customizados segue três etapas:
Projeto no eclipse
Com o Eclipse aberto na perspectiva Java, deve-se criar um novo projeto Java. Isso é feito por acessar o menu File → New... → Java Project. Aparecerá uma tela semelhante ao abaixo solicitando um nome para o projeto bem como opções relacionadas à compilação do projeto. Para concluir clique no botão Finish. Em seguida o projeto aparecerá no painel esquerdo da área de trabalho do Eclipse denominado de Package Explorer em uma estrutura padrão para projetos Java. Nesse momento, o usuário deverá referenciar o projeto ao pacote esb-component-binding-custom-XX.XX.jar onde XX.XX é o número da versão do ESB. Esse pacote se encontra na instalação do motor fluig | ESB na pasta lib/esb. 
|
Para fazer essa referência, deve-se clicar com o botão direito em cima do projeto Java e selecionar a opção de menu Build Path → Add External Archives... Em seguida selecionar o arquivo esb-component-binding-custom-XX.XX.jar. O resultado será conforme abaixo com o pacote JAR abaixo do item Refereced Libraries. Nesse momento, o usuário estará apto a criar as classes tipo Java para serem executadas pelo componente CustomReceiver e/ou CustomSen-der. Cada componente deverá implementar uma interface específica para que possa ser identificada e executada pelo motor fluig | ESB. Abaixo se tem as interfaces que deverão ser implementadas para cada componente. 
|
CustomReceiver → com.totvs.esb.components.custom.CustomReceiver: Essa interface possui um método receiveMessage com apenas um parâmetro do tipo Properties. Esse parâmetro é um arquivo que contêm informações de propriedades para aplicativos Java. É configurado nas propriedades do componente CustomReceiver no momento da diagramação e será detalhado mais adiante. O método receiveMessage deverá retornar a mensagem gerada em array bidimensional de bytes (byte[][]) para repassar ao próximo componente. Cada posição do array retornado será uma mensagem diferente a ser enviado ao fluxo do motor fluig | ESB. Ex.: byte[0][] será considerada uma mensagem diferente da posição byte[1][]. 
|
Custom Sender → com.totvs.esb.components.custom.CustomSender: Essa interface também possui apenas um único método denominado sendMessage. Nesse método a mensagem pode ser processada e definido um retorno em byte[] para o próximo componente no fluxo do ESB, se necessário. Os parâmetros que são utilizados: - byte[] message: Mensagem que o componente CustomSender recebe do componente anterior.
- Properties props: Arquivo de propriedades para aplicativos Java. É configurado nas propriedades do componente CustomSender no momento da diagramação e será detalhado mais adiante.
- Map<String, Object> args: Mapa de propriedades específicas da mensagem.

|
Com as classes devidamente desenvolvi-das e compiladas sem erros, o próximo passo envolve exportar o projeto Java para o formato JAR. Trata-se de um em-pacotamento especial das classes para ser executado dentro de algum aplicativo Java. Para empacotar, deve-se acessar o painel Package Explorer, clicar com o botão direito em cima do projeto e acessar o menu Export... Uma tela semelhante ao da esquerda se abrirá e o usuário deverá selecionar a opção Java → JAR file. Após selecionar a opção, clica-se em Next. 
|
A próxima tela permitirá que o usuário selecione qual a pasta e os arquivos do projeto em que se deseja exportar para o arquivo JAR. A única opção que o usu-ário terá que configurar é o caminho e o nome do arquivo que será gerado com as classes exportadas. A configuração é realizada através do campo JAR file, conforme destacado na figura abaixo. Pressione Finish para finalizar a operação e o arquivo será gerado no diretório especificado. 
|
|
Projeto TDS + Plugin fluig | ESB
Dentro do TDS, com o plugin fluig | ESB devidamente instalado, deve-se acionar o menu Window → Open Perspective → Other... e selecionar a perspectiva fluig | ESB e clicar em OK. A área de trabalho irá ser atualizada e no painel esquerdo para o ESB Navigator que conterá os projetos com os diagramas do ESB. Em um projeto desejado, deve-se copiar o arquivo JAR resultante da etapa anterior para dentro do projeto em uma pasta de sua preferência. Nesse exemplo, utilizou-se a pasta resources. Para realizar a cópia, basta selecionar o arquivo em um navegador de arquivos do sistema operacional (Ex.: Windows Explorer, Nautilus, etc.) e arrastar para dentro do TDS na pasta resources. Ou ainda, pode selecionar o arquivo e digitar Ctrl + C (Copiar), selecionar a pasta resources no TDS e digitar Ctrl + V (Co-lar). 
|
Com isso, o usuário deverá criar um diagrama utilizando os componentes CustomReceiver e Custom-Sender, com as propriedades demonstradas nas figuras a seguir. 
|
As propriedades que devem ser preenchidas para os componentes são: - Jars Folder: Pasta onde se encontra o arquivo JAR copiado para o projeto. No exemplo, o campo deverá ser a pasta resources.
- Class Name: Nome completo da classe que será executada. Conforme exemplo, para o componente CustomReceiver será com.samples.esb.MyCustomReceiver. Para o componente CustomSender será com.samples.esb.MyCustomSender.
- Properties: Trata-se de um campo opcional, caso precisar fazer uso de um arquivo tipo .properties que possui propriedades para aplicativos Java. No exemplo, utilizou-se um arquivo denominado props.properties situado na pasta raiz do projeto. As propriedades contidas no arquivo serão repassadas como parâmetro para os métodos implementados, conforme visto anteriormente.
Com essas configurações, o diagrama está pronto para ser executado pelo motor fluig | ESB. 

|
|
Deploy ao motor fluig | ESB
Para que o diagrama seja ativo no motor fluig | ESB, o mesmo deverá ser publicado. Para tanto, o motor fluig | ESB deverá estar em execução. Com o motor “no ar”, o usuário deverá abrir o diagrama dos componentes Custom (arquivo .esb), clicar no meio do diagrama com o botão direito e acessar o menu Deploy to ESB Server... e seguir os procedimentos de publicação.
Para habilitar a execução do diagrama o usuário deverá reiniciar o motor fluig | ESB. Não é necessário enviar manualmente os arquivos correlatos (.jar, .properties, etc.) pois o processo de deploy se encarrega de enviar esses arquivos. Na figura abaixo tem-se o resultado da execução do diagrama mencionado no motor fluig | ESB.
