BPEL na prática – Parte 1
Caros leitores e amigos, fiquei um tempo ausente devido a alguns projetos e a semana de prova na faculdade (muitas prova para corrigir, rs rs rs) mas estou de volta. Agora trazendo uma série de artigos relacionados a SOA, mais precisamente sobre BPEL.
Neste primeiro artigo vamos utilizar a plataforma SOA da Oracle, nomeada Oracle SOA Suite em sua versão 10g. Posteriormente daremos uma passada nas demais plataformas SOA disponíveis no mercado.
Introdução
O BPEL (Business Process Execution Language) é uma linguagem padrão para a execucão de processos de negócio baseada na orquestração e coreografia de serviços. Com o BPEL podemos definir e executar processos de negócio utilizando Web Services.
Orquestração vs Coreografia
Orquestração: é uma composição de processos de negócio (através de Web Services) onde existe a figura de um processo central (que pode ser outro Web Service) que controla e coordena os demais processos de negócio.

Coreografia: é uma composição de processos de negócio (através de Web Services) onde não existe a figura de um processo central controlando e coordenando os demais processos de negócio.

Atividades do BPEL
Um processo BPEL consistem em uma sequência de passos. Cada passo é denominado uma atividade. Processos BPEL suportam
atividades primitivas e estruturadas.
Atividades Primitivas: representa construções que são utilizadas em tarefas básicas, como:
- Invocar outro Web Service, usando
<invoke> - Esperar pelo cliente para invocar o processo de negócio enviando uma mensagem, usando
<receive> - Gerar uma resposta para uma operacao síncrona, usando
<reply>
Manipular variáveis de dados, usando<assign> - Indicar faltas e exceções, usando
<throw> - Esperar por um tempo determinado, usando
<wait> - Terminar ou abortar um determinado processo, usando
<terminate>
Atividades Estruturadas: podemos combinar estas e outras atividades primitivas definindo algoritmos complexos
para especificar os passos de um processo de negócio. Para combinar atividades primitivas, o BPEL suporta diversas
atividades estruturadas, como:
<sequence>, permite definir um grupo de atividades que serão invocadas em uma sequência ordenada.<flow>, permite definir um grupo de atividades que serão invocadas em paralelo.<switch>, permite aplicar alguma condição nas atividades.<pick>, permite selecionar um de vários caminhos para a atividade.
Cada processo BPEL também podem definir os chamados partner links <partnerLink>, que são partes externas do processo que interagem com o processo BPEL. Além de declarar variáveis usando <variable>.
Preparando o Ambiente
Oracle SOA Suite 10g
- Download: Windows – Linux
- Manual de Instalação: Windows – Linux
Oracle JDeveloper 10g
- Download: Windows – Linux
Oracle Database 10g Express Edition
- Download: Windows – Linux
- Manual de Instalação: Windows – Linux
Na parte 2 deste artigo iniciaremos o desenvolvimento de nosso primeiro BPEL.
Até a próxima e boa leitura a todos!

