Klient/Serwer - architektura z przyszłością

W "szerokim świecie" projekty klient/serwer przestają dziś być przedsięwzięciami pionierskimi, dostępnymi tylko dla organizacji, które stać na inwestowanie w rozwój technologii projektowania systemów. Aplikacje tworzone zgodnie z tym paradygmatem wychodzą ze stadium projektów pilotowych.

W "szerokim świecie" projekty klient/serwer przestają dziś być przedsięwzięciami pionierskimi, dostępnymi tylko dla organizacji, które stać na inwestowanie w rozwój technologii projektowania systemów. Aplikacje tworzone zgodnie z tym paradygmatem wychodzą ze stadium projektów pilotowych.

Wydaje się, że doświadczenia zebrane przez organizacje, które takie projekty przeprowadziły pozwalają przewidywać, że architektura klient/serwer zdominuje w najbliższych latach rynek dużych, strategicznych systemów informatycznych. Wiele źródeł zajmujących się analizą rynku informatycznego sygnalizuje rosnące zainteresowanie możliwościami oferowanymi przez systemy tej klasy. Badania przeprowadzone w 1992 r. przez brytyjską firmę Spikes & Clavell wykazały, że w dużych europejskich ośrodkach informatycznych przewiduje się poważne inwestycje w tworzenie nowych systemów o tej właśnie architekturze.

Ewolucja systemów informatycznych

Rozwój oprogramowania powstającego w naszym kraju wydaje się potwierdzać pewien ogólny wzorzec kierunków rozwoju systemów wspomagających działalność organizacji. Na początku są zwykle systemy o zasięgu lokalnym, wspomagające działalność niedużej grupy końcowych użytkowników. Druga połowa lat 80. to burzliwy rozwój systemów typu f/k czy kadry/płace (a raczej kadry/place, bo bez polskich liter). Systemy te wspomagały istniejące procedury przetwarzania dokumentów, nie usprawniając na ogół w zasadniczy sposób procesów zarządzania wykorzystujących tworzone przez nie informacje.

Koniec lat 80. i następne lata, to stopniowe wyłanianie się nowej klasy potrzeb. Oto zaczęły się pojawiać organizacje komercyjne, dla których brak sensownych systemów zarządzających informacją kluczową dla misji organizacji stał się poważnym czynnikiem hamującym rozwój. Niemożność rozwoju na dynamicznym, konkurencyjnym rynku to niebezpieczeństwo śmiertelne. Chyba przede wszystkim za sprawą informatyki bankowej i restrukturyzacji dużych firm państwowych zawitała do Polski ponownie "poważna" informatyka, niemiłosiernie wytrzebiona w czasie rewolucji, spowodowanej przez ograniczenia importowe połączone z wszechobecnością komputerów klasy PC. Dzisiaj wiele organizacji próbuje realizacji systemów strategicznych, których podstawowym zadaniem jest wspomaganie procesów zarządzania i podniesienia sprawności, elastyczności orazi konkurencyjności organizacji. Zdarzają się też poważne inwestycje w oprogramowanie. Są dziś w naszym kraju projekty informatyczne o wartości milionów dolarów, finansowane przez prywatne, polskie firmy.

Przejściu od systemów lokalnych, realizujących doraźne potrzeby do zintegrowanych systemów wspomagających zarządzanie towarzyszą zmiany w technologii tworzenia systemów. Systemy lokalne powstawały (i długo jeszcze będą powstawać) przy wykorzystaniu prostych narzędzi klasy XBase. Często były to systemy dosłownie lokalne - nie dające możliwości współdzielenia danych przez użytkowników pracujących w sieci. Niestety, dobór narzędzi nie pozostał bez wpływu na jakość powstających produktów. Systemy te zwykle niezbyt dobrze radzą sobie z większą liczbą danych. Z powodu braku mechanizmów transakcyjnych integralność referencyjna danych zachowana jest jedynie przez regularne odbudowywanie kluczy, zaś o bezpieczeństwie i poważnej kontroli dostępu w ogóle nie może być mowy. Tego typu nieduże systemy konstruowane są zwykle w sytuacji nacisków icoraz to nowych pobożnych życzeń użytkowników, co owocuje niską jakością, chaotycznym cyklem projektowym i brakiem jakiejkolwiek dokumentacji, umożliwiającej długofalową pielęgnację.

Z wymienionych wyżej powodów praktyczne niemożliwe jest "przeskalowanie" istniejących aplikacji tak, aby obejmowały rosnące apetyty organizacji na systemy wspomagające zarządzanie. Systemy strategiczne buduje się dziś w Polsce od podstaw. W rezultacie organizacje podejmujące poważne projekty informatyczne stają przed wyborem narzędzi mogących sprostać skali problemu. Dostrzega się też niejednokrotnie potrzebę zmian w organizacji pracy zespołów informatycznych. Ciekawym zjawiskiem, potwierdzającym powyższe obserwacje, jest dynamika wzrostu sprzedaży "dużych" systemów baz danych. Ekstrapolując wyniki pierwszego półr. 1993 r. dla systemów takich jak Oracle czy Informix, można ostrożnie przewidywać 60% wzrost zainteresowania profesjonalnymi narzędziami informatycznymi w skali roku.

Można zaryzykować twierdzenie, że dziś zespoły podejmujące poważne zadania projektowe uczą się informatyki na nowo. Fakt ten świadczy o perspektywicznym patrzeniu na problemy. Dla tych, którzy jako pierwsi zdobędą nowe kwalifikacje - analityka i projektanta systemów - otwiera się nowy, niewątpliwie bardzo atrakcyjny rynek pracy.

Dlaczego architektura klient/serwer może być w Polsce atrakcyjna

O technicznych aspektach i głównych koncepcjach architektury klient/serwer napisaliśmy już w ComputerWord wiele (p. CW nr 33 z dnia 13.09.93). Spróbujmy zatem skupić się teraz na możliwościach spełnienia się obietnic towarzyszących tej architekturze.

Mówiąc o ewolucji systemów informatycznych postawiliśmy tezę, że Polska jest dziś swoistym informatycznym terenem budowy. Wiele organizacji wdrażających lub myślących o wdrożeniu systemów informatycznych to albo restrukturyzujące się firmy państwowe, albo młode prywarne przedsiębiorstwa dla których sukces rynkowy stwarza nowe potrzeby, związane z usprawnieniem zarządzania. Jeśli dodamy do tego fakt, że ramy prawne działalności gospodarczej często ulegają zmianom w procesie ustanawiania gospodarki wolnorynkowej, otrzymamy obraz niepokojący każdego informatyka, który miałby się podjąć stworzenia systemu wspomagającego zarządzanie.

Automatyzacja działania organizacji, w której brak formalnych, ustabilizowanych procedur przetwarzania informacji wydaje się być zadaniem z góry skazanym na porażkę. W każdym razie trudno sobie tu wyobrazić zastosowanie pełnego, klasycznego cyklu projektowego, zwłaszcza gdy - jak to często dzisiaj bywa - projekt realizowany jest przez zespół uczący się dopiero strukturalnych metod projektowania. Zanim analitycy stworzyliby szczegółowy opis systemu, warunki określające jego cele i zadania mogłyby stać się dawno nieaktualne.

Architektura klient/serwer zdaje się być interesującym rozwiązaniem tego rodzaju problemów. Jest też rozwiązaniem w pewnej mierze sprawdzonym w podobnych warunkach jak te, o których pisaliśmy wyżej. Realizacje systemów w architekturze klient/serwer w krajach o rozwiniętym przemyśle informatycznym często towarzyszą zmianom organizacyjnym w przedsiębiorstwach, określanym terminem business process reingineering. Tego typu zmiany, mające podnieść konkurencyjność organizacji są odpowiednikiem "naszej" restrukturyzacji. Firmy realizujące systemy wspomagające restrukturyzację zawsze stają wobec problemów związanych z brakiem stabilnych, ogólnie przyjętych i praktykowanych procedur przetwarzania informacji - tak jak to opisaliśmy wcześniej. Potrzebna jest więc architektura pozwalająca iteracyjnie budować warstwę funkcjonalną aplikacji działających na wspólnych danych, stanowiących fundament integrujący system informatyczny. Sposób obsługi aplikacji, wymagania co do realizowanych funkcji zmieniają się wraz z krystalizowaniem się nowego kształtu przedsiębiorstwa. Iteracyjny cykl projektowy i techniki dotyczące modelowania aplikacji z perspektywy użytkownika (user centered approach) to podstawowe mechanizmy dostosowujące systemy klient/serwer do tak określonych potrzeb. Struktura danych jest dla odmiany dla większości organizacji stosunkowo stabilna i łatwa do uchwycenia - choćby w postaci modelu danych opisującego schemat relacyjnej bazy danych. Pozytywne doświadczenia pierwszych wdrożeń systemów klient/serwer zdają się potwierdzać przydatność nowych metod i narzędzi wspomagających ich realizację. Doświadczenia te mogą być dobrą nowiną dla rodzimych wytwórców oprogramowania, zmagających się z żywiołem dynamicznie zmieniającej się gospodarki.


TOP 200