Açık İngilizce'de “web hizmeti” nedir?


186

Burada SO, Wikipedia, Google vb. Web servisleri hakkında okuyordum ve ne olduklarını tam olarak anlayamıyorum. Sade İngilizce tanımı / açıklaması nedir?

PHP kullanarak basit bir web sitesi yaparsam, sadece sayfaya rastgele bir tam sayı basarsam ... bu bir "web servisi" midir? Değilse, neden olmasın?

Yanıtlar:


286

Basit bir tanım: Web hizmeti, web üzerindeki diğer programlar tarafından erişilebilen bir işlevdir (HTTP).

Örneğin, PHP'de HTML çıktısı veren bir web sitesi oluşturduğunuzda, hedefi tarayıcıdır ve uzantıyı tarayıcıda okuyan insandır. Bir web hizmeti insanlara değil, diğer programlara yöneliktir.

Dolayısıyla, rasgele bir tam sayı üreten PHP siteniz, tamsayıyı başka bir program tarafından tüketilebilecek bir formatta çıkarırsa bir web servisi olabilir. Diğer programlar çıktıyı anlayabildiği sürece XML biçiminde veya başka bir biçimde olabilir.

Tam tanım açıkça daha karmaşıktır, ancak siz sade bir İngilizce istediniz.


2
Bu açıklama iyidir, ancak HTML'den başka bir program tarafından rastgele tamsayıyı tüketme yeteneğini bozan nedir? HTML okumak için çok sayıda kitaplık var ve bu benim için XML okumakla aynı ve JSON okumakla neredeyse aynı. Mümkünse, bu yazı çok eski, ama yorum lütfen biliyorum.
Pavlo

7
Bu yetenek yerine bir niyet meselesi. Web servisinin amacı diğer uygulamalar tarafından tüketilmektir. Html'nin amacı tarayıcı tarafından kullanıcı için oluşturulmalıdır.
Vincent Ramdhanie

Bunun gibi hisseden herkes için bir API'ye çok benziyor - bir web hizmeti ve bir api arasındaki farklar
Sami Birnbaum

60

Basitleştirilmiş, teknik olmayan açıklama: Bir web hizmeti, bir web sayfasını açmak için tarayıcınızı kullanmak yerine bir PROGRAM'ın bir web sayfasıyla konuşmasına olanak tanır.

Örnek: maps.google.com adresine gidip ev adresimi yazabilir ve tarayıcımda nerede yaşadığımın bir haritasını görebilirim.

Peki ya Google haritaları gibi bir adres almak ve güzel bir harita göstermek istediğiniz bir bilgisayar programı yazıyorsanız?

Tamamen yeni bir harita programı yazabilirsiniz, VEYA Google haritalarının sağladığı bir web hizmetini arayabilir, adresi gönderebilirsiniz ve programınızda görüntüleyebileceğiniz konumun grafik bir haritasını döndürür.

Diğer yayınların bazıları girildiği için çok daha fazlası var, ancak sonuç, uygulamanızın FROM'dan bilgi almasına veya bazı kaynaklara bilgi göndermesine izin vermesidir. Diğer bazı örnekler:

  1. Amazon.com'daki kitaplar hakkında bilgi almak için bir web hizmeti kullanabilirsiniz.
  2. Amazon.com'a sipariş göndermek için benzer bir web hizmetini kullanabilirsiniz
  3. Dış uygulamaların şirketinizdeki ürün bilgilerini öğrenmesine izin vermek için bir web hizmeti OLUŞTURABİLİRSİNİZ
  4. dış uygulamaların şirketinize sipariş göndermesine izin vermek için bir web hizmeti oluşturabilirsiniz.

34

Evet, bu basit bir web hizmetidir.

Web hizmetleri, istemcinin verilere uzaktan erişmesine / vermesine izin veren bir istek / yanıt mekanizmasından başka bir şey değildir. Web hizmetleri (SOAP, SOA vb.) İçin resmi standartlar vardır, ancak basit sayfanız da bir hizmettir.

Bir sayfaya yazdırmanın ana dezavantajı, hizmetinizin HTML döndürmesi. Tercih edilen veri formatları JSON ve XML'dir, çünkü çoğu istemci çerçevesi (ve sunucu çerçeveleri) JSON ve XML kullanılarak tasarlanmıştır.

Hizmetinizi iade etmek için değiştirdiyseniz:

<RANDOM>some random number</RANDOM>

ziyade:

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

o zaman çoğu müşteri için daha yararlı olur


Cevabımı yansıtacak şekilde güncelledim. SO, XML / HTML sekmeleri görüntülememeyle ilgili sorunlar yaşadı :)
David Arno

Teşekkürler. Tam olarak bunun hakkında ne düşünüyorum. XML HTML'ye çok benzer, bu yüzden bahsettiğimiz HTML sayfası web hizmeti tarafından sağlanır.
Pavlo

21

Aşırı basitleştirilmiş terimlerle bir web hizmeti, http protokolü üzerinden bir hizmet olarak veri sağlayan bir şeydir. Alway durumda değil .... verilen ama yakın.

Standart Web Servisleri, mesajların iletişimini ve yapısını tanımlayan SOAP protokolünü kullanır ve XML veri formatıdır.

Web hizmetleri, farklı teknolojiler kullanılarak oluşturulan uygulamaların birbirleriyle sorunsuz iletişim kurmasını sağlamak için tasarlanmıştır.

Web hizmetlerine örnek olarak, sitenizde kullanabileceğiniz hava durumu bilgileri sağlayan Weather.com veya UPS, gönderi teklifleri veya paketlerin izlenmesi için bir yöntem sağlayan UPS verilebilir.

Düzenle

Söylediğim gibi her zaman SOAP olmadığı için SOAP ile ilgili ifadeler değişti, ancak daha açık hale getirmek istedim. Anahtar, bir UI öğesi değil, verileri hizmet olarak sağlamaktır.


1
SOAP olmak zorunda değil - web hizmetleri hakkında konuşuyorsanız (küçük harfle) o zaman REST giderek yaygınlaşmaktadır.
John Topley

17

Bir web hizmeti, bir web hizmetinin insanlar yerine yazılım tarafından tüketilebilen bilgiler sağlaması bakımından bir web sitesinden farklıdır. Sonuç olarak, genellikle maruz kalan JSON hakkında konuşuyoruz , XML veya SOAP hizmetlerinden .

Web servisleri "mashup" larda anahtar bir bileşendir. Karışmalar, birçok web sitesindeki bilgilerin otomatik olarak yeni ve kullanışlı bir hizmette toplanmasıdır. Örneğin, bölgenizdeki suçun grafiksel bir temsilini sağlamak için Google Haritalar'ı polis raporlarıyla ilgili bilgilerle birleştiren siteler vardır. Başka bir tür mashup başka bir site tarafından sağlanan gerçek hisse senedi verilerini almak ve bir borsa "oyun" oluşturmak için sahte bir ticaret uygulaması ile birleştirmek olacaktır.

Web hizmetleri, haber (RSS'ye bakın), bir siteye eklenen en yeni öğeler, yeni ürünler, podcast'ler ve modern web'i dönüştüren diğer harika özellikler hakkında bilgi sağlamak için de kullanılır.

Bu yardımcı olur umarım!


15

En iyi sade İngilizce açıklama bir benzetme kullanmaktan gelir:

  • Web sayfaları, insanların birbirleriyle iletişim kurmalarına ve işbirliği yapmalarına olanak tanır.
  • Web hizmetleri, programların birbirleriyle iletişim kurmasına ve işbirliği yapmasına olanak tanır.

Çıktı başka bir program tarafından tüketilebileceğinden, PHP örneğiniz bu tanım gereği bir web hizmetidir. Ancak gerçekte, HTML ekran kazıma web hizmetleri üretmenin güvenilir veya sürdürülebilir bir yolu değildir.


13

Çoğu site için tarayıcınızı kullanırken ziyaret ettiğiniz HTML sayfalarınız vardır. Bunlar, insanlar için mantıklı olduğu için çok sayıda verinin bir araya getirilebileceği, insan tarafından okunabilen sayfalardır (bir kez tarayıcınızda oluşturulur).

Şimdi başka birinin bu verilerin bir kısmını kullanmak istediğini düşünün. Sayfanızı indirebilir ve istedikleri verileri elde etmek için tüm "gürültüyü" filtrelemeye başlayabilirler, ancak çoğu web sitesi, verilerin tüm öğeler için aynı noktaya% 100 kesin olacağı şekilde inşa edilmemiştir. hantal olmak da güvenilmez olur.

Web servislerine girin.

Web hizmeti, bir web sitesinin, web sitenizdeki verileri okumak, güncellemek ve / veya silmek isteyen kişilere sunmayı seçtiği bir şeydir. Buna verileriniz için "arka kapı" diyebilirsiniz. Verileri bir web sayfasının parçası olarak sunmak yerine, daha popüler olanlardan bazılarının XML ve JSON olduğu önceden belirlenmiş bir şekilde sağlanır. Bir web servisiyle iletişim kurmanın birkaç yolu vardır, bazıları SOAP kullanır, diğerleri REST'ful web servislerine sahiptir.

Tüm web hizmetleri için ortak olan şey, sitenin başka türlü sunduğu web sayfalarına makine tarafından okunabilen eşdeğer olmasıdır. Bu, verileri kullanmak isteyenlerin, ayrıştırılması ve kullanımı kolay belirli verileri geri almak için bir istek gönderebileceği anlamına gelir. Bazı siteler, hassas veriler için istekte bir kullanıcı adı / parola girmenizi gerektirebilir, diğer siteler ise herkesin ihtiyaç duydukları her türlü veriyi çıkarmasına izin verebilir.


12

Web hizmeti, uygulamalar veya sistemler arasında veri alışverişi için kullanılan açık protokollerin ve standartların bir koleksiyonudur. Çeşitli programlama dillerinde yazılan ve çeşitli platformlarda çalışan yazılım uygulamaları, İnternet gibi bilgisayar ağları üzerinden tek bir bilgisayardaki süreçler arası iletişime benzer şekilde veri alışverişi yapmak için web hizmetlerini kullanabilir. Bu birlikte çalışabilirlik (ör. Java ve Python veya Windows ve Linux uygulamaları arasında) açık standartların (XML, SOAP, HTTP) kullanılmasından kaynaklanmaktadır.

Tüm standart Web Hizmetleri aşağıdaki bileşenleri kullanarak çalışır:

  • SOAP (Basit Nesne Erişim Protokolü)
  • UDDI (Evrensel Tanımlama, Keşif ve Entegrasyon)
  • WSDL (Web Hizmetleri Açıklama Dili)

Bunun gibi çalışır:

  • İstemci programı hesap kayıt bilgilerini bir SOAP mesajında ​​toplar.
  • Bu SOAP iletisi bir HTTP POST isteğinin gövdesi olarak Web Hizmetine gönderilir.
  • Web Hizmeti SOAP isteğini açar ve uygulamayı anlayabileceği bir komuta dönüştürür.
  • Uygulama, bilgileri gerektiği şekilde işler ve söz konusu müşteri için yeni bir benzersiz hesap numarasıyla yanıt verir.
  • Ardından Web Hizmeti, yanıtı HTTP isteğine yanıt olarak istemci programına geri gönderdiği başka bir SOAP iletisine paketler.
  • İstemci programı, hesap kayıt işleminin sonuçlarını almak için SOAP iletisini açar.

1
" Tüm standart Web Hizmetleri aşağıdaki bileşenleri kullanarak çalışır: " ... bu yanıtla ilgili sorun, web hizmetlerinin SOAP / WSDL mekanizması içinde çalıştığını veya çalışması gerektiğini önermesidir. Bu yanlış. Temsil Edici Devlet Transferi (REST), web hizmetlerinin uygulanması için çok popüler bir başka paradigmadır. Bazı büyük web siteleri, REST web hizmetleri lehine SOAP hizmetlerini kullanımdan kaldırmıştır.
scottb

@scottb I Kesinlikle katılıyorum. Güncelleme için teşekkürler. Ayrıca, savunmamda, Web hizmetleri hakkındaki bilgim o zamanlar çok sınırlıydı!
vanguard69

7

Simple way to explain web service is ::

  • Web servisi, World Wide Web üzerinden iki elektronik cihaz arasındaki iletişim yöntemidir.
  • Programcının sunucuyla iletişim kurmak için kullandığı bir işlem olarak adlandırılabilir
  • Bu işlemi başlatmak için programcı SOAP vb.
  • Web hizmetleri TCP / IP, HTTP gibi açık standartlar üzerine kuruludur

Bir web servisinin avantajı, diyelim ki .net içinde bir kod parçası geliştiriyorsunuz ve bu kodu tüketmek için JAVA'yı kullanmak istiyorsunuz. Soyutlanmış katmanla doğrudan etkileşime girebilir ve kodu geliştirmek için hangi teknolojinin kullanıldığının farkında değilsiniz.


görüntü


7

Webservice, iki veya daha fazla uzak web uygulamasının ağ / internet üzerinden birbiriyle etkileşime girdiği bir teknolojidir. Java, .net, PHP vb.

Web servisinin özellikleri: -

  1. Web hizmetlerini kullanarak iki veya daha fazla sistem ağ üzerinden veri alışverişi yapar. Veriler XML veya JSON kullanılarak değiştirilir.
  2. Herhangi bir web hizmetinde, hizmetin dağıtıldığı iki bölüm Sunucu sonu ve hizmetin istemcileri tarafından erişildiği istemci bölümü bulunur. Herhangi bir web hizmetinin birden fazla istemcisi olabilir. Bir seyahat portalı bir uçak bileti sattığında. Portal istemcidir ve Havayolu hizmetini sattığı sunucudur.
  3. Web servisleri eşzamanlı olabilir veya eşzamansız da olabilir.Bir web uygulaması birçok web hizmetiyle etkileşime girebilir ancak bu web hizmetleri istemci web uygulamalarıyla gevşek bir şekilde birleştirilir. Bu, üst uygulamadaki herhangi bir değişikliğin web hizmetleri üzerinde çok az etkisi olduğu veya hiç etkisi olmadığı veya tam tersi anlamına gelir.
  4. Web servisleri, XML yükü ile PDF, Word vb. Gibi ek belgeleri de taşıyabilir. Java, bu tür web hizmetleri için ayrı API sağlar.
  5. Bir web hizmeti, hizmetin iç karmaşıklığını her zaman müşterilerine gizler. Örneğin, bir üçüncü taraf portalı üzerinden bilet satan bir uçak sadece bir web hizmeti üzerinden son kullanıcı bilgilerini topluyor ve karşılığında bilet sağlıyor. Bilet satan portal, havayolu bilet rezervasyon sistemlerinin iç karmaşıklığı konusunda rahatsız olmak zorunda değildir.
  6. Bir web hizmeti ateş olabilir ve türü unutabilir veya bir şey döndürebilir. Bir web uygulamasının yalnızca üçüncü taraf bir uygulamaya bazı bilgiler göndermek istediğini varsayalım. Gönderenin, alıcıdan onay almasına gerek yoktur. Bu tür senaryoda bir yangına ihtiyacımız var ve web servisini unutuyoruz.

5

Yazılım geliştiricileri tarafından kullanılan bir web hizmeti, genellikle uzak bir sunucuda gerçekleştirilen ve XML / SOAP belirtimi kullanılarak çağrılan bir işlemi ifade eder. Tüm tanımlarda olduğu gibi, bunun nüansları vardır, ancak bu terimin en yaygın kullanımıdır.


1
Üzgünüm Jezelll, iniş yapmak zorunda kaldı. Bu 'sade ingilizce' olarak değerlendireceğim şey değil :( Tanımınızın amacı ile ilgili bir sorunum yok, ancak 'işlem', 'uzak sunucu', 'çağrılan' ve 'şartname' gibi kelimeleri kullanmak zorlaştırıyor Yeni sade bir İngiliz örneği olarak Mitchel Sellers'ın cevabına bakınız
Dhaust

5

İşletim sistemi, etkileşimde bulunabileceğiniz bir GUI (ve CLI) sağlar. Ayrıca, program aracılığıyla etkileşime girebileceğiniz bir API sağlar.

Benzer şekilde, bir web sitesi etkileşime girebileceğiniz HTML sayfaları sağlar ve aynı zamanda programla aynı bilgi ve işlemleri sunan bir API sağlayabilir. Veya bu hizmetler yalnızca ilişkili kullanıcı arabirimi olmayan bir API aracılığıyla kullanılabilir.


4

İyi,

@Vincent Ramdhanie bir web hizmetinin son kullanıcı tarafından değil, başka bir program tarafından görülmesi / tüketilmesi anlamına geldiğini söyledi. Programınızdaki teknik mantık şu şekilde olacaktır:

Normal bir program olarak hareket etmesi durumunda

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

şimdi

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

ancak web hizmeti durumunda akış biraz değişir:

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

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

Bu yardımcı olur umarım :)


3

Basit bir tanım, normal bir yöntem çağrısı gibi davranan bir HTTP isteği olabilir; yani, parametreleri kabul eder ve bir nesneye / nesnelere serileştirilebilen yapılandırılmış bir sonuç, genellikle XML döndürür.


3

Web hizmetleri neredeyse normal bir web sayfası gibidir. Aralarındaki fark, bir programın verileri sayfadan, muhtemelen herhangi bir HTML kullanmadığı noktaya çekmesini kolaylaştırmak için biçimlendirilmeleridir. Genellikle formatın tutarlılığı konusunda daha güvenilirdirler, sabun veya ham xml gibi içeriği tanımlamak için farklı bir resmi işlem kullanabilirler ve genellikle verilerin yapısını resmi olarak tanımlayan bir tanımlayıcı belge de vardır.


3

Başka bir bilgisayardaki bir işlemi başlatmak için bir mesaj göndermenin yolu. Web hizmetleri ve önceki yöntemler arasındaki fark, tel üzerinden gönderilenlerin daha yüksek bir seviyede standartlaştırılmasıdır.

Eski yol: endianları, kodlamayı, port numaralarını vb. Tanımlayın. Web Hizmeti: URL, XML


3

Web Hizmeti, ilgisiz iki program arasında bir iletişim aracı gibidir. Programlar , ilgili uçta hangi REQUEST / RESPONCE'ı işlemek / yürütmek üzere olduklarını anlamak için belirli bir protokolü (Genellikle Basit Nesne Erişim Protokolü (SOAP) ) kullanırlar.


2

Bir web hizmeti, bir sunucunun sizin için gerçekleştireceği eylem sözleşmesini tanımlar. Biçim ve protokol gerçekten önemli değil, ancak iletişimin nasıl gerçekleştiğine dair bazı tanımlarınız olmalıdır.

Örneğinizde, bu, bu sayıyı okuyan başka bir uygulamada kullanılıyorsa, evet hizmettir, aksi takdirde sadece sayı içeren bir web sayfasıdır.


1

Basit bir deyişle, Web hizmeti herhangi bir basit program olabilir: UDDI üzerinden yayınlanması gereken ve başka bir program tarafından tüketilebilen iki sayı ekleyin.


0

'Web Hizmeti', 'Web' ve 'Hizmet' olmak üzere iki kelimeden oluşur.
'Web' nedir? 'Web', 'World Wide Web' anlamına gelir.
Ne için 'hizmet'? Değil İnsan için, eğer öyleyse, o vb metin, resim, video gibi 'Web Sayfası' var
Programlar TCP, HTTP vb 'Web' kullanılmış, aynı teknolojiyi kullanarak Internet üzerinden iletişim kurmak için It
'Hizmet' ayrıca CRUD'daki 'Hizmet Katmanı' gibi bazı işlevler sağladığı anlamına gelir. Temel olarak iki tür vardır:
1. SOAP (Basit Nesne Erişim Protokolü)
2. RESTful (Temsili durum aktarımı)


0

Diğer tanımlara halel getirmeksizin, bir web servisinin bir ağ üzerinden çalıştırılabilir makinelerden makineye / uygulamadan uygulamaya etkileşime izin veren bir yazılım sistemi olduğunu söyleyebilirim. Bu jenerik tanımlar, REST mimarilerini bir web hizmeti olarak kabul etmeye de yardımcı olacaktır, çünkü tam olarak tanımlanmış bir protokol olan SOAP'ın aksine mimari bir stil olsa da benzer işlevsellik sağlarlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.