Apa itu "layanan web" dalam bahasa Inggris?

186

Saya telah membaca tentang "layanan web" di sini di SO, di Wikipedia, Google, dll, dan saya tidak begitu mengerti apa itu. Apa definisi / deskripsi Bahasa Inggris yang sederhana?

Jika saya membuat situs web sederhana menggunakan PHP yang hanya, katakanlah, mencetak bilangan bulat acak ke halaman ... apakah ini "layanan web"? Jika tidak, mengapa tidak?

MrDatabase
sumber

Jawaban:

286

Definisi sederhana: Layanan web adalah fungsi yang dapat diakses oleh program lain melalui web (HTTP).

Misalnya, ketika Anda membuat situs web dalam PHP yang menghasilkan HTML, targetnya adalah browser dan dengan ekstensi manusia membaca halaman di browser. Layanan web tidak ditargetkan pada manusia tetapi pada program lain.

Jadi situs PHP Anda yang menghasilkan bilangan bulat acak bisa menjadi layanan web jika menghasilkan bilangan bulat dalam format yang dapat dikonsumsi oleh program lain. Mungkin dalam format XML atau format lain, selama program lain dapat memahami hasilnya.

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

Vincent Ramdhanie
sumber
2
Penjelasan ini bagus, tetapi apa yang merusak kemampuan untuk mengkonsumsi bilangan bulat acak oleh program lain dari HTML? Ada banyak perpustakaan untuk membaca HTML dan ini sama dengan membaca XML untuk saya, dan hampir sama dengan membaca JSON. Saya tahu posting ini sangat lama, meskipun komentar tolong, jika memungkinkan.
Pavlo
7
Ini masalah niat daripada kemampuan. Tujuan dari layanan web adalah untuk dikonsumsi oleh aplikasi lain. Niat html akan diberikan untuk pengguna oleh browser.
Vincent Ramdhanie
untuk siapa pun yang merasa seperti ini terdengar sangat mirip dengan API - lihat artikel hebat ini untuk perbedaan antara layanan web dan api
Sami Birnbaum
60

Penjelasan sederhana, non-teknis: Layanan web memungkinkan PROGRAM untuk berbicara ke halaman web, alih-alih menggunakan browser Anda untuk membuka halaman web.

Contoh: Saya bisa pergi ke maps.google.com, dan mengetikkan alamat rumah saya, dan melihat peta tempat saya tinggal di browser saya.

Tetapi bagaimana jika Anda sedang menulis program komputer di mana Anda ingin mengambil alamat dan menampilkan peta yang cantik, seperti halnya Google maps?

Nah, Anda bisa menulis program pemetaan yang sama sekali baru dari awal, ATAU Anda bisa memanggil layanan web yang disediakan oleh Google maps, mengirimkan alamatnya, dan itu akan mengembalikan peta grafis lokasi, yang dapat Anda tampilkan di program Anda.

Ada banyak hal lain, karena beberapa posting lain masuk, tetapi hasilnya adalah memungkinkan aplikasi Anda untuk mengambil informasi DARI, atau mengirimkan informasi KE sumber daya tertentu. Beberapa contoh lain:

  1. Anda dapat menggunakan layanan web untuk mengambil informasi tentang buku di Amazon.com
  2. Anda dapat menggunakan layanan web serupa untuk mengirimkan pesanan ke Amazon.com
  3. Anda dapat MENCIPTAKAN layanan web untuk memungkinkan aplikasi luar mencari tahu tentang informasi produk dalam perusahaan Anda
  4. Anda dapat membuat layanan web untuk memungkinkan aplikasi luar mengirimkan pesanan ke perusahaan Anda.
BradC
sumber
34

Ya itu adalah layanan web sederhana.

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

Kelemahan utama untuk mencetaknya ke halaman adalah layanan Anda akan mengembalikan HTML. Format data yang disukai adalah JSON dan XML, karena sebagian besar kerangka kerja klien (dan kerangka kerja server) dirancang dengan menggunakan JSON dan XML.

Jadi, jika Anda memodifikasi layanan Anda untuk kembali:

<RANDOM>some random number</RANDOM>

daripada:

<HEAD>...</HEAD>  
<BODY>some random number</BODY>

maka itu akan lebih bermanfaat bagi sebagian besar klien

David Arno
sumber
Telah memperbarui jawaban saya untuk mencerminkan hal itu. Punya masalah dengan SO tidak menampilkan tab XML / HTML :)
David Arno
Terima kasih. Persis apa yang saya pikirkan tentang itu. XML sangat mirip dengan HTML, jadi halaman HTML yang kita bicarakan disediakan oleh layanan web.
Pavlo
21

Dalam istilah yang disederhanakan, layanan web adalah sesuatu yang menyediakan data sebagai layanan melalui protokol http. Memang bukan itu masalahnya ... tapi sudah dekat.

Layanan Web Standar menggunakan protokol SOAP yang mendefinisikan komunikasi dan struktur pesan, dan XML adalah format data.

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

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

Edit

Mengubah kata-kata yang merujuk pada SOAP, karena tidak selalu SOAP seperti yang saya sebutkan, tetapi ingin membuatnya lebih jelas. Kuncinya adalah menyediakan data sebagai layanan, bukan elemen UI.

Penjual Mitchel
sumber
1
Tidak harus SABUN - jika Anda berbicara tentang layanan web (dalam huruf kecil) maka REST semakin umum.
John Topley
17

Layanan web berbeda dari situs web dalam hal layanan web memberikan informasi yang dapat dikonsumsi oleh perangkat lunak daripada manusia. Akibatnya, kita biasanya berbicara tentang layanan JSON , XML, atau SOAP yang terbuka.

Layanan web adalah komponen utama dalam "mashup". Mashup adalah ketika informasi dari banyak situs web secara otomatis dikumpulkan ke dalam layanan baru dan bermanfaat. Misalnya, ada situs yang menggabungkan Google Maps dengan informasi tentang laporan polisi untuk memberi Anda gambaran kejahatan di wilayah Anda. Jenis lain dari mashup adalah mengambil data stok nyata yang disediakan oleh situs lain dan menggabungkannya dengan aplikasi perdagangan palsu untuk membuat "permainan" 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 pergantian web modern.

Semoga ini membantu!

64BitBob
sumber
15

Penjelasan bahasa Inggris polos terbaik berasal dari menggunakan 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 dengan definisi itu, karena hasilnya dapat dikonsumsi oleh program lain. Namun dalam kenyataannya, pengikisan layar HTML bukanlah cara yang dapat diandalkan atau dipelihara untuk menghasilkan layanan web.

HTTP 410
sumber
13

Untuk sebagian besar situs, Anda memiliki halaman HTML yang Anda kunjungi ketika Anda menggunakan browser Anda. Ini adalah halaman yang dapat dibaca manusia (pernah ditampilkan di browser Anda) tempat banyak data mungkin dijejalkan bersama, karena itu masuk akal bagi manusia.

Sekarang bayangkan orang lain ingin menggunakan beberapa data itu. Mereka dapat mengunduh halaman Anda dan mulai memfilter semua "noise" untuk mendapatkan data yang mereka inginkan, tetapi sebagian besar situs web tidak dibangun dengan cara di mana data 100% pasti ditempatkan di tempat yang sama untuk semua elemen, jadi sebagai tambahan menjadi rumit juga menjadi tidak dapat diandalkan.

Masukkan layanan web.

Layanan web adalah sesuatu yang dipilih situs web untuk ditawarkan kepada mereka yang ingin membaca, memperbarui, dan / atau menghapus data dari situs web Anda. Anda mungkin menyebutnya "pintu belakang" ke data Anda. Alih-alih menyajikan data sebagai bagian dari halaman web itu disediakan dalam cara yang telah ditentukan di mana beberapa yang lebih populer adalah XML dan JSON. Ada beberapa cara untuk berkomunikasi dengan layanan web, beberapa menggunakan SOAP, yang lain memiliki layanan web yang tenang, dll.

Apa yang umum untuk semua layanan web adalah bahwa mereka adalah equivelant yang dapat dibaca mesin terhadap laman web yang ditawarkan situs itu. Ini berarti bahwa orang lain yang ingin menggunakan data dapat mengirim permintaan untuk mendapatkan kembali data tertentu yang mudah diurai dan digunakan. Beberapa situs mungkin mengharuskan Anda untuk memberikan nama pengguna / kata sandi dalam permintaan, untuk data sensitif, sementara situs lain mengizinkan siapa saja untuk mengekstrak data apa pun yang mereka butuhkan.

Christian P.
sumber
12

Layanan web 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 pada berbagai platform dapat menggunakan layanan web 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 (XML, SOAP, HTTP).

Semua Layanan Web standar berfungsi menggunakan komponen berikut:

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

Cara kerjanya agak seperti ini:

  • Program klien menggabungkan informasi pendaftaran akun ke dalam pesan SOAP.
  • Pesan SOAP ini dikirim ke Layanan Web sebagai badan permintaan HTTP POST.
  • Layanan Web membongkar permintaan SOAP dan mengubahnya menjadi perintah yang dapat dimengerti aplikasi.
  • Aplikasi memproses informasi sebagaimana diperlukan dan merespons dengan nomor akun unik baru untuk pelanggan itu.
  • Selanjutnya, Layanan Web mengemas respons ke dalam pesan SOAP lain, yang dikirim kembali ke program klien sebagai respons terhadap permintaan HTTP-nya.
  • Program klien membongkar pesan SOAP untuk mendapatkan hasil dari proses pendaftaran akun.
pelopor69
sumber
1
" Semua Layanan Web standar berfungsi menggunakan komponen berikut: " ... masalah dengan jawaban ini adalah bahwa ia menyarankan bahwa layanan web melakukan atau harus beroperasi dalam mekanisme SOAP / WSDL. Ini tidak akurat. Representational State Transfer (REST) ​​adalah paradigma lain yang sangat populer untuk mengimplementasikan layanan web. Beberapa situs web utama telah mencabut layanan SOAP mereka demi layanan web REST.
scottb
@scottb Saya sangat setuju. Terima kasih atas pembaruannya. Juga, dalam pembelaan saya, pengetahuan saya tentang layanan Web sangat terbatas saat itu!
vanguard69
7

Simple way to explain web service is ::

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

Keuntungan dari layanan web adalah, katakanlah Anda mengembangkan satu bagian kode dalam .net dan Anda ingin menggunakan JAVA untuk menggunakan kode ini. Anda dapat berinteraksi langsung dengan lapisan yang diabstraksi dan tidak mengetahui teknologi apa yang digunakan untuk mengembangkan kode.


Gambar

Setan
sumber
7

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

Fitur layanan Web: -

  1. Menggunakan layanan web dua atau lebih sistem bertukar data melalui jaringan. Data dipertukarkan baik menggunakan XML atau JSON.
  2. Setiap layanan web memiliki dua bagian Server akhir di mana layanan ini digunakan dan bagian klien di mana layanan diakses oleh kliennya. Layanan web apa pun dapat memiliki banyak klien. Ketika portal perjalanan menjual tiket pesawat. Portal adalah klien dan Maskapai Penerbangan adalah server karena menjual layanannya.
  3. Layanan web bisa sinkron atau asinkron juga. Aplikasi web dapat berinteraksi dengan banyak layanan web tetapi layanan web ini secara longgar digabungkan dengan aplikasi web klien mereka. Itu berarti setiap perubahan dalam aplikasi induk memiliki sedikit atau tidak berpengaruh pada layanan web atau sebaliknya.
  4. Layanan web dapat membawa dokumen lampiran juga seperti PDF, Word dll dengan payload XML-nya. Java menyediakan API terpisah untuk jenis layanan web ini.
  5. Layanan web selalu menyembunyikan kompleksitas internal layanan kepada kliennya. Sebagai contoh, sebuah pesawat yang menjual tiket melalui portal pihak ketiga hanya mengumpulkan info pengguna akhir melalui layanan web dan sebagai imbalannya menyediakan tiket. Portal yang menjual tiket tidak perlu repot dengan kompleksitas internal dari sistem reservasi tiket maskapai.
  6. Sebuah layanan web bisa menjadi api dan lupa mengetik atau dapat mengembalikan sesuatu. Misalkan, aplikasi web hanya ingin mengirim beberapa info ke aplikasi pihak ketiga. Pengirim tidak perlu pengakuan dari penerima. Dalam skenario jenis ini kita membutuhkan api dan melupakan jenis layanan web.
siddhartha chakraborty
sumber
5

Layanan web, seperti yang digunakan oleh pengembang perangkat lunak, umumnya mengacu pada operasi yang dilakukan pada server jarak jauh dan dipanggil menggunakan spesifikasi XML / SOAP. Seperti semua definisi, ada nuansa untuk itu, tetapi itulah penggunaan istilah yang paling umum.

jezell
sumber
1
Maaf Jezelll, harus membuang downvote. Ini bukan apa yang saya anggap 'bahasa Inggris biasa' :( Saya tidak punya masalah dengan maksud definisi Anda, tetapi menggunakan kata-kata seperti 'operasi', 'server jauh', 'dipanggil' dan 'spesifikasi' membuatnya sulit untuk pemula untuk memahami. Lihat jawaban Mitchel Penjual sebagai contoh 'bahasa Inggris polos'.
Dhaust
5

Sistem operasi menyediakan GUI (dan CLI) yang dapat berinteraksi dengan Anda. Ini juga menyediakan API yang dapat Anda berinteraksi secara terprogram.

Demikian pula, situs web menyediakan halaman HTML yang dapat berinteraksi dengan Anda dan mungkin juga menyediakan API yang menawarkan informasi dan operasi yang sama secara terprogram. Atau layanan tersebut mungkin hanya tersedia melalui API tanpa antarmuka pengguna terkait.

John Topley
sumber
4

Baik,

Sebagai @Vincent Ramdhanie mengatakan bahwa layanan web tidak dimaksudkan untuk dilihat / dikonsumsi oleh pengguna akhir tetapi program lain. Jadi secara logis logika dalam program Anda adalah:

Dalam hal bertindak sebagai program normal

user on website -> HTML/JS/JQuery etc -> give me a random number ->ur program

Sekarang

ur program -> generate random number -> generate HTML and encapsulate o/p -> go back to user

tetapi dalam hal layanan web, arus berubah sedikit:

user -> my application -> XML/JSON/some other format -> give me a random number ->ur program Sekarang

ur program -> generate random number -> generate XML/JSON/some other format -> my application -> generate HTML and encapsulate o/p -> go back to user

Semoga ini membantu :)

pengguna1079065
sumber
3

Definisi sederhana adalah permintaan HTTP yang bertindak seperti pemanggilan metode normal; yaitu, ia menerima parameter dan mengembalikan hasil terstruktur, biasanya XML, yang dapat dideeralisasi menjadi objek.

marc
sumber
3

Layanan web hampir seperti halaman web biasa. Perbedaannya adalah bahwa mereka diformat untuk membuatnya sangat mudah bagi suatu program untuk menarik data dari halaman, ke titik mungkin tidak menggunakan HTML. Mereka umumnya juga lebih dapat diandalkan untuk konsistensi format, dapat menggunakan proses formal yang berbeda untuk menentukan konten seperti sabun atau xml mentah, dan sering ada juga dokumen deskriptor yang secara formal mendefinisikan struktur untuk data.

Joel Coehoorn
sumber
3

Cara mengirim pesan untuk menjalankan operasi di komputer lain. Perbedaan antara layanan web dan metode sebelumnya adalah apa yang dikirim melalui kabel distandarisasi pada tingkat yang lebih tinggi.

Cara lama: jelaskan endian, penyandian, nomor port, dll. Layanan Web: URL, XML

Archimedes Trajano
sumber
3

Layanan Web seperti media komunikasi antara dua program yang tidak terkait. Program-program menggunakan protokol yang ditentukan (Biasanya Simple Object Access Protocol (SOAP) ) sebagai media untuk memahami apa PERMINTAAN / TANGGAPAN mereka memproses / mengeksekusi pada akhir masing-masing.

tolulope david
sumber
2

Layanan web menentukan kontrak tindakan yang akan dilakukan server untuk Anda. Format dan protokol tidak terlalu penting, tetapi Anda harus memiliki beberapa definisi tentang bagaimana komunikasi terjadi.

Dalam contoh Anda, itu tergantung, jika itu digunakan di aplikasi lain yang membaca nomor itu, ya itu layanan, jika tidak, itu hanya halaman web dengan nomor.

Nick
sumber
1

Dengan kata sederhana, layanan Web dapat berupa program sederhana mana saja: tambahkan dua angka yang harus dipublikasikan melalui UDDI dan dapat dikonsumsi oleh program lain. SDL akan memiliki titik akhir untuk menemukan layanan web dan juga detail pengikatan dan port.

Prabhu
sumber
0

'Layanan Web' terdiri dari dua kata, 'Web' dan 'Layanan'.
Apa itu 'Web'? 'Web' berarti 'World Wide Web'.
'Layanan' untuk apa? Bukan untuk Manusia, jika demikian, ini adalah 'Halaman Web', seperti teks, gambar, video dll.
Ini untuk Program untuk berkomunikasi melalui Internet menggunakan teknologi yang sama seperti 'Web' yang digunakan, seperti TCP, HTTP dll.
'Layanan' juga berarti menyediakan beberapa fungsi, seperti 'Lapisan Layanan' dalam CRUD. Ada dua jenis:
1. SOAP (Simple Object Access Protocol)
2. SISA (Representasi status transfer)

songxin
sumber
0

Tanpa mengurangi definisi lain, saya akan mengatakan bahwa layanan web adalah sistem perangkat lunak yang memungkinkan interaksi mesin-ke-mesin / aplikasi-ke-aplikasi antar-operasi melalui jaringan. Definisi umum ini juga akan membantu mempertimbangkan arsitektur REST sebagai layanan web karena mereka memberikan fungsionalitas yang serupa walaupun menjadi gaya arsitektur tidak seperti SOAP yang merupakan protokol yang sepenuhnya ditentukan.

joedavid
sumber