2.3 Web Service
Web service adalah sebuah sistem perangkat lunak yang dirancang untuk mendukung interaksi interoperabilitas mesin ke mesin melalui jaringan. Web
service memiliki interface yang dijelaskan dalam mesin format processable khususnya WSDL. Sistem lain berinteraksi dengan web service melalui cara
yang ditentukan oleh deskripsi sistem itu sendiri menggunakan pesan SOAP, biasanya disampaikan menggunakan HTTP dengan serialisasi XML dalam
konjungsi dengan web terkait lainnya Sumber : W3C Working Group, 2004. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu
website untuk menyediakan layanan dalam bentuk informasi kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-
layanan service yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML maupun
JSON, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler.
Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan perusahaan, yang memungkinkan sebuah fungsi di dalam web service dapat
dipinjam oleh aplikasi lain tanpa perlu mengetahui detail pemrograman yang terdapat di dalamnya.
Beberapa alasan mengapa digunakannya web service adalah sebagai berikut:
a. Web service dapat digunakan untuk mentransformasikan satu atau beberapa bisnis logic atau class dan objek yang terpisah dalam satu ruang
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
lingkup yang menjadi satu, sehingga tingkat keamanan dapat ditangani dengan baik.
b. Web service memiliki kemudahan dalam proses deployment-nya, karena tidak memerlukan registrasi khusus ke dalam suatu sistem operasi. Web
service cukup di-upload ke web server dan siap diakses oleh pihak-pihak yang telah diberikan otorisasi.
c. Web service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian web service tidak memerlukan konfigurasi khusus di sisi
firewall. Sumber : Utama, 2010
2.3.1 Arsitektur
Web Service
Web service memiliki tiga entitas dalam arsitekturnya, yaitu: a. Service Requester peminta layanan
b. Service Provider penyedia layanan c. Service BrokerRegistry daftar layanan
Gambar 2.1 Arsitektur Web Service Sumber : IBM Services Architecture Teams, 2000
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Service Provider: Berfungsi untuk menyediakan layananservice dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.
Service BrokerRegistry: Berfungsi sebagai lokasi central yang mendeskripsikan semua layananservice yang telah di-register.
Service Requestor: Peminta layanan yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut.
Dalam implementasi sistem penilaian praktikum sesuai gambar arsitektur sistem diatas, pihak instruktur praktikum, kepala laboratorium, dan praktikan
adalah pihak peminta layanan Service Requester, web service sebagai daftar layanan Service Broker, dan pihak developer web service sebagai penyedia
layanan Service Provider. Hanya pihak instruktur, kepala laboratorium, dan praktikan yang berhubungan dengan sistem, sedangkan developer web service
berada di luar sistem karena hanya menyediakan layanan service.
2.3.2 JSON JavaScript Object Notation
JSON JavaScript Object Notation adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan
dibuat generate oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemrograman JavaScript, Standar ECMA-262 Edisi-3 – Desember 1999.
JSON merupakan format teks yang tidak bergantung pada bahasa pemrograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programer
keluarga C termasuk C, C++, C, Java, JavaScript, Perl, Phyton, dan lain-lain. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran
data Sumber : Crockford, 2006. Struktur JSON ada dua, antara lain :
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
a. Kumpulan pasangan namanilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek object, rekaman record, struktur struct, kamus
dictionary, tabel hash hash table, daftar berkunci keyed list, atau associative array.
b. Daftar nilai terurutkan an ordered list of values. Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik array, vektor vector, daftar list, atau
urutan sequence.
Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemrograman modern mendukung struktur data ini dalam
bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemrograman yang juga
berdasarkan pada struktur data ini. Bentuk-bentuk JSON antara lain :
a. Object, adalah sepasang namanilai yang tidak terurutkan. Objek dimulai dengan “{” kurung kurawal buka dan diakhiri “}” kurung kurawal tutup.
Setiap nama diikuti dengan “:” titik dua dan setiap pasangan namanilai dipisahkan oleh “,” koma.
Gambar 2.2 JSON object Sumber : Crockford, 2006
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
b. Array, adalah kumpulan nilai yang terurutkan. Array dimulai dengan “[” kurung kotak buka dan diakhiri dengan “]” kurung kota tutup. Setiap nilai
dipisahkan oleh “,” koma.
Gambar 2.3 JSON array Sumber : Crockford, 2006
c. Value, dapat berupa string dalam kutip ganda, atau angka, atau true atau false atau null, atau sebuah object atau sebuah array. Struktur-struktur tersebut
dapat disusun bertingkat.
Gambar 2.4 JSON value Sumber : Crockford, 2006
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
d. String, adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Didalam string dapat digunakan
backslash escape “\” untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C
atau Java.
Gambar 2.5 JSON string Sumber : Crockford, 2006
e. Number, sangat mirip dengan number di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 2.6 JSON number Sumber : Crockford, 2006
Spasi kosong whitespace dapat disisipkan di antara pasangan tanda-tanda tersebut, kecuali beberapa detail encoding yang secara lengkap dipaparkan oleh
bahasa pemrograman yang bersangkutan.
2.3.3 XML eXtensible Markup Language
XML adalah sebuah markup language untuk dokumen yang berisi informasi terstruktur Walsh, 1998. XML terletak pada inti web service, yang
digunakan untuk mendeskripsikan data. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal
dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.
XML adalah singkatan dari eXtensible Markup Language. Bahasa markup mengkombinasikan text dan informasi tambahan mengenai text tersebut. Bahasa
markup lain yang populer seperti HTML, menggambarkan kepada web browser tentang bagaimana menampilkan format teks, data, dan grafik ke layar komputer
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
ketika sedang mengunjungi sebuah situs web. XML adalah sebuah bahasa markup yang digunakan untuk mengolah meta data informasi tentang data yang
menggambarkan struktur dan maksudtujuan data yang terdapat dalam dokumen XML, namun bukan menggambarkan format tampilan data tersebut. XML adalah
sebuah standar sederhana yang digunakan untuk medeskripsikan data teks dengan cara self-describing deskripsi diri. XML juga dapat digunakan untuk
mendefinisikan domain tertentu lainnya, seperti musik, matematika, keuangan dan lain-lain yang menggunakan bahasa markup terstruktur Sumber : Utama, 2010.
Berikut ini adalah contoh sebuah dokumen XML untuk informasi contact person :
?xml version=1.0 encoding=ISO-8859-1?contact contact
nameYadi Utamaname companyPT. Gamatechno Indonesiacompany
addressJl. Cik Di Tiro No.34address cityYogyakartacity
stateIndonesiastate zip55284zip
phone081328462499phone emailyadigamatechno.comemail
contact
Sumber : Utama, 2010
Seperti halnya HTML, XML juga menggunakan elemen yang ditandai dengan tag pembuka diawali dengan ‘’ dan diakhiri dengan ‘’, tag
penutupdiawali dengan ‘ ‘diakhiri ‘’ dan atribut elemenparameter yang dinyatakan dalam tag pembuka misal form name=”isidata”. Hanya bedanya,
HTML medefinisikan dari awal tag dan atribut yang dipakai didalamnya, sedangkan pada XML bisa menggunakan tag dan atribut sesuai kebutuhan.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Standard Header Elemen root
Elemen child
Berikut ini adalah tampilan dokumen XML di atas apabila dijalankan pada sebuah browser :
Gambar 2.7 Tampilan Dokumen XML pada Browser Sumber : Utama, 2010
a. Struktur Penulisan Dokumen XML