Tags

, , , ,

Nesta primeira parte quero demonstrar como faremos para ler um arquivo de um diretório com o FileAdapter do BPEL, posteriormente irei abordar o máximo possivel deste maravilhoso componente para manipulação de arquivos.

Para termos um exemplo o mais pratico possivel, resolvi criar um Post por parte e cada parte será a evolução da anterior, por isso caso você queira acompanhar e fazer a aplicação inteira é muito importante que você faça ou acompanhe a partir da primeira parte.

Veja abaixo o que irei demonstrar nos próximos Posts sobre o FileAdapter:

Vamos começar :-)

Primeiro, crie um novo Projeto ainda vazio com o nome FileAdapterBPEL conforme abaixo:

Imagem Blog UansCarvalho

Arraste um componente File Adapter para Exposed Services e coloque o nome CapturaArquivo e clique em Next

Imagem Blog UansCarvalho

Na opção abaixo, deixe marcado a opção Define from operation and schema (specified later) e clique em Next

Imagem Blog UansCarvalho

Abaixo marque a opção Read File e selecione a opção Do not read file content e clique em Next

Imagem Blog UansCarvalho

Agora, marque a opção Logical Name e em Directory for Incoming Files coloque o nome FILE_IN

Obs: Para que você entenda, posteriormente iremos definir o diretorio onde estará o arquivo e passaremos para o File Adapter através desta variável FILE_IN

Deixe marcado a opção Process files recursively e as demais desmarcadas e clique em Next

Imagem Blog UansCarvalho

Deixe marcada a opção File Wildcards e em Include Files with Name Pattern coloque o nome arquivo.txt e clique em Next

Imagem Blog UansCarvalho

Abaixo vou definir para que o nosso diretorio seja lido em uma frequência de 5 em 5 segundos, então clique em Next

Obs: Aqui é interessante você entender que nosso File Adapter irá ler o conteúdo da pasta que iremos definir posteriormente a cada 5 segundos, ou seja, não irá ler o mesmo arquivo novamente a não ser que ele seja alterado ou que coloquemos um novo arquivo.

Imagem Blog UansCarvalho

Na próxima tela clique em Finish

Imagem Blog UansCarvalho

Feito isso, você terá um processo conforme abaixo:

Imagem Blog UansCarvalho

Agora clique com o botão direito no seu composite.xml e clique em Generate Config Plan

Imagem Blog UansCarvalho

Clique em OK

Imagem Blog UansCarvalho

Abra seu arquivo FileAdapterBPEL_cfgplan.xml e procure pela tag <service name=”CapturaArquivo”> e abaixo, em <replace> coloque /home/uans/Arquivos (ou conforme você queira mas lembre-se de criar esta sequência de diretorios em seu home com as permissões necessárias)

<service name=”CapturaArquivo”>
<property name=”FILE_IN”>
<replace>/home/uans/Arquivos</replace>
</property>
<binding type=”jca”/>
</service>

Imagem Blog UansCarvalho

Salve o arquivo e vamos agora fazer o deploy do seu projeto mas apontando para este diretório usando seu Config Plan.

Com o botão direito em cima do seu projeto clique em Deploy >> FileAdapterBPEL

Imagem Blog UansCarvalho

Clique em Next

Imagem Blog UansCarvalho

Na tela abaixo, clique no sinal de + ao lado de SOA Configuration Plan e selecione a opção FileAdapterBPEL_cfgplan.xml e abaixo marque a opção Overwrite any existing composites with the same revision ID e desmarque a opção Keep running instances on after redeployment e clique em Next

Imagem Blog UansCarvalho

Marque a opção localhost e clique em Next

Imagem Blog UansCarvalho

Clique em Next novamente

Imagem Blog UansCarvalho

Clique em Finish

Imagem Blog UansCarvalho

Na aba Deployment aguarde até que seu deploy tenha a mensagem

—-  Deployment finished.  —-

Imagem Blog UansCarvalho

Agora antes de entrarmos no diretorio e criarmos um arquivo.txt, vamos primeiro habilitar o trace e você verá que será criada uma instância ao colocarmos o arquivo.

No seu Browser vá no endereço http://localhost:10000/em

Obs: A porta 10000 é o numero que escolhi ao criar o meu Domínio.

Faça o Login:

Imagem Blog UansCarvalho

Clique no seu projeto: FileAdapterBEL[1.0]

Imagem Blog UansCarvalho

Clique em Settings >> Composite Audit Level e clique em Development, posteriormente clique Yes

Imagem Blog UansCarvalho

Agora vá no diretorio /home/uans/Arquivos e crie um arquivo chamado arquivo.txt

Imagem Blog UansCarvalho

Volte no EM (http://localhost:10000/em) e veja que uma instância foi criada, veja também que ele estará com status Running.

Imagem Blog UansCarvalho

No proximo Post iremos inserir informações dentro deste arquivo.txt e iremos ler o conteúdo deste arquivo.

 

Duvidas ? Deixe seu comentário e faça download deste Projeto :-)

 

Abraços e até a Próxima

/:-D