| Informações |
|---|
|
O TOTVS ESB não é mais ofertado por se tratar de uma solução legada. A nova solução para realizar integrações é o TOTVS iPaaS. Saiba mais detalhes aqui. |
Índice
| Índice |
|---|
| maxLevel | 4 |
|---|
| outline | true |
|---|
| exclude | .*ndice |
|---|
| style | none |
|---|
|
Objetivo
...
O sistema fluig 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 o uso de alguns componentes customizados desenvolvidos sobre a plataforma para definir tarefas que não são suportados pelos componentes padrão. 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.
Pré-requisitos
...
O editor Java para construir as classes necessárias é o Eclipse na versão Indigo Luna com o JDK (Java Development Kit) instalado e configurado. Porém, outros editores e ambientes poderão também podem ser utilizados para o desenvolvimento Java.
Construção dos componentes
...
A construção dos componentes customizados segue três etapas:
- Criação do projeto Java no Eclipse
- Criação do projeto e diagrama no TDS + Plugin fluig Fluig ESB
Deploy no fluig Fluig ESB
Projeto Java no Eclipse
| Deck of Cards |
|---|
|
| Card |
|---|
|
Com o Eclipse aberto na perspectiva Java, deve-se criar um novo projeto Java. Isso é feito acessando o menu File → New... → Java Project. Aparecerá uma tela, semelhante à exibida 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 encontra-se na instalação do fluig Fluig ESB, na pasta lib/esb. 
|
| Card |
|---|
| |
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 a imagem abaixo com o pacote JAR sob o item Refereced Libraries. Nesse momento, o usuário estará apto a criar as classes tipo Java para serem executadas pelo componente CustomReceiver e/ou CustomSender. Cada componente deverá implementar uma interface específica para que possa ser identificada e executada pelo fluig Fluig ESB. Nos próximos passos são apresentadas as interfaces que deverão ser implementadas para cada componente.
|
| Card |
|---|
|
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 enviada ao fluxo do fluig Fluig ESB. Ex.: byte[0][] será considerada uma mensagem diferente da posição byte[1][].
|
| Card |
|---|
| |
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.
|
| Card |
|---|
| |
Com as classes devidamente desenvolvidas e compiladas sem erros, o próximo passo envolve exportar o projeto Java para o formato JAR. Trata-se de um empacotamento 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.
|
| Card |
|---|
| |
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
| Deck of Cards |
|---|
|
| Card |
|---|
| |
Dentro do TDS, com o plugin fluig Fluig ESB devidamente instalado, deve-se acionar o menu Window → Open Perspective → Other...,e selecionar a perspectiva TOTVS 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 pressionar Ctrl + C (Copiar), selecionar a pasta resources no TDS e pressionar Ctrl + V (Colar).
|
| Card |
|---|
| |
Com isso, o usuário deverá criar um diagrama utilizando os componentes CustomReceiver e CustomSender, com as propriedades demonstradas nas figuras a seguir.
|
| Card |
|---|
| |
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 servidor fluig Fluig ESB. 
|
|
Deploy no
...
Fluig ESB
Para que o diagrama seja ativado no fluig Fluig ESB, o mesmo deverá ser publicado. Para tanto, o fluig Fluig ESB deverá estar em execução. Com o serviço do ESB “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 serviço do fluig 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 Fluig ESB.