Powrót do przeszłości

Popularne obecnie serwery aplikacyjne to nowe wcielenie technologii znanych z dużych komputerów mainframe.

Popularne obecnie serwery aplikacyjne to nowe wcielenie technologii znanych z dużych komputerów mainframe.

Wszystko już było: maszyny wirtualne, które interpretowały COBOL lub UCSD Pascal, komputery wieloprocesorowe - maszyny NCR z procesorami ECL "pożerającymi" kilowaty mocy, czy opracowane na uczelniach systemy rozproszone z Unixem.

Obecnie popularne serwery aplikacyjne nawiązują do najlepszych czasów komputerów mainframe. To nie mainframe zapewnia wysokie bezpieczeństwo danych - jest to raczej cecha scentralizowanego zarządzania, realizowanego obecnie w nowej formule centrów danych. Szerokie posługiwanie się monitorami transakcyjnymi sprawia, że użytkownik ma pewność, iż jego dane nie zaginą w trakcie skomplikowanych operacji.

Ograniczony świat monitorów

W latach 70. należało rozwiązać następujący problem: jak zapewnić integralność danych i skalowalność scentralizowanego systemu obsługującego dużą liczbę "nieinteligentnych" terminali. IBM miał już w tym czasie propozycję - monitor transakcyjny CICS pracujący na mainframe. Spełnia on również inną rolę: równomiernie rozdziela ograniczone zasoby systemu komputerowego, np. współdzieli pulę sesji połączeniowych z bazą danych na wszystkich klientów, zmniejszając wymaganie na zasoby z 1-2 MB do ok. 100 KB.

Monitory transakcji opracowywały cztery firmy: IBM, DEC, NCR i Tandem. IBM i NCR w latach 70. finansowały na uniwersytecie Carnegie Mellon badania, w wyniku których pojawiła się Encina, oparta na technologii zdalnego wywołania procedur RPC. Korzystając z wyników badań, NCR stworzył monitor transakcyjny TopEnd, nadbudowany na Encinie, IBM zaś opracował produkty znane obecnie jako TXSeries.

Tandem i DEC, pracując intensywnie w konsorcjum XOpen, usiłowały zachęcić utalentowanych specjalistów do rozwiązania skomplikowanego problemu obsługi transakcji w środowisku rozproszonym. Tak powstało Tuxedo, przejęte przez Novella, potem zaś przez BEA Systems.

Ponieważ lata 70. i 80. to okres szerokiego promowania systemów otwartych i środowisk rozproszonych, wielu specjalistów, nie mogąc lub nie chcąc współpracować z potentatami branży informatycznej, utworzyło nowe firmy zajmujące się monitorami transakcji. Tak powstały np. Momentum i WebLogic (przejęta później przez BEA Systems).

Web zmienia wszystko

Monitory transakcyjne są kosztowne. Najwięksi producenci - Oracle, Informix, Sybase - wprowadzili do swoich systemów niektóre możliwości monitora transakcyjnego. W efekcie zmniejszyło się zapotrzebowanie na tego typu monitory. Sytuację jednak zmieniła konieczność obsługi operacji transakcyjnych w Internecie.

W technologii obiektowej, od początku związanej z siecią Web, komunikacja między obiektami polega na wymianie komunikatów. Programista nie ma możliwości kontrolowania, co obiekt robi z komunikatem, nie ma wpływu na przebieg transakcji. Jeśli spojrzeć na dzisiejszą przeglądarkę Web, to jej możliwości odpowiadają terminalowi, do którego dodano interfejs graficzny funkcjonalnie odpowiadający Oracle Forms, wprowadzonych wiele lat temu w celu ułatwienia programowania interfejsu użytkowego na terminalu. Terminal komunikuje się z mainframe za pośrednictwem procesora komunikacyjnego lub tzw. front-end (FEP), od którego otrzymuje strony dla klienta i podobnie przesyła wyniki wprowadzania danych.

Serwer aplikacyjny

Serwer WWW to odpowiednik wspom-nianego FEP. Przygotowuje i przesyła do przeglądarki strony HTML i pobiera z niej dane. Język HTML pochodzi z SGML, którego podstawą był SDL (Screen Definition Language), służący do definiowania wyglądu strony na terminalu. Serwer WWW zajmuje się również multipleksowaniem dostępu wielu klientów do wspólnych zasobów i aplikacji, minimalizując potrzebne zasoby systemowe komputera.

Osadzanie aplikacji Web wymaga wykorzystania kontenera, w którym będzie możliwie uruchamianie i obsługa milionów obiektów, współpracujących z sobą lokalnie i komunikujących się z innymi obiektami w sieci. Taką rolę spełniają obecnie serwery aplikacyjne.

Serwery aplikacyjne umożliwiają osadzanie różnych obiektów: CORBA, COM, Java oraz specyficznych dla określonych środowisk programowania (np. PowerBuildera). Muszą posługiwać się innymi mechanizmami komunikacji niż zdalne wywołanie procedur. Nie można nakazać klientowi oczekiwania na odzew aplikacji, która chwilowo może być niedostępna.

Rozwiązaniem jest CORBA z licznymi usługami: powiadamiania o zdarzeniu, publikowania i subskrybowania informacji, kolejkowania komunikatów, usługami katalogowymi do odszukiwania obiektów w sieci rozproszonej, obsługą transakcji i in. Brokery obiektowe ORB, zapewniające obsługę obiektów w sieci rozproszonej CORBA, stanowią coraz częściej podstawę do konstruowania serwera aplikacyjnego.

W serwery aplikacyjne wbudowuje się coraz większe możliwości funkcjonalne, w tym obsługę komunikacji z bazą danych i multipleksowanie dostępu, a także właściwości specyficzne monitora transakcyjnego. Przykładowy serwer aplikacyjny M1 firmy BEA Systems to połączenie monitora transakcyjnego Tuxedo z brokerem obiektowym DEC. Podobne właściwości ma Component Broker IBM.


TOP 200