">Modelagem de processos de negócio com foco em integração

Após automação de serviços, empresas entram em nova fase: investimento no diálogo entre sistemas para otimizar processos

O meio corporativo absorve a passos largos sistemas que atendem a demandas pontuais, mas que, no conjunto da obra, não dialogam ente si. Cenário propício para implementação do SOA: Arquitetura Orientada a Serviços, inteiramente focada em integração. Prova disso é que sua filosofia tem servido de inspiração para que empresas como IBM, Oracle e Microsoft desenvolvam ferramentas que supram esta necessidade do mercado. O SOA e o BPEL regem a orquestra. O desenho para a orquestração dos sistemas é elaborado com uso do BPEL, que cria o fluxo dos processos. Já o SOA é uma arquitetura de software que tem como fundamento transformar regras de negócio em serviços, proporcionando a conectividade entre sistemas distintos através de padrões abertos. Comumente, esses serviços são disponibilizados através de web services como REST e WSDL. Isso permite a composição de serviços desenvolvidos em diferentes plataformas e linguagens de programação.

O Oracle BPEL tem tido demanda crescente à medida que seus pontos fortes vão sendo conhecidos, apesar da sua entrada ainda ser considerada tímida, tanto no Brasil quanto no mercado internacional. De um modo geral, o interesse das empresas que já são clientes da Oracle é migrar do antigo, Oracle Workflow, para o novo, Oracle BPEL. Como recursos o Oracle BPEL Process Manager, que é um framework composto por diversas features, permite: criação de tarefas paralelas de um processo, controle de versão, auditoria, SOA, geração de web services, captura de exceções, partner links com suporte à conexão com o banco de dados, FTP, JMS, entre outros recursos, além de utilização de human tasks, notificações via SMS, e-mail, voice, pager etc. 

Para que o Oracle BPEL funcione corretamente, no entanto, é preciso entender como configurar o ambiente da IDE. O foco é o desenvolvimento de processos com uso da ferramenta. Antes de qualquer passo, é necessário instalar o Oracle SOA Suite, pacote completo de componentes de infra-estrutura para desenvolvimento, compilação e deploy de processos. Todas as tecnologias utilizadas pelo Oracle SOA estão agrupadas dentro de um Application Server 10g da Oracle, com a grande vantagem de instalação “one click install”, fornecendo todo o ambiente integrado necessário para o desenvolvimento e gerenciamento dos processos.

Configuração do ambiente

Como instalar o Oracle SOA Suite? Faça o download do Oracle SOA Suite versão 10g e do JDeveloper no link http://www.oracle.com/technology/software/tech/soa/index.html. São aproximadamente 570MB para a versão Windows, sendo a utilizada neste artigo a de 10.1.3.x. (Existem também downloads do SOA Suite para Linux, e do JDeveloper para Linux e MacOSX.) Vale lembrar que, para fazer este download, é necessário criar um registro no site, dando continuidade ao processo. Para dar início aos procedimentos, descompacte o arquivo e com um duplo clique em setup.exe (no Windows) uma tela será apresentada, conforme a Figura 1.

 

Figura 1. Tela de instalação do SOA Suite                

Escolha um nome para a instância do Application Server e uma senha para o oc4jadmin. Clique em Install para iniciar a instalação. No término do processo, o ambiente está pronto para ser usado. Já feito o download do JDeveloper, ferramenta necessária para o desenho dos fluxos, deve-se descompactar para uma pasta qualquer, por exemplo c:\jdev.

Navegar é preciso, conhecer as ferramentas também

Desde o período das grandes navegações, o conhecimento das tecnologias levou o homem a alcançar lugares que antes ninguém poderia imaginar. O fato histórico mostra que ousar na inovação é preciso. Fazendo uma comparação, ter ciência das ferramentas disponíveis para melhor organização dos processos internos é um ganho potencial em competitividade para as empresas modernas. Sendo assim, é preciso estar sempre atento à necessidade de renovação de linguagem, mesmo que este fator represente uma mudança de cultura organizacional.

Uma exemplificação prática deste ponto será feita através do desenho dos fluxos com uso do JDeveloper. Para executar a IDE é preciso abrir o arquivo C:\jdev\jdeveloper.exe, conforme o exemplo de instalação citado anteriormente.

Do lado esquerdo há duas abas, Application Navigator e Connections. A primeira possui uma lista de todos os projetos do workspace em questão e a segunda traz as conexões com Application Server, Database, Integration Server etc., cujas configurações serão vistas a seguir.

Antes de começar a desenvolver os processos do BPEL, entretanto, é preciso configurar as conexões com o Application Server e com o Integration Server para efetuar o deploy dos processos pelo JDeveloper. Essas seriam as conexões entre o IDE e o SOA Suite.

Direto ao ponto

Não existe mistério para fazer tais conexões. No caso do Application Server, deve-se abrir a aba Connections e clicar com o botão direito na aba Application Server. Em seguida, abrir o wizard New Application Server Connection. Na tela que virá depois, escolher um nome para a conexão e selecionar Connection Type = OC4J 10g 10.1.3 Independente. Logo na seqüência, a tela de autenticação é exibida para fazer a conexão com o Server. Deve-se utilizar o usuário “oc4jadmin”, sendo a senha a mesma fornecida na instalação do SOA Suite.

O próximo passo é selecionar o hostname e a porta RMI a ser utilizada. Essa configuração vai depender muito do ambiente em que o SOA Suite foi instalado. Se existir algum serviço utilizando a porta padrão do RMI, o SOA Suite procura instalar em uma porta superior até encontrar uma livre. A porta padrão indicada pela IDE é a 23791. Neste tutorial será utilizada a porta 12408. O último passo é testar a conexão. Caso falhe, verifique se a porta RMI e o login estão corretos.

Conexão com o banco de dados

Esta conexão é feita através do driver Oracle JDBC. Da mesma forma que foi criada a conexão com o Application Server, é preciso criar também com o banco. Para isso, clique com o botão direito em Database>New database connection. Um wizard será aberto solicitando o usuário e a senha para conexão. Em seguida, a tela de conexão é exibida. Faça as configurações de acordo com a instalação do Oracle Database em seu servidor.

Integration Server

Permite fazer o deploy dos processos BPEL para o ESB (Enterprise Service Bus) (ver Tabela 1). Escolher o Application Server, configurado anteriormente, e a porta. A porta padrão utilizada é a 8888.

 

File Adapter

Serviço que envia e recebe mensagens de um arquivo de um sistema local de arquivos.

FTP Adapter

Serviço que envia e recebe mensagens de um arquivo via servidor FTP.

AQ Adapter

Serviço que envia e recebe mensagens do Oracle AQ

JMS Adapter

Serviço que envia e recebe mensagens de uma fila JMS

Tabela 1. Tipos de Adapter

 

Mais do mesmo

Os componentes do Oracle BPEL Process Manager são divididos em três partes: Design, Deployment e Management. O ambiente de design (neste caso o JDeveloper) permite desenvolver e fazer o deploy do processo BPEL. Esta interface é bem amigável, com componentes drag-and-drop que facilitam na criação do processo evitando a digitação de um grande volume de códigos. O deploy é a fase que se inicia depois da criação do processo. Caso o deploy seja concluído com sucesso, será possível iniciar e gerenciar os processos no Oracle BPEL Control através do BPELConsole. Todas essas etapas serão vistas aqui, desde a criação do processo até a fase de gerenciamento e utilização.

Design dos processos

O JDeveloper possui uma IDE muito completa para trabalhar com o Oracle BPEL. A próxima imagem detalhará as principais seções do JDeveloper a serem utilizadas. Mas antes, a idéia é criar um projeto BPEL chamado BPELTest.

Clique com o botão direito no item Applications na seção Applications Navigator. Selecione New Application e escolha o nome da aplicação “Tutorial BPEL”. Clique em OK para continuar e cancele a janela a seguir, que sugere a criação de um projeto. É preciso, na verdade, criar um projeto BPEL, diferente do sugerido pelo wizard. Feito isso, clique com o botão direito em Tutorial BPEL e selecione a opção New Project.

Selecione a opção BPEL Process Project e, em seguida, escolha o nome do projeto de “BPELTest”. Em template, selecione ASynchronous BPEL Process (veja a Figura 2).

 

Figura 2. Processo BPEL no JDeveloper

No caso do exemplo deste artigo, há três arquivos que serão utilizados pelo BPEL: BPELTest.BPEL, BPELTest.wsdl e bpel.xml:

·         BPELTest.BPEL. Este é o código fonte do processo. Na elaboração do projeto foi criado um processo assíncrono, e por padrão já acompanha algumas configurações (ver Listagem 1);


Listagem 1.
Código fonte do processo assíncrono

-8" ?>

--

////////////////////////////////////////////////////

  Oracle JDeveloper BPEL Designer

 

  Created: Fri Dec 28 11:48:42 GMT 2007

  Author:  gguerra

  Purpose: Asynchronous BPEL Process

////////////////////////////////////////////////////

-->

targetNamespace="http://xmlns.oracle.com/BPELTest"

xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"

xmlns:client="http://xmlns.oracle.com/BPELTest"

xmlns:ora="http://schemas.oracle.com/xpath/extension"

         xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.

...

Quer ler esse conteúdo completo? Tenha acesso completo