Web Service
Web service adalah aplikasi sekumpulan data (database), perangkat lunak (software) atau bagian dari perangkat lunak yang dapat diakses secara remote oleh berbagai piranti dengan sebuah perantara tertentu. Secara umum,web service dapat diidentifikasikan dengan menggunakan URL seperti hanya web pada umumnya. Namun yang membedakan web service dengan web pada umumnya adalah interaksi yang diberikan oleh web service. Berbeda dengan URL web pada umumnya, URL web service hanya menggandung kumpulan informasi, perintah, konfigurasi atau sintaks yang berguna membangun sebuah fungsi-fungsi tertentu dari aplikasi.
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 pemrogramanyang 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.
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:
1.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.
2.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.
3.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.
4.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.
5.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.
6.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
1.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.
2.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.
3.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.
Interoperabilitas
Interoperabilitas adalah kapabilitas dari suatu produk atau sistem -- yang antar mukanya diungkapkan sepenuhnya -- untuk berinteraksi dan berfungsi dengan produk atau sistem lain, kini atau di masa mendatang, tanpa batasan akses atau implementasi.
Rest
REST secara spesifik merujuk pada suatu koleksi prinsip-prinsip
arsitektur jaringan yang menggariskan pendefinisian dan pengalamatan sumber daya. Istilah ini sering digunakan dengan longgar untuk mendeskripsikan semua antarmuka sederhana yang menyampaikan data dalam domain spesifik melalui HTTP tanpa tambahan lapisan pesan seperti
SOAP atau
pelacakan sesi menggunakan
cookie HTTP. Dua pengertian ini dapat menimbulkan konflik dan juga tumpang tindih. Dimungkinkan untuk merancang suatu sistem
perangkat lunak besar sesuai dengan gaya arsitektur REST Fielding tanpa menggunakan HTTP dan tanpa berinteraksi dengan WWW. Juga dimungkinkan untuk merancang antarmuka
XML+
HTTP sederhana yang tidak mengikuti prinsip-prinsip REST, tetapi sebaliknya mengikuti model dari
RPC(remote procedure call). Perbedaan penggunaan istilah REST ini cukup menyebabkan permasalahan dalam diskusi-diskusi teknis.
Cloud Stack
Model Layanan
1.Software as a Service (SaaS) : layanan yang diberikan kepada pengguna berupa perangkat lunak seperti office suite. Contoh
Google Doc dan
Apple iWorkyang merupakan aplikasi office. Tipe pengguna dari layanan SaaS adalah End User, pengguna yang tinggal menggunakan aplikasi saja.
2.Platform as a Service (PaaS) : layanan yang diberikan kepada pengguna berupa platform untuk membantu proses pengembangan perangkat lunak seperti database, service, dan platform bahasa pemrograman. Contoh Google App Engine, RedHat OpenShift, dan
Koding. Tipe penggunan dari layanan PaaS adalah Application Developer, pengembang aplikasi bisa langsung fokus mengembangkan aplikasi tanpa perlu menyiapkan sendiri platform pengembangannya.
3.Infrastructure as a Service (IaaS) : layanan yang diberikan kepada pengguna berupa komputer server (mesin virtual) dan jaringan seperti layanan VPS (Virtual Private Server). Contoh Amazon Web Service (AWS), Linode, Digital Ocean, dan
Cloud Kilat. Tipe pengguna dari layanan IaaS adalah Network/System Architect, sysadmin yang menyiapkan semua konfigurasi sistem mulai dari sistem operasi, jaringan, sampai platform pengembangan aplikasi.
Referensi :
Comments
Post a Comment