Czy jest jakaś różnica między interfejsem API sieci Web a usługą sieciową ? A może są jednym i tym samym?
Czy jest jakaś różnica między interfejsem API sieci Web a usługą sieciową ? A może są jednym i tym samym?
Odpowiedzi:
Usługa WWW zazwyczaj oferuje WSDL, z którego można automatycznie tworzyć kody pośredniczące klienta. Usługi sieci Web są oparte na protokole SOAP . ASP.NET Web API to nowsza platforma firmy Microsoft, która pomaga w tworzeniu interfejsów opartych na REST . Odpowiedź może być w formacie JSON lub XML, ale nie ma możliwości automatycznego generowania klientów, ponieważ interfejs API sieci Web nie oferuje opisu usługi, takiego jak WSDL z usług sieci Web. Zależy to więc od Twoich wymagań, której z technik chcesz użyć. Być może nawet WCF lepiej spełnia Twoje wymagania, wystarczy spojrzeć na dokumentację MSDN.
Podstawowa różnica między usługami sieci Web a interfejsami API sieci Web
Serwis internetowy:
1) Jest to usługa oparta na SOAP i zwraca dane jako XML.
2) Obsługuje tylko protokół HTTP.
3) Nie jest to oprogramowanie typu open source, ale może być używane przez każdego klienta, który rozumie XML.
5) Wymaga protokołu SOAP do odbierania i wysyłania danych przez sieć, więc nie jest to lekka architektura.
Internetowy interfejs API:
1) Interfejs API sieci Web jest usługą opartą na protokole HTTP i domyślnie zwraca dane JSON lub XML.
2) Obsługuje protokół HTTP.
3) Może być hostowany w aplikacji lub w usługach IIS.
4) Jest open source i może być używany przez każdego klienta, który rozumie JSON lub XML.
5) Ma lekką architekturę i jest dobry dla urządzeń o ograniczonej przepustowości, takich jak urządzenia mobilne.
Właśnie wkleiłem podsumowanie połączonego artykułu:
Podsumowanie:
Wszystkie usługi internetowe są interfejsami API, ale wszystkie interfejsy API nie są usługami internetowymi.
Usługi internetowe mogą nie wykonywać wszystkich operacji, które wykonywałby interfejs API.
Usługa sieci Web używa tylko trzech stylów użytkowania: SOAP, REST i XML-RPC do komunikacji, podczas gdy API może używać dowolnego stylu do komunikacji.
Usługa sieci Web zawsze potrzebuje sieci do działania, podczas gdy interfejs API nie potrzebuje sieci do działania.
API ułatwia bezpośrednie połączenie z aplikacją, podczas gdy usługa internetowa to ...
Czytaj więcej: Różnica między interfejsem API a usługą sieciową | Różnica między | API a usługa internetowa http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
Zobacz powyższy link, aby uzyskać pełną odpowiedź.
Usługą sieci Web, jeśli chcesz, jest interfejs API sieci Web. W szczególności Web API zwykle oznacza usługę sieciową RESTful (opartą na HTTP), a usługa sieciowa zwykle oznacza SOAP + WSDL (+ HTTP lub SMTP lub JMS ..).
Typowo usługi internetowe zgodne z REST są przeciwieństwem usług internetowych (WSDL, SOAP), ale ostatnio wprowadzono termin usługi internetowe zgodne z REST (z wielką literą „W”), które oznacza RESTful + WSDL + SOAP.
Sprawdź tę tabelę pod kątem różnic między trzema koncepcjami: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
Mam nadzieję, że to pomoże!
Usługa internetowa jest absolutnie taka sama jak Web API - tylko nieco bardziej ograniczona pod względem formatu danych. Oba używają protokołu HTTP i oba umożliwiają tworzenie usług REST. I nie zapomnij o innych protokołach, takich jak JSON-RPC - może pasują lepiej.
W kontekście ASP.Net Web API jest kontrolerem, którego klasą bazową jest ApiController i nie używa widoków. Usługa sieci Web jest klasą pochodną usługi WebService i ma automatyczne generowanie WSDL. Domyślnie jest to interfejs API SOAP, ale można również użyć formatu JSON, dodając atrybut ScriptServiceAttribute .
API i serwis WWW służą jako środki komunikacji.
Jedyna różnica polega na tym, że usługa internetowa ułatwia interakcję między dwoma komputerami w sieci. Interfejs API działa jako interfejs między dwiema różnymi aplikacjami, dzięki czemu mogą się one ze sobą komunikować . API to metoda, za pomocą której zewnętrzni dostawcy mogą pisać programy, które łatwo łączą się z innymi programami. Usługa sieci Web jest zaprojektowana tak, aby miała interfejs przedstawiony w formacie przetwarzalnym maszynowo, zwykle określonym w języku opisu usługi sieci Web (WSDL)
Wszystkie usługi internetowe są interfejsami API, ale nie wszystkie interfejsy API są usługami internetowymi.
Usługa internetowa to po prostu interfejs API opakowany w HTTP.
To tutaj artykuł stanowi dobrą wiedzę dotyczącą usługi internetowej i API.
Cóż, TMK może mieć rację w świecie Microsoft, ale w świecie całego oprogramowania, w tym Java / Python / itp., Wierzę, że nie ma różnicy. To ta sama rzecz.
/software/38691/difference-between-web-api-and-web-service
Usługi sieciowe - to standard zdefiniowany przez W3C, dzięki czemu można uzyskać do nich dostęp półautomatycznie lub automatycznie (WSDL / UDDI). Całość oparta jest o XML, więc każdy może to nazwać. A każdy aspekt usługi jest bardzo dobrze zdefiniowany. Istnieje standard opisu parametrów, standard przekazywania parametrów, standard odpowiedzi, standard wykrywania itp. Prawdopodobnie mógłbyś napisać 2000-stronicową książkę opisującą standard. Istnieją nawet „dodatkowe” standardy wykonywania „standardowych” czynności, takich jak uwierzytelnianie.
Pomimo faktu, że automatyczne wywoływanie i wykrywanie prawie nie działa, ponieważ klienci są raczej kiepscy i nie masz rzeczywistej gwarancji, że jakakolwiek usługa może zostać wywołana od dowolnego klienta.
Web API jest zwykle realizowane jako HTTP / REST, nic nie jest zdefiniowane, dane wyjściowe mogą być np. JSON / XML, dane wejściowe mogą być XML / JSON / lub zwykłymi danymi. Nie ma żadnych standardów => brak automatycznego wywoływania i wykrywania. Możesz podać opis w pliku tekstowym lub PDF, możesz zwrócić dane w systemie Windows-1250 zamiast w formacie Unicode itp. Aby opisać standard, byłaby to 2-stronicowa broszura z kilkoma prostymi informacjami, a wszystko inne zdefiniujesz.
Sieć zmienia się w kierunku Web API / REST. Usługi internetowe nie są tak naprawdę lepsze niż interfejs API sieci Web. Bardzo skomplikowane w opracowaniu i pochłaniają znacznie więcej zasobów (przepustowość i pamięć RAM) ... a ponieważ wszystkie konwersje danych (ŻĄDANIE-> XML-> DANE-> ODPOWIEDŹ-> XML-> WALIDACJA-> KONWERSJA-> DANE) są bardzo powolny.
Na przykład. W WebAPI możesz spakować dane, wysłać je skompresowane i rozpakować i rozpakować na kliencie. W SOAP można było tylko kompresować żądanie HTML.
Wszystkie usługi sieciowe to API, ale wszystkie API nie są usługami sieciowymi. API, które jest dostępne w sieci WWW, nazywa się usługami sieciowymi.
Dwie rzeczy są bardzo łatwe do zrozumienia:
Uwaga: wszystkie usługi internetowe to interfejsy API, ale nie wszystkie interfejsy API to usługi internetowe