Apa itu Layanan Web?
Layanan web adalah media standar untuk menyebarkan komunikasi antara aplikasi klien dan server di World Wide Web. Layanan web adalah modul perangkat lunak yang dirancang untuk melakukan serangkaian tugas tertentu.
- Layanan web dalam komputasi awan dapat dicari melalui jaringan dan juga dapat dijalankan sesuai dengan itu.
- Saat dipanggil, layanan web akan dapat memberikan fungsionalitas kepada klien, yang memanggil layanan web tersebut.
Dalam tutorial Layanan Web ini, Anda akan mempelajari dasar-dasar layanan Web-
- Bagaimana WebServices Bekerja?
- Mengapa Anda membutuhkan Layanan Web?
- Jenis Layanan Web
- Keunggulan Layanan Web
- Arsitektur Layanan Web
- Karakteristik Layanan Web
- Layanan web SOAP.
- Layanan web yang tenang.
- Setiap dokumen SOAP harus memiliki elemen root yang dikenal sebagai elemen
. Elemen root adalah elemen pertama dalam dokumen XML. - "Amplop" dibagi menjadi 2 bagian. Yang pertama adalah header, dan selanjutnya adalah body.
- Header berisi data perutean yang pada dasarnya adalah informasi yang memberi tahu dokumen XML ke klien mana ia perlu dikirim.
- Isi pesan akan berisi pesan yang sebenarnya.
Bagaimana WebServices Bekerja?
Diagram di atas menunjukkan pandangan yang sangat sederhana tentang bagaimana layanan web sebenarnya akan bekerja. Klien akan memanggil serangkaian panggilan layanan web melalui permintaan ke server yang akan menjadi tuan rumah layanan web 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 layanan web.
Komponen utama dari desain layanan web 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.
Layanan web 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.
Mengapa Anda membutuhkan Layanan Web?
Aplikasi bisnis modern menggunakan berbagai platform pemrograman untuk mengembangkan aplikasi berbasis web. Beberapa aplikasi dapat dikembangkan di Java, yang lain di .Net, sementara beberapa lainnya di Angular JS, Node.js, dll.
Paling sering daripada tidak, aplikasi heterogen ini membutuhkan semacam komunikasi untuk terjadi di antara mereka. Karena mereka dibangun menggunakan bahasa pengembangan yang berbeda, menjadi sangat sulit untuk memastikan komunikasi yang akurat antar aplikasi.
Di sinilah layanan web berperan. Layanan web menyediakan platform umum yang memungkinkan beberapa aplikasi yang dibangun di atas berbagai bahasa pemrograman memiliki kemampuan untuk berkomunikasi satu sama lain.
Jenis Layanan Web
Ada dua jenis layanan web.
Agar layanan web berfungsi penuh, ada komponen tertentu yang perlu ada. Komponen ini harus ada terlepas dari bahasa pengembangan apa pun yang digunakan untuk pemrograman 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
Diagram di bawah ini menunjukkan contoh sederhana komunikasi melalui SOAP.
Kami akan membahas SOAP secara rinci dalam tutorial ini.
WSDL (Bahasa deskripsi layanan Web)
Layanan web 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 juga 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 Layanan Web
Contoh layanan Web dari file WSDL diberikan di bawah ini.
Aspek penting yang perlu diperhatikan tentang contoh deklarasi WSDL di atas dari layanan web adalah sebagai berikut:
- 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. -
- 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. - 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.
Kami akan membahas "WDSL" secara rinci dalam tutorial ini.
Deskripsi Universal, Penemuan, dan Integrasi (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 telah 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 tahu, di mana ia dapat ditemukan.
Keunggulan Layanan Web
Kami sudah memahami mengapa layanan web 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 Layanan Web
Setiap kerangka kerja membutuhkan semacam arsitektur untuk memastikan seluruh kerangka berfungsi seperti yang diinginkan, demikian pula, dalam layanan web. The Web Services Arsitektur terdiri dari tiga peran yang berbeda seperti yang diberikan di bawah ini:
- Penyedia - Penyedia membuat layanan web dan membuatnya tersedia untuk aplikasi klien yang ingin menggunakannya.
- Pemohon - Sebuah pemohon tidak lain adalah aplikasi klien bahwa kebutuhan untuk menghubungi layanan web. Aplikasi klien dapat berupa .Net, Java, atau aplikasi berbasis bahasa lainnya yang mencari semacam fungsionalitas melalui layanan web.
- Broker - Broker tidak lain adalah aplikasi yang menyediakan akses ke UDDI. UDDI, seperti yang dibahas di topik sebelumnya memungkinkan aplikasi klien untuk menemukan layanan web.
Diagram di bawah ini menunjukkan bagaimana Penyedia Layanan, Pemohon Layanan, dan Registri Layanan berinteraksi satu sama lain.
- Publikasikan - Penyedia memberi tahu pialang (registri layanan) tentang keberadaan layanan web dengan menggunakan antarmuka terbitkan pialang untuk membuat layanan dapat diakses oleh klien
- Temukan - Pemohon berkonsultasi dengan broker untuk mencari layanan web yang dipublikasikan
- Bind - Dengan informasi yang diperoleh dari broker (registri layanan) tentang layanan web, pemohon dapat mengikat, atau menjalankan, layanan web.
Karakteristik layanan web
Layanan web memiliki karakteristik perilaku khusus berikut:
-
Mereka 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.
-
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.
-
Fungsi Synchronous atau Asynchronous - Synchronicity mengacu pada pengikatan klien ke 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.
-
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.
-
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.