Translate

Jumat, 16 November 2012

WEB SERVICE DAN SOA


BAB I
PENDAHULUAN

Saat ini, banyak perusahaan menghadapi dinamika tantangan yang tinggi dalam rangka memenuhi permintaan customer dengan kualitas layanan yang tinggi dan produksi dari beberapa segmen bisnis dan industry. Dalam lingkungan seperti ini yang mengkombinasikan antara inovasi teknologi serta globalisasi ekonomi, membuat pemicu dibangunnya suatu paradigm baru dalam inovasi ekonomi, dimana konsep Virtual Enterprise (Perusahaan Virtual) menjadi posisi yang utama. Banyak perusahan yang menggabungkan sumber daya yang ada untuk supaya lebih efektif dalam merespon permintaan pasar, membuka kesempatan, serta meminimisize biaya melalui suatu bentuk kerja sama yang dinamis.

BAB II
PEMBAHASAN

A.     Pengertian
Web service merupakan sebuah sistem yang dirancang untuk dapat mendukung interaksi komunikasi antar mesin-mesin pada suatu jaringan. Teknologi web service memungkinkan kita dapat menghubungkan berbagai jenis software yang memiliki platform dan sistem operasi yang berbeda. Jadi, kita tetap mendapatkan sebuah potongan informasi dari suatu website tanpa harus mengunjungi website tersebut, cukup dengan mengetahui fungsi/method web service yang disediakan oleh web itu. Kita dapat mengakses potongan informasi itu dengan meletakkan fungsi/method itu pada aplikasi kita.[1]
Web Services adalah sebuah komponen layanan aplikasi yang dapat diakses melalui protokol terbuka yang memanfaatkan Web melalui Simple Object Access Protocol (SOAP) dengan bahasa Web Services Description Language (WSDL) dan teregistrasi dalam Universal Discovery Description and Integration (UDDI). Web services mendukung komunikasi antar aplikasi dan integrasi aplikasi dengan menggunakan XML dan Web. XML (eXtensible Markup Language) adalah sebuah standar untuk mendefinisikan data dalam format yang sederhana dan fleksibel.
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. Setiap resource ini disebut dengan service. Service 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.
B.     Karakteristik
a.      Karakteristik SOA
1.      Logical view, service yang dilihat dari level operasi bisnis yang diidentifikasi sebagai interface yang independent
2.      Message orientation, Sebuah service yang berhubungan dengan client yang bertukar message.
3.      Discription Orientation, Servive yang didekripsikan sebagai mesin pengolah etadata.
4.      Network Orientation, Service dituntut untuk  di pakai di dalam jaringan. Hal ini menenkankan pada kebutuhan service yang secara otomati serta mudah ditemukan.
5.      Platform neutrality, Pesan disampaikan melaluiinterface yang menggunakan platform netral(multi platform) dan format data yang standart seperti XML.
6.      Service Interface, menyatakan bagaimana service tersebut dapat dipanggil seperti parameter input / output dan lokasi ia berada.
7.      Service implementation, sangat terkait dengan teknologi pemrograman yang digunakan. SOA tidak perlu memperdulikan bagaimana sebuah service di implementasikan.
8.      Service Business Oriented, setiap service yang didefinisikan harus melakukan suatu aktifitas bisnis tertentu.

Gambar Integrasi SOA pada Kegiatan bisnis Bank

b.      Karakteristik Service Web
1.      Merupakan application logic yang dapat diaksesdan dipublikasikan menggunakan standard Internet (TCP/IP, HTTP, SMTP, FTP, JMS, Web).
2.      Dideskripsikan dalam format XML.
3.      Didentifikasikan dengan Universal Resources dentifier (URI)
4.      Bersifat Loosely coupled, self-contained, modular dan terbuka (nonproprietary)
5.      Digunakan untuk mendukung interoperabilitas interaksi machine-to-machine melalui jaringan Internet/Intranet.[2]

Gambar Ilustrasi cara kerja sebuah web service

C.     Kelebihan dan Kelemahan
a.      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.
b.      Kelemahan SOA
1.      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.
2.      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.
c.       Kelebihan Web Service
1.      Web Service menyediakan interoperabilitas antar berbagai aplikasi perangkat lunak yang running pada platform yang berbeda.
2.      Web Service menggunakan standard dan protokol yang open. Jika memungkinkan protokol dan format data adalah text-based, membuatnya mudah bagi pengembang untuk memahami.
3.      Dengan pemanfaatan HTTP, Web Service dapat bekerja melalui banyak pengukuran keamanan firewall yang umum tanpa menuntut perubahan bagi aturan firewall filtering.
4.      Web Service mengijinkan perangkat lunak dan service dari perusahaan dan lokasi yang berbeda untuk dikombinasikan dengan mudah untuk menyediakan suatu service yang terintegrasi.
5.      Web Service mengijinkan penggunaan kembali service dan komponen di dalam suatu infrastruktur
6.      Web Service dapat secara bebas digabungkan (loosely coupled) dengan demikian memudahkan suatu pendekatan terdistribusi ke pengintegrasian aplikasi.[3]
d.      Kelemahan Web Service
1.      Karakteristik standard Web Service saat ini masih dalam tahap perkembangan awal dibandingkan open standard komputer terdistribusi yang lebih matang seperti CORBA. Ini nampaknya akan merupakan suatu kerugian yang temporer ketika kebanyakan vendor sudah merasa terikat dengan standard OASIS untuk menerapkan Mutu dari aspek service dari produk mereka. 
2.      Web Service dapat saja memiliki performance/kinerja yang lemah dibandingkan dengan pendekatan komputasi terdistribusi lain seperti RMI, CORBA, atau DCOM. Ini merupakan suatu trade-off yang umum ketika memilih format yang text-based. XML dengan tegas tidak menghitung antar tujuan disain-nya baik singkatan dari penyandian maupun efisiensi dari uraian. Ini bisa berubah dengan standard XML Infoset, yang menguraikan bahasa yang XML-based dalam kaitan dengan hal-hal yang abstrak (unsur-unsur, atribut, logika bersarang). Penyajian angle-bracket (< >) secara tradisional kini dilihat sebagai suatu serialisasi ASCII (atau Unicode) dari XML, bukan XML itu sendiri. Pada model ini, serialisasi biner adalah suatu alternatif yang sama yang sah. Penyajian biner seperti SOAP MTOM menjanjikan untuk meningkatkan efisiensi wire dari XML messaging.[4]

D.    Standar Pada Web Service
Standar berbasis XML ini termasuk kedalam arsitektur dari web service. Dalam aritektur ini, suatu aplikasi dimodelkan sebagai komposisi dari sekumpulan  service yang disediakan oleh suatu komponen.
Gambar Arsitektur Web Service 

Adapun standar – standar yang terdapat pada web service tersebut adalah :
  1. SOAP (Simple Object Access Protocol) : suatu protokol berbasis XML yang digunakan untuk kebutuhan pertukaran informasi  dalam suatu sistem terdistribusi dan terdesentralisasi. SOAP merupakan protokol  yang bersifat independent terhadap platform, model pemrograman, dan  transport protocol yang digunakan dalam proses pertukaran pesan SOAP. Pesan SOAP berbentuk sekumpulan XML Schema yang mendefinisikan format untuk mentransmisikan pesan XML melalui jaringan, termasuk tipe data dan cara menstrukturkan pesan secara tepat sehingga dapat mudah dipahami oleh server atau  end-point lainnya. Pesan SOAP terdiri dari 3 bagian, yaitu
    1. SOAP Envelop , yaitu : suatu selubung yang mendefinsiikan apa yang ada dalam message dan bagaimana message harus diproses.
    2. SOAP Header, yaitu : berisi informasi yang berkaitan dengan keamanan serta routing. Dalam SOAP header bersifat optional.
    3. SOAP Body , yaitu : berisi data yang berhubungan dengan aplikasi tertentun yang sedang dipertukarkan.
  2. WSDL (Web Services Devinition Language) : Sebuah format XML yang menjelaskan interface dari sebuah web service (parameter input dan output). lokasi keberadaan service tersebut dan bagaimana cara memperolehnya,  secara terstruktur dalam format XML. WSDL mendeskripsikan service dengan menggunakan elemen sebagai berikut :
    1. Type , yaitu : tipe data yang digunakan sebagai argumen dan return type.
    2. Message , yaitu : merepresentasikan definisi data yang ditransmisikan.
    3. Port type , yaitu : sekumpulan operasi yang didukung oleh satu atu lebih endpoint.
    4. Binding , yaitu : mendefinisikan protokol dan format pertakaran data untuk operasi yang didefinisikan oleh Port type.
    5. Port , yaitu : menspesifikasikan end-point yang digunakan untuk binding.
    6. Service , yaitu : koleksi endpoint yang berkaitan yang disediakan oleh Web service.
    7. Operation , yaitu : mendefinisikan kemampuan yang didukung oleh servis tertentu.
  1. UDDI (Universal Description, Discovery and Integration) : Sebuah direktori yang berisi daftar web service yang dapat ditemukan dan dipanggil oleh aplikasi lainnya. UDDI menyediakan mekanisme untuk mempublikasikan informasi mengenai bisnis dan service pada satu lokasi (repository) yang dikelola secara terpusat dan melakukan query mengenai informasi tersebut secara dinamis dan programatis. Direktory UDDI terdiri dari 3 bagian, yaitu :
    1. White pages, yaitu : menyediakan informasi rinci mengenai  organisasi yang menawarkan service
    2. Yellow pages, yaitu : mencakup pengkatagorian jenis industri berdasarkan standard taxonomi industri.
    3. Green pages, yaitu : mendeskripsikan interface dan kebutuhan untuk memperoleh service , seperti return type.



 NAMA
SOA
WEB SERVICE
Architecture
Composite appplications and data services
Finely, grained, loossly coupled, discoverable services
Management
Governance Plan
Dinamic discoverable of appropriate service at runtime
Protocols
Whatever is appropriate (SOAP, AJAX, IMS, SMTP, CICS, REST, PTP)
SOAP WSDL, UDDI WSDL
Message Format
Whatever works, often XML
XML in SOAP
Standarts Bodies
SOA is a Methodology, Not a Standart
W3C=SOAP and WSDL OASIS=UDDI
Tabel Perbedaan SOA dengan Web Service

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.[5]

 
BAB III
PENUTUP

Service Oriented Architecture (SOA) merupakan konsep pembangunan perangkat lunak yang melakukan partisi sistemnya menjadi beberapa service yang dapat berdiri secara independent, sedangkan web service merupakan suatu aplikasi web service yang berkomunikasi dengan aplikasi web service lainnya dalam rangka pertukaran data. Dalam mengimplementasikan SOA tidak harus menggunakan web service, namun menggunakan web service meruapakan hal tepat. Hal ini disebabkan karena aplikasi web service dapat mewakili sebuah service dalam SOA. Untuk WSDL dalam web service dapat digunakan agar supaya service dapat berhubungan satu dengan yang lainnya, dengan SOAP sebagai teknologi pengiriman pesan antar service.


Daftar Pustaka

http://blog.unsri.ac.id/Ju_Man/sistem-informasi-berbasis-web/pemanfaatan-fasilitas-teknologi-web-service-dalam-sebuah-sistem-informasi-yang-terintegrasi/mrdetail/62859/
http://e-riset.darmajaya.ac.id/jurnal-ik/wp-content/uploads/2009/10/hendro1.pdf
http://12puby.blogspot.com/2011/07/service-oriented-architecture-soa.html
http://blog.unsri.ac.id/srianggrainideewi/tugas-sistem-informasi-berbasis-web-sibw/artikel-peranan-teknologi-web-service-dalam-sistem-informasi-terintegrasi/mrdetail/62741
http://muhammadnurcahyopratomo.blogspot.com/2012/10/implementasi-service-oriented.html


[1] http://blog.unsri.ac.id/Ju_Man/sistem-informasi-berbasis-web/pemanfaatan-fasilitas-teknologi-web-service-dalam-sebuah-sistem-informasi-yang-terintegrasi/mrdetail/62859/
[2] http://e-riset.darmajaya.ac.id/jurnal-ik/wp-content/uploads/2009/10/hendro1.pdf
[3] http://12puby.blogspot.com/2011/07/service-oriented-architecture-soa.html
[4] http://blog.unsri.ac.id/srianggrainideewi/tugas-sistem-informasi-berbasis-web-sibw/artikel-peranan-teknologi-web-service-dalam-sistem-informasi-terintegrasi/mrdetail/62741
[5] http://muhammadnurcahyopratomo.blogspot.com/2012/10/implementasi-service-oriented.html

2 komentar: