Usługi sieciowe - charakterystyka
Usługi internetowe mają następujące szczególne cechy behawioralne -
Oparte na XML
Usługi sieci Web używają XML w warstwach reprezentacji danych i transportu danych. Korzystanie z języka XML eliminuje wszelkie powiązania z siecią, systemem operacyjnym lub platformą. Aplikacje oparte na usługach internetowych są wysoce interoperacyjne na swoim podstawowym poziomie.
Luźno powiązane
Konsument usługi internetowej nie jest bezpośrednio powiązany z tą usługą internetową. Interfejs usługi sieci Web może się zmieniać w czasie bez uszczerbku dla możliwości interakcji klienta z usługą. Ściśle powiązany system oznacza, że logika klienta i serwera są ściśle ze sobą powiązane, co oznacza, że jeśli jeden interfejs się zmieni, drugi musi zostać zaktualizowany. Przyjęcie luźno powiązanej architektury sprawia, że systemy oprogramowania są łatwiejsze w zarządzaniu i umożliwia prostszą integrację między różnymi systemami.
Gruboziarnisty
Technologie zorientowane obiektowo, takie jak Java, udostępniają swoje usługi za pomocą indywidualnych metod. Indywidualna metoda jest zbyt precyzyjną operacją, aby zapewnić jakąkolwiek użyteczną możliwość na poziomie korporacyjnym. Tworzenie programu w języku Java od podstaw wymaga utworzenia kilku drobnoziarnistych metod, które są następnie składane w gruboziarnistą usługę, z której korzysta klient lub inna usługa.
Firmy i interfejsy, które ujawniają, powinny być gruboziarniste. Technologia usług sieci Web zapewnia naturalny sposób definiowania gruboziarnistych usług, które mają dostęp do odpowiedniej ilości logiki biznesowej.
Zdolność do bycia synchronicznym lub asynchronicznym
Synchroniczność odnosi się do związania klienta z wykonaniem usługi. W wywołaniach synchronicznych klient blokuje i czeka na zakończenie działania usługi przed kontynuowaniem. Operacje asynchroniczne umożliwiają klientowi wywołanie usługi, a następnie wykonanie innych funkcji.
Klienci asynchroniczni pobierają wyniki w późniejszym czasie, natomiast klienci synchroniczni otrzymują wyniki po zakończeniu usługi. Zdolność asynchroniczna jest kluczowym czynnikiem umożliwiającym tworzenie luźno powiązanych systemów.
Obsługuje zdalne wywołania procedur (RPC)
Usługi sieci Web umożliwiają klientom wywoływanie procedur, funkcji i metod na zdalnych obiektach przy użyciu protokołu opartego na języku XML. Procedury zdalne ujawniają parametry wejściowe i wyjściowe, które musi obsługiwać usługa sieci Web.
Rozwój komponentów za pomocą Enterprise JavaBeans (EJB) i .NET Components w ciągu ostatnich kilku lat w coraz większym stopniu stał się częścią architektur i wdrożeń w przedsiębiorstwach. Obie technologie są dystrybuowane i dostępne za pośrednictwem różnych mechanizmów RPC.
Usługa internetowa obsługuje RPC, udostępniając własne usługi, równoważne usługom tradycyjnego komponentu lub tłumacząc przychodzące wywołania na wywołanie komponentu EJB lub .NET.
Obsługuje wymianę dokumentów
Jedną z głównych zalet XML jest ogólny sposób przedstawiania nie tylko danych, ale także złożonych dokumentów. Dokumenty te mogą być tak proste, jak reprezentowanie aktualnego adresu, lub mogą być tak złożone, jak reprezentowanie całej książki lub zapytania ofertowego (RFQ). Usługi internetowe wspierają przejrzystą wymianę dokumentów, ułatwiając integrację biznesową.