Software Oriented Architecture

Kemaren liat jurnal EECS, ngebahas tentang SOA, ini menarik, karena waktu kuliah gw belum pernah mempelajari teori tentang scope global kayak gini. Didalam sebuah system yang sangat besar, akan terdiri dari banyak sub system sendiri. SOA adalah salah satu jawaban dari semua pertanyaan, bagaimana cara mengintegrasikan system system tersebut yang berjalan sendiri?

Syarat SOA yang paling utama adalah semua komponen yang ada di dalam system tersebut harus didesain sebagai service yang berdiri sendiri.

Okeh contoh SOA klo mau dijabarkan di kehidupan nyata kaya gini, gw jabarkan antara service customer dan service provider. Secara harfiah service customer dan service provider adalah salah 2 sistem yang berbeda dan berdiri sendiri, tapi bisa menjadi satu kesatuan utuh dengan adanya interaksi data diantara keduanya. Misal service customer request data ke service provider dan provider response message balik ke service customer bersangkutan. Jadi request dan response diidentifikasi dalam sebuah cara / jalan / platform yang bisa dimengerti di kedua service tadi merupakan factor penting yang bisa mengintegrasi keduanya. Sehingga misalnya kita mau menambah service baru yang berdiri sendiri dan mau di include di system yang mengimplementasikan SOA tersebut, kita harus bisa menyamakan sebuah cara / jalan / system platform agar susunan susunan sub system tersebut dapat saling berkomunikasi.

Ada satu hal menarik dari CEO nya amazon yang menganut konsep SOA. Ini kata kata dia,

1. “All teams will henceforth expose their data and functionality  through service interfaces.”

2. “Teams must communicate with each other through these interfaces.”

3. “There will be no other form of interprocess communication  allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.

4. “It doesn’t matter what [API protocol] technology you use.

5. “Service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.”

Mungkin masih banyak aspek yang ada dalam SOA, dan penjelasan gw cuma luarnya saja.

Advertisements