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 :
- 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
- SOAP Envelop , yaitu : suatu selubung yang mendefinsiikan apa yang ada dalam message dan bagaimana message harus diproses.
- SOAP Header, yaitu : berisi informasi yang berkaitan dengan keamanan serta routing. Dalam SOAP header bersifat optional.
- SOAP Body , yaitu : berisi data yang berhubungan dengan aplikasi tertentun yang sedang dipertukarkan.
- 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 :
- Type , yaitu : tipe data yang digunakan sebagai argumen dan return type.
- Message , yaitu : merepresentasikan definisi data yang ditransmisikan.
- Port type , yaitu : sekumpulan operasi yang didukung oleh satu atu lebih endpoint.
- Binding , yaitu : mendefinisikan protokol dan format pertakaran data untuk operasi yang didefinisikan oleh Port type.
- Port , yaitu : menspesifikasikan end-point yang digunakan untuk binding.
- Service , yaitu : koleksi endpoint yang berkaitan yang disediakan oleh Web service.
- Operation , yaitu : mendefinisikan kemampuan yang didukung oleh servis tertentu.
- 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 :
- White pages, yaitu : menyediakan informasi rinci mengenai organisasi yang menawarkan service
- Yellow pages, yaitu : mencakup pengkatagorian jenis industri berdasarkan standard taxonomi industri.
- 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