SeLaMaT DaTaNg Di BlOg Aku, SeMoGa IsI BlOg InI BeRmAnFaAt. <blink>Service Oriented Architecture ( SOA )</blink> - PuByKaRmAtoLi.Net

Jumat, 22 Juli 2011

Service Oriented Architecture ( SOA )

Pengertian SOA :

Service Oriented Architecture ( SOA ) adalah suatu gaya arsitektur sistem yang membuat dan menggunakan proses bisnis dalam bentuk paket layanan sepanjang siklus hidupnya. SOA juga mendefinisikan dan menentukan arsitektur teknologi informasi (TI) yang dapat menunjang berbagai aplikasi untuk saling bertukar data dan berpartisipasi dalam proses bisnis. Fungsi-fungsi ini tidak terikat dengan sistem operasi dan bahasa pemrograman yang mendasari aplikasi-aplikasi tersebut. SOA membagi fungsi-fungsi menjadi unit-unit yang berbeda (layanan), yang dapat didistribusikan melalui suatu jaringan dan dikombinasikan serta digunakan ulang untuk membentuk aplikasi bisnis. Layanan-layanan ini saling berkomunikasi dengan mempertukarkan data antar mereka atau dengan mengkoordinasikan aktivitas antara dua atau lebih layanan. Konsep SOA sering dianggap didasari atau berkembang dari konsep-konsep yang lebih lama dari komputasi terdistribusi dan pemrograman modular .

Arsitektur Berorientasi menyediakan layanan yang lebih komprehensif dan tangkas cara untuk mengintegrasikan sistem informasi dan proses bisnis lebih dari integrasi pendekatan tradisional. Perusahaan perlu reskill staf mereka untuk memanfaatkan metodologi baru ini. Dengan SOA, aplikasi-aplikasi tidak lagi dibangun bersifat monolitik, SOA dibentuk dengan merangkai berbagai service modular. Suatu service bisa berupa satu fungsi dari sebuah piranti lunak, misalnya fungsi GetAccountBalance atau CancelOrder. Fungsi tersebut bisa dieksekusi atas permintaan sistem apapun, tanpa memandang platform sistem operasinya, bahasa pemrogramannya, maupun lokasi geografisnya. Implementasinya SOA dewasa ini, dalam bentuk web services , boleh dibilang merevolusi pengembangan piranti lunak. Dulu memang sudah ada distributed software architecture , yang juga menjanjikan agility dan penggunaan kembali komponen, namun cara itu memiliki kelemahan. Untuk melakukan integrasi, seluruh komponen harus menggunakan object model atau bahasa pemrograman yang sama. Nah, web services menghilangkan halangan itu dan sanggup beroperasi melampaui batas yang memisahkan platform Microsof dari Unix, atau .Net dari J2EE,

Singkatnya, SOA bisa membantu menyederhanakan integrasi aplikasi dan manajemen proses. Jika ingin memiliki proses bisnis yang lebih fleksibel dan adaptif, pindahkan aplikasi-aplikasi TI ke SOA.


Kelebihan SOA :

Implementasi SOA pada perusahaan relative membutuhkan biaya yang cukup besar. Akan tetapi, dengan perencanaan yang baik, SOA dapat memberikan keuntungan yang lebih besar. Keuntungan dapat dirasakan dari segi biaya dan waktu, antara lain:

n Penghematan

Dengan membangun suatu koleksi services, penghematan dapat dimulai. Jika pada proyek yang pertama, waktu dan tenaga yang dihabiskan paling besar, maka proyek selanjutnya, usaha yang dikeluarkan akan makin kecil karena sudah banyak tersedia services sebagai hasil dari proyek sebelumnya yang dapat di-reuse.

n Kecepatan

Dalam SOA, proses bisnis dipecah dan disederhanakan dalam bentuk service yang lebih kecil. Ketergantungan yang ada antar service harus diminimalisir. Sehingga apabila terjadi perubahan pada suatu proses bisnis, cukup service yang berkaitan saja yang mengalami perubahan. Tidak perlu seluruh sistem. Dengan begini, sistem dapat merespon perubahan dengan cepat.

n Real-time responsive

Dalam service-service tersimpan business rules dan batasan-batasan dalam bisnis. Dan service-service ini disimpan dan dikelola dalam sebuah server aplikasi yang disebut ESB. Sehingga berbagai jenis aplikasi dapat mengakses business rules tersebut. Apabila terjadi suatu perubahan terhadap business rules, ESB akan mengelolanya secara otomatis. Sehingga business rules yang baru akan berlaku saat itu juga.

n Channel independent

Bisnis berkaitan dengan banyak pihak, Baik pelanggan maupun supplier. Berbagai pihak yang behubungan dengan organisasi tentu saja memungkinkan adanya berbagai jenis aplikasi yang berbeda-beda. Dengan adanya service dan ESB, memungkinkan untuk berbagai aplikasi tersebut untuk mengakses business rules yang telah kita definisikan. Sehingga pihak-pihak yang berkaitan dengan organisasi tidak tergantung lagi terhadap suatu aplikasi tertentu yang telah kita definisikan.

n Waktu pengembangan yang lebih singkat

Dalam SOA, bisnis proses yang dipecah dalam bentuk service yang lebih kecil memungkinkan perubahan dan pengembangan pada service yang tertentu saja. Karena pengembangan dilakukan secara terfokus, waktu yang dibutuhkanpun menjadi lebih sedikit.

n Mengurangi duplikasi

Service dalam SOA dikelola dalam server aplikasi yang disebut ESB. Karena service dikelola secara terpusat, hal ini akan mengurangi kemungkinan adanya duplikasi sistem. Selain itu, bentuk service yang memungkinkan reuseability juga mengurangi adanya fungsi yang sama yang ada didalam sebuah sistem.

Kekurangan / Kegagalan SOA

n Kegagalan dalam membuat businness case untuk SOA

Bagian IT seringkali membuat kesalahan dengan menganggap proyek SOA sebagai proyek IT. Padahal SOA bukanlah proyek yang dapat dikerjakan IT sendiri. Tetapi harus mencakup seluruh departmen dalam organisasi. Proses bisnis dimiliki dan dijalankan oleh tiap-tiap departmen. Oleh karena itu diperlukan keterlibatan setiap departmen untuk mendapatkan pengertian yang lebih mendalam dalam setiap proses bisnis yang akan diolah.

n Menyerahkan proyek SOA sepenuhnya ke vendor

Terkadang perusahaan mempercayakan sepenuhnya proyek SOA kepada vendor, dan bergantung hanya kepada teknologi. Padahal SOA bukan hanya masalah teknologi, dan pengembangannyapun tidak dapat diserahkan sepenuhnya kepada pihak luar. Yang mengetahui secara detail mengenai proses bisnis yang ada dalam perusahaan hanyalah orang-orang yang ada dalam perusahaan tersebut. Oleh karena itu tidak sebaiknya prosesnya sepenuhnya diserahkan kepada vendor diluar perusahaan.

n Kegagalan dalam rencana dan eksekusi awal dalam implementasi

SOA akan membawa banyak perubahan dalam perusahaan. Karena itu perlu waktu yang tepat untuk melakukan implementasi, agar tidak menimbulkan resiko yang tinggi. Perencanaan perlu dilakukan secara matang. Dan perencanaan dan waktu yang tepat untuk implementasi tidak dapat dialihkan tanggungjawabnya kepada vendor.

Web Service dan Komponen

Adalah suatu pandangan keliru yang menyatakan web service sama dengan SOA. Dengan memiliki web service dalam bisnis tidak serta merta membuat bisnis menjadi dibangun atas dasar SOA. Web service hanyalah sebagian dari SOA yang memberikan batasan yang lebih luas dari bisnis. Sehingga bisnis tidak hanya terbatas pada suatu platform tertentu saja. Web service didasarkan pada messenging protocol yang menyediakan suatu standar, sehingga aplikasi bisa berkomunikasi antar platform yang berbeda. Contoh protokol yang dipakai adalah web service definition language (WSDL).


Dengan standar di atas, web services sangat mendukung implementasi SOA di mana karakteristik SOA seperti loose coupling dan service interface disediakan oleh teknologi web services.

Business Proces management/BPM

Sebelum menterjemahkan proses bisnis kedalam bentuk service, penting untuk melakukan optimalisasi dari bisnis proses tersebut. Inefisiensi dan inefektifitas dari proses bisnis harus di minimalisir. Menterjemahkan proses bisnis yang tidak efisien dan efektif menjadi service, hanya akan menambah kompleksitas dari proses bisnis tersebut.

Metode yang digunakan dalam SOA untuk memperbaiki proses bisnis adalah BPM. Melalui BPM, proses bisnis akan di rancang kembali. Proses yang tidak efisien akan dihilangkan atau diubah. Sehingga didapat proses bisnis yang lebih efisien dan efektif. Dan ketika diterjemahkan kedalam service, akan diperoleh service yang efisien dan efektif.

Integration technology

Integration technology terdiri atas beberapa komponen lagi:

Enterprise Service Bus (ESB)

Bertugas untuk mengelola Service yang ada. Termasuk didalamnya akses terhadap service, service discovery, dll.

Message oriented middleware

Menyediakan support untuk melakukan komunikasi antar platform yang berbeda
Enterprise aplication integration

Menyediakan sambungan infrastruktur antara aplikasi dengan service



4 komentar:

  1. makasih udah di share tentang SOAnya

    BalasHapus
  2. Informasi yang menarik dan wajib orang lain baca :)

    BalasHapus
  3. waww keren dan juga menarik.. bermanfaat banget nihh... terimakasihh
    http://st3telkom.ac.id

    BalasHapus
  4. wahh saya baru denger nihh tentang SOA..makasih yah berkat artikel ini saya jadi tauu...

    BalasHapus

Berikanlah Komentar, saran dan Kritik yang membangun "