Layanan Web XML adalah blok bangunan dasar untuk komputasi terdistribusi di Internet. Standar terbuka dan fokus pada komunikasi dan kolaborasi antara pengguna dan aplikasi telah menciptakan lingkungan di mana Layanan Web XML menjadi platform untuk integrasi aplikasi. Aplikasi dibangun menggunakan Layanan Web XML dari berbagai sumber berbeda yang bekerja sama di mana pun lokasinya atau bagaimana penerapannya.
Definisi Layanan Web XML sama banyaknya dengan jumlah perusahaan yang membuat Layanan Web XML. Namun hampir semua definisi memiliki kesamaan sebagai berikut:
Layanan Web XML menyediakan fungsionalitas yang berguna bagi pengguna Web melalui protokol Web standar. Dalam kebanyakan kasus, protokol SOAP digunakan.
Layanan Web XML dapat menentukan antarmukanya dengan sangat detail, yang memungkinkan pengguna membuat aplikasi klien untuk berkomunikasi dengannya. Deskripsi ini biasanya terdapat dalam dokumen XML yang disebut dokumen Web Services Description Language (WSDL).
Layanan Web XML didaftarkan sehingga calon pengguna dapat dengan mudah menemukannya, yang dicapai melalui Penemuan Universal, Deskripsi, dan Integrasi (UDDI).
Artikel ini akan memperkenalkan ketiga teknologi ini, namun pertama-tama kami perlu menjelaskan mengapa Anda harus memperhatikan Layanan Web XML.
Salah satu keuntungan utama arsitektur Layanan Web XML adalah memungkinkan berbagai program yang ditulis dalam bahasa berbeda pada platform berbeda untuk berkomunikasi satu sama lain dengan cara berbasis standar. Pengguna yang mengetahui sesuatu tentang industri ini mungkin langsung berkata: "Tunggu sebentar, bukankah CORBA dan DCE sebelumnya membuat komitmen yang sama? Apa perbedaan antara ini dan mereka?" Perbedaan yang paling penting adalah: SOAP lebih baik dari sebelumnya Pendekatannya jauh lebih sederhana, sehingga hambatan dalam penerapan SOAP yang sesuai standar jauh lebih sedikit. Paul Kulchenko memberikan daftar implementasi SOAP di http://www.soapware.org/directory/4/implementations (dalam bahasa Inggris). Pada penghitungan terakhir, daftar tersebut berisi 79 item. Seperti yang Anda duga, sebagian besar perusahaan perangkat lunak besar menyediakan implementasi SOAP, namun ada juga banyak implementasi yang dibuat dan dikelola oleh pengembang individu. Keuntungan utama lainnya dari Layanan Web XML dibandingkan solusi sebelumnya adalah penggunaan protokol Web standar - XML, HTTP, dan TCP/IP. Banyak perusahaan telah membangun infrastruktur Web dan karyawan mereka mempunyai pengetahuan dan pengalaman untuk memeliharanya. Oleh karena itu, biaya pengenalan Layanan Web XML jauh lebih rendah dibandingkan pengenalan teknologi sebelumnya.
Kami mendefinisikan Layanan Web XML sebagai layanan perangkat lunak yang disediakan di Web melalui SOAP, dijelaskan menggunakan file WSDL, dan didaftarkan melalui UDDI. Jadi, Anda mungkin bertanya: "Apa yang dapat Anda lakukan dengan Layanan Web XML?" Layanan Web XML asli sering kali merupakan sumber informasi yang dapat dengan mudah dimasukkan ke dalam aplikasi, seperti harga saham, prakiraan cuaca, skor olahraga, dan sebagainya. Sangat mudah untuk membayangkan seluruh kelas aplikasi yang dapat dibangun untuk menganalisis dan merangkum informasi yang Anda pedulikan, dan membuat informasi tersebut tersedia dalam berbagai cara; misalnya, Anda dapat menggunakan spreadsheet Microsoft® Excel untuk merangkum semua keuangan Anda informasi—saham, 401K, deposito bank, pinjaman, dll. Jika informasi ini tersedia melalui Layanan Web XML, Excel bisa terus memperbaruinya. Beberapa informasi ini gratis, dan beberapa mungkin memerlukan langganan untuk mendapatkan layanan terkait. Sebagian besar informasi ini sudah tersedia di Web, namun Layanan Web XML dapat membuat akses terprogram lebih mudah dan lebih dapat diandalkan.
Aplikasi yang ada tersedia sebagai Layanan Web XML, dan aplikasi baru yang lebih kuat dapat dibangun menggunakan Layanan Web XML sebagai blok penyusunnya. Misalnya, pengguna dapat mengembangkan aplikasi pembelian untuk secara otomatis memperoleh informasi harga dari pemasok yang berbeda, memungkinkan pengguna untuk memilih pemasok, mengirimkan pesanan, dan kemudian melacak pengiriman barang hingga barang diterima. Selain menyediakan layanan di Web, aplikasi pemasok juga dapat menggunakan Layanan Web XML untuk memeriksa kredit pelanggan, menagih pembayaran, dan menangani prosedur pengangkutan dengan perusahaan pengangkutan.
Di masa depan, beberapa aplikasi paling menarik yang didukung Layanan Web XML akan mampu memanfaatkan Web untuk menyelesaikan tugas-tugas yang saat ini tidak mungkin dilakukan. Misalnya, layanan kalender adalah salah satu layanan yang akan didukung oleh proyek Microsoft .NET My Services (Bahasa Inggris). Jika dokter gigi dan mekanik Anda menyediakan jadwal mereka melalui Layanan Web XML ini, Anda dapat menjadwalkan janji temu dengan mereka melalui Web jika Anda mau, mereka juga dapat menjadwalkan tanggal pembersihan dan perawatan rutin langsung di kalender Anda; Sangat mudah untuk membayangkan bahwa jika Anda dapat memprogram Web, Anda dapat membuat ratusan aplikasi.
Untuk informasi lebih lanjut tentang Layanan Web XML dan aplikasi yang dapat Anda buat, lihat halaman beranda Layanan Web MSDN (Bahasa Inggris).
SOAP
SOAP adalah protokol komunikasi Layanan Web XML. Ketika menggambarkan SOAP sebagai protokol komunikasi, kebanyakan orang memikirkan DCOM atau CORBA dan mengajukan pertanyaan seperti "Bagaimana SOAP mengaktifkan objek?" atau "Layanan penamaan apa yang digunakan SOAP?" Meskipun implementasi SOAP dapat mencakup unsur-unsur ini, namun tidak ditentukan oleh standar SOAP. SOAP Spesifikasi yang mendefinisikan format pesan XML - ini adalah bagian wajib dari spesifikasi. Segmen XML yang terbentuk dengan baik yang terkandung dalam sepasang elemen SOAP adalah pesan SOAP. Bukankah ini sederhana?
Bagian lain dari spesifikasi SOAP menjelaskan cara merepresentasikan data program sebagai XML dan cara menggunakan SOAP untuk panggilan prosedur jarak jauh (RPC). Bagian opsional dari spesifikasi ini digunakan untuk mengimplementasikan aplikasi bergaya RPC, di mana klien akan mengeluarkan pesan SOAP (berisi fungsi yang dapat dipanggil, dan parameter yang akan diteruskan ke fungsi tersebut), dan server akan mengembalikan pesan yang berisi hasilnya. dari eksekusi fungsi. Saat ini, sebagian besar implementasi SOAP mendukung aplikasi RPC karena programmer yang terbiasa mengembangkan aplikasi COM atau CORBA sudah familiar dengan format RPC. SOAP juga mendukung aplikasi bergaya dokumen, di mana pesan SOAP hanyalah pembungkus dokumen XML. Aplikasi SOAP berbasis dokumen sangat fleksibel, dan banyak Layanan Web XML baru memanfaatkan fitur ini untuk membangun layanan yang sulit diimplementasikan menggunakan RPC.
Bagian opsional terakhir dari spesifikasi SOAP mendefinisikan gaya pesan HTTP yang berisi pesan SOAP. Pengikatan HTTP ini penting karena hampir semua OS saat ini (dan banyak OS sebelumnya) mendukung HTTP. Meskipun opsional, pengikatan HTTP didukung oleh hampir semua implementasi SOAP karena merupakan satu-satunya protokol standar untuk SOAP. Oleh karena itu, orang sering salah mengira bahwa SOAP harus menggunakan HTTP. Faktanya, beberapa implementasi juga mendukung transport MSMQ, MQ Series, SMTP atau TCP/IP, namun karena HTTP ada di mana-mana, hampir semua Layanan Web XML saat ini menggunakannya. Karena HTTP adalah protokol inti Web, sebagian besar infrastruktur jaringan organisasi mendukung HTTP dan karyawan sudah mengetahui cara mengelolanya. Saat ini, infrastruktur untuk keamanan HTTP, pemantauan, dan penyeimbangan beban telah dibangun.
Saat mulai menggunakan SOAP, hal yang paling membingungkan adalah perbedaan antara spesifikasi SOAP dan banyak implementasinya. Sebagian besar pengguna SOAP tidak menulis pesan SOAP secara langsung tetapi menggunakan toolkit SOAP untuk membuat dan menganalisis pesan SOAP. Toolkit ini biasanya mengubah panggilan fungsi dari suatu bahasa menjadi pesan SOAP. Misalnya, Microsoft SOAP Toolkit 2.0 mengubah panggilan fungsi COM menjadi SOAP, dan Apache Toolkit mengubah panggilan fungsi JAVA menjadi SOAP. Tipe pemanggilan fungsi dan tipe data parameter yang didukung berbeda-beda pada setiap implementasi SOAP, sehingga fungsi yang berfungsi pada satu toolkit mungkin tidak berfungsi pada toolkit lainnya. Ini bukan batasan SOAP, tapi implementasi spesifik yang digunakan.
Sejauh ini, fitur SOAP yang paling menarik adalah bahwa ia dapat diimplementasikan pada banyak platform perangkat lunak dan perangkat keras yang berbeda. Ini berarti SOAP dapat digunakan untuk menghubungkan sistem yang berbeda di dalam dan di luar perusahaan. Berbagai pendekatan telah dicoba di masa lalu untuk menghasilkan protokol komunikasi umum yang dapat digunakan untuk integrasi sistem, namun tidak satupun dari pendekatan tersebut yang diterima secara luas seperti yang dimiliki SOAP. Mengapa? Karena SOAP lebih kecil dan lebih mudah diimplementasikan dibandingkan banyak protokol sebelumnya. Misalnya, DCE dan CORBA membutuhkan waktu bertahun-tahun untuk diimplementasikan, sehingga hanya sedikit implementasi yang dirilis. SOAP dapat memanfaatkan parser XML dan pustaka HTTP yang ada untuk melakukan sebagian besar kerja keras, sehingga implementasi SOAP dapat diselesaikan dalam hitungan bulan. Itu sebabnya kini terdapat lebih dari 70 implementasi SOAP. Tentu saja SOAP tidak memiliki semua fungsi DCE atau CORBA. Walaupun fungsinya berkurang, SOAP lebih mudah diterapkan karena kompleksitasnya sangat berkurang.
Popularitas HTTP dan kesederhanaan SOAP memungkinkan Anda memanggilnya dari hampir semua lingkungan, menjadikannya landasan ideal untuk layanan Web XML. Untuk informasi lebih lanjut tentang SOAP, lihat halaman beranda MSDN SOAP (Bahasa Inggris).
Seberapa amankah itu?
Seringkali, pertanyaan pertama yang ditanyakan oleh pengguna yang baru mengenal SOAP adalah bagaimana SOAP memecahkan masalah keamanan. Pada tahap awal pengembangannya, SOAP dipandang sebagai protokol berbasis HTTP, sehingga keamanan HTTP dianggap cukup untuk SOAP. Lagi pula, ada ribuan aplikasi Web yang saat ini menggunakan keamanan HTTP, jadi ini memang cukup untuk SOAP. Oleh karena itu, standar SOAP saat ini mengasumsikan bahwa keamanan adalah masalah transportasi dan tidak diperlakukan sebagai masalah keamanan.
Ketika SOAP berkembang menjadi protokol yang lebih umum dan berjalan di banyak transport, masalah keamanan menjadi lebih menonjol. Misalnya, HTTP menyediakan beberapa cara untuk mengautentikasi pengguna yang melakukan panggilan SOAP, namun bagaimana identitas tersebut menyebar ketika pesan dirutekan dari HTTP ke transport SMTP? SOAP dirancang sebagai protokol blok penyusun, jadi untungnya terdapat spesifikasi untuk menyediakan fitur keamanan tambahan untuk layanan Web berdasarkan SOAP. Spesifikasi WS-Security (Bahasa Inggris) mendefinisikan sistem enkripsi lengkap, dan spesifikasi WS-License (Bahasa Inggris) mendefinisikan teknologi terkait untuk memastikan identitas penelepon dan memastikan bahwa hanya pengguna resmi yang dapat menggunakan layanan Web.
WSDL
WSDL (Bahasa Deskripsi Layanan Web) adalah singkatan dari Bahasa Deskripsi Layanan Web. Untuk keperluan artikel ini, kita dapat menganggap file WSDL sebagai dokumen XML yang menjelaskan sekumpulan pesan SOAP dan cara menukarnya. Dengan kata lain, WSDL untuk SOAP seperti halnya IDL untuk CORBA atau COM. Karena WSDL adalah dokumen XML, mudah dibaca dan diedit; namun dalam banyak kasus, WSDL dibuat dan digunakan oleh perangkat lunak.
Untuk melihat nilai WSDL, bayangkan Anda ingin memanggil metode SOAP yang disediakan oleh salah satu mitra bisnis Anda. Anda dapat meminta beberapa contoh pesan SOAP dan kemudian menulis aplikasi Anda untuk menghasilkan dan menggunakan pesan yang mirip dengan contoh tersebut, tetapi hal ini mudah untuk membuat kesalahan. Misalnya, Anda mungkin melihat ID pelanggan 2837 dan menganggapnya sebagai bilangan bulat, padahal sebenarnya itu adalah string. WSDL menentukan melalui notasi eksplisit apa isi pesan permintaan dan seperti apa tampilan pesan responsnya.
Notasi yang digunakan file WSDL untuk mendeskripsikan format pesan didasarkan pada standar XML Schema yang artinya bahasa pemrograman agnostik dan berbasis standar, sehingga cocok untuk mendeskripsikan Layanan Web XML yang dapat diakses dari berbagai platform dan pemrograman berbeda. bahasa.antarmuka. Selain mendeskripsikan isi pesan, WSDL juga mendefinisikan lokasi layanan dan protokol komunikasi apa yang digunakan untuk berkomunikasi dengan layanan. Artinya, file WSDL mendefinisikan segala sesuatu yang diperlukan untuk menulis program yang menggunakan Layanan Web XML. Ada beberapa alat yang dapat membaca file WSDL dan menghasilkan kode yang diperlukan untuk berkomunikasi dengan layanan Web XML. Beberapa alat paling canggih dapat ditemukan di Microsoft Visual Studio® .NET.
Saat ini, banyak toolkit SOAP yang menyertakan alat untuk menghasilkan file WSDL dari antarmuka program yang ada, namun hanya ada sedikit alat untuk menulis WSDL secara langsung, dan dukungan alat untuk WSDL tidak lengkap. Namun segera akan ada alat untuk menulis file WSDL, diikuti oleh alat untuk menghasilkan proxy dan stub (seperti alat COM IDL), dan alat ini akan menjadi bagian dari sebagian besar implementasi SOAP. Sampai saat itu, WSDL akan menjadi metode pilihan untuk membuat antarmuka SOAP ke layanan Web XML.
Ada deskripsi WSDL yang sangat bagus di sini (dalam bahasa Inggris), dan Anda juga dapat menemukan spesifikasi WSDL di http://www.w3.org/TR/wsdl (dalam bahasa Inggris).
UDDI
(UDDI) adalah Halaman Kuning layanan Web. Seperti Yellow Pages tradisional, Anda dapat mencari perusahaan yang menawarkan layanan yang Anda butuhkan, membaca untuk mengetahui layanan yang ditawarkan, dan kemudian menghubungi seseorang untuk informasi lebih lanjut. Tentu saja, Anda dapat menyediakan layanan Web tanpa mendaftarkannya di UDDI, seperti menjalankan bisnis di ruang bawah tanah Anda dan mengandalkan informasi dari mulut ke mulut; pelanggan.
Entri direktori UDDI adalah file XML yang menjelaskan layanan dan layanan yang disediakan. Entri direktori UDDI terdiri dari tiga bagian. "Halaman Putih" memperkenalkan perusahaan yang menyediakan layanan: nama, alamat, informasi kontak, dll.; "Halaman Kuning" mencakup kategori industri berdasarkan klasifikasi standar (seperti Sistem Klasifikasi Industri Amerika Utara dan Klasifikasi Industri Standar); informasi Akses antarmuka ke layanan sehingga pengguna dapat menulis aplikasi untuk menggunakan layanan Web. Definisi layanan dicapai melalui dokumen UDDI yang disebut model tipe (atau tModel). Dalam kebanyakan kasus, tModel berisi file WSDL yang menjelaskan antarmuka SOAP untuk mengakses Layanan Web XML, namun tModel sangat fleksibel dan dapat menjelaskan hampir semua jenis layanan.
Direktori UDDI juga berisi beberapa metode untuk mencari layanan yang diperlukan untuk membangun aplikasi Anda. Misalnya, Anda dapat mencari penyedia layanan di lokasi geografis tertentu atau mencari jenis bisnis tertentu. Direktori UDDI kemudian akan memberikan informasi, rincian kontak, link dan data teknis sehingga Anda dapat mengidentifikasi layanan yang memenuhi kebutuhan Anda.
UDDI memungkinkan Anda menemukan perusahaan yang menyediakan layanan Web yang Anda perlukan. Apa yang Anda lakukan jika Anda sudah tahu dengan siapa Anda ingin berbisnis, namun belum tahu apa lagi yang bisa ditawarkan? Spesifikasi WS-Inspection (dalam bahasa Inggris) memungkinkan Anda menelusuri koleksi Layanan Web XML yang tersedia di server tertentu untuk menemukan layanan yang Anda perlukan.
Untuk informasi lebih lanjut tentang UDDI, kunjungi http://www.uddi.org/about.html (dalam bahasa Inggris).
Konten Lainnya
Sejauh ini, kita telah membahas cara berkomunikasi dengan XML Web Services (SOAP), bagaimana XML Web Services dijelaskan (WSDL), dan cara menemukan XML Web Services (UDDI). Ini membentuk serangkaian spesifikasi dasar yang memberikan dasar untuk integrasi dan agregasi aplikasi. Berdasarkan spesifikasi dasar ini, perusahaan dapat membangun solusi praktis dan mendapatkan manfaat darinya.
Kami telah melakukan banyak pekerjaan untuk mengimplementasikan Layanan Web XML, namun masih banyak pekerjaan yang harus diselesaikan. Saat ini, orang-orang telah mencapai kesuksesan menggunakan Layanan Web XML, namun bagi pengembang, masih banyak tautan yang perlu ditingkatkan. Misalnya, keamanan, manajemen operasi, pemrosesan transaksi, dan pengiriman pesan yang andal. Arsitektur Layanan Web XML Global akan membantu Layanan Web XML memasuki tahap evolusi berikutnya dengan menyediakan model umum yang konsisten untuk menambahkan kemampuan canggih baru ke Layanan Web XML dengan cara yang modular dan dapat diperluas.
Modul keamanan yang disebutkan di atas (WS-Security [Bahasa Inggris] dan WS-License [Bahasa Inggris]) adalah bagian dari spesifikasi Arsitektur Layanan Web Global. Kebutuhan manajemen operasional (seperti perutean pesan antara beberapa server dan konfigurasi dinamis server tersebut untuk diproses) juga merupakan bagian dari Arsitektur Layanan Web Global melalui spesifikasi WS-Routing (Bahasa Inggris) dan spesifikasi WS-Referral (Bahasa Inggris) yang ingin dicapai. Seiring berkembangnya Arsitektur Layanan Web Global, spesifikasi yang menjawab kebutuhan ini dan kebutuhan lainnya akan diperkenalkan.