Docstoc
EXCLUSIVE OFFER FOR DOCSTOC USERS
Try the all-new QuickBooks Online for FREE.  No credit card required.

Analogi SOA

Document Sample
Analogi SOA Powered By Docstoc
					                               Analogi SOA
Kesan tentang SOA yang saya peroleh dari teman-teman adalah: RUMIT dan SULIT. Bisa
dimaklumi. Selama ini, setiap muncul konsep baru di bidang Teknologi Informasi (TI) akan
membuat dahi para praktisi TI mengkerut. Konsep-konsep baru yang sering begitu cepat
muncul, dan mendapat sambutan hangat, belum juga membuat hidup kita lebih mudah.

Begitu anda mulai mempelajari dan mendalami SOA (Service Oriented Architecture), kesan
rumit dan sulit akan dengan cepat berkurang. Jika konsep-konsep terdahulu sulit dipahami
orang di luar TI, tidak demikian dengan SOA. Kosakata yang dipakai dalam konsep SOA
tidak lagi terlalu teknis TI, tapi sudah lebih dekat dengan kosataka bisnis. Kata service itu
sendiri lebih bersifat bisnis jika dibanding object atau component.

Dengan lebih dekatnya konsep-konsep TI dengan konsep-konsep Bisnis diharapkan
kerjasama erat antara praktisi TI (programmer, system analyst, software architect) dan
praktisi Bisnis (sales, marketer, bagian produksi, akuntan, para manajer dan eksekutif) akan
menjadi jauh lebih baik. Kerjasama ini sangat dibutuhkan demi terwujudnya realisasi
investasi TI untuk kemajuan dunia bisnis khususnya dan peradaban manusia pada umumnya.

Untuk memudahkan penggambaran tentang konsep SOA, ada baiknya jika kita gunakan
analogi berikut ini. Ambillah sebuah kota di Indonesia, Jakarta untuk gampangnya. Setiap
warga Jakarta, dalam konteks SOA, bisa disebut sebagai sebuah service. Seorang tukang sapu
memberikan service (jasa) kebersihan, sales girl memberikan service penjualan, kasir
menerima uamg pembayaran dari pelanggan, kurir memberikan layanan pengantaran barang
belanjaan, akuntan menyiapkan laporan keuangan organisasi, manajer mengelola organisasi,
dan banyak lagi contoh service yang dimiliki/disediakan oleh warga kota.

Setiap warga, siapa saja, bisa juga bertindak sebagai konsumen (consumer) bagi service yang
tersedia. Pada umumnya, tiap penyedia (provider) service juga bisa bertindak sebagai
consumer. Sebagai contoh, seorang tukang sapu kantor bertindak sebagai consumer pada saat
dia beli gorengan dari seorang service provider, penjual gorengan. Dan satu hal yang sangat
penting dalam konsep SOA adalah bahwa consumer tidak harus tahu bagaimana cara
provider melaksanakan service. Seorang penumpang Trans Jakarta (terkenal dengan
“busway”) tidak harus tahu bagaimana cara menjalankan bus Trans Jakarta. Kalau ditarik ke
dunia TI, sebelum ada konsep dan teknologi SOA, seorang programmer yang akan
menggunakan suatu object atau software component, dia harus tahu object atau component
itu dibuat dengan apa, Java atau .Net atau yang lain? Dan konsumen juga harus tahu detil-
detil teknis object atau component yang akan dia pakai. Dalam SOA, consumer suatu service
tidak harus tahu service itu dibuat dengan apa dan bagaimana cara membuatnya. Hal ini
menghasilkan salah satu keunggulan yang sangat penting dari SOA, yakni independensi,
tidak ada saling tergantung antara konsumen dan provider dalam teknis meminta dan
menyediakan service.
Terkait dengan independensi di atas, provider bisa secara bebas mengubah, memperbaiki atau
menyempurnakan service, dan konsumen tidak perlu melakukan perubahan dalam cara
mengkonsumsi service yang telah diubah atau diperbaiki tersebut. Sebagai contoh, pada
waktu menggunakan jasa pengiriman barang, kita sebagai konsumen tidak perlu mengubah
cara kita meminta jasa itu meskipun pemberi jasa mengubah cara pengangkutan barang dari
menggunakan truk menjadi menggunakan kereta api. Yang menjadi perhatian konsumen
                                                            adalah bahwa barang yang dia
                                                            kirim harus sudah di tangan
                                                            penerima dalam waktu tiga (3)
                                                            hari misalnya. Persyaratan harus
                                                            sampai dalam waktu tiga hari
                                                            tadi, dalam konsep SOA, disebut
                                                            sebagai service contracts. Dan
                                                            soal contracts ini tidak
                                                            berpengaruh pada cara konsumen
                                                            menggunakan service. Diskusi
                                                            tentang service contracts akan
                                                            dibicarakan pada tulisan yang
                                                            akan menyusul kemudian di blog
                                                            ini.

Kembali ke individu sebagai service. Beberapa service individual bisa digabung menjadi
service yang lebih besar, yang lebih kompleks, tetapi tetap bisa dinamakan sebagai sebuah
service. Jika Anda memperhatikan sebuah Mall di Jakarta atau di mana saja, sebetulnya ia
adalah sebuah service besar yang merupakan gabungan dari banyak service kecil seperti
tukang kebersihan, sales, kasir, pengantar barang, manajer dan sebagainya. Dalam SOA,
proses penggabungan dan penyelarasan banyak service menjadi sebuah sercive baru yang
lebih kompleks dinamakan service composition (orchestration, coreography). Alat atau tools
yang paling popular saat ini dan menjadi salah satu standar dalam SOA adalah BPEL
(Business Process Execution Language). Detil mengenai BPEL ini akan dibicarakan dalam
tulisan terpisah di blog Samz ini.

Beberapa service besar seperti diterangkan di atas masih bisa digabung menjadi sebuah
service yang lebih besar lagi. Mall, Dinas Perdagangan, Kantor Pajak, Dinas PU dan yang
lain-lain saling berinteraksi menjadi sebuah service yang dinamakan Kota. Begitu seterusnya:
desa, kota dan propinsi bergabung menjadi sebuah service yang dinamakan Negara.

Dalam SOA, ada satu konsep yang dinamakan granularity. Service sederhana atau tunggal
tetapi secara teknis lebih berkaitan dengan infrastruktur aplikasi, misalnya tabel database,
sering digolongkan sebagai fine-grained service. Penambahan data pelanggan (ID, Nama,
Alamat), pengambilan data pelanggan, data persediaan (Kode Barang, Nama, Harga Satuan,
Jml Persediaan) dan sejenisnya, masing-masing bisa digolongkan sebagai fine-grained
service. Beberapa fine-grained service ketika di-orkestrasikan menjadi service yang lebih
kompleks digolongkan sebagai coarse-grained service. Jadi misalnya service data pelanggan,
service data persediaan dan mungkin service sederhana lain misalnya service pengecekan
kartu kredit di-orkestrasikan menjadi satu service baru, sebutlah Sales Order, service baru ini
tergolong coarse-grained service.
Beberapa pengertian lain dalam konsep SOA akan dituliskan dalam beberapa tulisan
mendatang. Sementara pengenalan tentang SOA diawali dulu dari Analogi seperti yang
digambarkan di atas. Mudah-mudahan tulisan ini mudah dipahami bagi orang yang bahkan
masih sangat awam dengan dunia Teknologi Informasi sekalipun.

Dari membaca penggambaran di atas, masihkah Anda membayangkan bahwa yang namanya
Service sebagai bagian utama dari Service Oriented Architecture (SOA) sebagai sesuatu yang
rumit dan sulit? Silahkan beri komentar atau ajukan pertanyaan sekitar service sebagaimana
digambarkan di atas sebagai awal diskusi mengenai SOA. Semoga bermanfaat.

Samsurizal Rahmat




*** Berbagai tulisan menarik tentang SOA, dengan gaya penulisan yang renyah bisa Anda
dapatkan di “SOA Untuk Indonesia”, http://soa-samz.blogspot.com/ ***

				
DOCUMENT INFO
Shared By:
Tags: Service
Stats:
views:66
posted:6/29/2010
language:Indonesian
pages:3
Description: Penggambaran tentang Service Oriented Architecture (SOA) yang tepat, menarik, dan mudah dipahami.