2008-10-22 17 views
151

Czytałem o "usługach sieciowych" tutaj na SO, w Wikipedii, Google itd. I nie bardzo rozumiem, czym one są. Co to jest zwykła angielska definicja/opis?Co to jest "usługa sieciowa" w prostym języku angielskim?

Jeśli tworzę prostą stronę internetową za pomocą PHP, która, powiedzmy, drukuje losową liczbę całkowitą na stronie ... czy jest to "usługa sieciowa"? Jeśli nie, dlaczego nie?

Odpowiedz

244

Prosta definicja: usługa sieciowa to funkcja dostępna dla innych programów przez Internet (Http). Aby nieco wyjaśnić, kiedy tworzysz stronę w PHP, która generuje HTML, jej celem jest przeglądarka, a przez to człowiek czytający stronę w przeglądarce. Usługa sieciowa nie jest skierowana do ludzi, ale do innych programów.

Twoja strona PHP, która generuje losową liczbę całkowitą, może być usługą sieciową, jeśli wypisze liczbę całkowitą w formacie, który może być wykorzystany przez inny program. Może być w formacie XML lub innym formacie, o ile inne programy mogą zrozumieć dane wyjściowe.

Pełna definicja jest oczywiście bardziej złożona, ale prosiłeś o zwykły angielski.

+1

to wyjaśnienie jest dobre, ale to, co łamie zdolność do konsumpcji losową liczbę całkowitą od drugiej progr jestem z HTML? Istnieje wiele bibliotek do czytania HTML i jest to to samo, co czytanie XML dla mnie i prawie tak samo jak czytanie JSON. Wiem, że ten post jest bardzo stary, ale proszę o komentarz, jeśli to możliwe. – Pavlo

+2

Jest to kwestia raczej intencji niż zdolności. Intencją serwisu internetowego jest korzystanie z innych aplikacji. Intencją html jest renderowanie dla użytkownika przez przeglądarkę. –

31

Tak, to jest prosta usługa sieciowa.

Usługi sieciowe to tak naprawdę nic innego jak mechanizm żądania/odpowiedzi, który umożliwia klientowi zdalny dostęp/modyfikację danych. Istnieją formalne standardy dla usług internetowych (SOAP, SOA itp.), Ale twoja prosta strona też jest usługą.

Główną wadą drukowania na stronie jest to, że usługa zwróci HTML. Preferowanymi formatami danych są JSON i XML, ponieważ większość szkieletów klienta (i frameworków serwerowych) zaprojektowano z wykorzystaniem JSON i XML.

Więc jeśli modyfikować swoją usługę do powrotu:

<RANDOM>some random number</RANDOM> 

zamiast:

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

wtedy byłoby bardziej użyteczne dla większości klientów

+0

zaktualizowaniu moją odpowiedź na to odzwierciedlać. Miał problemy z tak niewyświetlające kartach XML/HTML :) –

+0

Korekta sprawia, że ​​lepiej (-: szarpiąc oryginalny komentarz – Murph

+0

Dzięki Dokładnie to, co myślę o tym, że XML jest bardzo podobny do HTML, więc strony HTML mówimy dostarczane przez sieci.. . obsługa – Pavlo

2

Prosta definicja byłaby HTTP żądanie, które działa jak zwykłe wywołanie metody; tj. przyjmuje parametry i zwraca wynik strukturalny, zwykle XML, który można przekształcić do postaci szeregowej w obiekt (y).

19

W uproszczonych kategoriach usługa sieciowa jest czymś, co dostarcza danych jako usługa za pośrednictwem protokołu http. To prawda, że ​​tak nie jest ... ale jest blisko.

Standardowe usługi sieci Web korzystają z protokołu SOAP, który definiuje komunikację i strukturę wiadomości, a formatem danych jest XML.

Usługi sieciowe są zaprojektowane tak, aby aplikacje zbudowane przy użyciu różnych technologii mogły komunikować się ze sobą bez problemów.

Przykładami usług internetowych są rzeczy takie jak Weather.com, które dostarczają informacji o pogodzie, z których można korzystać na swojej stronie, lub UPS zapewniający metodę wnioskowania o wysyłkę lub śledzenie paczek.

Edit

Zmieniono sformułowanie w odniesieniu do mydła, gdyż nie zawsze jest mydło, jak już wspomniałem, ale postanowił uczynić go bardziej jasne. Kluczem jest dostarczanie danych jako usługi, a nie elementu interfejsu użytkownika.

+0

to nie musi być SOAP. - jeśli mówimy o usługach internetowych (małymi literami), a następnie REST jest coraz bardziej powszechne –

+0

Bardzo prawdziwe ... pozwól mi trochę takiej zmiany –

5

Usługa internetowa, używana przez programistów, ogólnie odnosi się do operacji wykonywanej na serwerze zdalnym i wywoływanej przy użyciu specyfikacji XML/SOAP. Podobnie jak w przypadku wszystkich definicji, istnieją pewne niuanse, ale jest to najczęstsze użycie tego terminu.

+1

Niestety Jezelll, musiał rzućmy w dół, to nie jest to, co bym uważał za "zwykły angielski" :(nie mam problemu z zamiarem twojej definicji, ale używając słów takich jak "operacja", "serwer zdalny", "wywołanie" i "specyfikacja" "sprawia, że ​​trudne dla początkujących, aby zrozumieć. Zobacz Sprzedawcy Mitchel odpowiedzieć jako przykład«plain English». – Dhaust

2

Usługa internetowa określa umowę dotyczącą działań, które serwer wykona za Ciebie. Format i protokół naprawdę nie mają znaczenia, ale powinieneś mieć ustaloną definicję tego, jak przebiega komunikacja.

W twoim przykładzie to zależy, czy jest używany w innej aplikacji odczytującej ten numer, tak to jest usługa, w przeciwnym razie jest to tylko strona z numerem.

16

Usługa internetowa różni się od strony internetowej tym, że serwis internetowy dostarcza informacji do pobrania przez oprogramowanie, a nie ludzi. W rezultacie zazwyczaj mówimy o wyeksponowanych usługach JSON, XML lub SOAP.

Usługi sieciowe są kluczowym elementem "mashupów". Mashupy są wtedy, gdy informacje z wielu stron internetowych są automatycznie łączone w nową i przydatną usługę. Na przykład istnieją witryny, które gromadzą Mapy Google z informacjami o raportach policyjnych, aby uzyskać graficzną reprezentację przestępstwa w Twojej okolicy. Innym rodzajem mashupu byłoby pozyskiwanie prawdziwych danych giełdowych dostarczanych przez inną stronę i łączenie ich z fałszywą aplikacją do handlu, aby stworzyć "grę" giełdową.

Usługi sieciowe są również wykorzystywane do dostarczania wiadomości (patrz RSS), najnowszych produktów dodawanych do witryny, informacji o nowych produktach, podcastów i innych wspaniałych funkcji, które sprawiają, że nowoczesna sieć się kręci.

Mam nadzieję, że to pomoże!

49

Uproszczone, nietechniczne wyjaśnienie: Usługa internetowa umożliwia programowi rozmowę ze stroną internetową, zamiast otwierania strony internetowej za pomocą przeglądarki.

Przykład: Mogę przejść na maps.google.com, wpisać mój adres domowy i zobaczyć mapę miejsca, w którym mieszkam w mojej przeglądarce.

Ale co, jeśli piszesz program komputerowy, w którym chcesz wziąć adres i pokazać ładną mapę, tak jak mapy Google?

Cóż, możesz napisać zupełnie nowy program do tworzenia map od podstaw, LUB możesz zadzwonić do serwisu internetowego, który oferuje Google Maps, wysłać adres, a to zwróci graficzną mapę lokalizacji, którą możesz wyświetlić w twój program.

Jest o wiele więcej, jak w przypadku innych postów, ale wynik jest taki, że pozwala aplikacji pobierać informacje od lub przekazywać informacje DO niektórych zasobów. Kilka innych przykładów:

  1. Można skorzystać z usługi internetowej, aby pobrać informacje o książkach na Amazon.com
  2. można wykorzystywać podobną usługę internetową, aby złożyć zamówienie na Amazon.com
  3. można utworzyć usługa internetowa pozwalająca aplikacjom zewnętrznym na uzyskanie informacji o produkcie w Twojej firmie
  4. możesz utworzyć usługę internetową, aby umożliwić aplikacjom zewnętrznym przesyłanie zamówień do Twojej firmy.
3

Usługi sieciowe są prawie jak normalna strona internetowa.Różnica polega na tym, że są one sformatowane tak, aby program bardzo łatwo pobierał dane ze strony, prawdopodobnie nie używając żadnego HTML. Zasadniczo są one również bardziej wiarygodne, jeśli chodzi o spójność formatu, mogą wykorzystywać inny proces formalny do definiowania treści takich jak mydło lub surowy xml, a często istnieje również dokument deskryptora, który formalnie definiuje strukturę danych.

5

System operacyjny udostępnia graficzny interfejs użytkownika (i interfejs CLI), z którym można się komunikować. Zapewnia również interfejs API, z którym można programowo współpracować.

Podobnie strona internetowa udostępnia strony HTML, z którymi można się komunikować, a także może udostępniać interfejs API, który oferuje programowo te same informacje i operacje. Lub te usługi mogą być dostępne tylko za pośrednictwem interfejsu API bez powiązanego interfejsu użytkownika.

13

W przypadku większości witryn strony HTML są odwiedzane podczas korzystania z przeglądarki. Są to strony czytelne dla człowieka (raz wyrenderowane w przeglądarce), w których wiele danych może być stłoczonych razem, ponieważ ma to sens dla ludzi.

Teraz wyobraź sobie, że ktoś inny chce użyć niektórych z tych danych. Mogą pobrać twoją stronę i rozpocząć filtrowanie wszystkich "szumów", aby uzyskać żądane dane, ale większość stron internetowych nie jest zbudowana w taki sposób, że dane są w 100% pewne, że zostaną umieszczone w tym samym miejscu dla wszystkich elementów, więc dodatkowo bycie nieporęcznym również staje się niewiarygodne.

Wprowadź usługi internetowe.

Usługa internetowa to coś, co strona internetowa oferuje osobom, które chcą czytać, aktualizować i/lub usuwać dane z witryny. Możesz nazwać to "backdoorem" swoich danych. Zamiast prezentować dane jako część strony internetowej, jest ona dostarczana we wcześniej ustalony sposób, gdzie niektóre z bardziej popularnych to XML i JSON. Istnieje kilka sposobów komunikacji z serwisem internetowym, niektóre korzystają z SOAP, inne mają REST'owe usługi internetowe itp.

To, co jest wspólne dla wszystkich usług internetowych, to że są one odczytywalne maszynowo jako ekwiwalent do stron w witrynie inaczej oferuje. Oznacza to, że inni, którzy chcą korzystać z danych, mogą wysłać prośbę o odzyskanie pewnych danych, które można łatwo przeanalizować i wykorzystać. Niektóre witryny mogą wymagać podania nazwy użytkownika/hasła w żądaniu, w przypadku danych poufnych, podczas gdy inne witryny umożliwiają każdemu wyodrębnienie dowolnych danych, których mogą potrzebować.

10

Najlepszym zwykły angielski wyjaśnienie pochodzi z wykorzystaniem analogii:

  • stron internetowych pozwalają ludziom komunikować się i współpracować ze sobą.
  • Usługi sieciowe pozwalają programom komunikować się i współpracować ze sobą.

Twój przykład PHP jest usługą sieciową według tej definicji, ponieważ dane wyjściowe mogą być wykorzystane przez inny program. W rzeczywistości skradanie ekranu HTML nie jest niezawodnym ani łatwym w utrzymaniu sposobem tworzenia serwisów internetowych.

3

Sposób wysyłania wiadomości w celu wywołania operacji na innym komputerze. Różnica między usługami sieciowymi a wcześniejszymi metodami polega na tym, że to, co jest wysyłane przez kabel, jest standaryzowane na wyższym poziomie.

Stary sposób: opisać końcówki, kodowanie, numery portów itp.Usługa Web: URL, XML

6

Simple way to explain web service is ::

  • serwis internetowy to metoda komunikacji pomiędzy dwoma urządzeniami elektronicznymi przez World Wide Web.
  • To można nazwać proces, który programista używa do komunikowania się z serwerem
  • Aby wywołać ten proces programista może używać mydła itp
  • usługi internetowe są zbudowane na otwartych standardach, takich jak TCP/IP, HTTP

zaletą usługa jest, można powiedzieć, devel w jednym kawałku kodu w .net i chcesz użyć JAVA do użycia tego kodu. Możesz wchodzić w interakcje bezpośrednio z warstwą abstrakcyjną i nie są świadomi, jaka technologia została użyta do opracowania kodu.


Image

9

serwis internetowy jest zbiorem otwartych protokołów i standardów używanych do wymiany danych między aplikacjami lub systemami. Aplikacje napisane w różnych językach programowania i działające na różnych platformach mogą korzystać z usług internetowych do wymiany danych w sieciach komputerowych, takich jak Internet, w sposób podobny do komunikacji między procesami na jednym komputerze. Ta interoperacyjność (na przykład między Java i Python lub aplikacjami Windows i Linux) wynika z zastosowania otwartych standardów (XML, SOAP, HTTP).

wszystkich standardowych usług internetowych działa przy użyciu następujących elementów:

  • SOAP
  • WSDL (Web Services Description Language) (Simple Object Access Protocol)
  • UDDI (Universal Description, Discovery and Integration)

to działa mniej więcej tak:

  • Program kliencki zawiera informacje o rejestracji konta w komunikacie SOAP.
  • Ten komunikat SOAP jest wysyłany do usługi WWW jako treść żądania HTTP POST.
  • Usługa sieci Web rozpakowuje żądanie SOAP i konwertuje je na polecenie zrozumiałe dla aplikacji.
  • Aplikacja przetwarza informacje zgodnie z wymaganiami i odpowiada nowym unikalnym numerem konta dla tego klienta.
  • Następnie usługa sieci Web pakuje odpowiedź do innego komunikatu SOAP, który wysyła do klienta w odpowiedzi na żądanie HTTP.
  • Program klienta rozpakowuje komunikat SOAP w celu uzyskania wyników procesu rejestracji konta.
+1

„* Wszystkie standardowe Web Services działa przy użyciu następujących elementów: *” ... problem z tą odpowiedzią jest to, że sugeruje, że usługi sieciowe lub nie musi działać w ramach mechanizmu SOAP/WSDL. To jest niedokładne. Reprezentacyjny transfer państwowy (REST) ​​to kolejny bardzo popularny paradygmat wdrażania usług internetowych. Niektóre duże witryny internetowe wycofały swoje usługi SOAP na korzyść usług sieciowych REST. – scottb

+0

@ scottb Całkowicie się zgadzam. Dziękuję za aktualizację. Ponadto w mojej obronie moja wiedza na temat usług internetowych była wtedy bardzo ograniczona! – vanguard69

3

Usługa sieciowa jest jak środek komunikacji między dwoma niepowiązanymi programami. Programy używają określonego protokołu (zwykle Simple Object Access Protocol (SOAP)) jako medium, aby zrozumieć, co REQUEST/RESPONCE mają przetwarzać/wykonywać na odpowiednim końcu.

6

Webservice to technologia, za pomocą której dwie lub więcej zdalnych aplikacji internetowych współdziałają ze sobą za pośrednictwem sieci/Internetu. To może być realizowane za pomocą Java, .NET, PHP itp

Cechy usługi sieci Web: -

  1. Stosując dwa lub więcej systemów wymiany danych przez sieć Web Services. Dane są wymieniane za pomocą XML lub JSON.
  2. Każda usługa internetowa składa się z dwóch części. Koniec serwera, w którym usługa jest wdrożona, a część klienta, w której usługa jest dostępna dla klientów. Każda usługa WWW może mieć wielu klientów. Kiedy portal turystyczny sprzedaje bilety samolotu pasażerskiego. Portal jest klientem, a linia lotnicza jest serwerem, który sprzedaje swoją usługę.
  3. Usługi sieciowe mogą być synchroniczne lub mogą być również asynchroniczne. Aplikacja internetowa może wchodzić w interakcję z wieloma web services, ale te usługi internetowe są luźno powiązane z ich aplikacjami internetowymi klienta. Oznacza to, że każda zmiana w aplikacji macierzystej ma niewielki lub żaden wpływ na usługi sieciowe lub odwrotnie.
  4. Usługi sieciowe mogą zawierać dokument załączający, taki jak PDF, Word itp. Z jego ładunkiem XML. Java zapewnia osobny interfejs API dla tego typu usług internetowych.
  5. Usługa internetowa zawsze ukrywa wewnętrzną złożoność usługi dla jej klientów. Na przykład samolot pasażerski, który sprzedaje bilety za pośrednictwem portalu osób trzecich, zbiera tylko informacje o użytkownikach końcowych za pośrednictwem usługi internetowej, a w zamian zapewnia bilet. Portal, który sprzedaje bilety, nie musi martwić się o wewnętrzną złożoność systemów rezerwacji biletów lotniczych.
  6. Usługa internetowa może być ogniowa i zapomnieć o typie lub może zwrócić coś. Przypuśćmy, że aplikacja internetowa po prostu chce wysłać trochę informacji do aplikacji innej firmy. Nadawca nie potrzebuje potwierdzenia od odbiorcy. W tego typu scenariuszu potrzebujemy ognia i zapomnij o rodzaju usługi internetowej.
3

No

Jak @Vincent Ramdhanie powiedział, że serwis internetowy nie ma być postrzegane/zużywana przez użytkownika końcowego, ale innego programu.Więc technicznie logika w programie będą:

W przypadku działa jako normalny program

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

Teraz

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

ale w przypadku usługi internetowej przepływ zmienia trochę:

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

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

Nadzieja to pomaga :)

2

w prostych słów usługi Web może być dowolny prosty program Ex: dodać dwie liczby, które powinny być publikowane przez UDDI i mogą być spożywane przez innego program.WSDL będą miały punkt końcowy, aby zlokalizować usługę sieciową, a także szczegóły powiązania i portu.

0

'Web Service' składa się z dwóch słów, 'www' i 'usługa'.
Co to jest "sieć"? "Sieć" oznacza "World Wide Web".
"Usługa" za co? Nie dla ludzi, jeżeli tak, to „Strona WWW”, takich jak tekst, obrazy, wideo itp
To dla programów do komunikowania się za pośrednictwem Internetu przy użyciu tej samej technologii do „Web”, taki jak TCP, HTTP itp
"Usługa" oznacza również, że zapewnia niektóre funkcje, takie jak "Warstwa usług" w CRUD. Istnieją głównie dwa rodzaje:
1. SOAP (Simple Object Access Protocol)
2. relaksującego (representational state transfer)

Powiązane problemy