Nadzieja w usługach

Subskrybuj RSS A A A
8 grudnia 2003
Piotr Dorosz

Technologie określane ogólnie jako usługi sieciowe (web services) budzą nadzieję na zmianę podejścia do integracji systemów informatycznych.

Technologie określane ogólnie jako usługi sieciowe (web services) budzą nadzieję na zmianę podejścia do integracji systemów informatycznych.

Usługi sieciowe to wygodny sposób na integrację aplikacji w ramach jednej firmy. Technologia ta umożliwia bowiem wyodrębnienie istniejących w organizacji procesów biznesowych i udostępnienie ich w sieci jako zbioru usług, które można przeszukiwać i subskrybować. To także sposób na udostępnienie określonej logiki biznesowej firmowych systemów informatycznych na zewnątrz, tak aby dowolny system zewnętrzny mógł automatycznie wymieniać z nim dane wg jasno określonych zasad.

Mimo tych oczywistych zalet, usługi sieciowe nie stanowią remedium na wszystkie bolączki współczesnej informatyki. Ponadto ich praktyczne wykorzystanie niesie wiele dodatkowych kosztów i inwestycji.

Niby nic nowego... a jednak

Aplikacje rozproszone miały początki w koncepcji klient-serwer. Rozproszona warstwa kliencka inicjuje wykonanie zadań, scentralizowana warstwa serwerowa zaś przetwarza napływające żądania. Trzeba jednak pamiętać, jaka była geneza tej koncepcji - przetwarzanie klient-serwer miało minimalizować ryzyko powstawania wąskich gardeł, równoważąc obciążenia poszczególnych systemów. Stanowiło także krok w kierunku niezależności projektowania poszczególnych części aplikacji. Aby zapewnić systemom skalowalność i niezawodność, koncepcję klient-serwer wkrótce wzbogacono w dodatkową, trzecią warstwę. Tak powstała architektura trójwarstwowa obejmująca: warstwę prezentacji - interfejs użytkownika, warstwę środkową - zawierającą logikę biznesową oraz warstwę danych - bezpośrednio wykonującą polecenia płynące z warstwy logiki na danych.

Podstawą komunikacji między rozproszonymi częściami aplikacji jest zastosowanie zdalnie wywoływanych procedur RPC (Remote Procedure Call). W celu odciążenia programistów od "niskopoziomowych" zadań, takich jak konwersja danych czy odmienna kolejność adresacji bajtów w różnych systemach, pojawiła się nowa warstwa oprogramowania realizowana przez systemy zwane potocznie middleware. Oprogramowanie tego rodzaju pozwala programiście zapomnieć o różnicach między systemami operacyjnymi, umożliwiając mu skupienie się na wykorzystaniu ich funkcji w tworzonej aplikacji.

Programiści mają obecnie do wyboru praktycznie trzy technologie middleware: CORBA (Common Object Request Broker Architecture), DCOM (Distributed Component Object Model) oraz RMI (Remote Method Invocation). Każda z nich ma wady i zalety. Wszystkie działają na podobnych zasadach, a różnice między nimi wynikają z zakresu oferowanych przez nie funkcji i poziomu ich złożoności.

Efektem tych różnic jest konieczność ścisłego - w sensie technologicznym - powiązania aplikacji klienta z aplikacją serwerową. Z powodu różnic w protokołach wykorzystywanych do komunikacji, nie można - bez wykorzystania dodatkowych mechanizmów - w bezpośredni sposób wywołać usługi procedury DCOM z poziomu aplikacji klienckiej wykorzystującej mechanizm RMI. Dodatkowo oprogramowanie middleware jest zwykle wykorzystywane w rozwiązaniach intranetowych i wywoływanie usług aplikacji wewnętrznych poza siecią korporacyjną może być, choćby ze względów bezpieczeństwa, niemożliwe, chyba żeby uciec się do korzystania z dodatkowych mechanizmów tunelowania typu IPsec VPN lub SSL/TLS.

W stosunku do typowej architektury wielowarstwowej architektura usług sieciowych znacznie większy nacisk kładzie na wyszukiwanie - zarówno w sieci korporacyjnej, jak i Internecie - gotowych usług spełniających określone funkcje. Można wyodrębnić trzy kategorie komponentów: dostawcę usługi (service provider) - udostępniającego usługę sieciową; korzystającego z usługi (service requestor) - wykorzystującego usługę udostępnianą przez dostawcę; brokera usług (service broker) - umożliwiającego korzystającemu znalezienie żądanej usługi.

Podobnie jak aplikacje klient -serwer, usługi sieciowe umożliwiają wykonywanie operacji na systemach zdalnych. Podstawowa różnica leży jednak w wykorzystywanych przez nie protokołach komunikacji, sposobie udostępniania logiki aplikacji i zasadach wymiany danych. W przeciwieństwie do systemów middleware, które wykorzystują protokoły binarne, usługi sieciowe komunikują się za pomocą komunikatów/dokumentów XML przesyłanych za pośrednictwem protokołu HTTP. To bardzo istotna zmiana - protokół HTTP bardzo rzadko jest blokowany przez zapory ogniowe. Usługi sieciowe mogą również z powodzeniem korzystać z protokołu SMTP czy FTP.

W Web Services komunikacja i podstawowa logika są jasno określone przez formaty dokumentów XML wykorzystywanych przez usługi i protokoły warstwy aplikacyjnej: SOAP, WSDL i UDDI. Ze względu na to, że wszystko odbywa się w warstwie aplikacyjnej, usługi sieciowe nadają się do integracji środowisk heterogenicznych pod względem systemu operacyjnego, języka programowania, wewnętrznej struktury itd.

Oceń artykuł

średnio: 0 liczba ocen: 0
1  2  3  4  5  dalej »

Komentarze (0)

Najnowsze

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

Zarządzanie po japońsku

W praktyce przemysłowej wypracowano szereg skutecznych metod zarządzania. Wiele powstało w Japonii. Dlaczego, mimo ich efektywności, nie zawsze są stosowane w biznesie?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Jak zaplanować karierę w branży IT

Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

Rekomendacje



Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88