Złoty środek - middleware

Oprogramowanie warstwy pośredniej odgrywa kluczową rolę w architekturze nowych aplikacji.

Oprogramowanie warstwy pośredniej odgrywa kluczową rolę w architekturze nowych aplikacji.

To, co w informatyce jeszcze niedawno było szczytem osiągnięć technicznych, po 5 latach staje się przestarzałe, co nie znaczy, że jest bezużyteczne. Nikt nie wyrzuca dawnych aplikacji ani systemów tylko dlatego że pojawiły się nowe rozwiązania i technologie. W efekcie informatyka korporacyjna to hybryda systemów, w których na stare systemy nałożono warstwy nowych technologii. A obecnie najmodniejsze są architektury trój- i wielowarstwowe.

Mimo zmiany architektury aplikacji, dane pozostają te same, niezależnie od tego, czy użytkownik ma do nich dostęp za pośrednictwem telefonu, przeglądarki Web czy specjalizowanej aplikacji klienckiej. Nie musi, a nawet nie chce wiedzieć, skąd pochodzą, jakie było ich oryginalne przeznaczenie i cel gromadzenia. Jednakże sposób użycia danych rzadko jest jednoznaczny. Inaczej wykorzystuje te same dane handlowiec mający dostęp do baz danych księgowych, informacji o zamówieniach czy stanie magazynu niż dyrektor finansowy.

Informacje w różnych systemach i aplikacjach są przechowywane w różnych formatach, w różnych bazach danych, z różnymi regułami semantycznymi dostępu. Aby efektywnie przekazywać dane użytkownikom, potrzebne jest oprogramowanie pośredniczące, pozwalające na skuteczną komunikację między różnymi systemami, składnicami danych i aplikacjami.

Problem dostępu

Najtrudniej dotrzeć do danych zgromadzonych w archiwalnych plikowych bazach danych na mainframe'ach. Z nadejściem Unixa i Windows NT do obsługi aplikacji klient/serwer władzę nad danymi przejęły relacyjne bazy.

Termin "relacyjna baza danych" nie jest jednoznaczny. Większość producentów wprowadza własne rozszerzenia standardu SQL, rzekomo w celu polepszenia właściwości, w rzeczywistości zaś w celu przywiązania klientów do swojego modelu przetwarzania.

Lawinowy rozwój systemów ERP nie uprościł problemu dostępu do danych - wręcz przeciwnie. Twórcy tych systemów stosują bowiem utajnione, firmowe sposoby organizowania danych w bazach, zapewniając w ten sposób przywiązanie klientów do swoich rozwiązań.

Różnorodności nie da się uniknąć

Z największą różnorodnością architektur aplikacyjnych mają do czynienia klienci IBM. Warto więc na przykładzie produktów tej firmy poznać współczesną ofertę programów pośredniczących w dostępie do danych.

Celem oprogramowania pośredniczącego (middleware) jest pobranie danych z różnorodnych źródeł zaplecza, wstępne przetworzenie lub zmiana formatu i dystrybucja do różnych rodzajów aplikacji klienckich. Niektóre z tych programów są opracowywane pod kątem współpracy z bazami zaplecza, inne - koordynacji aplikacji Web. Niektóre programy są przeznaczone do szybkiego i taniego tworzenia prostych aplikacji, inne do stałej obsługi strategicznych, ale kosztownych aplikacji.

Do sieci Web

Produkty związane z działalnością internetową IBM nazywa Web-Up Majority. Najważniejszym produktem jest serwer aplikacyjny WebSphere - produkt o nowoczesnych cechach, nie wymagający wiele pracy przy tworzeniu, osadzaniu i zarządzaniu aplikacjami.

Produkty typu Web-Up zwykle pozwalają na szybkie tworzenie aplikacji. Nie są jednak przygotowane jako "długowieczne" rozwiązania. WebSphere nadaje się do "zinternetyzowania" istniejących aplikacji. Nigel Beck z działu produktów WebSphere w IBM twierdzi, że serwer jest przeznaczony dla "klientów, prowadzących transakcje w sieci Web za pośrednictwem protokołu HTTP". WebSphere zawiera moduł wykonawczy (run-time) do uruchamiania servletów Java, łączniki do baz danych i zestaw usług aplikacyjnych. Serwer ten pozwala programiście pisać kod Java łączący strony Web ze źródłami danych. Współpracuje z dowolnym serwerem HTTP, a pakiet instalacyjny zawiera serwery Apache i Lotus Go.

Performance Pack służy do optymalizowania operacji związanych z witrynami obsługiwanymi przez WebSphere, pozwalając na rozdzielanie obciążenia na działające serwery aplikacyjne, replikację plików, buforowanie stron w pamięci i filtrowanie. Pozwala np. przekierować ruch do kopii witryny położonej najbliżej klienta.

Przedsiębiorstwo w dół

IBM definiuje grupę starannie przebadanych i kosztownych produktów Enterprise-Down Minority, przeznaczonych do budowy strategicznych aplikacji krytycznych, które oprą się próbie czasu. Wymagają one dużego zaangażowania ze strony zespołu działu informatyki przy tworzeniu i obsłudze aplikacji. Do tej kategorii należą Component Broker i MQ Integrator.

Oba produkty to serwery aplikacyj-ne. IBM pozycjonuje Component Broker dla nowych aplikacji, a MQ Integrator ma służyć do włączania do sieci Web istniejących aplikacji na mainframe'ach i systemach unixowych.

Component Broker zapewnia "opakowanie" danych z istniejących aplikacji w formę dogodną do użycia w środowiskach obiektowych, podczas gdy MQ Integrator jest kompletnym produktem, przystosowującym dane do użycia w środowisku opartym na wymianie komunikatów.

Alistair Rennie z działu IBM Component Broker mówi, że "jest to system integracyjny do opracowania zbioru komponentów rozproszonych i osadzania ich na zbiorze rozproszonych serwerów aplikacyjnych". Za pomocą Resource Managera pobiera się dane z istniejących źródeł - różne bazy danych, systemy ERP, mainframe oraz z innych środowisk middleware (np. MQ Integrator czy CICS), a następnie łączy je z aplikacjami za pomocą adapterów aplikacyjnych, które prezentują je w serwerze w formie obiektów. Component Broker nadaje się do dostępu do danych, zgromadzonych w systemach ściśle kontrolowanych. Ponadto Component Broker jest skalowalny - od Windows NT, po system OS/390.

MQ Integrator lepiej jest wykorzystać do integracji danych z systemów luźno powiązanych, komunikujących się z sobą przez wymianę komunikatów za pomocą takich produktów, jak IBM Message Queue. MQ Integrator ma wbudowany motor do transformacji danych, pozwalający na wymianę danych z systemów o różnej semantyce, bez potrzeby pisania kodu, a jedynie po skonfigurowaniu pakietu. W Component Brokerze nie ma motoru transformacji, programista musi więc napisać całość kodu do przekształcania formatu i znaczenia danych. MQ Integrator zawiera również motor do obsługi procesów, pozwalający na koordynację procesów pobierania i przesyłania danych.

Korzyści

Analitycy z Gartner Group uważają, że programy typu Web-Up i Enterprise-Down doskonale się uzupełniają. Web-Up zapewnia przedsiębiorstwom możliwość udostępniania istniejących właściwości funkcjonalnych nowej klasie użytkowników z sieci Web, Enterprise-Down zaś lepszą integrację z partnerami i dostawcami. Produkty takie "biorą we władanie aplikację", kontrolując jej dostępność, integralność i wydajność.

Programy typu middleware to typowe produkty "poziome", operujące na transakcjach i komunikatach, chociaż znalazły również zastosowanie na rynkach finansowych, gdzie służą do ochrony integralności transakcji. Na rynku telekomunikacyjnym zaś zapewniają szybkie przetwarzanie komunikatów o połączeniach (nie zajmują się połączeniami).

Konkurencja

Jakość produktów typu middleware jest mierzona tym, jak równoważą one dwie cechy: wydajność (mierzoną liczbą transakcji/komunikatów na sekundę) i integralność (odsetek zagubionych lub błędnych transakcji). Ważnym czynnikiem jest również liczba obsługiwanych użytkowników, ale mierzyć ją można jedynie w konkretnych warunkach klienta. Natomiast praktycznie nie da się przeprowadzić pomiaru wydajności middleware. Jeśli więc dostawca twierdzi, że oferowany produkt przetwarza 100 transakcji/s przy 5 tys. jednoczesnych użytkowników - to należy to traktować jako slogan reklamowy, nie mający nic wspólnego z prawdą.

Większość produktów typu middleware operuje na komunikatach lub transakcjach. Component Broker należy do nieco innej kategorii programów operujących na obiektach. IBM ma tu dużą przewagę: na rynku nie istnieje inny produkt o porównywalnych właściwościach. Najbliższy jest Microsoft Transaction Server (MTS), ale np. Object Request Broker (Inprise/Borland, opracowanie Visigenic) czy M3 (BEA Systems) nie są tak uniwersalne ani tak dopracowane.

MQ Integrator - będący połączeniem IBM Message Queue Series z NeoNet (firmy NeonSoft) - nie ma właściwie konkurencji. Tylko niektóre z jego cech są realizowane przez takie produkty, jak MessageQ (BEA Systems), Pipes (PeerLogic) czy SmartSockets (Telarian). Microsoft w odpowiedzi na sukcesy IBM Message Queue Series opracował Message Queue (MSMQ), ale produkt ten nie zyskał powszechnego uznania.

W dziedzinie produktów Web-Up, Web-Sphere konkuruje z produktami iPlanet Application Server (Sun-Netscape Alliance), SaphireWeb (Bluestone), Oracle Application Server i in. Największym powodzeniem cieszy się Oracle Application Server, co wynika z jego ścisłej integracji z bazami danych Oracle8i. Dopracowanym produktem jest również iPlanet, łączący technologie firm Kiva, NetDynamics i Netscape.

Rynek

Poszczególne firmy konsultingowe różnie określają rozmiary rynku na produkty typu middleware. Gartner Group ocenia, że wartość rynku dla serwerów aplikacyjnych w 2001 r. wyniesie 600 mln USD, a dla programów integracyjnych typu MQ Integrator - 1,3 mld USD.

Standish Group dzieli produkty na mniejsze kategorie: wg tego, czy operują na obiektach, komunikatach czy transakcjach. Rynek brokerów obiektowych osiągnie wartość 700 mln USD, zaś monitorów obiektowych - 370 mln USD. Zakupy brokerów komunikatów (takie jak MQ Integrator) wyniosą 1 mld USD. Oprogramowanie czysto transakcyjne (np. CICS, Tuxedo) nadal będzie miało duży udział w rynku - 2 mld USD.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200