Jaka jest różnica między usługą internetową a interfejsem API? Czy różnica jest większa niż protokół używany do przesyłania danych? dzięki.
Jaka jest różnica między usługą internetową a interfejsem API? Czy różnica jest większa niż protokół używany do przesyłania danych? dzięki.
Odpowiedzi:
Interfejs API (Application Programming Interface) to sposób, w jaki osoby trzecie mogą pisać kod, który łączy się z innym kodem. Usługa sieci Web to rodzaj interfejsu API, który prawie zawsze działa przez HTTP (choć niektóre, takie jak SOAP, mogą korzystać z alternatywnych transportów, takich jak SMTP). Oficjalna definicja W3C wspomina, że usługi internetowe nie muszą używać HTTP, ale jest to prawie zawsze tak jest zazwyczaj zakłada się, chyba że zaznaczono inaczej.
Aby zapoznać się z przykładami usług internetowych, zobacz SOAP , REST i XML-RPC . Na przykład innego typu API, napisanego w C do użytku na komputerze lokalnym, zobacz Linux Kernel API .
Jeśli chodzi o protokół, interfejs API usługi sieci Web prawie zawsze korzysta z protokołu HTTP (stąd część sieci Web) i zdecydowanie wymaga komunikacji przez sieć. Interfejsy API ogólnie mogą korzystać z dowolnych środków komunikacji, jakie chcą. Na przykład interfejs API jądra Linux używa Przerwania do wywoływania wywołań systemowych, które składają się na jego interfejs API dla wywołań z przestrzeni użytkownika.
Zasadniczo usługa sieciowa jest metodą komunikacji między dwoma komputerami, podczas gdy interfejs API jest odsłoniętą warstwą umożliwiającą programowanie przeciwko czemuś.
Możesz mieć interfejs API, a główną metodą interakcji z tym interfejsem API jest usługa internetowa.
Definicje techniczne (dzięki uprzejmości Wikipedii) to:
Interfejs programowania aplikacji (API) to zestaw procedur, struktur danych, klas obiektów i / lub protokołów udostępnianych przez biblioteki i / lub usługi systemu operacyjnego w celu wspierania tworzenia aplikacji.
Usługa internetowa (również usługa internetowa) jest zdefiniowana przez W3C jako „system oprogramowania zaprojektowany do obsługi interoperacyjnej interakcji maszyna-maszyna w sieci”
W ogólnym ujęciu usługa internetowa JEST interfejsem API przez HTTP. Często używają JSON lub XML, ale są też inne podejścia.
Interfejsy API to opublikowany interfejs, który określa, w jaki sposób komponent A komunikuje się z komponentem B.
Na przykład Doubleclick ma opublikowany interfejs API języka Java, który pozwala użytkownikom przesłuchiwać tabele bazy danych w celu uzyskania informacji o ich internetowej kampanii reklamowej.
np. zadzwoń do GetNumberClicks (nazwa użytkownika)
Aby wdrożyć interfejs API, należy dodać plik .jar Doubleclick do ścieżki klasy. Połączenie jest lokalne.
Usługa internetowa jest formą interfejsu API, w której interfejs jest definiowany za pomocą WSDL. Umożliwia to zdalne wywoływanie interfejsu przez HTTP.
Gdyby Doubleclick zaimplementował swój interfejs jako usługę internetową, użyłby czegoś takiego jak Axis2 działający w Tomcat.
Użytkownik zdalny zadzwoniłby do usługi internetowej
np. zadzwoń do GetNumberClicksWebService (nazwa użytkownika)
a usługa GetNumberClicksWebService wywołałaby GetNumberClicks lokalnie.
API (Application Programming Interface), sama forma sugeruje, że jest to interfejs, który pozwala programować dla twojej aplikacji za pomocą lub wsparcia innego interfejsu aplikacji, który udostępnia pewne funkcje przydatne dla twojej aplikacji.
Np. Pokazywanie zaktualizowanych kursów wymiany walut na twojej stronie wymagałoby programowania interfejsu innej firmy, chyba że planujesz mieć własną bazę danych z kursami walut i regularnymi aktualizacjami. Ten zestaw funkcji jest dostępny, gdy jest już dostępny z kimś innym, a gdy chcą go udostępnić innym, muszą mieć punkt końcowy, aby komunikować się z innymi, którzy są zainteresowani takimi interakcjami, aby wdrożyć go w sieci za pomocą Internetu- usługi. Ten punkt końcowy jest niczym innym jak interfejsem ich aplikacji, który można zaprogramować na podstawie API.
Pomyśl o usłudze sieci Web jako o interfejsie API. Interfejs API jest obecnie tak ogólnym terminem, że usługa sieciowa jest interfejsem do funkcjonalności, zwykle związanym z biznesem, do którego można uzyskać dostęp z sieci za pomocą różnych protokołów.
Sprawdź to http://en.wikipedia.org/wiki/Web_service
Jak wspomniano łącze, Web API jest rozwinięciem usług sieciowych, które najprawdopodobniej dotyczą Web 2.0, podczas gdy usługi oparte na SOAP są zastępowane komunikacją opartą na REST. Należy pamiętać, że usługi REST nie wymagają definicji interfejsu API usługi XML, SOAP ani WSDL, więc różni się to znacznie od tradycyjnej usługi WWW.
inny przykład: usługa Google Maps API vs. usługa Google kierunek API api, podczas gdy pierwsza służy (dostarcza) plik javascript do witryny (która może być następnie wykorzystana jako interfejs API do tworzenia nowych funkcji), druga to usługa sieci Web Rest dostarczająca dane ( w formacie json lub xml), które można przetwarzać (ale nie można ich używać w interfejsie API).