Menjawab dengan SOA untuk Sistem Integrasi
Pendahuluan
Semua perusahan besar di dunia pasti berinvestasi pada Information Technology (IT), Betapa tidak, IT sudah terbukti dapat meningkatkan prodiktivitas, dan ritme perusahan dalam melakukan bisnisnya. Suatu perusahaan pasti membuat investasi tinggi pada IT setiap tahunnya baik software maupun hardware, sedangkan teknologi IT setiap bulan pasti bertambah. Dari sisi software, sudah pasti semakin tua teknologinya pasti akan tertinggal sedangkan data yang tersimpan di dalamnya semakin banyak dan semakin krusial untuk analisis. Tantangan dari sisi bisnis sekarang ini adalah bagaimana menggabungkan semua data di dalam aplikasi yang dimiliki perusahaan sehingga dapat dilakukan analisi lebih lanjut. Sangat tidak smart jika perusahaan meremajakan semua aplikasi tersebut hanya untuk tercipta sebuah interoperatibility. Perlu adanya sebuah teknologi yang dapat menyatukan semua proses yang ada. Hal ini bisa dilakukan dengan konsep Software Oriented Architecture (SOA).
Dari artikel SUN, bahwa ternyata SOA itu bukan hal yang baru bagi dunia IT. SUN telah mendefinisikan konsept itu dan melahirkan yang namanya Jini, sebagai dynamic discovery untuk service dalam sebuah network. Teknologi web service yang ada sekarang ini mengambil konsep dari Jini serta mengimplementasikan teknologi web seperti XML, Web service description language (WSDL), Simple Object Access Protocol (SOAP), and Universal Description, Discovery, dan Integration(UDDI). SOA pun kini telah menjadi suatu konsep yang patut diperhitungkan dalam hal melayani sistem besar terutama yang membutuhkan komputasi kompleks dan bergaya service-centric system. SOA dapat membantu perusahan untuk menjadikan sistem mereka lebih bagus sehingga perusahaan dapat melakukan bisnis secara efisien, adaptasi internal yang cepat dalam bisnis mereka untuk menunjang requirement bisnis, dan menerapkan service-centric software.
Service Oriented Architecture (SOA)
SOA adalah sebuah konsep arsitektur software yang memanfaatkan service-service yang ada dalam sebuah jaringan sistem. Point pentingnya adalah SOA mengedepankan loose coupling komponen software sehingga service-service yang ada dapat digunakan kembali untuk pengembangan software lainnya.
Konsep SOA sendiri memungkinkan kita dapat memanfaatkan aset yang sudah ada dengan cara membuat service pada sistem-sistem lama. Hal ini membuat perusahaan dapat menghemat dengan me-leverage investasi terhadap IT. Tak lupa service yang ada juga dapat dijamin interoperatibility-nya yang tinggi terhadap sistem lain untuk menunjang aplikasi berbasis SOA lainnya. SOA disinyalir dapat meningkatkan fleksibilitas yang tidak dapat ditemui pada konsep-konsep lainnya.
Adapun:
- Service adalah komponen software yang secara baik terdefinisikan sebagai interface dan memiliki implementation independent atau tidak terkait pada software yang dibangun.
- Service bersifat self-contained (menjalankan fungsi spesifik) dan loose-coupled (Implementasinya tidak terikat oleh sistem lainnya).
- Service dapat dynamically discovered.
- setiap service dapat dibuat dari service lainnya.
SOA menggunakan paradigma find-bind-execute. Untuk menerapkan paradigma ini terdapat tiga komponen pokok, yaitu sevice provider (SP), registry (R), dan service consumer (SC) . Dalam hal ini SP sebagai penyedia service meregistrasikan jasanya ke dalam suatu public registry R. Public registry R ini yang kemudian digunakan oleh SC untuk menemukan service yang tepat baginya. Jika suatu registry menemukan service yang tepat, makan kontrak akan diberikan dan diberikan pula endpoint untuk service tersebut. Kontrak adalah suatu keterikatan service yang ada antara SP dan R, dan keterikatan service antara SC dan R.
Aplikasi-aplikasi berbasis SOA biasanya terdistribusi dalam konsep n-tier yang memiliki berbagai layer, yaitu layer peresentation, business logic, dan persistence. Pembagian blok dalam paradigma SOA dibangun berdasarkan konsep Service, dimana tantangannya adalah bagaimana menentukan service yang tepat dalam level abstraksi yang tepat sehingga service yang ada dapat digunakan berbagai aplikasi dan dapat memberikan coarse-grained functionality.
Untuk lebih jelasnya dapat dibuka pada referensi ini:
- Service-Oriented Architecture (SOA) and Web Services: The Road to Enterprise Application Integration (EAI)
- SOA dalam http://id.wikipedia.org/wiki/SOA
Sekian artikel saya, terima kasih.

Hi,Kak Aris Ginancjar…
Kebetulan saya salah satu mahasiswa perguruan tinggi swasta di Jakarta. Saya sedang skripsi yang kiranya ada kaitan dengan SOA. Apakah Kk Aris poenya e-book tentang SOA. Kita bisa share…nic. Tapi saya sedang binggung,apakah SOA ada kaitannya dengan database ERP. Soalnya saya diminta membangun database ERP dalam waktu 6 bulan. Dan sekarang sudah kurang dari 3 bulan. Takut rasanya.. boleh konsultasi juga..
Terima kasih atas kunjungannya ke rumah tua Saya. Pertanyaan hendra sudah Saya jawab melalui email.
Salam kenal untuk Kak Aris.
Saya Via mahasiswa di Surabaya yang juga lagi mendalami dan mencoba mengimplementasikan tentang SOA dan ERP khususnya pada bagian SOAD.
Apakah Kak Aris punya e-book mengenai topik ini khususnya yang SOAD-nya?
Atau ada link sebagai bahan belajar saya.
Dan terimakasih juga atas sharing ilmu nya pada artikel ini.