SOA a usługi sieciowe
Usługi sieciowe są używane do tworzenia aplikacji, które mogą wysyłać / odbierać wiadomości za pomocą SOAP przez HTTP. Usługa internetowa to upubliczniony pakiet funkcji oferowany przez Internet. SOA to zestaw koncepcji architektonicznych używanych do rozwoju i integracji usług. Z usług sieciowych można korzystać w celu implementacji SOA. Ale to tylko jedna metoda realizacji aplikacji opartych na SOA.
Co to są usługi sieciowe?
Usługa sieciowa to metoda komunikacji w sieci. Według W3C usługa sieciowa to system dedykowany do obsługi transakcji maszyna-maszyna w sieci. Jest to interfejs API sieci Web opisany w WSDL (język opisu usługi sieci Web), a usługi sieci Web są zwykle samodzielne i samoopisują się. Usługi sieciowe można wykryć za pomocą protokołu UDDI (Universal Description, Discovery and Integration). Dzięki wymianie komunikatów SOAP (Simple Object Access Protocol) zwykle przez HTTP (z XML) inne systemy mogą wchodzić w interakcje z usługami internetowymi.
Usługi sieciowe są używane na wiele sposobów, takich jak RPC (Remote Procedural Call Calls), SOA (Service Oriented Architecture) i REST (Representational State Transfer). Istnieją dwie metodologie automatycznego projektowania do tworzenia usług sieciowych. Podejście oddolne dotyczy najpierw utworzenia klas, a następnie użycia narzędzi do generowania WSDL, aby skomponować te klasy jako usługi sieci Web. Podejście odgórne dotyczy definiowania specyfikacji WSDL, a następnie używania narzędzi do generowania kodu w celu wygenerowania odpowiednich klas. Usługi sieciowe mają dwa główne zastosowania. Mogą być używane jako komponenty aplikacji wielokrotnego użytku i / lub do łączenia aplikacji internetowych działających na różnych platformach.
Co to jest SOA?
SOA (architektura zorientowana na usługi) to zestaw koncepcji architektonicznych wykorzystywanych do rozwoju i integracji usług. SOA zajmuje się przetwarzaniem rozproszonym, w którym konsumenci korzystają z zestawu usług interoperacyjnych. Wielu konsumentów może korzystać z jednej usługi i odwrotnie. Dlatego SOA jest często używany do integracji wielu aplikacji korzystających z różnych platform. Aby SOA działała poprawnie, usługi powinny być luźno połączone z systemami operacyjnymi i technologiami aplikacji bazowych. Programiści SOA tworzą usługi przy użyciu jednostek funkcjonalności i udostępniają je przez Internet. Z usług sieciowych można korzystać w celu implementacji architektury SOA. W takim przypadku usługi sieciowe stają się jednostkami funkcjonalności SOA dostępnymi w Internecie. Z usług internetowych może korzystać każdy, bez obawy o platformy lub języki programowania służące do ich rozwijania. SOA opiera się bezpośrednio na zasadzie zorientowania na usługi, która mówi o usługach z prostym interfejsem, do którego użytkownicy mogą uzyskać dostęp niezależnie, bez obawy o faktyczną implementację platformy.
Jaka jest różnica między SOA a usługami sieci Web?
Istnieją pewne kluczowe różnice między usługami sieciowymi a SOA. Usługi sieciowe definiują technologię internetową, której można używać do tworzenia aplikacji, które mogą wysyłać / odbierać wiadomości za pomocą SOPA przez HTTP. Jednak SOA to model architektoniczny służący do wdrażania luźno powiązanych aplikacji opartych na usługach. Z usług internetowych można korzystać do wdrażania aplikacji SOA. Mimo że podejście sieciowe do SOA stało się bardzo popularne, jest to tylko jedna metoda implementacji SOA. SOA można wdrożyć za pomocą dowolnej innej technologii opartej na usługach (np. CORBA i REST).