Service Oriented Architecture (SOA)  

Kebetulan semester ini saya sedang mengikuti kuliah Pemodelan Proses Bisnis . didalam kuliah tersebut terdapat beberapa materi yang dijelaskan oleh dosen saya. salah satunya adalah Service Oriented Architecture (SOA). sedangkan saya sebagai mahasiswa yang masih 'buta' dengan dunia Web service tidak mengetahui tentang apapun yang terdapat dalam Service Oriented Architecture (SOA). oleh karena itu saya diberikan tugas oleh dosen saya itu untuk membuat paper/makalah singkat tentang Service Oriented Architecture. tulisan atau artikel ini pun bukan original tulisan saya,saya menemukan artikel ini secara tidak sengaja melalui salah satu alamat blog dan beberapa buku referensi . setelah dipikir lebih baik tulisan ini saya posting juga di blog ini supaya bisa dibaca oleh siapa saja,kapan saja dan dimana saja


Service Oriented Architecture
Service Oriented Architecture (SOA) adalah sebuah permodelan perangkat lunak yang dibangun dengan pendekatan service oriented. Service oriented sendiri merupakan sebuah pendekatan yang memiliki visi ideal di mana setiap resource dari perangkat lunak terpartisi secara bersih satu sama lain [1]. Setiap resource ini disebut dengan service. Service Oriented Architecture ini merepresentasikan sebuah business logic atau automation logic dalam sebuah sistem besar. Setiap service memiliki otonomi sendiri yang membuatnya tidak tergantung satu sama lain. Setiap service dapat berkomunikasi satu sama lain melalui sebuah protokol yang sudah terstandardisasi sehingga memudahkan untuk melakukan integrasi service baru dan penyusunan ulang kumpulan service disebabkan proses bisnis yang berubah.

Gambar 1. Bagaimana Service Oriented Architecture (SOA) mengenkapsulasi logic


Saat ini, Service Oriented Architecture (SOA) merupakan sebuah solusi yang baik untuk permodelan sistem di perusahaan atau organisasi besar. Sebab, permodelan ini memiliki banyak kelebihan, diantaranya:
  1. Dapat menyatukan berbagai sistem yang memiliki platform berbeda, seperti J2EE dan .NET. sebab dengan pendekatan ini, yang pengembang akan memilih untuk membangun sebuah layer di atas sistem รข€“ sistem tersebut yang dapat saling berkomunikasi dengan pesan yang sudah distandardisasi, misalnya menggunakan teknologi XML. Dalam sudut pandang Service Oriented Architecture (SOA), kedua sistem itu masing-masingnya akan dianggap sebagai service.
  2. Tahan terhadap perubahan. Perusahaan atau organisasi besar seringkali berubah struktur untuk meningkatkan efisiensi dan kinerja. Akibatnya, perangkat lunak juga terkena imbas untuk menyesuaikan diri terhadap proses bisnis yang baru. Permodelan perangkat lunak dengan Service Oriented Architecture (SOA) akan mengurangi effort untuk modifikasi perangkat lunak tersebut. Sebab, karena seluruh logic dari sistem sudah terpartisi secara bersih menjadi sekumpulan services, kita hanya perlu menyusun ulang seluruh service tersebut dan jika perlu menambahkan yang baru. Hal ini jelas mengurangi biaya.

Web Services seringkali dikaitkan atau bahkan disamakan dengan Service Oriented Architecture (SOA). Namun sebenarnya keduanya adalah hal yang sangat berbeda. Service Oriented Architecture adalah sebuah konsep untuk pengembangan perangkat lunak, sementara Web Services adalah sebuah aplikasi web yang berinteraksi dengan aplikasi web lainnya untuk pertukaran data[2]. Pembangunan Service Oriented Architecture (SOA) tidak harus menggunakan Web Services, sebab ada bermacam-macam teknologi lain yang memungkinkan, tapi menggunakan Web Services untuk membangun sebuah sistem Service Oriented Architecture (SOA) adalah langkah yang baik [1].

Mengapa Web Services merupakan teknologi yang tepat untuk Service Oriented Architecture (SOA) ? Untuk menjawabnya mari kita lihat beberapa design issue yang muncul dari pembuatan sebuah sistem Service Oriented Architecture (SOA).

Menurut Thomas Erl [1], dalam sebuah perancangan sistem Service Oriented Architecture (SOA), design issue yang harus diperhatikan adalah:
1. Bagaimana sebuah service mengenkapsulasi logic.
2. Bagaimana service berhubungan satu sama lain
3. Bagaimana service berkomunikasi satu sama lain.

Web Services sebagai sebuah teknologi dapat memfasilitasi design issue ini, yaitu:

  1. Sebuah service dalam Service Oriented Architecture (SOA) dapat berupa sebuah aplikasi web services. Pada dasarnya sebuah service di dalam Service Oriented Architecture (SOA) adalah sebuah aplikasi. Aplikasi ini merepresentasikan sebuah business logic atau automation logic dari sebuah proses sistem besar yang mencakupinya. Tuntutan dari sistem ini adalah dia harus bisa berdiri sendiri dan bisa berkomunikasi satu sama lain. Hal itu sudah dimiliki oleh sebuah aplikasi web services. Maka dari itu, implementasi service dalam Service Oriented Architecture (SOA) merupakan aplikasi web services.
  2. Hubungan satu service dengan yang lainnya didefinisikan dengan WSDL.WSDL mendeskripsikan bagaimana format sebuah pesan yang akan dikirim oleh sebuah aplikasi web service harus ditulis, agar dapat dimengerti oleh aplikasi web services lainnya yang menerima. Dalam sudut pandang Service Oriented Architecture, yang menggunakan web services sebagai service, teknologi WSDL ini menjadi jembatan untuk menghubungkan sebuah service ke service lainnya.
  3. Service berkomunikasi satu sama lain menggunakan SOAP messaging.Kebutuhan untuk saling berkirim pesan dalam Service Oriented Architecture (SOA) merupakan hal yang paling penting. Untuk teknologi perngiriman pesan, kita dapat menggunakan SOAP. Hal ini dikarenakan SOAP fleksibel dan dapat diperluas.

Kesimpulan
SOA seringkali disamakan dengan Web Services, padahal keduanya adalah hal yang sangat berbeda. Service Oriented Architecture (SOA) merupakan konsep pengembangan perangkat lunak yang melakukan partisi sistemnya menjadi beberapa servis yang dapat berdiri secara independen, sementara Web Services merupakan aplikasi web yang berkomunikasi dengan aplikasi web services lainnya untuk tujuan pertukaran data. Service Oriented Architecture (SOA) tidak harus menggunakan Web Services untuk implementasinya, namun menggunakan Web Services untuk implementasi Service Oriented Architecture (SOA) merupakan langkah yang baik, sebab, teknologi Web Services sangat cocok untuk Service Oriented Architecture (SOA). Sebuah aplikasi Web Services dapat mewakili sebuah service dalam Service Oriented Architecture (SOA). WSDL dapat digunakan agar sebuah service dapat berhubungan satu sama lain, dan SOAP dapat digunakan untuk teknologi pengiriman pesan antar services.

Referensi
[1] Erl, Thomas. Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR, 2005.

AddThis Social Bookmark Button

2 komentar

Posting Komentar