Layanan Web XML. Ikhtisar teknologi. Apa itu layanan Web dan mengapa itu penting?

07.08.2020 Kartu memori

19 tanggapan

Definisi sederhana: Layanan web adalah fungsi yang dapat diakses oleh program lain melalui Internet (Http). Untuk memperjelas sedikit, ketika Anda membuat situs web PHP yang menghasilkan HTML, targetnya adalah browser dan, di samping itu, orang yang membaca halaman di browser. Layanan web tidak ditujukan untuk manusia, melainkan untuk program lain.

Jadi situs PHP Anda yang menghasilkan bilangan bulat acak dapat menjadi layanan web jika menghasilkan bilangan bulat dalam format yang dapat digunakan oleh program lain. Itu bisa di format XML atau format lain jika program lain dapat memahami output.

Definisi lengkapnya jelas lebih kompleks, tetapi Anda meminta bahasa Inggris yang sederhana.

Penjelasan non-teknis yang disederhanakan: Sebuah servlet web memungkinkan PROGRAM untuk berbicara dengan halaman web daripada menggunakan browser Anda untuk membuka halaman web.

Contoh: Saya dapat membuka maps.google.com dan memasukkan alamat rumah saya dan melihat tempat tinggal saya di browser.

Tapi bagaimana jika Anda menulis? program komputer di mana Anda ingin mengambil alamat dan menunjukkan peta yang bagus, seperti peta google?

Nah, Anda bisa menulis dengan sempurna program baru peta dari awal, atau Anda bisa memanggil layanan web yang disediakan google maps, kirimkan alamatnya, dan itu akan mengembalikan peta grafis lokasi yang dapat Anda tampilkan di program Anda.

Ada lebih banyak lagi dari ini karena beberapa pesan lain masuk, tetapi hasilnya adalah memungkinkan aplikasi Anda untuk mengambil informasi FROM atau meneruskan informasi ke beberapa sumber daya. Beberapa contoh lain:

Ya, ini adalah layanan web sederhana.

Layanan web tidak lain adalah mekanisme permintaan/tanggapan yang memungkinkan klien mengakses/memodifikasi data dari jarak jauh. Ada standar resmi untuk layanan web (SOAP, SOA, dll) tetapi Anda halaman sederhana juga merupakan layanan.

Kerugian utama mencetak pada halaman adalah bahwa layanan Anda akan mengembalikan HTML. Format data yang disukai adalah JSON dan XML, karena sebagian besar kerangka kerja sisi klien (dan kerangka kerja sisi server) dirancang menggunakan JSON dan XML.

Jadi jika Anda mengubah layanan Anda untuk kembali:

beberapa nomor acak

... beberapa nomor acak

maka itu akan lebih berguna bagi sebagian besar pelanggan

Dalam istilah yang lebih sederhana, layanan web adalah sesuatu yang menyediakan data sebagai layanan melalui protokol http. Tentu saja tidak... tapi sudah dekat.

Layanan web standar menggunakan protokol SOAP, yang mendefinisikan komunikasi dan struktur pesan, sedangkan XML adalah format datanya.

Layanan web dirancang untuk memungkinkan aplikasi yang dibangun menggunakan teknologi yang berbeda, bisa berinteraksi satu sama lain tanpa masalah.

Contoh layanan web seperti Weather.com, yang menyediakan informasi cuaca yang dapat Anda gunakan di situs Anda, atau UPS, yang menyediakan metode untuk meminta penawaran atau melacak paket.

Mengubah kata-kata tentang SOAP karena tidak selalu SOAP seperti yang saya sebutkan, tetapi ingin membuatnya lebih jelas. Kuncinya memaparkan data sebagai layanan, bukan elemen antarmuka pengguna.

Layanan web berbeda dari situs web di mana layanan web menyediakan informasi yang dikonsumsi oleh perangkat lunak daripada manusia. Akibatnya, kami biasanya berbicara tentang layanan JSON , XML atau SOAP yang terbuka.

Layanan web adalah komponen kunci dalam "mashup". Mashup adalah ketika informasi dari banyak situs dikumpulkan secara otomatis menjadi layanan baru dan berguna. Misalnya, ada situs yang menggabungkan Google Maps dengan informasi laporan polisi untuk memberi Anda gambaran grafis tentang kejahatan di wilayah Anda. Jenis mashup lainnya adalah mengambil data stok nyata yang disediakan oleh situs lain dan menggabungkannya dengan aplikasi perdagangan palsu untuk menciptakan "permainan pasar" di pasar saham.

Layanan web juga digunakan untuk menyediakan berita (lihat RSS), item terbaru yang ditambahkan ke situs, informasi tentang produk baru, podcast, dan fitur hebat lainnya yang membuat web modern berubah.

Semoga ini membantu!

Untuk sebagian besar situs yang Anda miliki halaman HTML yang Anda kunjungi saat menggunakan browser. Ini adalah halaman yang dapat dibaca manusia (setelah dirender di browser Anda) di mana banyak data dapat meluap karena masuk akal bagi manusia.

Sekarang bayangkan seseorang ingin menggunakan sebagian dari data itu. Mereka dapat memuat halaman Anda dan mulai menyaring semua "kebisingan" untuk mendapatkan data yang mereka butuhkan, tetapi sebagian besar situs web tidak dibangun sedemikian rupa sehingga datanya 100% pasti ditempatkan di tempat yang sama untuk semua elemen, jadi selain Selain menjadi berat, juga menjadi tidak dapat diandalkan.

Masukkan Layanan Web.

Layanan web adalah apa yang ditawarkan situs web kepada mereka yang ingin membaca, memperbarui, dan/atau menghapus data dari situs Anda. Anda dapat menyebutnya sebagai "pintu belakang" untuk data Anda. Alih-alih menyajikan data sebagai bagian dari halaman web, itu disediakan dengan cara yang telah ditentukan sebelumnya, di mana beberapa yang paling populer adalah XML dan JSON. Ada beberapa cara untuk berkomunikasi dengan layanan web, beberapa menggunakan SOAP, yang lain menggunakan layanan web REST, dan sebagainya.

Apa yang umum untuk semua layanan web adalah bahwa mereka setara dengan halaman web yang dapat dibaca mesin yang ditawarkan situs kepada orang lain. Ini berarti bahwa orang lain yang ingin menggunakan data tersebut dapat mengajukan permintaan untuk data tertentu yang mudah diurai dan digunakan. Beberapa situs mungkin mengharuskan Anda untuk memberikan nama pengguna/kata sandi dalam permintaan data sensitif, sementara situs lain mengizinkan siapa pun untuk mengambil data apa pun yang mungkin mereka perlukan.

Penjelasan terbaik di bahasa Inggris dijelaskan dengan analogi:

  • Halaman web memungkinkan orang untuk berkomunikasi dan berkolaborasi satu sama lain.
  • Layanan web memungkinkan program untuk berkomunikasi dan berkolaborasi satu sama lain.

Contoh PHP Anda adalah layanan web menurut definisi itu karena outputnya dapat digunakan oleh program lain. Tetapi sebenarnya pengikis layar HTML bukanlah cara yang andal atau didukung untuk membuat layanan web.

Layanan web adalah seperangkat protokol dan standar terbuka yang digunakan untuk bertukar data antara aplikasi atau sistem. Aplikasi software ditulis dalam bahasa pemrograman yang berbeda dan berjalan di platform yang berbeda, dapat menggunakan layanan web untuk bertukar data melalui jaringan komputer, seperti Internet, dengan cara yang mirip dengan komunikasi antarprosesor pada satu komputer. Kompatibilitas ini (misalnya, antara Java dan Python, atau Aplikasi Windows dan Linux) dikaitkan dengan penggunaan standar terbuka (XML, SOAP, HTTP).

Semua layanan web standar bekerja menggunakan komponen berikut:

  • SOAP (Protokol Akses Objek Sederhana)
  • UDDI (Deskripsi Universal, Penemuan dan Integrasi)
  • WSDL (Bahasa Deskripsi Layanan Web)

Ini bekerja seperti ini:

Webservice adalah teknologi dimana dua atau lebih aplikasi web jarak jauh berkomunikasi satu sama lain melalui jaringan/internet. Itu dapat diimplementasikan menggunakan Java, .net, PHP, dll.

Fitur Layanan Web:-

Sistem operasi menyediakan antarmuka GUI (dan CLI) yang dapat Anda gunakan untuk berinteraksi. Ini juga menyediakan API yang dengannya Anda dapat berinteraksi dengan perangkat lunak.

Demikian juga, sebuah situs web menyediakan halaman HTML yang dapat Anda gunakan untuk berinteraksi dan mungkin juga menyediakan API yang menawarkan informasi dan operasi yang sama secara terprogram. Atau layanan ini hanya dapat diakses melalui API tanpa antarmuka pengguna yang sesuai.

Layanan web yang digunakan oleh pengembang perangkat lunak, biasanya mengacu pada operasi yang dilakukan pada server jauh dan dipanggil menggunakan spesifikasi XML/SOAP. Seperti semua definisi, ada nuansa, tetapi ini adalah penggunaan istilah yang paling umum.

Cara sederhana untuk menjelaskan layanan web adalah::

  • Layanan web adalah cara komunikasi antara dua perangkat elektronik melalui World Wide Web.
  • Ini bisa disebut proses yang digunakan programmer untuk berkomunikasi dengan server.
  • Pemrogram dapat menggunakan SOAP untuk menjalankan proses ini, dan seterusnya.
  • Layanan web dibangun di atas standar terbuka seperti TCP/IP, HTTP

Keuntungan dari layanan web adalah katakanlah Anda mengembangkan satu bagian kode di .net dan Anda ingin menggunakan JAVA untuk menggunakan kode itu. Anda dapat berinteraksi langsung dengan lapisan abstraksi dan tidak mengetahui bahwa teknologi dikembangkan untuk mengembangkan kode.

Seperti yang dikatakan @Vincent Ramdhanie, layanan web tidak dimaksudkan untuk dilihat/dikonsumsi oleh pengguna akhir tetapi oleh program lain. Jadi logika teknis dalam program Anda adalah:

Saat menjalankan program normal

Pengguna di situs web -> HTML/JS/JQuery dll -> beri saya nomor acak -> program Anda

program Anda -> buat nomor acak -> buat HTML dan enkapsulasi o/p -> kembali ke pengguna

Anotasi: Area penggunaan. Keuntungan. Fitur pengembangan layanan web untuk platform .NET. Deskripsi dan penemuan layanan web

Apa itu Layanan Web XML?

sebagai teknologi Informasi ada pendekatan berbeda untuk menulis program: modular pemrograman, berdasarkan peristiwa pemrograman, berorientasi komponen pemrograman dan desain. Kelanjutan logis dari pendekatan ini berorientasi pada layanan pengembangan perangkat lunak.

Penggunaan pendekatan berorientasi layanan memungkinkan kita untuk berbicara tentang penggunaan kembali (reuse) di tingkat makro (tingkat layanan), sebagai lawan dari tingkat mikro (tingkat objek). Pendekatan berorientasi layanan melibatkan penggunaan standar yang sederhana dan diterima secara umum, yang memungkinkan berbagai aplikasi untuk menggunakan fungsionalitas satu sama lain. Layanan dapat ditulis menggunakan berbagai macam bahasa pemrograman, pada berbagai platform. Selain itu, layanan dapat digunakan secara terpisah atau sebagai bagian dari paket perangkat lunak mana saja di dunia dan dengan demikian akan memberikan akses ke fungsionalitas mereka melalui jaringan.

Mari kita panggil melayani sumber daya yang mengimplementasikan fungsi bisnis dan memiliki properti berikut:

  • dapat digunakan kembali;
  • didefinisikan oleh satu atau lebih antarmuka teknologi-independen eksplisit;
  • digabungkan secara longgar ke sumber daya serupa lainnya dan dapat dipanggil melalui protokol komunikasi yang memungkinkan sumber daya berinteraksi satu sama lain.

Kasus khusus dari layanan adalah layanan web XML.

Layanan Web XML adalah jenis aplikasi web khusus yang:

  • ditempatkan di server web;
  • menerbitkan metode web yang dapat dipanggil oleh klien eksternal;
  • menunggu penerimaan permintaan HTTP, yang merupakan perintah untuk memanggil metode web;
  • mengeksekusi metode web dan mengembalikan hasil.

Tidak seperti aplikasi web tradisional, layanan web tidak memiliki antarmuka pengguna. Sebaliknya, ia memiliki API, yaitu, layanan web menyediakan fungsi (metode web) yang dapat dipanggil dari jarak jauh (misalnya, melalui Internet). Layanan Web tidak dirancang untuk melayani pengguna akhir. Tugasnya adalah memberikan layanan ke aplikasi lain, baik itu aplikasi web, aplikasi GUI, atau aplikasi konsol.

Layanan web dapat memberikan informasi real-time tentang harga saham, cek kartu kredit atau laporkan ramalan cuaca. Layanan web sangat beragam seperti aplikasi konvensional.

Layanan web bukan milik perusahaan tertentu. Ini adalah standar industri berdasarkan protokol terbuka (SOAP, HTTP, dll.). Layanan web disebarkan di berbagai platform (termasuk server di bawah Kontrol jendela atau UNIX). Layanan web dapat dikembangkan menggunakan banyak alat pengembangan (dari editor teks ke keluarga Microsoft Visual Studio).

Metode sebagian besar layanan web dipanggil oleh permintaan HTTP yang berisi pesan SOAP SOAP adalah kosakata XML untuk dipanggil prosedur jarak jauh melalui HTTP dan protokol lainnya ( Deskripsi lengkap SOAP http://www.w3.org/TR/SOAP).

Tempat layanan web di antara teknologi panggilan jarak jauh lainnya

Ada banyak protokol dan teknologi pemanggilan jarak jauh: Microsoft Distributed Component Object Model ( DCOM ), Arsitektur Common Object Request Broker Architecture ( CORBA ) dari Grup Manajemen Objek, Sun's Remote Method Invocation ( RMI ), . .NET Jarak Jauh, Layanan Web XML.

Semua teknologi berorientasi komponen ini (DCOM, CORBA, dan RMI) telah berhasil digunakan dalam aplikasi Intranet selama bertahun-tahun. Mereka menyediakan arsitektur yang kuat dan terukur. Namun, ada dua masalah utama dengan menggunakan teknologi ini di Internet. Pertama, mereka tidak berinteraksi dengan baik satu sama lain. Semua teknologi beroperasi pada objek, tetapi berbeda secara signifikan dalam detail: manajemen siklus hidup, dukungan untuk konstruktor, dan tingkat dukungan pewarisan. Aspek kedua yang lebih penting adalah bahwa fokus pada interaksi RPC mengarah pada konstruksi sistem yang digabungkan secara ketat berdasarkan pemanggilan metode objek eksplisit.

Tidak seperti teknologi ini, XML Web Services dan . NET Remoting sepenuhnya diimplementasikan pendekatan berorientasi objek untuk pemrograman web.

Layanan Web XML- komponen yang menyediakan klien Internet dengan serangkaian fungsi API atau metode web. XML adalah bagian dari nama karena layanan web dan klien mereka menggunakannya untuk bertukar data. Layanan web didasarkan pada standar terbuka seperti HTTP, XML (Extensible Markup Language), SOAP (Simple Object Access Protocol - standar Internet yang menjelaskan bagaimana aplikasi dapat berinteraksi, yaitu, memanggil metode satu sama lain, menggunakan HTTP dan protokol lainnya). Tugas utama web service adalah menyediakan interaksi antarprogram. Banyak berjalan di server UNIX dan diakses oleh klien Windows. Data yang diteruskan ke layanan web diserialisasikan ke XML dan dikirim dalam paket SOAP. Metadata tentang konten pesan tersebut disimpan dalam kontrak WSDL dan skema XSD layanan web. Keuntungan utama dari pendekatan ini adalah keterbacaan metadata. Pengembang dapat dengan mudah melihat seluruh deskripsi layanan web dan bahkan membuat modulnya sendiri yang mem-parsing paket SOAP.

.NET Jarak Jauh menyediakan infrastruktur untuk objek terdistribusi. Ini jauh lebih kompleks daripada arsitektur layanan web sederhana berdasarkan pesan yang lewat. . NET Remoting mencakup melewati parameter dengan referensi dan nilai, callback, aktivasi beberapa objek, dan kebijakan manajemen siklus hidup. Untuk menggunakan fitur ini, aplikasi klien harus mahir dalam semua teknologi. Data masuk NET Remoting dikirim dalam format biner atau SOAP. Namun, bagaimanapun, metadata tentang struktur informasi yang dikirimkan terkandung dalam runtime bahasa umum. Tanpa runtime bahasa umum (CLR), aplikasi klien tidak akan dapat mengurai file . .NET Remoting SOAP header. Itu adalah. NET Remoting memiliki persyaratan yang jauh lebih tinggi daripada layanan web.

Pengembangan layanan web pada platform .NET

Ada banyak cara untuk menulis layanan web. Mereka dapat dikembangkan secara manual atau menggunakan alat SOAP yang disediakan oleh Microsoft, IBM, dan lainnya.Menulis layanan web dengan bantuan dari Microsoft. .NET memiliki dua keunggulan:

  • .NET Framework sangat menyederhanakan proses pengembangan dengan menyediakan perpustakaan kelas dan mengotomatiskan langkah-langkah pengembangan individu;
  • Layanan web yang ditulis dengan .NET Framework adalah aplikasi terkelola. Artinya, dalam aplikasi seperti itu tidak ada masalah kebocoran memori, penunjuk yang diinisialisasi dengan tidak benar, dan masalah pemrograman tipikal lainnya.

Penciptaan

Mari kita kembangkan layanan web AdditionService sederhana yang melakukan penjumlahan dua angka. Ini hanya akan memiliki satu metode Tambah yang mengambil dua bilangan bulat sebagai parameter dan mengembalikan bilangan bulat juga. AdditionService menunjukkan beberapa prinsip penting pemrograman layanan web menggunakan Microsoft .NET Framework.

  • Layanan web diimplementasikan sebagai file ASMX. ASMX adalah ekstensi nama file khusus yang terdaftar dengan ASP .NET (lebih khusus lagi, ASP.NET HTTP Handler) di file konfigurasi ASP .NET Machine.config utama.
  • File ASMX dimulai dengan direktif @WebService. Arahan ini harus berisi setidaknya atribut Kelas, yang menentukan kelas yang terdiri dari layanan web.
  • Kelas layanan web dapat memiliki atribut WebService opsional. PADA contoh ini atribut tersebut menentukan nama layanan web dan deskripsi yang ditampilkan pada halaman HTML saat pengguna memanggil AdditionService.asmx di browser.
  • Metode web dideklarasikan dengan menetapkan atribut WebMethod ke metode publik dari kelas layanan Web. Untuk metode pembantu yang digunakan secara internal tetapi tidak tersedia untuk klien eksternal, atribut ini dihilangkan begitu saja.
  • HTTP, XML, dan SOAP "tidak terlihat". Bekerja dengan data XML Pesan SOAP mengeksekusi .NET Framework.

Layanan Tambahan.asmx<%@ WebService language="C#" Class="AddService" %>menggunakan Sistem menggunakan System.Web.Services kelas AddService ( public int Add (int a, int b) ( return a + b ) )

Meskipun ukurannya kecil, AdditionService.asmx adalah layanan web yang lengkap ketika diinstal pada server web ASP.NET. Metodenya dipanggil dengan SOAP, HTTP GET, dan HTTP POST, dan dapat mengembalikan hasil sebagai respons SOAP atau sebagai pembungkus XML sederhana.

Menggunakan kode latar belakang, kelas layanan web dapat diambil dari file asmx menjadi file terpisah.

Layanan web mendukung penggunaan tipe data yang kompleks sebagai parameter masukan atau keluaran. Tipe data kompleks didukung karena XML memudahkan untuk membuat serialisasi sebagian besar tipe data. Namun, saat menguji layanan web secara otomatis, ASP .NET tidak menghasilkan halaman pengujian untuk metode yang menerima tipe data kompleks. Ini karena Anda tidak dapat meneruskan tipe data kompleks ke metode web menggunakan HTTP GET dan POST.

Layanan web memungkinkan Anda untuk memanggil metode Anda sendiri secara tidak sinkron. Panggilan asinkron segera kembali, terlepas dari berapa lama waktu yang dibutuhkan layanan web untuk memproses panggilan. Panggilan asinkron berguna saat panggilan membutuhkan waktu lama untuk diproses. Aplikasi membuat panggilan, kemudian terus berjalan tanpa menunggu hasil panggilan, dan kemudian menerima hasil panggilan asinkron. Hasilnya diperoleh ketika metode web dipanggil lagi pada waktu yang tepat untuk aplikasi, atau dengan berlangganan pemberitahuan tentang akhir pemrosesan panggilan oleh layanan web (mekanisme delegasi).

Layanan web dapat dibuat menggunakan alat seperti: Microsoft Visual Studio 2005. Ada jenis proyek ASP .NET Web Service terpisah untuk membuat layanan web. Visual Studio menghasilkan file asmx, file dengan kode latar belakang untuk menggambarkan kelas layanan web, file konfigurasi layanan web, dll. Ketika proyek diluncurkan untuk dieksekusi, kelas layanan dikompilasi dan file asmx dibuka di jendela browser.

Menjelaskan Layanan Web Menggunakan Kontrak

Agar pengembang lain dapat menggunakan AdditionService, mereka perlu mengetahui metode apa yang diekspos, protokol apa yang didukungnya, tanda tangan metode, dan alamat layanan web (URL). Semua ini dan informasi lainnya dapat dijelaskan dalam WSDL (bahasa Deskripsi Layanan Web).


Penemuan Layanan Web

Bagaimana pengembang lain mengetahui keberadaan AdditionService?

Pertama, dengan bantuan DISCO (kependekan dari kata penemuan) - mekanisme file untuk mencari layanan web lokal, yaitu mekanisme untuk mendapatkan daftar layanan web yang tersedia dari file DISCO yang dihosting di server web. Selain itu, file DISCO berisi catatan lokasi kontrak WSDL dari layanan yang tersedia. File DISCO adalah file XML dengan catatan.

Dimungkinkan juga untuk menggunakan file VSDISCO, yang mirip dengan file DISCO, tetapi kontennya adalah hasil pencarian dinamis untuk layanan web di direktori yang ditentukan dan semua subdirektori bersarang. ASP .NET memetakan ekstensi nama file .vsdisco ke penangan HTTP yang mencari direktori yang diberikan dan subdirektori untuk asmx dan disko dan mengembalikan dokumen DISCO yang dihasilkan secara dinamis. Untuk alasan keamanan, pencarian dinamis dinonaktifkan di beberapa versi .NET Framework, tetapi Anda dapat mengaktifkannya dengan mengedit entri di file Machine.config.

Dan bagaimana pencarian layanan web di jaringan global? Untuk mencari layanan web di jaringan global, Microsoft, IBM, dan Ariba bersama-sama mengembangkan UDDI (Universal Description Discovery and Integration) - spesifikasi untuk membangun basis data terdistribusi yang memungkinkan Anda menemukan layanan web. UDDI didukung oleh ratusan perusahaan. Situs UDDI sendiri adalah layanan web. Siapapun dapat mempublikasikan registri mereka berdasarkan UDDI. Sebagian besar pengembang tidak pernah menggunakan UDDI API secara langsung. Sebaliknya, pendaftar UDDI diakses oleh alat pengembangan. Mereka juga menghasilkan kelas pembungkus untuk layanan web yang ditemukan dan dipilih.

Hasil

Layanan Web XML adalah komponen perangkat lunak yang menyediakan fungsionalitas yang paling sistem yang berbeda, standar pendukung seperti klien layanan Web XML dan HTTP dapat berupa lokal atau aplikasi jarak jauh. Layanan web memungkinkan Anda membuat struktur yang membuatnya lebih mudah untuk diintegrasikan berbagai sistem berdasarkan standar sederhana yang diterima secara umum.

Alexander Kachanov

Ide layanan web dikembangkan oleh raksasa industri komputer seperti Sun, Oracle, HP, Microsoft, dan IBM. Ide ini bukanlah hal baru, tetapi merupakan langkah maju yang besar dalam membuat program lebih mudah diakses melalui web. Berdasarkan format komunikasi standar, layanan web secara umum dapat mengubah pemahaman kita tentang bagaimana seharusnya kita membuat situs web.

Apa itu layanan web?

Berkat layanan web, fungsi program apa pun dapat tersedia melalui Internet. Dengan demikian, program seperti PHP, ASP, skrip JSP, JavaBeans, objek COM dan semua alat pemrograman favorit kami lainnya sekarang dapat mengakses beberapa program yang berjalan di server lain (yaitu layanan web) dan menggunakan respons yang diterima darinya di situs web atau aplikasinya.

Katakanlah jika saya perlu melakukan beberapa tugas pemrograman dan saya terlalu sibuk (atau kehabisan akal untuk menemukan kembali roda sendiri), saya dapat menggunakan layanan layanan web yang akan diakses situs saya melalui Internet. Melewati permintaan dengan parameter ke layanan web, saya berharap menerima respons yang akan berisi hasil permintaan saya.

Siapapun yang pernah bekerja dengan surat panas, telah menemukan beberapa layanan web: sistem otentikasi pengguna Paspor adalah salah satu layanan yang termasuk dalam inisiatif Microsoft .NET. sementara itu tersedia secara gratis, sehingga pembuat situs web dapat dengan mudah menerapkan otentikasi pengguna di situs mereka.

Dasar-dasar

Prinsip di balik layanan web sangat sederhana. Dan mereka tidak menambahkan sesuatu yang baru ke dunia komputasi terdistribusi dan Internet:

  • orang yang bertanggung jawab atas layanan web menentukan format permintaan ke layanan web mereka dan tanggapannya
  • komputer mana pun di jaringan membuat permintaan ke layanan web
  • layanan web memproses permintaan, melakukan beberapa tindakan, dan kemudian mengirimkan respons

Tindakan ini dapat berupa, misalnya, menampilkan penawaran saham, menampilkan harga produk tertentu, menyimpan entri kalender janji temu, menerjemahkan teks dari satu bahasa ke bahasa lain, atau memeriksa nomor kartu kredit.

Standar pada intinya

Alasan mengapa kita semua tiba-tiba tertarik pada layanan web adalah karena mereka didasarkan pada standar, protokol terbuka untuk pertukaran dan transmisi data.

Sebelum ini, banyak perusahaan mengembangkan standar dan format kepemilikan mereka sendiri. Dan sekarang, untuk bekerja, kita hanya perlu mengetahui XML sederhana (eXtensible Markup Language), yang ditransmisikan melalui protokol HTTP lama yang sudah dikenal. Ini berarti bahwa informasi tentang cara kerja layanan web tersedia untuk semua orang, dan pengembang web yang akrab dengan teknologi ini berdasarkan profesinya dapat mulai bermain dengan layanan web hari ini.

Perbedaan antara layanan web dan teknologi lain yang ditemukan oleh pengembang (misalnya, DCOM, pipa bernama - pipa bernama, RMI) adalah bahwa layanan web didasarkan pada standar terbuka, mudah dipelajari, dan standar ini didukung secara luas di semua Platform Unix dan Windows.

Simple Object Access Protocol (SOAP) adalah protokol standar yang dikembangkan oleh W3C. Ini mendefinisikan format permintaan ke layanan web.

Pesan antara layanan web dan penggunanya dikemas ke dalam amplop SOAP (amplop SOAP). Pesan berisi permintaan untuk melakukan beberapa tindakan, atau respons - hasil dari melakukan tindakan ini. Amplop dan isinya dikodekan XML dan cukup mudah dimengerti. Berikut adalah tampilan permintaan SOAP sederhana, yang dikirim melalui HTTP ke layanan web:

xmlns:env="http://www.w3.org/2001/06/soap-envelope">


xmlns:m="http://www.somesite.com/postcode">
WC1A8GH
Inggris


Elemen kunci dari amplop SOAP mudah dikenali: ini adalah dua parameter ( ("kode pos") dan ("negara")), yang terkandung dalam elemen yang disebut . Elemen ini adalah nama layanan web tempat kami membuat permintaan. Data lain dalam amplop, seperti pengkodean teks dan versi SOAP, membantu layanan web memproses permintaan dengan benar.

Dan jawabannya akan terlihat seperti ini:

xmlns:env="http://www.w3.org/2001/06/soap-envelope">

env:encodingStyle="http://www.w3.org/2001/06/soap-encoding"
xmlns:m="http://www.somesite.com/postcode">
Ya


Pesan ini bahkan lebih mudah untuk diuraikan. Elemen dalam kueri kami diubah menjadi elemen dalam menanggapi sebuah permintaan. Elemen ini hanya berisi satu elemen , yang nilainya menunjukkan apakah kode pos kita benar atau tidak. Jadi, dengan keajaiban SOAP, kami telah membuat permintaan yang sesuai untuk kami pekerjaan yang bermanfaat. Sebagai tanggapan melalui jaringan, kami menerima jenis tertentu respons XML.

Sekarang tentang UDDI

Bahkan dengan kesederhanaan protokol SOAP, akan ada sedikit penggunaan layanan web jika kita tidak memiliki cara untuk menemukannya. Untungnya, IBM, Microsoft, dan Ariba telah mengambil inisiatif dan menciptakan proyek Universal Description, Discovery and Integration (UDDI), yang mereka harapkan akan menjadi katalog umum dari semua layanan web di Web.

Sistem UDDI memungkinkan perusahaan untuk mengekspos layanan web mereka kepada publik. Direktori ini berfungsi seperti buku telepon semua layanan web. Pendaftaran di direktori UDDI gratis, dan pendiri proyek berharap direktori ini akan berisi deskripsi dari semua-semua-layanan di seluruh Web, sehingga hanya satu direktori UDDI yang cukup untuk menemukan layanan web yang diinginkan.

Bagaimana semuanya bekerja?

Jadi bagaimana saya menemukan layanan web yang tepat?

Mari kita bayangkan bahwa saya adalah seorang pengembang situs web dan klien saya meminta saya untuk menambahkan fitur baru ke situs web: Saya perlu menambahkan validasi kode Pos dalam formulir pendaftaran.

Untuk melakukan pemeriksaan ini, saya perlu membuat basis data semua kode pos dari 30 negara tempat perusahaan kami menjalankan bisnis, dan kemudian memeriksa apakah kode pos cocok dengan kota yang ditentukan dalam pendaftaran saat pendaftaran. Tetapi saya tidak memiliki data ini, dan saya pikir mengumpulkan data seperti itu harus menghabiskan banyak uang.

Alih-alih membayar untuk membeli database, menulis kode saya sendiri, memastikan semua data konsisten dan benar, dan men-debug skrip, saya hanya pergi ke direktori UDDI dan mencari layanan web yang dapat melakukan pekerjaan itu untuk saya. . Sesampainya di http://www.uddi.org/ , saya menjalankan pencarian dan menemukan layanan hebat dari XYZ Corp.

Saya dengan hati-hati meninjau definisi format layanan web (definisinya ditulis dalam WSDL (Web Services Description Language), memastikan bahwa layanan tersebut melakukan apa yang saya butuhkan. Kemudian saya bertanya kepada rekan-rekan saya tentang reputasi XYZ Corp., saya mengetahui bahwa itu solid , dan kemudian saya menghubungi XYZ Corp. untuk harga, jika harga untuk mengakses layanan ini sesuai anggaran saya, saya menulis halaman JSP sederhana untuk situs saya yang memanggil layanan web XYZ Corp, dan hei, checkout instan muncul di situs.kode pos.

Layak untuk meluangkan waktu

Bahkan jika Anda tidak ada hubungannya dengan pemrograman atau teknologi pengembangan situs web, layanan web layak untuk dipelajari lebih lanjut. Bayangkan gambaran bagaimana Anda mendiskusikan situs baru dengan klien, mendiskusikan semua fungsi proyek baru. Semuanya berjalan dengan baik: anggaran memenuhi harapan klien, dia menyukai garis besar rencana situs, dia menyukai contoh antarmuka. Semuanya tampaknya bekerja.

Dan tiba-tiba mereka mengingat beberapa fungsi yang sangat kompleks. Hanya dengan menyebutkannya, wajah pengembang web Anda berubah menjadi hijau, dan dia sendiri mulai tersedak batuk. Ini adalah pengembang yang memberi Anda sinyal bahwa pengembangan fitur ini akan membutuhkan banyak uang dan waktu, atau tidak layak dengan anggaran seperti itu.

Jatuhkan rasa takut! Saya berani bertaruh bahwa sudah ada layanan web di Web yang siap memberi Anda fungsi yang diperlukan, dan biaya penggunaan layanan web ini akan jauh lebih rendah daripada biaya mengembangkan analognya sendiri. Dengan cara ini, Anda menyelamatkan pengembang Anda dari sakit kepala yang tidak perlu, klien Anda dari membuang-buang uang, hanya menghabiskan beberapa menit menjelajahi katalog UDDI.

Pengembangan layanan

Tentu saja, pengembang tidak harus puas hanya dengan layanan web yang dibuat oleh orang lain. Dengan bantuan salah satu toolkit berikut, Anda dapat membuat layanan web Anda sendiri dan menyediakan layanannya kepada penghuni jaringan lainnya.

Pilihan alat untuk mengembangkan layanan web sangat luas. Ini termasuk toolkit dari perusahaan seperti Sun (Open Net), Microsoft (.NET), (e-services), dan IBM (Web Services). Ada juga toolkit open-source kode sumber(kerangka kerja sumber terbuka). Misalnya, Proyek Mono berusaha menggantikan toolkit Microsoft .NET dengan menyediakan sistem kompilasi (kompiler), eksekusi kode (runtime) dan perpustakaan (libraries) untuk menjalankan layanan web yang sama di semua platform, termasuk Unix.

Meskipun berbagai server dan alat pengembangan layanan web, semuanya mendukung protokol SOAP, bahasa XML, dan sistem UDDI yang sama.

minus

Sebelum saya benar-benar meninggalkan karir saya sebagai programmer dan mengabdikan diri untuk menggunakan layanan web, saya harus bertanya pada diri sendiri pertanyaan: "Gambar ini terlalu merah muda. Apa yang salah dengan itu?". Sayangnya, ada harga yang harus dibayar untuk potensi besar layanan web:

  • Menggunakan XML sebagai format transfer data mengakibatkan pesan Anda menjadi sangat besar: tag XML sendiri memakan banyak ruang, dan ini membebani kami dalam membuat, mentransmisikan, dan menafsirkan pesan.
  • Karena kita menggunakan komputer jarak jauh untuk melakukan fungsi tertentu, kami sepenuhnya mengandalkan Internet, yang menciptakan terlalu banyak tautan yang tidak dapat diandalkan dalam rantai antara server web dan layanan web kami.
  • Saat ini, hanya sedikit perusahaan yang membuat layanan web, dan hanya sedikit perusahaan yang menggunakannya. Masih membutuhkan waktu lama untuk men-debug dan meningkatkan sistem layanan web.
  • Sistem perijinan dan pembebanan biaya penggunaan layanan web belum diadopsi oleh pengembang. Karena fakta bahwa layanan web masih terlalu sedikit, sebagian besar perusahaan mencoba untuk membuat kesan yang baik pada pelanggan potensial mereka dengan sengaja menurunkan biaya layanan dan menawarkan kondisi lisensi yang menguntungkan. Masih perlu beberapa waktu sebelum biaya sebenarnya dari layanan layanan web diklarifikasi.

Ketika layanan web menggantikan mereka dan tersedia untuk semua orang, mereka akan menjadi bantuan yang sangat berharga bagi pengembang web. Mereka akan memberi kita akses fleksibel ke kekuatan penuh semua komputer di Web. Saatnya bagi mereka yang membuat situs web untuk tertarik dengan layanan web dan mempelajari lebih lanjut tentang apa yang bisa mereka dapatkan darinya.

Kami telah memilih 10 layanan web teratas, ulasannya diterbitkan di Lifehacker tahun lalu. Alat-alat ini membantu kita mengatur waktu secara efektif dan bekerja dalam tim, mengelola bisnis kita, memperoleh pengetahuan baru dan mengembangkan kemampuan kita, dan menikmati lebih banyak waktu luang dan hiburan. Cobalah mereka di tahun baru dan biarkan hidup Anda menjadi lebih cerah dan lebih nyaman!

Penggabungan ifttt yang cerdik memungkinkan Anda untuk membangun hubungan sebab akibat antara peristiwa di berbagai layanan web sesuai dengan prinsip “Jika ini terjadi dalam satu layanan, maka kemudian terjadi di layanan lain. Lebih dari 20 layanan, jejaring sosial, dan teknologi didukung: Gmail dan email lainnya, RSS, Facebook, Twitter, Evernote, Dropbox, Google Reader, Google Talk, Foursquare, Flickr, Instapaper, ReadItLater, LinkedIn, YouTube, dan lainnya. Selain itu, SMS, panggilan telepon, perubahan harga saham, dan bahkan perubahan cuaca di wilayah tertentu berfungsi sebagai peristiwa. Contoh proses otomatis yang dibuat dengan ifttt: "jika sebuah posting ditandai dengan tanda bintang di Google Reader, maka itu disimpan di Evernote", "jika hujan mulai turun di New York, maka pemberitahuan SMS diterima". Sekarang bayangkan kemungkinan ifttt di masa depan "internet of things", ketika berbeda perangkat elektronik dapat berkomunikasi satu sama lain! ;) Saya pertama kali mengetahui tentang layanan ini dari seorang teman "Lifehacker" Viktor Zakharchenko. Kemudian, ia juga menceritakan pengalamannya dengan ifttt dalam episode solo podcast 42 tentang produktivitas dan manajemen startup.

Bookmate - pribadi Anda perpustakaan elektronik, buku yang dapat Anda baca di komputer dan perangkat seluler(iPhone, iPad, Android, Symbian). Pada saat yang sama, data disinkronkan antara perangkat yang Anda gunakan - setelah mulai membaca di komputer, Anda dapat melanjutkannya di ponsel cerdas atau tablet dari tempat Anda tinggalkan. Dana Bookmate berisi beberapa ribu buku gratis, banyak buku tersedia dengan berlangganan dengan biaya hanya 99 rubel per bulan. Jika Anda tidak menemukan buku yang Anda butuhkan di antara mereka, Anda dapat mengunggahnya sendiri ke perpustakaan. Layanan ini memungkinkan Anda untuk berbagi rekomendasi dengan teman, melihat daftar bacaan mereka dan meminjam buku dari rak buku mereka. Untuk pecinta membaca, saya juga dapat merekomendasikan jejaring sosial yang luar biasa dari pecinta buku Goodreads (di Lifehacker dengan tambahan menarik dari Petr Didenko dan Viktor Zakharchenko), yang saya sendiri telah gunakan selama hampir satu tahun dan yang kami bicarakan di episode ke-40 podcast 42 bersama dengan Petr Didenko dan Viktor Zakharchenko.

Perusahaan modern harus menggunakan teknologi baru untuk meningkatkan daya saing dan merangsang perkembangannya. Banyak tugas akuntansi dan manajemen bisnis dapat dialihdayakan, dan dalam banyak kasus akan lebih mudah bagi pengusaha perorangan atau LLC untuk menggunakannya. layanan awan seperti "Bisnis saya". Layanan ini merupakan pengganti yang menguntungkan untuk outsourcing biasa. Dengan bantuannya, Anda dapat memelihara catatan akuntansi secara semi-otomatis, menghitung pajak, mengirimkan laporan ke lembaga pemerintah secara elektronik melalui Internet, menerima saran ahli, membuat paket dokumen yang diperlukan untuk mendaftarkan wirausahawan perorangan dalam 15 menit (dan segera akan mungkin untuk menyiapkan dokumen dan mendaftarkan LLC). Perhatikan juga layanan serupa dari perusahaan SKB Kontur - akuntan elektronik Elba. Jika Anda tertarik dengan topik teknologi cloud untuk bisnis, maka dengarkan episode ke-54 dari podcast 42 yang menampilkan Petr Didenko dan Nina Gorbunova.

Kategori penting lainnya dari layanan cloud adalah sistem manajemen proyek. Salah satu yang terbaik (dan gratis) adalah TeamLab, pesaing yang layak untuk Basecamp dan sistem populer lainnya. TeamLab hadir dalam tiga solusi - sebagai SaaS untuk digunakan di browser segera setelah mendaftarkan akun; dalam bentuk kode sumber terbuka yang dapat Anda modifikasi sendiri sesuai dengan kebutuhan dan selera Anda, untuk kemudian menerapkan sistem di server Anda; dan dalam bentuk mesin virtual dengan portal TeamLab pra-instal di server Amazon. TeamLab mencakup modul untuk manajemen proyek, kolaborasi, manajemen dokumen, kalender, sistem CRM (sistem manajemen hubungan pelanggan). Manajer Pemasaran TeamLab Nina Gorbunova mempresentasikan sistem ini di episode ke-54 dari podcast ke-42 tentang teknologi awan untuk bisnis.

Layanan Pinterest baru yang trendi memungkinkan Anda membuat papan virtual yang indah dengan gambar berbagai objek, bangunan, tempat, interior, hidangan - semua yang Anda sukai dan ingin tunjukkan kepada orang lain. Objek baru ditambahkan ke papan dengan sangat sederhana - menggunakan bookmarklet untuk browser atau secara manual melalui antarmuka web. Di Pinterest, Anda dapat tetap up to date dengan papan virtual teman Anda, melihat gambar menarik untuk ide, inspirasi, dan hanya suasana hati yang baik. Sebagai contoh, ini adalah papan saya "Tamu dari 42 Podcast" dengan foto semua tamu yang luar biasa, informasi tentang aktivitas mereka dan tautan ke episode podcast dengan partisipasi mereka.

Dengan bantuan layanan pelacakan waktu Yast, Anda dapat melacak waktu yang dihabiskan untuk berbagai proyek dan tugas individu, temukan kelemahan dalam jadwal kerja Anda dan optimalkan. Layanan ini dirancang untuk pengguna individu dan tim kecil. Penghitung waktu saat melakukan tugas dimulai dan berhenti dengan satu klik, dan kemudian Anda mendapatkan laporan terperinci di bagian yang berbeda. Pelacak waktu sangat alat yang berguna manajemen waktu - tidak kalah pentingnya dengan manajer tugas dan kalender. Saya tahu dari pengalaman bahwa efektivitas pribadi dapat ditingkatkan secara drastis dengan melihat secara mendalam jadwal kerja Anda dan meluangkan sedikit waktu untuk mengoptimalkannya.

Moredays adalah penyelenggara online bergaya sebagai perencana kertas dan agak mengingatkan pada Moleskins yang legendaris. Keuntungan utamanya adalah keindahannya yang luar biasa. Para desainer melakukan yang terbaik dan membuat salah satu penyelenggara terindah di dunia. Pada saat yang sama, Moredays memiliki fungsionalitas yang cukup kaya: Anda dapat mengelola tugas, menjadwalkan waktu di kalender, menyimpan catatan, kontak, berbagi halaman terpisah penyelenggara dengan orang lain melalui Twitter, Facebook dan Google+, sinkronisasi dengan Evernote dan Google Apps, dan klien seluler segera hadir.

Jika Anda adalah salah satu pendiri Facebook, maka salah satu proyek Anda akan langsung dikenal. Dan begitulah yang terjadi dengan sistem manajemen proyek Asana oleh Dustin Moskowitz, salah satu pendiri terbesar di dunia jaringan sosial. Namun, Asana patut mendapat perhatian bukan hanya karena kepribadian Dustin - para pengembang telah menciptakan layanan yang sederhana dan nyaman dengan antarmuka yang menyenangkan namun ketat. Asana cocok untuk penggunaan individu dan untuk bekerja dalam tim kecil. Fungsionalitas sistem hampir tidak dapat disebut kaya, tetapi mungkin inilah salah satu keuntungan utamanya bagi mereka yang tidak memerlukan alat manajemen proyek yang kelebihan fungsi. Asana menyinkronkan dengan Kalender Google, Apple iCal, dan Microsoft Outlook, terintegrasi dengan email, memiliki klien untuk ponsel cerdas dan tablet.

BO.LT memberikan kesempatan sederhana namun luar biasa untuk mengedit halaman web apa pun sesuai keinginan Anda. Cukup untuk menentukan alamatnya dan Anda dapat dengan sangat mudah, tanpa pengetahuan tentang HTML dan teknologi pengembangan web lainnya, membuat perubahan apa pun pada teks dan desain salinan halaman web ini, dan kemudian mengirim orang lain tautan singkat ke hasilnya . Teman atau kolega yang diundang untuk melihat juga dapat mengedit halaman web ini. Layanan ini sangat diperlukan ketika Anda perlu mempresentasikan tampilan situs dengan jelas setelah berbagai perbaikan, bertukar pikiran untuk menemukan ide desain baru, atau menunjukkan kepada teman Anda halaman web dengan komentar penjelasan Anda. Anda dapat beralih ke mode pengeditan HTML untuk lebih banyak kebebasan bertindak.

Pembaca yang budiman, layanan web apa yang Anda sukai di tahun 2011? Manakah dari mereka yang dapat Anda rekomendasikan kepada kami untuk ulasan di Lifehacker?

Ide layanan web dikembangkan oleh raksasa industri komputer seperti Sun, Oracle, HP, Microsoft, dan IBM. Ide ini bukanlah hal baru, tetapi merupakan langkah maju yang besar dalam membuat program lebih mudah diakses melalui web. Berdasarkan format komunikasi standar, layanan web secara umum dapat mengubah pemahaman kita tentang bagaimana seharusnya kita membuat situs web.

Apa itu layanan web?

Berkat layanan web, fungsi program apa pun dapat tersedia melalui Internet. Dengan demikian, program seperti PHP, ASP, skrip JSP, JavaBeans, objek COM dan semua alat pemrograman favorit kami lainnya sekarang dapat mengakses beberapa program yang berjalan di server lain (yaitu layanan web) dan menggunakan respons yang diterima darinya di situs web atau aplikasinya.

Katakanlah jika saya perlu melakukan beberapa tugas pemrograman dan saya terlalu sibuk (atau kehabisan akal untuk menemukan kembali roda sendiri), saya dapat menggunakan layanan layanan web yang akan diakses situs saya melalui Internet. Melewati permintaan dengan parameter ke layanan web, saya berharap menerima respons yang akan berisi hasil permintaan saya.

Siapapun yang pernah bekerja dengan surat panas, telah menemukan beberapa layanan web: sistem otentikasi pengguna Paspor adalah salah satu layanan yang termasuk dalam inisiatif Microsoft .NET. sementara itu tersedia secara gratis, sehingga pembuat situs web dapat dengan mudah menerapkan otentikasi pengguna di situs mereka.

Dasar-dasar

Prinsip di balik layanan web sangat sederhana. Dan mereka tidak menambahkan sesuatu yang baru ke dunia komputasi terdistribusi dan Internet:

  • orang yang bertanggung jawab atas layanan web menentukan format permintaan ke layanan web mereka dan tanggapannya
  • komputer mana pun di jaringan membuat permintaan ke layanan web
  • layanan web memproses permintaan, melakukan beberapa tindakan, dan kemudian mengirimkan respons

Tindakan ini dapat berupa, misalnya, menampilkan penawaran saham, menampilkan harga produk tertentu, menyimpan entri kalender janji temu, menerjemahkan teks dari satu bahasa ke bahasa lain, atau memeriksa nomor kartu kredit.

Standar pada intinya

Alasan mengapa kita semua tiba-tiba tertarik pada layanan web adalah karena mereka didasarkan pada standar, protokol terbuka untuk pertukaran dan transmisi data.

Sebelum ini, banyak perusahaan mengembangkan standar dan format kepemilikan mereka sendiri. Dan sekarang, untuk bekerja, kita hanya perlu mengetahui XML sederhana (eXtensible Markup Language), yang ditransmisikan melalui protokol HTTP lama yang sudah dikenal. Ini berarti bahwa informasi tentang cara kerja layanan web tersedia untuk semua orang, dan pengembang web yang akrab dengan teknologi ini berdasarkan profesinya dapat mulai bermain dengan layanan web hari ini.

Perbedaan antara layanan web dan teknologi lain yang ditemukan oleh pengembang (misalnya, DCOM, pipa bernama - pipa bernama, RMI) adalah bahwa layanan web didasarkan pada standar terbuka, mudah dipelajari, dan standar ini didukung secara luas di semua platform Unix dan Windows.

Simple Object Access Protocol (SOAP) adalah protokol standar yang dikembangkan oleh W3C. Ini mendefinisikan format permintaan ke layanan web.

Pesan antara layanan web dan penggunanya dikemas ke dalam amplop SOAP (amplop SOAP). Pesan berisi permintaan untuk melakukan beberapa tindakan, atau respons - hasil dari melakukan tindakan ini. Amplop dan isinya dikodekan XML dan cukup mudah dimengerti. Berikut adalah tampilan permintaan SOAP sederhana, yang dikirim melalui HTTP ke layanan web:

xmlns:env="http://www.w3.org/2001/06/soap-envelope">


xmlns:m="http://www.somesite.com/postcode">
WC1A8GH
Inggris


Elemen kunci dari amplop SOAP mudah dikenali: ini adalah dua parameter ( ("kode pos") dan ("negara")), yang terkandung dalam elemen yang disebut . Elemen ini adalah nama layanan web tempat kami membuat permintaan. Data lain dalam amplop, seperti pengkodean teks dan versi SOAP, membantu layanan web memproses permintaan dengan benar.

Dan jawabannya akan terlihat seperti ini:

xmlns:env="http://www.w3.org/2001/06/soap-envelope">

env:encodingStyle="http://www.w3.org/2001/06/soap-encoding"
xmlns:m="http://www.somesite.com/postcode">
Ya


Pesan ini bahkan lebih mudah untuk diuraikan. Elemen dalam kueri kami diubah menjadi elemen dalam menanggapi sebuah permintaan. Elemen ini hanya berisi satu elemen , yang nilainya menunjukkan apakah kode pos kita benar atau tidak. Jadi dengan keajaiban SOAP, kami telah membuat kueri yang bermanfaat bagi kami. Sebagai tanggapan, melalui jaringan, kami menerima jenis respons tertentu dalam XML.

Sekarang tentang UDDI

Bahkan dengan kesederhanaan protokol SOAP, akan ada sedikit penggunaan layanan web jika kita tidak memiliki cara untuk menemukannya. Untungnya, IBM, Microsoft, dan Ariba telah mengambil inisiatif dan menciptakan proyek Universal Description, Discovery and Integration (UDDI), yang mereka harapkan akan menjadi katalog umum dari semua layanan web di Web.

Sistem UDDI memungkinkan perusahaan untuk mengekspos layanan web mereka kepada publik. Direktori ini bertindak sebagai buku telepon untuk semua layanan web. Pendaftaran di direktori UDDI gratis, dan pendiri proyek berharap direktori ini akan berisi deskripsi dari semua-semua-layanan di seluruh Web, sehingga hanya satu direktori UDDI yang cukup untuk menemukan layanan web yang diinginkan.

Bagaimana semuanya bekerja?

Jadi bagaimana saya menemukan layanan web yang tepat?

Mari kita bayangkan bahwa saya seorang pengembang situs web dan klien saya meminta saya untuk menambahkan fitur baru ke situs: Saya perlu menambahkan validasi kode pos dalam formulir pendaftaran.

Untuk melakukan pemeriksaan ini, saya perlu membuat basis data semua kode pos dari 30 negara tempat perusahaan kami menjalankan bisnis, dan kemudian memeriksa apakah kode pos cocok dengan kota yang ditentukan dalam pendaftaran saat pendaftaran. Tetapi saya tidak memiliki data ini, dan saya pikir mengumpulkan data seperti itu harus menghabiskan banyak uang.

Alih-alih membayar untuk membeli database, menulis kode saya sendiri, memastikan semua data konsisten dan benar, dan men-debug skrip, saya hanya pergi ke direktori UDDI dan mencari layanan web yang dapat melakukan pekerjaan itu untuk saya. . Ketika saya pergi ke www.uddi.org, saya menjalankan pencarian dan menemukan layanan hebat dari XYZ Corp.

Saya dengan hati-hati meninjau definisi format layanan web (definisinya ditulis dalam WSDL (Web Services Description Language), memastikan bahwa layanan tersebut melakukan apa yang saya butuhkan. Kemudian saya bertanya kepada rekan-rekan saya tentang reputasi XYZ Corp., saya mengetahui bahwa itu solid , dan kemudian saya menghubungi XYZ Corp. untuk harga, jika harga untuk mengakses layanan ini sesuai anggaran saya, saya menulis halaman JSP sederhana untuk situs saya yang memanggil layanan web XYZ Corp, dan hei, checkout instan muncul di situs.kode pos.

Layak untuk meluangkan waktu

Bahkan jika Anda tidak ada hubungannya dengan pemrograman atau teknologi pengembangan situs web, layanan web layak untuk dipelajari lebih lanjut. Bayangkan gambaran bagaimana Anda mendiskusikan situs baru dengan klien, mendiskusikan semua fungsi proyek baru. Semuanya berjalan dengan baik: anggaran memenuhi harapan klien, dia menyukai garis besar rencana situs, dia menyukai contoh antarmuka. Semuanya tampaknya bekerja.

Dan tiba-tiba mereka mengingat beberapa fungsi yang sangat kompleks. Hanya dengan menyebutkannya, wajah pengembang web Anda berubah menjadi hijau, dan dia sendiri mulai tersedak batuk. Ini adalah pengembang yang memberi Anda sinyal bahwa pengembangan fitur ini akan membutuhkan banyak uang dan waktu, atau tidak layak dengan anggaran seperti itu.

Jatuhkan rasa takut! Saya berani bertaruh bahwa sudah ada layanan web di Web yang siap memberi Anda fungsi yang diperlukan, dan biaya penggunaan layanan web ini akan jauh lebih rendah daripada biaya mengembangkan analognya sendiri. Dengan cara ini, Anda menyelamatkan pengembang Anda dari sakit kepala yang tidak perlu, klien Anda dari membuang-buang uang, hanya menghabiskan beberapa menit menjelajahi katalog UDDI.

Pengembangan layanan

Tentu saja, pengembang tidak harus puas hanya dengan layanan web yang dibuat oleh orang lain. Dengan bantuan salah satu toolkit berikut, Anda dapat membuat layanan web Anda sendiri dan menyediakan layanannya kepada penghuni jaringan lainnya.

Pilihan alat untuk mengembangkan layanan web sangat luas. Ini termasuk toolkit dari perusahaan seperti Sun (Open Net), Microsoft (.NET), (e-services), dan IBM (Web Services). Ada juga kerangka kerja sumber terbuka. Misalnya, Proyek Mono berusaha menggantikan toolkit Microsoft .NET dengan menyediakan sistem kompilasi (kompiler), eksekusi kode (runtime) dan perpustakaan (libraries) untuk menjalankan layanan web yang sama di semua platform, termasuk Unix.

Meskipun berbagai server dan alat pengembangan layanan web, semuanya mendukung protokol SOAP, bahasa XML, dan sistem UDDI yang sama.

minus

Sebelum saya benar-benar meninggalkan karir saya sebagai programmer dan mengabdikan diri untuk menggunakan layanan web, saya harus bertanya pada diri sendiri pertanyaan: "Gambar ini terlalu merah muda. Apa yang salah dengan itu?". Sayangnya, ada harga yang harus dibayar untuk potensi besar layanan web:

  • Menggunakan XML sebagai format transfer data mengakibatkan pesan Anda menjadi sangat besar: tag XML sendiri memakan banyak ruang, dan ini membebani kami dalam membuat, mentransmisikan, dan menafsirkan pesan.
  • Karena kami menggunakan komputer jarak jauh untuk melakukan fungsi tertentu, kami sepenuhnya mengandalkan Internet, yang menciptakan terlalu banyak tautan yang tidak dapat diandalkan dalam rantai antara server web dan layanan web kami.
  • Saat ini, hanya sedikit perusahaan yang membuat layanan web, dan hanya sedikit perusahaan yang menggunakannya. Masih membutuhkan waktu lama untuk men-debug dan meningkatkan sistem layanan web.
  • Sistem perijinan dan pembebanan biaya penggunaan layanan web belum diadopsi oleh pengembang. Karena fakta bahwa layanan web masih terlalu sedikit, sebagian besar perusahaan mencoba untuk membuat kesan yang baik pada pelanggan potensial mereka dengan sengaja menurunkan biaya layanan dan menawarkan kondisi lisensi yang menguntungkan. Masih perlu beberapa waktu sebelum biaya sebenarnya dari layanan layanan web diklarifikasi.

Ketika layanan web menggantikan mereka dan tersedia untuk semua orang, mereka akan menjadi bantuan yang sangat berharga bagi pengembang web. Mereka akan memberi kita akses fleksibel ke kekuatan penuh semua komputer di Web. Saatnya bagi mereka yang membuat situs web untuk tertarik dengan layanan web dan mempelajari lebih lanjut tentang apa yang bisa mereka dapatkan darinya.