DSO7j3yGh62myi8pOoPtpNy7RsInGm4biMkYWoPX

Pengertian Web Service. Apa itu Web Service? Perbedaan Web Service dengan API

Web Service merupakan modul perangkat lunak yang dirancang untuk melakukan serangkaian tugas tertentu menggunakan sistem pesan standar XML - XML biasanya berfungsi menyandikan suatu komunikasi ke web service. Contohnya, Client A memanggil web service dengan mengirimkan pesan XML, setwlah itu client menunggu respons XML yang sesuai. Karena semua komunikasi dalam XML, web service tidak terikat pada satu sistem operasi atau bahasa pemrograman mana pun. 

Web Service adalah layanan mandiri, dinamis, modular, dan terdistribusi yang dapat dijelaskan, dipublikasikan, ditempatkan, atau dipanggil melalui suatu jaringan untuk membuat suatu proses. Aplikasi ini dapat bersifat lokal di server anda, atau di distribusikan dengan IP Publik anda. Web Service dibangun di atas standar terbuka seperti TCP / IP, HTTP, Java, HTML, dan XML.

Tujuan Web Service adalah sistem pertukaran informasi berbasis XML yang menggunakan Internet untuk interaksi aplikasi-ke-aplikasi secara langsung. Sistem ini dapat mencakup program, objek, pesan, atau dokumen.

Web service adalah kumpulan protokol dan standar terbuka yang digunakan untuk bertukar data antara aplikasi atau sistem. Aplikasi perangkat lunak yang ditulis dalam berbagai bahasa pemrograman dan berjalan di berbagai platform dapat menggunakan web service untuk bertukar data melalui jaringan komputer seperti Internet dengan cara yang mirip dengan komunikasi antar proses pada satu komputer. Interoperabilitas ini (misalnya, antara Java dan Python, atau aplikasi Windows dan Linux) disebabkan oleh penggunaan standar terbuka.

Contoh Web Service

Platform layanan web dasar adalah XML + HTTP. Semua layanan web standar bekerja menggunakan komponen berikut -

1. SOAP (Simple Object Access Protocol)

2. UDDI (Universal Description, Discovery and Integration)

3. WSDL (Web Services Description Language)

Materi Web Service

Layanan web memungkinkan komunikasi di antara berbagai aplikasi dengan menggunakan standar terbuka seperti HTML, XML, WSDL, dan SOAP. Sebuah layanan web membutuhkan bantuan -

1. XML untuk memberi tag pada data. 
2. SOAP untuk mentransfer pesan. 
3. WSDL untuk menggambarkan ketersediaan layanan.

Web Service

Diagram di atas menunjukkan pandangan yang sangat sederhana tentang bagaimana web service sebenarnya akan bekerja. Client akan memanggil serangkaian panggilan web service melalui permintaan ke server yang akan menjadi tuan rumah web service yang sebenarnya. Permintaan ini dibuat melalui apa yang dikenal sebagai panggilan prosedur jarak jauh. Panggilan Prosedur Jarak Jauh (RPC) adalah panggilan yang dilakukan ke metode yang dihosting oleh layanan web yang relevan.

Sebagai contoh, Amazon menyediakan layanan web yang memberikan harga produk yang dijual secara online melalui amazon.com. Lapisan front end atau presentasi bisa dalam .Net atau Java tetapi bahasa pemrograman mana pun akan memiliki kemampuan untuk berkomunikasi dengan web serbice.

Komponen utama dari desain web service adalah data yang ditransfer antara klien dan server, dan itu adalah XML. XML (Extensible markup language) adalah padanan dari HTML dan mudah dipahami sebagai bahasa perantara yang dipahami oleh banyak bahasa pemrograman.

Jadi ketika aplikasi berbicara satu sama lain, mereka sebenarnya berbicara dalam XML. Ini menyediakan platform umum untuk aplikasi yang dikembangkan dalam berbagai bahasa pemrograman untuk saling berbicara.

Arsitektur Web service menggunakan sesuatu yang dikenal sebagai SOAP (Simple Object Access Protocol) untuk mengirim data XML antar aplikasi. Data dikirim melalui HTTP normal. Data yang dikirim dari layanan web ke aplikasi disebut pesan SOAP. Pesan SOAP tidak lain adalah dokumen XML. Karena dokumen ditulis dalam XML, aplikasi klien yang memanggil layanan web dapat ditulis dalam bahasa pemrograman apa pun.

Bagaimana cara membuat web service? 

Anda dapat membangun layanan web berbasis Java di Solaris yang dapat diakses dari program Visual Basic yang berjalan di Windows.

Anda juga dapat menggunakan C # untuk membangun layanan web baru di Windows yang dapat dipanggil dari aplikasi web Anda yang didasarkan pada JavaServer Pages (JSP) dan berjalan di Linux.

Jenis - jenis Web Service

Ada dua jenis layanan web:
1. Web Service SOAP.
2. Web Service Rest Full.

Agar web service berfungsi penuh, ada komponen tertentu yang perlu ada. Komponen ini harus ada terlepas dari bahasa pengembangan apa pun yang digunakan untuk memprogram layanan web. Mari kita lihat komponen ini lebih detail.

SOAP (Protokol Akses Objek Sederhana)


SOAP dikenal sebagai protokol pengiriman pesan yang tidak bergantung pada transportasi. SOAP didasarkan pada transfer data XML sebagai Pesan SOAP. Setiap pesan memiliki sesuatu yang dikenal sebagai dokumen XML. Hanya struktur dokumen XML yang mengikuti pola tertentu, tetapi tidak isinya. Bagian terbaik dari layanan Web dan SOAP adalah semuanya dikirim melalui HTTP, yang merupakan protokol web standar.

Berikut adalah isi dari pesan SOAP :


1. Setiap dokumen SOAP harus memiliki elemen root yang dikenal sebagai elemen <Envelope>. Elemen root adalah elemen pertama dalam dokumen XML.
2. "Envelope" dibagi menjadi 2 bagian. Yang pertama adalah header, dan selanjutnya adalah body.
3. Header berisi data perutean yang pada dasarnya adalah informasi yang memberi tahu dokumen XML ke klien mana ia perlu dikirim.
4. Isi pesan akan berisi pesan yang sebenarnya.

Diagram di bawah ini menunjukkan contoh sederhana komunikasi melalui SOAP Web Service.

SOAP Web Service
SOAP Web Service

WSDL (Bahasa deskripsi layanan Web)

Web Service tidak dapat digunakan jika tidak dapat ditemukan. Klien yang menjalankan layanan web harus tahu di mana sebenarnya layanan web itu berada.

Kedua, aplikasi klien perlu mengetahui apa yang sebenarnya dilakukan oleh layanan web, sehingga dapat menjalankan layanan web yang tepat. Ini dilakukan dengan bantuan WSDL, yang dikenal sebagai bahasa deskripsi layanan Web. File WSDL lagi-lagi merupakan file berbasis XML yang pada dasarnya memberi tahu aplikasi klien apa yang dilakukan layanan web. Dengan menggunakan dokumen WSDL, aplikasi klien akan dapat memahami di mana lokasi layanan web dan bagaimana ia dapat digunakan.

Contoh Pembuatan Web Service

Contoh web service dari file WSDL diberikan di bawah ini.
<definitions>	
   <message name="TutorialRequest">
      <part name="TutorialID" type="xsd:string"/>
   </message>
     
   <message name="TutorialResponse">
      <part name="TutorialName" type="xsd:string"/>
   </message>

   <portType name="Tutorial_PortType">
      <operation name="Tutorial">
         <input message="tns:TutorialRequest"/>
         <output message="tns:TutorialResponse"/>
      </operation>
   </portType>

   <binding name="Tutorial_Binding" type="tns:Tutorial_PortType">
      <soap:binding style="rpc"
         transport="http://schemas.xmlsoap.org/soap/http"/>
      <operation name="Tutorial">
         <soap:operation soapAction="Tutorial"/>
         <input>
            <soap:body
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="urn:examples:Tutorialservice"
               use="encoded"/>
         </input>
         
		 <output>
            <soap:body
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="urn:examples:Tutorialservice"
               use="encoded"/>
         </output>
      </operation>
   </binding>
</definitions>

Aspek penting yang perlu diperhatikan tentang contoh deklarasi WSDL di atas dari layanan web adalah sebagai berikut:

<message> - Parameter pesan dalam definisi WSDL digunakan untuk menentukan elemen data yang berbeda untuk setiap operasi yang dilakukan oleh layanan web. Jadi dalam contoh layanan web di atas, kami memiliki 2 pesan yang dapat dipertukarkan antara layanan web dan aplikasi klien, satu adalah "TutorialRequest", dan yang lainnya adalah operasi "TutorialResponse". TutorialRequest berisi elemen yang disebut "TutorialID" yang merupakan jenis string. Demikian pula, operasi TutorialResponse berisi elemen yang disebut "TutorialName" yang juga merupakan jenis string.
<portType> - Ini sebenarnya menjelaskan operasi yang dapat dilakukan oleh layanan web, yang dalam kasus kami disebut Tutorial. Operasi ini dapat mengambil 2 pesan; satu adalah pesan masukan, dan yang lainnya adalah pesan keluaran.
<binding> - Elemen ini berisi protokol yang digunakan. Jadi dalam kasus kami, kami mendefinisikannya untuk menggunakan http (http://schemas.xmlsoap.org/soap/http). Kami juga menentukan detail lain untuk badan operasi, seperti namespace dan apakah pesan harus dienkode.

Universal Description, Discovery, and Integration (UDDI)


UDDI adalah standar untuk mendeskripsikan, menerbitkan, dan menemukan layanan web yang disediakan oleh penyedia layanan tertentu. Ini memberikan spesifikasi yang membantu dalam menghosting informasi di layanan web.

Sekarang kita membahas di topik sebelumnya tentang WSDL dan bagaimana WSDL berisi informasi tentang apa yang sebenarnya dilakukan oleh layanan Web. Tetapi bagaimana aplikasi klien dapat menemukan file WSDL untuk memahami berbagai operasi yang ditawarkan oleh layanan web? Jadi UDDI adalah jawabannya dan menyediakan repositori tempat file WSDL dapat dihosting. Jadi aplikasi klien akan memiliki akses penuh ke UDDI, yang bertindak sebagai database yang berisi semua file WSDL.

Sama seperti direktori telepon memiliki nama, alamat dan nomor telepon orang tertentu, registri UDDI akan memiliki informasi yang relevan untuk layanan web dengan cara yang sama. Sehingga aplikasi klien mengetahui, di mana ia dapat ditemukan.

Sejarah Web Services

Kami sudah memahami mengapa web service muncul pertama kali, yaitu menyediakan platform yang memungkinkan aplikasi yang berbeda untuk berbicara satu sama lain.

Tapi mari kita lihat daftar keuntungan layanan web mengapa penting menggunakan layanan web.

Mengekspos Fungsi Bisnis di jaringan - Layanan web adalah unit kode terkelola yang menyediakan semacam fungsionalitas untuk aplikasi klien atau pengguna akhir. Fungsionalitas ini dapat dipanggil melalui protokol HTTP yang berarti juga dapat dipanggil melalui internet. Saat ini semua aplikasi ada di internet yang membuat tujuan layanan Web lebih bermanfaat. Itu berarti layanan web dapat berada di mana saja di internet dan menyediakan fungsionalitas yang diperlukan sesuai kebutuhan.

Interoperabilitas di antara aplikasi - Layanan web memungkinkan berbagai aplikasi untuk berbicara satu sama lain dan berbagi data dan layanan di antara mereka sendiri. Semua jenis aplikasi dapat saling berbicara. Jadi, alih-alih menulis kode tertentu yang hanya dapat dipahami oleh aplikasi tertentu, kini Anda dapat menulis kode generik yang dapat dipahami oleh semua aplikasi.

Protokol Standar yang dipahami semua orang - Layanan web menggunakan protokol industri standar untuk komunikasi. Keempat lapisan (Service Transport, XML Messaging, Service Description, dan Service Discovery layer) menggunakan protokol yang ditentukan dengan baik dalam tumpukan protokol layanan web.

Pengurangan biaya komunikasi - Layanan web menggunakan SOAP melalui protokol HTTP, sehingga Anda dapat menggunakan internet murah yang ada untuk mengimplementasikan layanan web.

Arsitektur Web Service

Setiap kerangka kerja membutuhkan semacam arsitektur untuk memastikan seluruh kerangka berfungsi seperti yang diinginkan, demikian pula, dalam layanan web. Arsitektur Layanan Web terdiri dari tiga peran berbeda seperti yang diberikan di bawah ini:

  1. Provider - Provider yang membuat Web Service dan tersedia untuk aplikasi klien yang ingin menggunakannya.
  2. Requestor - Pemohon tidak lain adalah aplikasi klien yang perlu menghubungi layanan web. Aplikasi klien dapat berupa .Net, Java, atau aplikasi berbasis bahasa lainnya yang mencari semacam fungsionalitas melalui web service.
  3. Broker - Broker tidak lain adalah aplikasi yang menyediakan akses ke UDDI. UDDI, seperti yang dibahas di topik sebelumnya memungkinkan aplikasi klien untuk menemukan web service.
Diagram di bawah ini menunjukkan bagaimana Penyedia Web Service, Requestor Web Service, dan Registri Web Service berinteraksi satu sama lain.

Arsitektur Web Service

  • Publish - Penyedia memberi tahu pialang (registri layanan) tentang keberadaan layanan web dengan menggunakan antarmuka terbitkan pialang untuk membuat layanan dapat diakses oleh klien
  • Find - Pemohon berkonsultasi dengan broker untuk mencari layanan web yang dipublikasikan
  • Bind - Dengan informasi yang diperoleh dari broker (layanan registri) tentang layanan web, pemohon dapat mengikat, atau menjalankan, layanan web.

Karakteristik Web Service

Web Service memiliki karakteristik perilaku khusus berikut :

  1. Web Service Berbasis XML - Layanan Web menggunakan XML untuk merepresentasikan data pada representasi dan lapisan transportasi data. Menggunakan XML menghilangkan ketergantungan jaringan, sistem operasi, atau platform apa pun karena XML adalah bahasa umum yang dipahami oleh semua.
  2. Digabungkan secara longgar - Digabungkan secara longgar berarti klien dan layanan web tidak terikat satu sama lain, yang berarti bahwa meskipun layanan web berubah seiring waktu, layanan web tidak akan mengubah cara klien memanggil layanan web. Mengadopsi arsitektur yang digabungkan secara longgar cenderung membuat sistem perangkat lunak lebih mudah dikelola dan memungkinkan integrasi yang lebih sederhana antara sistem yang berbeda.
  3. Fungsi Synchronous atau Asynchronous- Synchronicity mengacu pada pengikatan klien untuk pelaksanaan layanan. Dalam operasi sinkron, klien sebenarnya akan menunggu layanan web menyelesaikan operasi. Contoh dari ini mungkin skenario di mana operasi baca dan tulis database sedang dilakukan. Jika data dibaca dari satu database dan kemudian ditulis ke database lain, maka operasi harus dilakukan secara berurutan. Operasi asinkron memungkinkan klien untuk memanggil layanan dan kemudian menjalankan fungsi lain secara paralel. Ini adalah salah satu teknik yang umum dan mungkin paling disukai untuk memastikan bahwa layanan lain tidak dihentikan ketika operasi tertentu sedang dilakukan.
  4. Kemampuan untuk mendukung Panggilan Prosedur Jarak Jauh (RPC) - Layanan web memungkinkan klien untuk menjalankan prosedur, fungsi, dan metode pada objek jarak jauh menggunakan protokol berbasis XML. Prosedur jarak jauh mengekspos parameter input dan output yang harus didukung oleh layanan web.
  5. Mendukung Pertukaran Dokumen - Salah satu manfaat utama XML adalah cara generiknya untuk tidak hanya merepresentasikan data tetapi juga dokumen yang kompleks. Dokumen-dokumen ini bisa sesederhana merepresentasikan alamat saat ini, atau bisa serumit merepresentasikan keseluruhan buku.
Related Posts

Related Posts

1 comment

  1. Terimakasih, materi web service, contoh web service, sejarah web service, tujuan web service, arsitektur web service sangat bermanfaat

    ReplyDelete
Silahkan berkomentar sesuai dengan postingan.
Dilarang komentar spam dan mencantumkan Link Aktif !