Web Services

13,260 views
12,973 views

Published on

Presentasi Pemrograman Web Kelas A Kelompok 29

Published in: Education, Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
13,260
On SlideShare
0
From Embeds
0
Number of Embeds
141
Actions
Shares
0
Downloads
720
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Web Services

  1. 1. WEB SERVICES Oleh: Kelompok 28 Nuke Yuniar Anugrah (5108100037) Yoga Bagus Perkhasa (5108100076) Benediktus Anindito (5108100105)
  2. 2. DEFINISI <ul><li>Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site 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, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler. </li></ul>
  3. 3. TUJUAN 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 detil pemrograman yang terdapat di dalamnya. Beberapa alasan mengapa digunakannya web service adalah sebagai berikut: <ul><li>Web service dapat digunakan untuk mentransformasikan satu atau beberapa bisnis logic atau class dan objek yang terpisah dalam satu ruang lingkup yang menjadi satu, sehingga tingkat keamanan dapat ditangani dengan baik.
  4. 4. 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.
  5. 5. Web service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian web service tidak memerlukan konfigurasi khusus di sisi firewall . </li></ul>
  6. 6. ARSITEKTUR WEB SERVICE Web service memiliki tiga entitas dala m arsitekturnya, yaitu: <ul><li>Service Requester (peminta layanan)
  7. 7. Service Provider (penyedia layanan)
  8. 8. Service Registry (daftar layanan) </li></ul>
  9. 9. ARSITEKTUR WEB SERVICE(Cont)
  10. 10. ARSITEKTUR WEB SERVICE(Cont) <ul>Service Provider: Berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia. <li>Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan semua layanan/service yang telah di-register.
  11. 11. Service Requestor: Peminta layanan yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut. </li></ul>
  12. 12. Operasi-Operasi Web Service Secara umum, web service memiliki tiga operasi yang terlibat di dalamnya, yaitu: <ul><li>Publish/Unpublish: Menerbitkan/menghapus layanan ke dalam atau dari registry.
  13. 13. Find: Service requestor mencari dan menemukan layanan yang dibutuhkan.
  14. 14. Bind: Service requestor setelah menemukan layanan yang dicarinya, kemudian melakukan binding ke service provider untuk melakukan interaksi dan mengakses layanan/service yang disediakan oleh service provider </li></ul>
  15. 15. Komponen-Komponen Web Service
  16. 16. Komponen-Komponen Web Servic e(Cont) <ul><li>Web service secara keseluruhan memiliki empat layer komponen seperti pada gambar di atas: </li><ul><li>Layer 1: Protokol internet standar seperti HTTP, TCP/IP
  17. 17. Layer 2: Simple Object Access Protocol (SOAP), merupakan protokol akses objek berbasis XML yang digunakan untuk proses pertukaran data/informasi antar layanan.
  18. 18. Layer 3: Web Service Definition Language (WSDL), merupakan suatu standar bahasa dalam format XML yang berfungsi untuk mendeskripsikan seluruh layanan yang tersedia.
  19. 19. Layer 4: UDDI (Universal Description, Discovery and Integration) adalah sebuah service registry bagi pengalokasian web service. UDDI mengkombinasikan SOAP dan WSDL untu k pembentukan sebuah registry API bagi pendaftaran dan pengenalan service </li></ul></ul>
  20. 20. TCP/IP <ul><li>TCP/IP (singkatan dari Transmission Control Protocol / Internet Protocol ) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol ( protocol suite ). Protokol ini juga merupakan protokol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak (software) di sistem operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack </li></ul>
  21. 21. TCP/IP <ul><li>Arsitektur TCP/IP tidaklah berbasis model referensi tujuh lapis OSI, tetapi menggunakan model referensi DARPA. Seperti diperlihatkan dalam diagram, TCP/IP merngimplemenasikan arsitektur berlapis yang terdiri atas empat lapis. Empat lapis ini, dapat dipetakan (meski tidak secara langsung) terhadap model referensi OSI. Empat lapis ini, kadang-kadang disebut sebagai DARPA Model , Internet Model , atau DoD Model , mengingat TCP/IP merupakan protokol yang awalnya dikembangkan dari proyek ARPANET yang dimulai oleh Departemen Pertahanan Amerika Serikat. </li></ul>
  22. 22. TCP/IP Setiap lapisan yang dimiliki oleh kumpulan protokol (protocol suite) TCP/IP diasosiasikan dengan protokolnya masing-masing. Protokol utama dalam protokol TCP/IP adalah sebagai berikut: <ul><li>Protokol lapisan aplikasi: bertanggung jawab untuk menyediakan akses kepada aplikasi terhadap layanan jaringan TCP/IP. Protokol ini mencakup protokol Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Telnet , Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol (SNMP), dan masih banyak protokol lainnya. Dalam beberapa implementasi stack protokol, seperti halnya Microsoft TCP/IP, protokol-protokol lapisan aplikasi berinteraksi dengan menggunakan antarmuka Windows Sockets (Winsock) atau NetBIOS over TCP/IP (NetBT).
  23. 23. Protokol lapisan antar- host : berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat connection-oriented atau broadcast yang bersifat connectionless . Protokol dalam lapisan ini adalah Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP). </li></ul>
  24. 24. TCP/IP <ul><li>Protokol lapisan internetwork : bertanggung jawab untuk melakukan pemetaan ( routing ) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja dalam lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), dan Internet Group Management Protocol (IGMP).
  25. 25. Protokol lapisan antarmuka jaringan: bertanggung jawab untuk meletakkan frame-frame jaringan di atas media jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi transport, mulai dari teknologi transport dalam LAN (seperti halnya Ethernet dan Token Ring), MAN dan WAN (seperti halnya dial-up modem yang berjalan di atas Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM)). </li></ul>
  26. 26. TCP/IP
  27. 27. Simple Object Access Protocol (SOAP) <ul><li>SOAP ( Simple Object Access Protocol ) adalah standar untuk bertukar pesan-pesan berbasis XML melalui jaringan komputer atau sebuah jalan untuk program yang berjalan pada suatu sistem operasi (OS) untuk berkomunikasi dengan program pada OS yang sama maupun berbeda dengan menggunakan HTTP dan XML sebagai mekanisme untuk pertukaran data.
  28. 28. SOAP menspesifikan secara jelas bagaimana cara untuk meng- encode header HHTP dan file XML sehingga program pada suatu komputer dapat memanggil program pada pada komputer lain dan mengirimkan informasi, dan bagaimana program yang dipanggil memberikan tanggapan.
  29. 29. SOAP adalah protokol ringan yang ditujukan untuk pertukaran informasi struktur pada lingkup desentralisasi, dan terdistribusi. SOAP menggunakan teknologi XML utuk mendefinisikan rangka kerja pemesanan terekstrensi di mana menyediakan konstruksi pesan yang dapat dipertukarkan pada protokol berbeda. Rangka kerja dirancang bebas dari model pemrograman dan spesifikasi implementasi semantik. </li></ul>
  30. 30. Simple Object Access Protocol (SOAP) SOAP memiliki tiga bagian, yaitu: <ul><li>SOAP Envelope, yang mendefinisikan dokumen XML sebagai pesan SOAP. Element Envelope merupakan element root yang dapat menggunakan identifier namespace . Struktur dasar SOAP Envelope kurang lebih seperti berikut: </li></ul><?xml version=&quot;1.0&quot;?> <soap:envelope xmlns:soap=&quot;http://www.w3.org/2001/12/soap-envelope&quot; soap:encodingstyle=&quot;http://www.w3.org/2001/12/soap-encoding&quot;> ... Pesan informasi, bisa mengandung element Header dan harus terdapat element Body ... </soap:envelope> Element Envelope yang mendeklarasikan namespace (seperti di atas) harus menggunakan namespace-qualified untuk atribut tambahan lainnya (seperti soap:encodingStyle) serta sub-element-nya (opsional element <SOAP-ENV:Header> dan element <SOAP-ENV:Body> yang wajib ada). Penggunaan atribut encodingStyle bertujuan untuk mendefinisikan tipe data yang digunakan dalam dokumen. Atribut ini dapat muncul di element SOAP manapun, dan efeknya akan terkena ke konten element yang mendefinisikan atribut tersebut serta sub-element-nya.
  31. 31. Simple Object Access Protocol (SOAP) <ul><li>Aturan encoding SOAP, yang mendefinisikan mekanisme serialisasi pesan SOAP.
  32. 32. SOAP RPC, yaitu bagaimana SOAP dapat digunakan seperti halnya XML-RPC. Dalam SOAP sebenarnya dikenal 2 tipe aplikasi, yaitu RPC dan EDI (Electronic Document Exchange). SOAP RPC (atau lebih dikenal sebagai “RPC-style” SOAP) menggunakan pesan SOAP sebagai representasi nama prosedur berserta opsional parameternya dan nilai balik dari prosedur. SOAP EDI (atau dikenal sebagai “document-style” SOAP) merupakan pesan SOAP yang merepresentasikan transaksi bisnis seperti order pembelian, pembayaran pajak atau dokumen sejenis lainnya. </li></ul>
  33. 33. <ul><li>Misalkan, server menyediakan fungsi hello($name) dimana nilai balik yang dihasilkan adalah string “ hello $name ” ( $name adalah parameter bertipe string). Berikut contoh request dari client untuk pemanggilan fungsi hello dengan paramater “ gedex ”: </li></ul>
  34. 34. <ul><li>Setelah server menganggap pesan SOAP client valid, dan eksekusi prosedur memberikan nilai balik, kini saatnya server memberikan response dalam pesan SOAP juga. Berikut contoh response pesan SOAP atas request di atas: </li></ul>
  35. 35. Web Service Definition Language (WSDL) WSDL merupakan bahasa standard yang menyediakan mekanisme untuk mendeskripsikan Service yang disediakan oleh sistem ( Web Service ), lokasi keberadaan service tersebut dan bagaimana cara memperolehnya, secara terstruktur dalam format XML. WSDL dapat dianalogikan sebagai IDL (interface definition language) dalam CORBA dan COM. Service dideskripsikan sebagai koleksi dari entry-point atau port komunikasi.
  36. 36. Komponen-komponen WSDL <ul><li>Type, yaitu tipe data yang digunakan sebagai argumen dan return type
  37. 37. Message, digunakan untuk merepresentasikan definisi data yang ditransmisikan.
  38. 38. Port type, merupakan Sekumpulan operasi yang didukung oleh satu atau lebih endpoint.
  39. 39. Binding, digunakan untuk mendefinisikan protokol dan format pertukaran data untuk operasi yang didefinisikan oleh Port type.
  40. 40. Port, digunakan untuk menspesifikasikan end-point yang digunakan untuk binding.
  41. 41. Service, merupakan koleksi endpoint yang berkaitan yang disediakan oleh Web Service.
  42. 42. 7. Operation, digunakan untuk mendefinisikan kemampuan yang didukung oleh servis tertentu. </li></ul>
  43. 43. <ul><li>Karena WSDL adalah hanya terbaca mesin (misalnya hanya file XML), tool-tool dan infrastruktur dan dengan mudah dibuat seputar ini. Saat ini pengembang-pngembang dapat definisi-definisi WSDL untuk membangun kode yang tahu dengan tepat bagaimana berinteraksi dengan web service yang menjabrkan. Pembangunan code tipe ini menyembunyikan detil-detil membosankan yang terlibat pada pengiriman dan penrimaan pesan-pesan SOAP pada protokol-protokol yang berbeda-beda dan menyebabkan web service dapat dicapai oleh massa. Microsoft® .NET Framework menggunakan utilitas command-line bernama wsdl.exe yang mengenerasi kelas-kelas dari definsi WSDL. Wsdl.exe dapat meng-generasi satu kelas untuk menggunakanservice dan yang lainnya untuk mengimplementasikan service.(Apache axis menggunkaan utilitas yang sama bernama WSDL2Java yang melakukan fungsi yang sama pada kelas-kelas java.) Kelas-kelas digenerasi dari definisi WSDL sama harus mampu berkomunikasi dengan yang lain sepanjang antarmuka WSDL yang tersedia, tanpa memperhatikan bahasa pemrograman yang digunakan </li></ul>
  44. 44. UDDI <ul><li>UDDI berperan sebagai service registry dalam suatu web service
  45. 45. UDDI adalah teknologi yang didukung oleh OASIS (Organization for the Advancement of Structured Information Standards)
  46. 46. Berbasis XML dan platform-independent </li></ul>
  47. 47. UDDI (cont’d) <ul><li>Setiap pemilik web service dapat mendaftarkan layanannya menggunakan teknologi ini, dan dapat terhubung dengan web service yang lain.
  48. 48. Contohnya, suatu pemilik layanan forum dapat menggunakan layanan Facebook, sehingga setiap pengguna forum dapat menggunakan akun Facebook-nya untuk mendaftar di forum tadi. </li></ul>
  49. 49. Komponen-komponen UDDI <ul><li>White Pages (identitas web service)
  50. 50. Yellow Pages (informasi kategori layanan web service berdasarkan taksonomi yang telah ditentukan)
  51. 51. Green Pages (informasi teknis web service) </li></ul>
  52. 52. White Pages <ul><li>Berisi nama dan deskripsi organisasi pemilik web service
  53. 53. Dapat berisi lokasi dan kontak </li></ul>
  54. 54. Yellow Pages <ul><li>Berisi informasi klasifikasi layanan yang disediakan oleh web service
  55. 55. Klasifikasi dapat didasarkan pada SIC (Standard Industrial Classification), NAICS (North American Industry Classification System), atau UNSPSC (United Nations Standard Products and Service Codes) </li></ul>
  56. 56. Green Pages <ul><li>Berisi spesifikasi layanan pada web service, antara lain alamat-alamat beserta parameter-parameter yang dibutuhkan untuk mengakses web service tersebut.
  57. 57. Beberapa informasi tidak terkait secara langsung dengan web service, antara lain alamat email, FTP, telepon, dan lain-lain. </li></ul>
  58. 58. UDDI Nodes <ul><li>UDDI nodes adalah server-server yang mendukung spesifikasi UDDI dan termasuk dalam UDDI registry. </li></ul>

×