Gambaran Umum COM+ SOAP Service
Penggunaan komputer yang direvolusi HTTP dengan memungkinkan orang menggunakan browser Web untuk akses mudah ke informasi pada server jarak jauh melalui jaringan. Layanan web XML sekarang telah merevolusi pengembangan aplikasi dengan memungkinkan aplikasi klien untuk dengan mudah memanggil metode jarak jauh melalui jaringan.
Seringkali berguna bagi aplikasi klien untuk dapat memanggil metode yang diterapkan di server jarak jauh. Terkadang metode menggunakan informasi volatil yang disimpan di server jarak jauh (misalnya, metode yang mengembalikan harga stok saat ini yang sesuai dengan simbol ticker tertentu). Di lain waktu, pengembang menginginkan kemampuan untuk meningkatkan implementasi metode tanpa harus menyebarkan ulang semua aplikasi yang menggunakannya.
Seperti halaman web, layanan web XML diakses melalui server web, seperti IIS, menggunakan HTTP. Namun, alih-alih halaman web yang dikodekan dalam HTML, paket HTTP ini berisi parameter input dan output panggilan ke metode yang diterapkan di server, dikodekan dalam SOAP.
Untuk menggunakan layanan web XML, Anda perlu mengetahui URL tempat layanan diekspos dan nama metode yang ingin Anda panggil, dan Anda harus memberikan parameter input ke metode .
standar SOAP 1.1 menyediakan contoh paket HTTP berikut yang berisi panggilan jarak jauh ke layanan web XML di https://www.stockquoteserver.com/StockQuote
, yang mengembalikan harga saham saat ini yang sesuai dengan simbol ticker tertentu.
POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; "charset=utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Seperti yang diilustrasikan contoh sebelumnya, SOAP adalah instans XML yang dapat disematkan dalam permintaan HTTP. Demikian pula, hasilnya dikembalikan sebagai paket HTTP dengan payload SOAP, seperti yang ditunjukkan dalam contoh berikut.
HTTP/1.1 200 OK
Content-Type: text/xml; "charset=utf-8"
Content-Length: nnnn
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="https://schemas.xmlsoap.org/soap/encoding//">
<SOAP-ENV:Body>
<m:GetLastTradePriceResponse xmlns:m="Some-URI">
<Price>34.5</Price>
</m:GetLastTradePriceResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Meskipun sangat membantu untuk memiliki beberapa pemahaman tentang infrastruktur yang mendasar layanan web XML, COM+ membuatnya sangat mudah untuk membuat dan menggunakan layanan web XML sehingga Anda tidak akan sering harus mempelajari tingkat ini.
Anda dapat mengekspos metode di antarmuka default komponen COM yang dikonfigurasi di aplikasi COM+ apa pun sebagai layanan web XML. Tidak ada pertimbangan pemrograman khusus yang diperlukan saat menulis komponen, kecuali bahwa metode yang ingin Anda ekspos harus berada di antarmuka default dan komponen harus dikonfigurasi (dalam katalog COM+ server Anda). Anda tidak perlu menulis kode untuk berkomunikasi melalui antarmuka jaringan atau mengurai SOAP. Untuk instruksi terperinci tentang menggunakan layanan COM+ SOAP untuk membuat layanan web XML, lihat Membuat Xml Web Services.
Saat Anda mengekspos aplikasi COM+ sebagai layanan web XML, informasi terperinci tentang sintaks semua metode yang tersedia dari layanan web XML diterbitkan secara otomatis, menggunakan Web Services Description Language (WSDL). Informasi ini digunakan oleh klien yang menggunakan layanan web XML Anda.
COM+ menyediakan dua cara bagi Anda untuk mengakses dan menggunakan layanan web XML jarak jauh, sebagai berikut:
- Mode objek terkenal (WKO) dapat digunakan untuk mengakses layanan web XML apa pun yang menerbitkan sintaksnya menggunakan WSDL, bahkan jika layanan web XML tersebut tidak dibuat menggunakan COM+ atau bahkan Microsoft Windows.
- Mode objek yang diaktifkan klien (CAO) hanya dapat digunakan untuk mengakses layanan web XML yang dibuat dengan mengekspos aplikasi COM+. Mode CAO meningkatkan performa dengan menggunakan koneksi persisten, fitur yang tidak didukung oleh standar SOAP saat ini.
Kedua metode ini memungkinkan aplikasi klien untuk memanggil metode layanan web XML dari jarak jauh dengan cara yang mudah, tanpa harus menulis kode untuk berkomunikasi melalui antarmuka jaringan atau mengurai SOAP. Untuk detail tentang cara mengakses layanan web XML dalam salah satu mode, lihat Mengakses Layanan Web XML dalam Mode CAO dan Mengakses Layanan Web XML dalam Mode WKO.
Nota
COM+ hanya mendukung spesifikasi SOAP-RPC, bukan spesifikasi SOAP-Document.
COM+ membuat penggunaan layanan web XML sangat mudah dengan memungkinkan Anda menggunakan aplikasi COM+ yang ada sebagai layanan web XML dalam mode CAO dengan cara yang benar-benar transparan. Jika Anda mengekspor aplikasi COM+ yang telah diekspos sebagai layanan web XML dari server Anda, klien apa pun yang mengimpor aplikasi dapat secara transparan menggunakan layanan web XML server setiap kali aplikasi yang diimpor digunakan. Fasilitas ini membuat konversi aplikasi COM+ yang ada ke layanan web XML dan penyebaran layanan tersebut melalui jaringan sangat mudah.
Menggunakan layanan web XML memiliki beberapa keuntungan unik dibandingkan implementasi alternatif panggilan prosedur jarak jauh (RPC), termasuk yang berikut ini:
- SOAP adalah implementasi RPC lintas platform sejati, yang meningkatkan interoperabilitas.
- Layanan web XML mendukung metode dengan parameter input dan output.
- Layanan web XML berjalan melalui HTTP, yang biasanya dapat menembus firewall yang mungkin memblokir implementasi RPC lainnya.
- Ketika layanan web XML diimplementasikan menggunakan COM+, pengembang tidak perlu menulis kode khusus apa pun; ini adalah keuntungan yang luar biasa daripada mekanisme RPC alternatif.
Nota
Layanan web XML tidak mendukung panggilan transaksional asinkron atau transparan. Gunakan COM+ Queued Components service saat Anda memerlukan fungsionalitas ini.
Topik terkait