flexible is a good thing

Service Component Archtecture Implementation (part 1)

Posted in Programming, SCA by zuntuk06 on October 15, 2009

Aku udah delapan hari bekerja di sini, kerjaan yang dikasi ama perusahaan ku hanya disuruh belajar dan explore tentang SCA menggunakan Webpshere Integration Developer.

Nah …, sekarang apa itu SCA ??? Kepanjanganya adalah Service Component Architecture. SCA merupakan satu paradigma mengembangkan aplikasi berbasis SOA dengan cara menggabungkan beberapa service kedalam suatu component lalu mendisitribusikan/publish agar dapat digunakan oleh aplikasi lain.

Komponen memiliki banyak service, service memiliki banyak fungsi yang sering disebut dengan bisnis fungsi. Komponen ini lah yang didistribusikan/dipublish ke luar menggunakan interface. Dengan adanya interface ini, client tidak boleh secara langsung menggunakan service maupun fungsi service. Tapi client hanya bisa mengakses melalui interface yang telah disediakan component tersebut melalui pertukaran pesan (SOAP contohnya). Dengan begitu, aplikasi menjadi loosely coupled, artinya client tidak tergantung dengan implmentasi component. Apabila terjadi perubahan bisnis logic pada fungsi2 service, yang dirubah hanya bisnis logic saja.

Itu sekilas tentang SCA. Nah …, kami menggunakan tools WID (Websphere Integration Developer) untuk mengimplementasikan SCA ini.  nah …., apa2 aja sih yang bisa dilakukan oleh tools ini ?

1. BPEL (Business Process Execution Language) biasa juga dikatan sebagai workflow bisnis proses: teknologi ini digunakan untuk mengchoreography service2 untuk mengimplmentasikan sebuah bisnis proses tertentu. misalkan, ada bisnis proses pemesanan barang. kalau kita telaah untuk melakukan pemesanan barang ada beberapa service yang bisa kita rancang. AccountManager (Untuk mengecek account), StockManager untuk mengecek barang2 yang dipesan tersedia atau tidak, ada Order Shipping untuk mengaprove barang2 yang dipesan. Stock Manager, Account Manager, dan Order Shipping di orkestrasi/digabungkan untuk mengimplementasikan bisnis proses pemesanan barang

2. Human Task, dalam sebuah bisnis proses tidak lah selalu diautomasi oleh fungsi2 software. Tapi terkadang perlu confirmasi, atau approve dari manusia. Ini lah guna si Human Task, melibatkan campur tangan manusia pada bisnis proses. Sebagai contoh, apa bila jumlah barang yang di pesan dibawah satu juta pesanan langsung diapprove namun apabila pesanan barang melebihi satu juta unit harus terlebih dahulu di review oleh manager, nanti manager sendiri yang memutuskan kalau pemesanan barang itu layak di approved atau tidak.

3. Business Rules, bisnis rule ini berisi kondisi2 untuk melakukan bisnis proses bisa juga dikatakan sebagai aturan2 untuk menjalankan bisnis proses, mislkan aturan 1 di lakukan makan proses selanjutnya adalah demikan2. contoh kondisi bisnis proses adalah: jika barang yang di pesan lebih dari satu juta approvernya adalah manager, jika barang lebih dari sepuluh juta approver adalah manager dan gm. Sebenarnya bisnis rule ini bisa langsung diimplementasikan/di coding pada BPEL, jadi ngga pala perlu bisnis rules segala.  Tapi masalah muncul, bagai mana jika bisnis proses berubah. jika jumlah barang lebih dari satu juta harus di approve oleh asistant manager dan manager. Ngga mungkin dong, setiap kali ada perubahaan proses bisnis seperti ini harus mengubah code BPEL. Nah …, ini lah hebatnya si busness rule. Kita bisa merubah2 kondisi2 bisnis seperti diatas secara dynamic pada application server tepatnya pada bagian BPC.

Masih ada beberapa teknologi lain, tapi kapan2 lah itu y :D   …

Bersambung. …..

4 Responses

Subscribe to comments with RSS.

  1. Ronal said, on October 15, 2009 at 1:35 pm

    makin sadis ya lek….

    dalam bahh… hehehee…

  2. zuntuk06 said, on October 16, 2009 at 1:43 am

    @Ronal
    Bacrit kw ces. hahahah

  3. Angga Lingga said, on October 20, 2009 at 2:00 am

    Bedanya ama Web Service apa ces ???

  4. zuntuk06 said, on October 20, 2009 at 7:43 am

    seperti yang aku tulis:

    SCA merupakan satu paradigma mengembangkan aplikasi berbasis SOA dengan cara menggabungkan beberapa service kedalam suatu component lalu mendisitribusikan/publish agar dapat digunakan oleh aplikasi lain.

    untuk memprogram menggunkan paradigma ini service2 digabung menjadi satu paket, lalu paket itu di distribusikan/di publish

    Service: adalah sebuah layanan yang didistribusikan/dipublish sehingga component, modul atau aplikasi dapat menggunakan service tersebut. contohnya CalculatorService(add, sub, mul, div).

    agar CalculatorService dapat didistribusikan, calculator service diimplementasikan dengan teknologi yang mendukung pendistribusian fungsi atau juga object. seperti RMI, Corba, WebService, Messaging, dll

    So, Service bukan lah web service, tapi webservice adalah teknologi bisa mengimplementasikan service


Leave a Reply