Thursday, May 30, 2013

Pembuatan SOA Application (BPEL, JMS Adapter dan file adapter) Part 2

Pada blog sebelumnya (bisa di lihat disini), saya sudah membuat simple SOA Application dengan menambahkan BPEL, JMS Adapter, dan File Adapter. Namun berhubung BPEL sebelumnya masih belum terkonfigurasi.

Berikut step by step untuk BPEL.
  • Buka file project SOA yang sebelumnya telah kita buat.
  • Drag new reference BPEL ke JMS Adapter dan File Adapter
  • Double klik mediator.
  • Pada bagian Transform using, klik transform. Pilih create new mapper file kemudian ok.
  • Drag source schema dari wsdl webservice yang telah kita buat (bagian kiri) ke BPEL (bagian kanan). Setelah keluar kotak dialog Auto Map reference, klik ok.
  • Kemudian close dan save all jendela transform xsl dan jendela mediator.
  • Double klik BPEL, drag component invoke dan taruk diantara receiveInput dan callbackClient. Drag invoke tadi ke proses JmsAdapter. Beri nama untuk proses invoke jms, kemudian dibagian input klik tombol create variable atau tombol "+". Beri nama variable untuk proses invoke JMS dan klik OK.
  • Drag assign dan taruk diatas component invoke jms. Kemudian double klik assign, beri nama proses assign, kemudian pindah ke Copy Rules. Buka variable input yang ada di sebelah kiri, drag isi variable yang ada di payload ke sisi sebelah kanan yang ada di bagian variable invoke jms. Kemudian klik ok.
  • Drag component invoke dan taruk dibawah proses invoke jms Drag invoke tadi ke proses FileAdapter. Beri nama untuk proses invoke file adapter, kemudian dibagian input klik tombol create variable atau tombol "+". Beri nama variable untuk proses invoke file adapter dan klik OK.
  • Drag assign dan taruk diatas component invoke file adapter. Kemudian double klik assign, beri nama proses assign, kemudian pindah ke Copy Rules. Buka variable input yang ada di sebelah kiri, drag isi variable yang ada di payload ke sisi sebelah kanan yang ada di bagian variable invoke file adapter. Kemudian klik ok.

Sekarang kita sudah selesai untuk pembuatan aplikasi SOA dengan menggunakan JMS Adapter, BPEL dan file adapter. Sekarang saya akan membahas tentang proses deploy dan cara pengetestan aplikasi SOA.
  • Pertama kita klik kanan project aplikasi SOA yang telah kita buat sebelumnya.
  • Pilih Deploy, dan klik nama project.
  • Setelah keluat kotak dialog deploy, pilih deploy to application server. Kemudian next.
  • Klik next lagi dari bagian deploy Configuration (jika anda ingin menimpa aplikasi dengan versi yang sama, maka anda harus memilih Overwrite any existing composites with the same revision ID).
  • Pilih application server, kemudian klik next.
  • Secara otomatis, dilayar berikutnya akan terlihat nama SOA Server yang telah menyala. Kemudian next.
  • Dilayar selanjutnya terlihat summary untuk proses deployment. Kemudian klik finish.
  • Untuk melakukan pengetesannya, buka Enterprise Manager Weblogic (http://[hostname]:[port]/em/).
  • Cari aplikasi yang telah kita deploy. Pilih test.
  • Input data, setelah selesai klik test web services di kanan atas.
  • Setelah sukses test webservice. Bukan Console weblogic (http://[hostname]:[port]/console/). Buka Services -> JMS modules, pilih nama queue yang sesuai dengan jms adapter yang telah kita buat sebelumnya. Check nama queue dan pilih show messages. Buka ID message yang ada di dalam message queue. Disana akan terlihat inputan data yang telah kita masukkan sebelumnya.

Demikian step by step pembuatan aplikasi SOA dengan menggunakan component BPEL, JMS Adapter dan File Adapter.

Next blog saya akan coba mengimplementasikan cara menambahkan sensor di BPEL dan nantinya akan digunakan untuk pembuatan dashboard Oracle BAM.

Tuesday, May 28, 2013

Pembuatan SOA Application (BPEL, JMS Adapter dan File Adapter) Part 1

Pada blog ini saya akan sharing program simple SOA Application menggunakan Component WebService (yang kita define sendiri), BPEL (Business Process Execution Language), JMS Adapter dan File Adapter.
Berikut step by step pembuatannya:
  • Buka JDeveloper, kemudian buat new application, pilih Generic Application. Klik next 
  • Pilih SOA, kemudian isi nama projectnya dan next untuk melanjutkan, setelah itu pilih empty composite dan  finish.
  • Setelah selesai, pertama kita buat terlebih dahulu schema xml (XSD) yang nantinya digunakan untuk membuat webservice. 
<?xml version= '1.0' encoding= 'UTF-8' ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:p1="http://xmlns.oracle.com/ns/inputType"
     targetNamespace="http://xmlns.oracle.com/ns/inputType" elementFormDefault="qualified">
    <element name="inputFirst" type="p1:inputFirstType"/>
    <complexType name="inputFirstType">
        <sequence>
            <element name="first_name" type="string"/>
            <element name="mid_name" type="string"/>
            <element name="last_name" type="string"/>
        </sequence>
    </complexType>
</schema>


  • Drag web service dari component pallete ke exposed service (ini digunakan sebagai inputan)
  • Keluarkotak dialog webservice, isi nama web service name dengan "input", kemudian klik button Generate WSDL from schema. Keluar kotak dialog Create WSDL, pilih interface type dengan "Synchronous Interface".


  • Klik "+" di bagian input, kemudian keluar kotak message Part, di sini isi part name dengan "input", dan di bagian URL klik tombol search, lalu keluar kotak dialog search, cari schema xsd yang kita buat sebelumnya. Pilih "inputFirst" dan klik ok, dan  di kotak dialog message part klik ok.

  • Lakukan hal yang sama di bagian output, isi nama message part dengan "output" dan pilih schema xsd sama seperti bagian Input.



  • Kembali ke kotak dialog web service, check "Copy wsdl and its dependent artifact into projects" dan klik ok. 
  • Next drag component mediator ke bagian component SOA Application, keluar kotak dialog mediator, klik OK


  • Drag component BPEL Process ke bagian Component, setelah itu keluar kotak dialog BPEL Process, di bagian input dan output klik search, kemudian cari schema input.xsd (pilih inputFirst) kemudian klik Ok. 
  • Drag JMS Adapter ke external references. Klik next setelah keluar kotak dialog JMS Adapter.
  • Isi nama JMS Adapter yang kita buat kemudian next.
  • Pilih Oracle Weblogic JMS (untuk Oracle Enterprise Messaging Services (OEMS)). Kemudian next.


  • Pilih Connection Server Weblogic, kemudian pilih next.

  • Dibagian Adapter interface, pilih Define from operation and schema (specified later), kemudian next.
  • Dibagian operation, kita pilih Consume Message, secara otomatis / default Operation name akan berisikan Consume_Message (kita bisa define sendiri nama operation JMS kita). Kemudian kita next.

  • Dilayar berikutnya, cari nama queue yang sebelumnya kita sudah buat beserta JNDI untuk queue (referensi pembuatan queue dan connection factory jms disini ), kemudian klik ok.

  • Dibagian selanjutnya, klik search pada message dan cari file xsd schema sebagai format input  message dari JMS ke queue. Kemudian next.



  • Kemudian finish.
Setelah kita menambahkan JMS Adapter, kemudian kita bisa dapat menambahkan File Adapter untuk menggenerate file output dari inputan. Berikut langkah - langkahnya.

  • Drag component File Adapter ke bagian external references.
  • Setelah keluar kotak dialog file adapter, klik next.


  • Isi nama operation file adapter, klik next.
 
  • Pilih Define from operation and schema (specified later), kemudian next.

  • Pilih write file, klik next
  • Pilih path file output dari file adaper, untuk file naming isi dengan nama sesuai dengan keinginan. Jika anda ingin memberi format seperti tanggal, auto increment, dsb bisa menambahkan simbol "%" di akhir nama file, seperti "JMS_%SEQ%.TXT", yang artinya setiap sistem di ekseskusi (setiap instance), maka file naming akan auto increment menjadi JMS_1.txt, JMS_2.txt, dsb. Klik next
  • Dibagian selanjutnya, klik search pada message dan cari file xsd schema sebagai format input  message dari JMS ke queue. Kemudian next dan finish.

Berlanjut ke part berikutnya.