Friday, May 17, 2013

Handling Service Calls from Oracle BPM

In this posting I explain why in Oracle BPM Suite 11g you should consider using reusable subprocesses to handle service calls. The example is based on a synchronous service, but the same holds for asynchronous and fire & forget services.

If you have never experienced during process design with BPMN that the final process model became twice, if not three times more complex than you thought it would be, than you haven't been doing process design for real. You might for example have experienced how, what initially looked like a simple service call, finally exploded in your face. Let me tell you how it did in mine. I made up the example I'm using, but it is not far from reality.

It all started with a simple call to a synchronous service to store an order using some Insert and Update Order Service, or Upsert Order for short. The initial process model looked as simple as this.



This process is kicked off as a service with some initial customer data, after which a SalesRep enters an order that then gets stored using the Upsert Order service. But then I found that to use this service, I had to instantiate some custom request header. So I had to add a Script activity, as you cannot do that in the Service activity itself. The result was this:


But now I was exposing technical aspects in a business process, so to prevent the business audience to get distracted from that, I hid the complexity inside an embedded Store Order subprocess, like this:



And inside the embedded subprocess like this:

 
So far so good. But then I found that I also had to create a message id, log the request and response message, and catch exceptions to forward them to a generic exception handling process because the business might be involved to solve data issues. So before I knew it, my embedded subprocess looked something like this:


Hurray for the embedded subprocess, which hid all this complexity! But then I had to call the same Upsert Order service a second time, requiring me to do all the wiring again. Arghh!! Which brought me to the "brilliant" idea of pushing all this logic to a reusable subprocess, like this:


So in the business process itself, I only have to map the (context-specific) request and response messages to and from, what now has become the generic, and reusable wiring of the service call, like this:


Now you might ask yourself why we did not do the service wiring in PBEL. After all, implementing logic regarding service calls (like exception handling, more complex data transformations) is easier in BPEL. But not every BPM developer is also good in BPEL, making BPMN the better choice from a development process point of view. However, the next evolution could be to create some even more generic Service Request/Response Handler that is capable of calling any synchronous service, taking an anyType input and output argument.

16 comments:

gateway customer care number said...

Thats very good . i think this information really help me . Thanks.

Gantungan Akrilik ASELI Jogja said...

gantungan kunci akrilik print
gantungan kunci akrilik grafir
gantungan kunci akrilik resin
gantungan kunci akrilik sablon
pemesanan gantungan kunci
gantungan kunci murah akrilik harga rp 2000an
gantungan kunci full colour
buat gantungan kunci gratis ongkir
gantungan kunci souvenir unik usaha anda
bikin gantungan kunci gratis mug
gantungan kunci anime
gantungan kunci dealer
gantungan kunci hotel
gantungan kunci manten
gantungan kunci objek wisata
category slider gantungan kunci
category produk gantungan kunci
category gantungan kunci unik
category gantungan kunci foto
category gantungan kunci sablon
category gantungan kunci resin
category gantungan kunci print
category gantungan kunci grafir
category gantungan kunci akrilik
category gantungan kunci
gantungan kumci partai
gantungan kunci promosi produk
gantungan kunci pilkada

Gantungan Akrilik BOLA Jogja said...

good planning************************

Gantungan Akrilik CETAK Jogja said...

Nice article************************

Gantungan Akrilik DESAIN Jogja said...

more information************************

Gantungan Akrilik EMAIL Jogja said...

thanks in advance************************

GANCI MURAH ALFA Tbk said...

good planning*****************

GANCI MURAH BETA Tbk said...

thanks in advance*****************

GANCI MURAH CERIO Tbk said...

pusat gantungan kunci bola murah************************************

GANCI MURAH DELTA Tbk said...

good articlegantungan kunci liga inggrisgantungan kunci team sepak bolagantungan kunci fans sepak bolakulakan gantungan kunci sepakbolapesan gantungan kunci klub bolagantungan kunci murahjual gantungan kunci unikgantungan kunci bola murahpusat gantungan kunci akrilikpusat gantungan kunci liga inggrispusat grosir gantungan kunci************************

GANCI MURAH EURO Tbk said...

gantungan kunci liga inggris
gantungan kunci liga spanyol
gantungan kunci liga italia
gantungan kunci liga terbaik
gantungan kunci klub inggris
gantungan kunci klub spanyol
gantungan kunci klub italia
gantungan kunci klub bola
gantungan kunci team bola
gantungan kunci team sepak bola
pusat gantungan kunci team bola
grosir gantungan kunci team bola
gantungan kunci sepakbola dunia
pusat jual gantungan sepakbola
jual gantungan kunci sepak bola
harga jual gantungan kunci
gantungan kunci fans MU
gantungan kunci fans Chelsea
gantungan kunci fans Arsenal
gantungan kunci fans Liverpool

GANCI MURAH FANTASTIC Tbk said...

gantungan kunci fans Milan
gantungan kunci fans Juve
gantungan kunci fans Barcelona
gantungan kunci fans Madrid
gantungan kunci fans sepak bola
gantungan kunci fans bola
gantungan kunci fans bola mania
gantungan kunci diskon reseller
gantungan kunci diskon 60%
gantungan kunci diskon Murah
gantungan kunci diskon Besar
kulakan gantungan kunci bola
kulakan gantungan kunci sepakbola
kulakan gantungan kunci bolamania
kulakan gantungan kunci klub bola
grosiran gantungan kunci bola
grosiran gantungan kunci sepakbola
grosiran gantungan kunci toko bola
pusat grosiran gantungan kunci
pesan gantungan kunci bola
pesan gantungan kunci klub bola
pesan gantungan kunci sepak bola
pesan gantungan kunci team bola

souvenir said...

thanks for this article ***********************************

souvenir org said...

Good informations cara membuat gantungan kunci7 benda yang sering dijadikan gantungan kuncigantungan kunci caleg partai pemilugantungan kunci caleg pangantungan kunci partai************************

STEMPEL MURAH BIRO said...

desain stempel
harga stempel
bikin stempel
Bikin Stempel Jogja
buat stempel
buat stempel warna
Cetak Stempel
desain stempel
Harga Stempel
jasa pembuatan stempel warna
order stempel
pesan stempel
Pesan Stempel Jogja
stempel eo
Stempel Flash
Stempel Flash Jogja
stempel dokter
Stempel
stempel instansi
Stempel Jogja
stempel koperasi
stempel koperasi
stempel lembaga
Stempel Gantungan Kunci
Stempel Lunas
Stempel Marketing
Stempel Murah
Stempel Murah Jogja
stempel murah online
stempel nama

STEMPEL MURAH CETAK said...

stempel online
stempel organizer
Stempel Otomatis
stempel panitia
stempel perusahaan
stempel PHBI
stempel ramadhan
stempel toko
stempel usaha anda
Stempel Warna
Stempel Warna Jogja
stempel yayasan
Ukuran stempel
buat stempel murah
pesan stempel murah
jasa stempel murah
cetak stempel murah
stempel murah warna
stempel murah berkualitas
pusat stempel murah
stempel murah jogja
bikin stempel murah
Buat Stempel Murah Online
Buat Stempel Murah Jogja
Buat Stempel Murah Berkualitas
Pesan Buat Stempel Murah
Pesan Stempel Murah Warna
Tempat Pesan Stempel Murah
Pesan Stempel Murah Online
Cara Pesan Stempel Murah