Archive

Archive for February, 2009

Layered /Tiers architecture ke SOA

February 16, 2009 1 comment

Bagaimana bisa kita mengubah aplikasi yg lama agar lebih siap dipindahkan ke SOA.

Membuat service layer yg mengantarai Presentation Layer dan Bussines Layer. Service layer tersebut mengexpose method yg hanya akan menerima business entity. Business entites tersebut yg dulunya terdapat di business layer. Keluarkan dari Business Layer. Dan dipisahkan. Sehingga dapat digunakan langsung oleh Presentation layer. Jadi ui berinteraksi dengan service layer dengan menggunakan Business Entites. Business entites ini hanya mengandung data saja. Berupa DTO.
Read more…

Categories: Messaging, SOA Tags: ,

Service Autonomy

February 16, 2009 Leave a comment

Salah satu prinsip dari Service Orientation adalah Autonomy. Dapat berdiri sendiri. Peranan publisher subscriber ini mutlak diperlukan untuk mencapai autonomy.

Untuk para pemula di SOA biasanya langkah pertama adalah membuat semua operasi menjadi web service. Yg sama aja hasiilnya dengan RPC. Interaksi antar service terjadi secara synchronous, blocking, request/response. Masalhnya klo misalnya salah satu service tidak ada, service lain yg tergantung terhadapnya tidak akan dapat melakukan pekerjaannya.
Read more…

Asynchronous World

February 16, 2009 Leave a comment

Dengan asynchronous ini kita ga perlu nunggu satu process diselesaikan dulu baru bisa ngerjain yg lain. Tinggal fire and forget aja. Jadi kita kirim pesan dan kita ga ush nunggu2 sampe prosesnya selesai dulu. Jadi prinsipnya udh sama seperti ngirim surat.

Kita misalkan kita mw ngirim surat lamaran kita ke suatu perusahaan dengan cara yg conventional. Kita kirim dari kantor pos. Ntar kantor pos yg ngirimkan ketempat tujuan tersebut. Kita ga ush nungguin terus di kantor pos sampe surat tu nyampe ditujuan. Kita bisa langsung pulang dan ngerjain urusan kita yg lain. Nah ketika surat tersebut sampai di perusahaan yg dituju, terserah perusahaan tersebut mw diproses atau tidak. Kita hanya tinggal menunggu. Klo misalnya perusahaan nya berminat ntar dia hubungin kita. Klo misalnya kita ga dipanggil2 maka kita bisa menyimpulkan bahwa lamaran tersebut gagal total.
Read more…

Categories: Messaging, SOA Tags: ,

SOA vs OO

February 16, 2009 Leave a comment

Kenapa butuh SOA SOA lebih ke integrasi antara aplikasi (Top Down) OO lebih kea rah mendesign satu aplikasi. (Bottom up) Jadi keduanya memecahkan permasalahan yg berbeda dan tidak saling menggantikan.

OO memandang system dalam group bentuk class, component, packages, interfaces. Interaksi antarnya adalah invoking method dari object. Kita tidak langsung mengakses datanya. Jadi lebih cocok ditujukan untuk design satu aplikasi, in process bukan interprocess (distributed) berjalan dalam satu mesin
Read more…

Categories: SOA Tags: ,

SOA dan EDA

February 16, 2009 Leave a comment

SOA : Service Oriented Architecture
EDA : Event Driven Architecture

Pilihan design yg terdapat di SOA bisa banyak. Bahkan ketika kita sudah selesai mendefinisikan service. Contohnya pada kasus order to cash process. Proses2nya adalah register an order. Nah order memiliki hubungan dengan stock. Plihan design yg mungkin adalah

1. Aplikasi mengirimkan pesan ke registerOrder pada Order service
2. Aplikasi mengirimkan pesan yg lain ke reserveStock ke Inventory Service.

1. Aplikasi mengirimkan pesan ke registerOrder pada Order service
2. Order service mengirimkan pesan ke reserveStock pada Inventory Service

1. Aplikasi mengirimkan pesan ke registerOder pada Order Service
2. Order Service mempublish orderReceived event
3. Inventory Service subscribe ke orderReceived event
Read more…

Categories: SOA Tags: , , ,

Cost dari membuat message

February 13, 2009 2 comments

Disarikan dari blog greg young.

Dengan membuat aplikasi yg berkomunikasi via message pasti akan banyak tipe message yg akan dibuat. Apakah kita akan mempermasalahkan waktu untuk membuatnya ketimbang dengan scalability nya. Greg young membantah pernyataan bahwa untuk membuat message ini membutuhkan waktu lama. Saya setuju dengan pendapat greg karena kok masalah kecil seperti itu yg dibahas. Jelas maslah tersebut tidak terbandingkan dengan keuntungan yg didapat.

Emang dengan membuat aplikasi dengan tipikal Command Query Separation dan messaging maka tipe akan menjadi lebih banyak. Tetapi coba bandingkan dengan traditional arsitektur. Dimana scalability sulit dicapai dan performance rendah. Jelas bukan hal yg bisa dipertandingkan.
Read more…

Categories: Messaging, SOA Tags: ,

Service (Part 3) Domain Layer dan Application Layer

February 10, 2009 1 comment

Term service ini merupakan term yg overload. Domain Service. Application Service, Infrastructure Service. Jadi kita harus bisa menentukan operasi tersebut diletakkan di layer yg mana. Domain service dan Application Service berkolaborasi dengan Infrastructure service.

Contohnya aplikasi bank memiliki fitur mengirimakn email ke nasabahnya jika account balancenya melewati batas yg ditentukan. Nah service dari email atau notifikasi ini merupakan kepemilikan dari infrastructure layer.

Nah sekarang yg kita harus pisahkan adalah domain dan application service. Hal tersebut tergantung dengan domainya. Jika dia mengandung bisnis rule maka letakkan di domain service dan jika tidak letakkan di application service. Tidak boleh ada bisnis logic pada application service.
Read more…