Pierwsza runda: serwer

Większość ludzi intuicyjnie wie co to jest komputer osobisty, ale nie bardzo co to takiego serwer? Termin serwer ma dwa znaczenia określające:

Większość ludzi intuicyjnie wie co to jest komputer osobisty, ale nie bardzo co to takiego serwer? Termin serwer ma dwa znaczenia określające:

* Sprzęt, który w sieci zapewnia określone usługi.

* Część oprogramowania, świadczącą usługę innemu programowi.

Pierwsze z tych znaczeń jest przedmiotem podanej tu analizy i jest stosunkowo jasne. Drugie jednak jest na znacznie wyższym poziomie abstrakcji i będzie omówione w dalszej części książki. Tak więc, na razie, serwer oznacza dla nas fragment osprzętu, czyli komputer pełniący tę rolę.

Piękne w komputerach osobistych jest to, że są one osobiste - poświęcone indywidualnym potrzebom użytkownika - nie dzielone z innymi. Równocześnie jednak nie da się całkowicie uniknąć dzielenia różnymi rzeczami w życiu codziennym i tu z pomocą przychodzi serwer, którego rolą jest ułatwienie procesu korzystania ze wspólnych usług i informacji.

Terminy serwer (w znaczeniu potocznym sługa) i usługa pojawiają się dość często w bieżącej dyskusji wobec czego dobrze byłoby poznać ich definicję:

1. Pomoc okazana komuś; grzeczność, uprzejmość.

2. Praca wykonana dla innych w ramach wykonywania zawodu.

3. Działalność służąca do zaspokajania potrzeb ludzkich.

Wspólne korzystanie z zasobów

Uwzględniając wszystkie wariacje na prosty temat, zawsze dochodzimy do jednego wniosku - sługa (serwer) pracuje dla innych. Tak dokładnie jest, gdyż celem serwera jest wykonywanie pracy dla wszystkich komputerów osobistych od niego zależnych. Czemu nie mogą robić tego same? Ogólnie rzecz biorąc dlatego, że większość zadań serwera polega na zarządzaniu wspólnym zasobami systemu - zasobami, które używane są przez wielu użytkowników, być może jednocześnie. Komputery osobiste nie dysponują metodami łatwej koordynacji pracy między sobą i tu z pomocą przychodzi serwer.

Serwery wykonują pewne usługi, ale dla kogo? Oczywiście dla komputerów osobistych używanych przez poszczególnych ludzi. Ponieważ zarówno serwery, jak i komputery dla których pracują są maszynami, potrzebny jest jakiś termin na określenie tych ostatnich. Zgadli Państwo - to są klienci. Mamy więc pierwsze przybliżenie idei klient/serwer: jest to system składający się z komputera zwanego serwerem, umożliwiającego dostęp do wspólnych zasobów wielu klientom. Jak pokażemy później, jest to najprostsza i najmniej interesująca forma układu klient/serwer, ale dająca solidne podstawy do rozpoczęcia analizy tematu. Następna część mówi więcej o tym, co serwery robią naprawdę i jak do tego doszło.

Narodziny sieci: wspólna drukarka

U schyłku lat 70., komputery były już na tyle tanie, że mogły stać na każdym biurku, ale drukarki i sterowniki do dysków nadal były drogie. Niewielu użytkowników drukuje cały dzień, toteż naturalnym pomysłem było podzielenie się drukarką, a w późniejszym okresie również pamięciami dyskowymi.

Dopóki wszystkie PC dzielące się drukarką znajdują się blisko siebie, można sobie poradzić przenosząc drukarkę z biurka na biurko, bądź tylko przełączając kabel. Jednak bardzo szybko staje się to utrudnieniem, szczególnie przy dużej liczbie komputerów. Innym rozwiązaniem jest przenoszenie dyskietek z przygotowanymi do wydruku tekstami, co eliminuje konieczność przełączania. Tak czy owak, w obu przypadkach kończy się na tym, że ustawia się normalna kolejka ludzi pragnących wydrukować, być może, tylko półstronicowy tekst.

Nie upłynęło więc dużo czasu, jak upowszechniły się skrzynki przełączające, umożliwiające dostęp wielu komputerom do jednej drukarki bez potrzeby wykonywania jakichkolwiek ruchów. Potrafiły nawet automatycznie wykrywać skąd przychodzi polecenie drukowania i przełączać się na odbiór danych z właściwego komputera. Jednak w tym momencie drukarka stawała się niedostępna dla innych użytkowników i znów tworzyła się kolejka zainteresowanych. Poza tym, przełączniki takie mogły obsłużyć ograniczoną liczbę komputerów.

Około roku 1982, kiedy zaczęły rozpowszechniać się sieci lokalne ( LAN - Local Area Network), pojawił się pomysł, aby drukarką zarządzał komputer. W sieci LAN wszystkie komputery połączone są ze sobą, więc jeśli jeden z nich odpowiedzialny jest za sterowanie drukarką, to jest on - a za jego pośrednictwem również drukarka - dostępny dla wszystkich pozostałych komputerów. Przez zastąpienie skrzynek przełączających komputerem ogólnego zastosowania do sterowania drukarki, wszyscy użytkownicy komputerów w sieci uzyskali dostęp do wspólnego dobra - drukarki. I to bez potrzeby ustawiania się w kolejce. Aby ułatwić sobie życie, zacznijmy nazywać komputer sterujący drukarką serwerem, który oddaje innym komputerom usługi związane z dostępem do drukarki.

Usługi serwera

Poza zwiększeniem liczby komputerów mogących mieć dostęp do drukarki, jak jeszcze może serwer pomóc? Po pierwsze, kiedy ktoś zechce drukować, serwer przyjmie jego zlecenie natychmiast, nawet jeśli ma jeszcze 50 stron do wydrukowania dla innego użytkownika. Po prostu tymczasowo zapisze w pliku to, co ma być wydrukowane i ustawi ten plik w kolejce do wydruku. Nawet jeśli drukarka jest wolna, taka metoda zapewnia przyspieszenie pracy, gdyż serwer o wiele szybciej wygeneruje plik niż drukarka go wydrukuje.

Wgłębiając się nieco w zawiłości drukowania zauważymy, że serwer może oferować szeroki wybór usług:

* Może obsługiwać wiele drukarek rozdzielając pracę równomiernie między nimi.

* W wypadku, kiedy dane zlecenie wymaga druku na specjalnym papierze, serwer może zatrzymać je w kolejce aż do momentu, kiedy w którejś z obsługiwanych drukarek pojawi się właściwy papier.

* Zlecenia drukowania mogą być rozdzielone w czasie; serwer jest włączony cały czas, więc może je wykonywać w dowolnym czasie, nawet jeśli zlecająca maszyna jest wyłączona.

* W razie trudności, np. zablokowania się papieru w drukarce bądź awarii zasilania, serwer może powtórzyć dany wydruk bez potrzeby powtórnego zlecania.

* Dostęp do drukarek może być zarówno rozszerzony, jak i ograniczony. Przyłączenie drogich urządzeń, np. kolorowych drukarek laserowych powoduje, że stają się one dostępne dla wszystkich. Można zapobiec marnotrawstwu programując serwer do przyjmowania zleceń wydruku na wybranych urządzeniach tylko od konkretnych użytkowników lub pytania o hasło przed przyjęciem zlecenia.

* Serwer może śledzić wykorzystanie drukarek i sporządzać raporty, na podstawie których można byłoby identyfikować potencjalne "wąskie gardła" i podejmować odpowiednie decyzje zapobiegawcze, np. o kupnie nowej drukarki lub przesyłaniu zleceń do innych serwerów.

Usługi te wynikają z faktu, że serwer jest jednocześnie wyspecjalizowany i wspólny. Dzięki temu, że jest wspólny

może dzielić dostęp do drukarki między użytkowników w miarę ich potrzeb. Zaś dzięki temu, że jest wyspecjalizowany, można go zostawić samemu sobie będąc pewnym, że wykona swoje zadanie jak należy. Co najlepsze, niezależnie od tego, jak bardzo jest załadowany pracą czy nawet przeładowany, komputery użytkowników nie muszą sobie zawracać tym głowy.

Zanim zostawimy serwer drukarkowy w spokoju i zajmiemy się dyskami, zastanówmy się jeszcze przez chwilę, w jaki właściwie sposób nasz wydruk przesyłany jest do serwera zamiast do lokalnej drukarki.

Jak oszukać komputer?

Przed wprowadzeniem serwera do pracy użytkownik, który chciał coś wydrukować, musiał mieć przyłączoną drukarkę do swojego komputera. Zwykle komputery są wyposażone w ustaloną liczbę łączy lub inaczej portów drukarkowych. Port to po prostu wtyczka lub gniazdo, do którego może być przyłączone urządzenie zewnętrzne, takie jak drukarka czy modem. Zazwyczaj porty te zwane są LPT1, LPT2 i LPT3. Dodatkowo większość komputerów osobistych ma do czterech portów komunikacyjnych (COM1 - COM4), które także mogą być wykorzystane do drukowania. System operacyjny komputera ma wbudowane narzędzia umożliwiające drukowanie, powiązane z danymi portami, a oprogramowanie używa tych narzędzi do wygenerowania wydruku. W jaki więc sposób wysłać wydruk do serwera zamiast na drukarkę i to tak aby zlecająca aplikacja nie wiedziała, że nie dysponujemy lokalną drukarką?

No i mamy problem: nawet w 1982 r., kiedy wprowadzono do użytku serwery drukarkowe, istniało już na rynku dużo aplikacji - WordStar, dBASE, 1-2-3, VisiCalc i tysiące innych - które umiały drukować, więc żadne rozwiązanie, które miałoby uczynić te aplikacje bezużytecznymi nie wchodziło w grę. Co gorsza, wiedza tych aplikacji sięgała dalej, np. pozwalały one na wykorzystanie któregokolwiek z dostępnych portów do wydruku. Powstało więc pytanie czy można udostępnić użytkownikowi, aplikacjom i lokalnym systemom operacyjnym drukarkę sieciową tak, aby była ona widziana jako drukarka lokalna? Dokładnie to robi oprogramowanie sieciowe na każdej stacji roboczej z pomocą

serwera sieciowego - pozwala traktować drukarkę sieciową jakby była fizycznie przyłączona do danej stacji. A wszystko to osiągnięto z pomocą kuglarskiej sztuczki zwanej przekierunkowaniem lub przeadresowaniem: program myśli, że wysyła dane na drukarkę, ale oprogramowanie sieciowe przekierunkowuje je cichaczem do serwera.

Nawet dzisiejsze oprogramowanie sieciowe stawia sobie za punkt honoru ogłupienie komputera osobistego użytkownika pozwalając mu myśleć, że urządzenia zewnętrzne, do których ma dostęp są jego lokalnymi. Kiedy oprogramowanie sieci LAN instalowane jest na Waszym komputerze, to zawiera ono narzędzie do przekierunkowywania zleceń druku, a jak za chwilę pokażę również dostępu do pamięci dyskowych.

Urządzenia logiczne

Rola sieci i serwera polega na udostępnieniu komputerowi użytkownika logicznej drukarki. Dla pracujących aplikacji, ta wirtualna drukarka działa ze wszech miar jak rzeczywista, przyłączona do jednego z portów. Co ważniejsze, drukarka taka może być dostępna dla wielu użytkowników i to zupełnie dla nich niewidocznie. Zadaniem serwera jest utrzymanie tej iluzji nienaruszonej.

Wspólne korzystanie z miejsca na dysku

Pierwsze IBM PC były wyposażone w napędy do miękkich dysków lub taśm magnetycznych. Niestety oba te nośniki są zbyt wolne i małe, aby przechowywać duże ilości informacji. Twarde dyski były z kolei tak drogie, że użytkownicy komputerów nie mogli pozwolić sobie na zakupienie własnych. W rezultacie twarde dyski stały się drugim elementem przyłączonym do serwera.

We wczesnych latach 80., wielu użytkowników dzieliło twardy dysk w serwerze, ale w bardzo ograniczonym sensie, co wyjaśnię za chwilę. Model wspólnego dostępu do dysku zapożyczono od serwera drukarkowego, co dało każdemu użytkownikowi złudzenie posiadania własnego, lokalnego dysku. Właściwie we wczesnych dokumentacjach systemów dyski te opisywane były jako logiczne dyski miękkie. Typowe dla komputera osobistego w tych czasach było posiadanie jednego lub dwóch napędów dysków miękkich do przechowywania wszystkich informacji. Serwer dawał wrażenie posiadania dodatkowych napędów. Jeśli pierwsze dwa były oznaczone jako A: i B:, serwer jak za dotknięciem czarodziejskiej różdżki dołączał napęd C:, a może nawet D:. Dla użytkownika te logiczne dyski miękkie były pod każdym względem jak lokalne poza jednym - nie mogły być wyjęte z komputera.

Patrząc z perspektywy serwera, można zobaczyć jak naprawdę ograniczony jest ten model wspólnego dostępu. Serwer startuje ze stosunkowo dużym dyskiem twardym. Następnie dysk ten jest dzielony na części o ustalonym rozmiarze odpowiadającym logicznemu dyskowi miękkiemu. Jeśli jakiś użytkownik związany jest z serwerem, to jest automatycznie związany ze swoim osobistym dyskiem logicznym. Model ten, niezbyt popularny obecnie, jest określany jako serwis dyskowy. Fakt, że serwer podzielił swój drogocenny twardy dysk między wielu użytkowników, ale żaden z nich nie mógł podzielić się przechowywanymi danymi z innymi użytkownikami. Poza przenoszeniem dyskietek między komputerami, nie było innych metod dzielenia się informacjami (co prawda, istniały techniczne możliwości wymiany danych, ale były tak prymitywne, że nikt ich nie używał).

Korzyści z usług dyskowych

Uwzględniając te wszystkie ograniczenia, czy serwer miał jakieś liczące się plusy? Według dzisiejszych standardów

nie, ale wówczas oferował użytkownikom znaczące korzyści:

* Drogie dyski twarde mogły być dzielone przez wielu użytkowników, którzy nie mogliby sobie pozwolić na stałe nośniki pamięci.

* Szybkie dyski serwera - nawet pracujące w sieci - często były szybsze od dysków zamontowanych w komputerach osobistych. Nawet dzisiaj serwery mają często dyski znacznie szybsze od lokalnych, a dodatkowo większa ilość pamięci bufora sprawia, że odczyt danych z odległego serwera jest szybszy aniżeli z lokalnego dysku.

* Korzystanie z dysku przez wielu użytkowników powoduje, że przestrzeń dyskowa jest używana bardziej efektywnie a indywidualny użytkownik ma mniejsze szanse zapełnić całą dostępną przestrzeń.

* Przypisanie administratorowi pieczy nad serwerem pozwoliło na automatyzację procesu zapisu danych znajdujących się na dysku na nośnikach zewnętrznych (np. taśmach magnetycznych) na wypadek awarii (backup). Rzadko który użytkownik robił kopię własnego dysku, a teraz zawsze mógł odtworzyć zniszczone dane.

Opisany prymitywny model serwera sugeruje, że przyłączenie drukarki do serwera daje większe korzyści niż w wypadku przyłączenia dysku. I faktycznie, wprowadzenie na rynek komputerów XT spowodowało rozpowszechnienie osobistych dysków twardych. Drukarki jednak "żyły" własnym życiem. Pierwsze drukarki, oparte na technologii matrycy igłowej, szybko i znacznie staniały. Tymczasem weszły w życie nowsze, znacznie droższe, które ze względu na lepszą jakość druku były pożądane przez użytkowników. Raz poznawszy drukarki laserowe, nie chcieli oni wracać do pracy z igłowymi. Później, kiedy i laserowe zaczęły tanieć, drukarki stosujące technologię PostScript utrzymały wysoki poziom cen. Obecnie w miarę postępu w dziedzinie druku kolorowego, szybkości i rozdzielczości, użytkownicy stale pragną mieć tę drukarkę na którą ich nie stać. Radą na ten problem jest serwer.

Pierwsza generacja serwerów wprowadziła w życie koncepcję urządzeń logicznych: poprzez sieć użytkownik miał dostęp do różnorodnych usług i zasobów. Serwer zarządzał tymi dobrami, udostępniając je wielu indywidualnym użytkownikom jednocześnie, którzy z kolei korzystali z nich tak jakby były one ich własnymi. Ale użyteczność serwerów wykracza daleko poza sterowanie dostępem do wspólnych urządzeń.

Na początek zastanówmy się jak dysk może pracować jako biblioteka dokumentów, przechowując olbrzymie ilości danych tak, aby były zapisywane i odczytywane szybko oraz wiarygodnie.

Elektroniczne uporządkowanie plików

Wyobraźmy sobie małe biuro prawnicze z prawnikami i personelem pomocniczym mających wspólnych klientów. Jak takie biuro organizuje swoje dane na papierze i jak te same dane byłyby uporządkowane w komputerze? Zazwyczaj biuro przydziela swoim klientom dokumenty, które grupowane są w teczkach, a te przechowywane są w szafkach. Poszukiwanie danego dokumentu polega zatem na znalezieniu odpowiedniej szafy, wyciągnięciu właściwej szuflady, z niej konkretnej teczki w której z kolei odnajdziemy poszukiwany papier. Celem większości systemów ewidencyjnych jest uporządkowanie dokumentów.

Taki sam system a więcej miejsca

Także w świecie komputerowym podstawową jednostką informacji na dysku jest dokument. Może to być arkusz kalkulacyjny, notatka, plan projektu, prezentacja slajdów, a nawet baza danych. Później kiedy wrócimy do tematu baz danych zobaczymy, że mogą to być bardzo złożone, wewnętrznie podzielone struktury. Tymczasem większości użytkowników, baza danych przede wszystkim kojarzy się z prostym dokumentem zawierającym zbiór uporządkowanych danych. Dla przykładu, sekretarka przygotowująca konferencję sporządza terminarz, budżet i listę uczestników - wszystkie te dokumenty są dla niej bazami danych, uzyskanymi za pomocą różnych narzędzi a służących wspólnemu celowi zorganizowania udanej konferencji.

Dokumenty komputerowe przechowywane są w plikach lub inaczej zbiorach - są to miejsca na dysku gdzie umieszczone są dokumenty. Zazwyczaj w momencie zapisywania dokumentu, plik w którym się on mieści dostaje nazwę, która z kolei pozwala później na jego odnalezienie i posługiwanie się nim.

Przed rokiem 1983 w większości komputerów osobistych założono, że jeden użytkownik będzie się posługiwał stosunkowo niewielką liczbą plików, które będą przechowywane w jednym miejscu. W odniesieniu do rzeczywistości biurowej jest to równoznaczne z trzymaniem wszystkich dokumentów w jednej szufladzie bez pośredniego stopnia uporządkowania. Nawet dla jednostki, zwykły stos teczek na biurku szybko staje się zbyt ograniczoną strukturą dla wydajnego poruszania się w obszernym zbiorze dokumentów.

Lista nazw wszystkich plików znajdujących się na dysku nazywana jest katalogiem analogicznie do katalogu dokumentów - jest to miejsce, gdzie przechowywane są pliki, czyli dokumenty. Każdy dysk zawiera co najmniej jeden katalog. Jeżeli dostaniemy od kogoś dyskietkę, to najprawdopodobniej pierwszą rzeczą jaką zrobimy będzie obejrzenie znajdującego się na niej katalogu, aby poznać nazwy przechowywanych plików. Wczesne komputery osobiste wymagały aby wszystkie pliki na jednym dysku, bez względu na to jak dużym, były przechowywane w jednym katalogu.

Hierarchiczna struktura katalogów

W roku 1983 w komputerach osobistych zaczęto stosować ideę hierarchicznej struktury katalogów, używaną w dużych komputerach. Co ciekawe, ta stosunkowo prosta idea jest dla większości użytkowników komputerów najtrudniejsza do zrozumienia. Wracając do biura, katalogi dokumentów, szuflady i szafy stanowią strukturę hierarchiczną. Na czym polega koncepcja hierarchii? Nasz zaufany słownik definiuje ją następująco: "Ustopniowany układ jakichś elementów, w szczególności stanowisk politycznych, urzędniczych, wojskowych, kościelnych itp. na zasadzie podporządkowania i wzajemnej zależności niższych stanowisk funkcji od wyższych".

Definicja ta stanowi pewną podpowiedź, ale jak ją zastosować w systemach komputerowych pozostaje nadal tajemnicą. Wróćmy do hipotetycznego biura z jego systemem uporządkowania dokumentów. Dokumenty firmy prawniczej są uporządkowane według rodzaju klientów. W każdej szafie poszczególne szuflady przeznaczone są dla specyficznych klientów (chociaż w jednej szufladzie mogą znajdować się akta kilku mniejszych klientów). Wewnątrz szuflady, zawieszone na prowadnicach teczki zapewniają kolejny poziom klasyfikacji - na sprawy. Wewnątrz tych teczek znajdują się kolejne dla konkretnych projektów czy dokumentów. W końcu w każdej teczce spinacze i zszywacze zapewniają dodatkowy poziom klasyfikacji.

Jeśli porównamy tę metodę uporządkowania systemu archiwizacji dokumentów z diagramem organizacyjnym klasycznej firmy, stanie się jasne skąd wziął się termin hierarchia w odniesieniu do sposobu przechowywania dokumentów. Dzięki tej tabeli natychmiast widać wzajemne relacje między poszczególnymi poziomami klasyfikacji i ich fizycznym umiejscowieniem. Każdy kolejny poziom w systemie grupuje zbiór katalogów w jeszcze większy katalog, więc aby mieć całość musimy uwzględnić zagnieżdżanie.

Struktura hierarchiczna jest synonimem dla struktury zagnieżdżonej. Oznacza ona, że obiekty są umieszczane jedne w drugich, tak jak rosyjskie babuszki - w dużej babce jest mniejsza, w tej mniejszej jeszcze mniejsza i tak dalej aż do najmniejszej. Struktura hierarchiczna wygląda tak samo. Na czele organizacji stoi prezes, któremu podlega jeden bądź kilku wiceprezesów. Każdy z nich ma pod sobą dyrektorów oddziałów, którzy z kolei nadzorują pracę kierowników i tak dalej, aż do ostatniego ogniwa, którym mogą być robotnicy w fabrykach należących do organizacji.

W ten sam sposób zorganizowane są dyski komputerowe. Każdy z nich ma hierarchiczną strukturę katalogów. Każdy z poziomów hierarchii może być traktowany jako teczka zawierająca komputerowe dokumenty. W dodatku, każdy z katalogów może zawierać wiele innych katalogów czyniąc całą strukturę zagnieżdżoną, czyli hierarchiczną.

Kto decyduje o wyglądzie struktury katalogów? Użytkownik. Całe piękno tkwi w tym, że można ją tworzyć i zmieniać bez fizycznego wysiłku. Kiedy zmieniamy strukturę, komputer automatycznie wykonuje całą pracę związaną z przerzucaniem plików do odpowiednich katalogów.

Przed wprowadzeniem komputera, Klienci z Wschodniego Wybrzeża mogli mieć własną szafę na dokumenty, teraz są najwyższym poziomem hierarchii katalogów. Tak samo Projekty Zrzeszeń mogły być teczką zawieszoną w szufladzie, a w komputerze są po prostu katalogiem z dużą ilością miejsca, na dokumenty albo kolejne poziomy hierarchii. Babuszki zagnieżdżone bez końca!

Jak zatem to wszystko odnosi się do serwera?

Wspólne pliki: sewer jako elektroniczna szafa z dokumentami

Być może jeden z prawników pracuje nad umową kupna dla jednego z klientów, a inny chce przejrzeć projekty zrzeszeń tego samego klienta. Czy serwer jest w stanie umożliwić tego rodzaju wspólny dostęp do dokumentów? Przyjrzyjmy się jakby to wyglądało w świecie ery przedkomputerowej. W większości małych firm ich pracownicy mogą sięgać do dokumentów bez ograniczeń. Aby zapobiec nieporozumieniom, wprowadza się prosty system kontroli - jeśli ktoś pracuje akurat nad danym dokumentem, to wypełnia odpowiedni formularz przypisany do tego dokumentu, w którym odnotowuje wszelkie dokonane zmiany, aby inni wiedzieli co się dzieje.

W świecie urządzeń logicznych, serwer nie odgrywa żadnej roli w usprawnieniu tego procesu, a właściwie go komplikuje. Pracownicy mogą nagrywać dokumenty na swoich logicznych dyskach na serwerze, ale od tego momentu nikt inny nie ma do nich dostępu. Jeśli któryś z prawników pracuje nad umową kupna dla klienta, a inny nad projektami zrzeszeń, to oba te dokumenty najprawdopodobniej zostaną na dyskach tych pracowników, uniemożliwiając innym jakikolwiek do nich dostęp. W rezultacie, w omówionym modelu, serwer służy tylko do tymczasowego przechowywania dokumentów, nad którymi akurat ktoś pracuje. Po zakończeniu pracy trafiają one do właściwego miejsca w archiwum.

Przy rosnącym użyciu edytorów tekstu do tworzenia dokumentów, miękkie dyski staną się głównym nośnikiem przechowywanych dokumentów. Kopie dyskietek będą przechowywane w szufladach tak samo jak dotąd papiery. To nie ułatwia wspólnego dostępu do dokumentów. Co gorsza, w takim środowisku, informacja elektroniczna jest tak szybka jak nogi człowieka niosącego dyskietkę. Nawet dziś, w organizacjach z bardzo rozwiniętą siecią, jest to nadal standardowa metoda dzielenia się wspólnymi zasobami informacji.

Wspólne pliki, oddzielny dysk

W roku 1983 Novell wprowadził model wspólnego dostępu do plików, zamiast omówionego wspólnego dostępu do dysku. Idea polega na tym, aby zamiast dzielić twardy dysk na oddzielne dyski logiczne, umożliwić wspólny dostęp wielu użytkownikom do całego dysku w tym samym czasie. Wtedy serwer staje się prawdziwym archiwum. Dalej omawiamy ten model krok po kroku.

Po pierwsze musimy pamiętać, że dysk nie jest już podzielony na wiele mniejszych dysków logicznych. Zamiast tego każdy użytkownik ma dostęp do jednego, dużego dysku. Na pierwszy rzut oka trudno powiedzieć czy jest to korzystne, czy wręcz przeciwnie. Bez hierarchicznej struktury katalogów, pojedynczy duży dysk dzielony przez wielu użytkowników jest nie do użytku. W miarę jak kolejni użytkownicy dodają nowe pliki, ich lista staje się bardzo szybko bardzo długa i zupełnie nieczytelna.

Co gorsza, ludzie czasami się mylą i kasują nie te pliki, które by chcieli, bo nie zawsze daje się je nazwać w sposób jednoznacznie mówiący o ich zawartości. W rezultacie utrudniają życie nie tylko sobie, ale i innym użytkownikom. W dodatku znalezienie wszystkich plików dotyczących konkretnej sprawy jest praktycznie niemożliwe. Tak więc, bez jakiejś metody uporządkowania dokumentów dzielenie dysku przez wielu użytkowników nie ma sensu.

Korzystając z hierarchicznej struktury katalogów, użytkownicy mogą traktować dysk jak elektroniczną szafę z dokumentacją. W praktyce dysk staje się równoważnikiem wielu szaf, gdyż może zmieścić ogromne ilości informacji, a jego struktura katalogów jest o wiele bogatsza i elastyczniejsza niż jakakolwiek szafa. Z taką strukturą, dzielenie się dyskiem przez wielu użytkowników staje się bardzo praktyczne. Porządkując dokumenty w zagnieżdżonych katalogach, umożliwiamy wielu pracownikom łatwy i szybki dostęp do szukanych dokumentów i to bez rzeszkadzania sobie nawzajem.

Innymi słowy, model dysku z pojedynczym katalogiem odnosi się do biura, w którym wszystkie dokumenty przechowywane są w jednej szafie - próba dzielenia się nią najczęściej kończyłaby się dla zainteresowanych nabiciem guza. Dzięki strukturze hierarchicznej, mamy do dyspozycji wystarczającą liczbę szuflad, aby nie wchodzić nikomu w drogę. Ale jak w praktyce działa model wspólnego dostępu?

Świat wspólnych plików

Ogólnie model wprowadzony przez Novella w 1983 r. stosuje taki sam schemat kontroli dla dokumentów komputerowych, jak w wypadku naszej mistycznej firmy prawniczej z jej stosem papierów. W świecie wspólnego dostępu podstawową jednostką ogólnodostępnej informacji jest dokument czyli plik. Dowolna liczba użytkowników może jednocześnie pracować z plikami znajdującymi się na tym samym dysku. Dopóki każdy pracuje z innym dokumentem wszystko jest w porządku - ma on w czasie pracy wyłączny dostęp do danego dokumentu. Jeśli ktoś spróbuje pracować z tym samym dokumentem w tym samym czasie, serwer poinformuje go, że w tej chwili jest to niemożliwe, gdyż dany plik jest już w użyciu. Proste, wydajne i działające bez żadnych dodatkowych papierów kontrolnych.

Tym jednym krokiem, pierwotna funkcja serwera jako wspomagającego pracę ze wspólną drukarką - co nadal jest ważnym zadaniem - rozciągnęła się na obszar elektronicznej archiwizacji danych. Tak jak w wypadku drukarki i tutaj serwer przynosi wiele korzyści:

* Wszystkie dokumenty są teraz dostępne z każdego komputera w sieci - bez zbędnych ruchów.

* Koordynacja dostępu do dokumentów tak, aby tylko jedna osoba modyfikowała dany dokument w danej chwili jest wdrożona automatycznie. Proces kontroli elektronicznej eliminuje opóźnienia charakterystyczne dla papierkowych systemów archiwizacji wynikające z podróżowania dokumentów po biurkach pracowników.

* Automatyczne procedury kopiowania zapewniają zabezpieczenie przed utratą wszystkich danych na wypadek awarii serwera lub dysku. Poza tym, jeśli kopiowanie dokonywane jest regularnie, można z łatwością odtworzyć historię modyfikacji danego dokumentu.

* Użytkownicy mogą tworzyć bardzo zaawansowane struktury katalogów. Posiadanie podkatalogów z kolejnymi podkatalogami z dowolnym stopniem zagnieżdżenia nie sprawia żadnej trudności - ich utworzenie wymaga kilku naciśnięć klawiszy.

* Serwer umożliwia wprowadzenie systemu zabezpieczeń - poprzez wprowadzenie haseł identyfikacyjnych można ograniczyć dostęp do pewnych dokumentów dla określonych grup użytkowników.

* Co najlepsze i co przeanalizujemy później, komputer może bez wytchnienia poszukiwać wymaganych dokumentów ze względu na ich nazwę, zawartość pewnych słów kluczowych, datę powstania itd. Jeśli szukany dokument nie znajduje się tam, gdzie należało się tego spodziewać, nadal można mieć nadzieję na jego odnalezienie.

Elektroniczna archiwizacja: mały krok dla ludzkości

Zanim przejdziemy do kolejnego etapu w rozwoju serwera, poświęcimy chwilę na zastanowienie się nad następstwami istnienia tego prostego systemu wspólnego dostępu do danych. Wile firm wydaje mnóstwo pieniędzy na porządkowanie, przechowywanie i zarządzanie dokumentami. Poszczególni pracownicy mają szafy z dokumentami w swoich biurach, a na poziomie firmy rozmiary archiwów wymagają oddzielnych pomieszczeń.

Firmy te mogłyby uczynić swój system archiwizacji o wiele bardziej wydajny poprzez wprowadzenie opisanej idei wspólnego dostępu do danych w postaci elektronicznej. To prawda, że prosty model wspólnego dostępu do serwera nie jest wystarczający aby spełnić wszystkie wymagania firm dotyczące archiwizacji, ale jest w stanie spełnić wiele z tych wymagań. Jak na ironię, wiele z tych firm ma już zainstalowane serwery niezbędne do uproszczenia procesu archiwizacji dokumentów, ale są nieświadome, że przy prostej reorganizacji te same serwery mogłyby być użyte w inny sposób - bez dodatkowych kosztów związanych z zakupem nowego sprzętu, oprogramowania czy instalacji.

Dla przykładu przyjrzyjmy się pewnemu nietypowemu przypadkowi. Przed wieloma laty wygłosiłem referat na spotkaniu prawników zrzeszonych w ich amerykańskim stowarzyszeniu. Opisałem scenariusz wspólnego dostępu do dokumentów, w którym, siedząc przy swojej stacji roboczej, mogłem z dysku pobrać określony kontrakt, opracować go, a następnie nagrać, pozwalając serwerowi dokonać wszelkich niezbędnych operacji związanych z kontrolą historii dokumentu. W miarę jak przedstawiałem tę technologię, która wtedy miała już swą dziesięcioletnią historię, publiczność zaczęła wyrażać swoje zainteresowanie. Aby zrozumieć jej reakcję zadałem kilka pytań. Odpowiedzi oddają sedno:

* Każdy z prawników obecnych na spotkaniu uznał opisany przeze mnie scenariusz dostępu do dokumentów za wysoce użyteczny, zwiększający wydajność i wart natychmiastowego wdrożenia bez względu na koszty.

* Z około setki słuchaczy, reprezentujących jedne z największych i najbardziej zaawansowanych firm prawniczych w kraju, tylko około pięciu wykorzystywało w praktyce coś w rodzaju opisanego przeze mnie systemu.

* Około 90 spośród tych prawników miało komputer albo na swoim, albo swojego asystenta biurku.

* Około 80 (90% z tych mających PC) miało już zainstalowane i działające sieci oferujące opisany przeze mnie system archiwizacji, jako jedną z podstawowych cech.

Przykład ten ilustruje jak bardzo postęp zależy od zmian kulturowych i wykształcenia. Miło jest pomyśleć o rewolucji wynikającej z wymyślenia technologii klient/serwer oraz o powiązaniach między redukcją rozmiarów firm, wzrostem osobistej wydajności, zmniejszaniem komputerów i zupełnie nowymi sposobami technologii komputerowej. Myśląc o tych sprawach odkryjesz wiele rzeczy, które mogą przyczynić się do postępu i wielu brakujących ogniw. Jednak największą przeszkodą na drodze do efektywniejszego wykorzystania komputerów nie są braki w technologii; jest nią inercja ludzi i organizacji.

Z pasywnego zmienia się w aktywny: serwer jako zarządca bazy danych

Baza danych jest terminem zarówno technicznym, jak i handlowym. Jednakże żadna analiza serwerów nie będzie pełna bez wprowadzenia do tego tematu.

Trzy rodzaje baz danych

Bazy danych istnieją na trzech poziomach. Produkty takie jak Paradox, dBASE czy Access umożliwiają użytkownikom pracę przy własnym biurku ze zbiorem rekordów. Wszystkie trzy produkty mają wydajne mechanizmy do sortowania, sporządzania raportów, wyrażania zapytań i tym podobne. Na tym poziomie, baza danych pozwala użytkownikowi pracować z prywatnymi bazami, podobnie do prostego zestawu indeksowanych kart mieszczących się w jednym pliku. Tak jak w wypadku dokumentu czy arkusza kalkulacyjnego, użytkownik otwiera bazę danych, ma do niej w tym czasie wyłączny dostęp, a następnie ją zamyka. W rzeczywistości, wymienione produkty pozwalają na korzystanie z bazy danych również na drugim poziomie: umożliwiają wielu użytkownikom jednoczesną pracę z tą samą bazą. Na końcu tego łańcucha są wyspecjalizowane, wysoko wydajne produkty reprezentujące trzeci poziom - Oracle, SQLserver oraz DB2, które konstruowane są wyłącznie z myślą wspólnego dostępu do bazy wielu użytkownikom, mogącym korzystać w tym samym czasie z tych samych zestawów danych.

W dwóch ostatnich typach baz wspólnym czynnikiem jest pomysł dzielenia się danymi na wiele wyższym poziomie w porównaniu do modelu wspólnego dostępu do plików. W środowisku urządzeń logicznych użytkownicy mogli dzielić całe dyski logiczne. Jeśli jeden z nich pracował z danym dyskiem, inni nie mieli do niego dostępu. Z wprowadzeniem struktury katalogów wielu użytkowników mogło pracować w tym samym katalogu, ale nie z tym samym dokumentem. W końcu model bazy danych zakłada, że użytkownicy mogą pracować nawet z tym samym plikiem, a jednostką wspólnego dostępu jest rekord bazy danych.

Przyjrzyjmy się bliżej niektórym terminom, a w szczególności dwóm: baza danych i rekord. Baza danych jest specjalnym rodzajem pliku, do którego wielu użytkowników może mieć jednoczesny dostęp. W wypadku większości plików, jak na przykład zawierających treści umów, nie ma sensu jednoczesny dostęp. Załóżmy np., że kilku ludzi pracowało jednocześnie nad tą samą notatką - jak ustrzec się przed wzajemnym wchodzeniem sobie w drogę? W bazie danych problem ten rozwiązano przez uporządkowanie informacji w rekordy, a następnie umożliwienie tylko jednemu użytkownikowi dokonywania zmian w obrębie danego rekordu. Rozważmy następujący przykład.

Wyobraźmy sobie system rejestracji czasu pracy w biurze prawniczym. Za każdym razem, gdy pracownik wykonuje jakąś pracę dla klienta, wypełnia odpowiedni formularz, co powoduje automatyczne zapisanie czasu w bazie danych. Na końcu każdego miesiąca, komputer drukuje rachunki z podsumowanym czasem pracy dla danego klienta. Poza tym w każdym momencie klient może być poinformowany o stanie jego zobowiązań wobec firmy. Jest to możliwe dzięki temu, że w bazie znajdują się rekordy, z których każdy odpowiada konkretnemu zleceniu i zawiera informacje o czasie pracy, jak również dowolne inne dane.

Wynika z tego jasno, że nawet jeśli wiele osób w tym samym momencie pracuje dla tego samego klienta, to tylko jedna będzie mogła zmienić dane w konkretnym rekordzie dotyczącym tegoż klienta. Jest to możliwe dzięki temu, że baza rezerwuje rekord do wyłącznej dyspozycji aktualnego użytkownika; kiedy on skończy, następny będzie mógł wykonać swoją pracę i tak dalej.

Modele wspólnego dostępu do informacji

Zarówno koncepcja wspólnego dostępu, jak i rezerwacji jest już nam znana. Działając jako elektroniczne archiwum, serwer pozwala użytkownikom na dostęp do wspólnych katalogów i plików. Jeśli dwóch z nich chce pracować z tym samym plikiem, drugi w kolejce zostaje poinformowany o chwilowej niedostępności pliku: jest on zarezerwowany i trzeba poczekać aż będzie zwolniony. Różnica między tymi koncepcjami polega na ilości informacji zarezerwowanej dla jednego użytkownika oraz zachowaniu systemu w wypadku powstania kolizji między użytkownikami. W tabeli 5-3 widzimy zestawienie trzech modeli wspólnego dostępu: serwer dyskowy umożliwia dostęp na poziomie dysku, serwer plikowy na poziomie pliku, a serwer bazy danych - na poziomie rekordu. Co jest nowe w koncepcji bazy danych, to nowy sposób rezerwacji. Próba pracy z dokumentem będącym w użyciu przez kogoś innego kończy się komunikatem, że dokument nie jest obecnie dostępny. Niektóre z nowszych edytorów tekstu mogą nawet powiedzieć kto nad nim obecnie pracuje. Po tym pozostaje nam tylko zaczekać i spróbować ponownie, albo skontaktować się z właściwym człowiekiem. Ten sposób rezerwacji zakłada, że pliki są dosyć duże, wobec czego praca nad nimi może trwać godzinami, a może nawet dniami - chyba nie ma sensu czekać.

Próba pracy z dokumentem będącym w użyciu przez kogoś innego kończy się komunikatem, że dokument nie jest obecnie dostępny. Niektóre z nowszych edytorów tekstu mogą nawet powiedzieć kto nad nim obecnie pracuje. Po tym pozostaje nam tylko zaczekać i spróbować ponownie, albo skontaktować się z właściwym użytkownikiem. Ten sposób rezerwacji zakłada, że pliki są dosyć duże, wobec czego praca nad nimi może trwać godzinami, a może nawet dniami - chyba nie ma sensu czekać.

Bazy danych mogą być skonfigurowane tak, aby działać jak kierownik archiwum - mogą po prostu odmówić pracy z rekordami nad którymi ktoś już pracuje. Typowe dla nich jest to, że nie mówią nikomu, że dany rekord jest w tej chwili niedostępny - zamiast tego ustawiają użytkowników w kolejce, aby wykonać ich zlecenie kiedy tylko rekord się zwolni.

Takie zachowanie ma sens, gdyż teraz podstawowa jednostka wspólnego dostępu jest tak mała, że praca nad nią nie powinna nikomu zająć dużo czasu. Typowy rekord bazy danych może zawierać informację o danym produkcie, personalia pracownika firmy, adres klienta czy dane o książce w bibliotece. Korzystając z tego ostatniego przykładu możemy powiedzieć, że idealna baza danych umożliwia wspólny dostęp do informacji na poziomie pojedynczej karty z katalogu książek oferowanych w bibliotece. Z racji, że rekord jest tak zwartą strukturą zawierającą niewielką ilość informacji, można sie spodziewać, że ktokolwiek z nim pracuje, szybko skończy. Dzięki temu tworzenie kolejki staje się uzasadnione. Aby w pełni zrozumieć dlaczego dzielenie się rekordami i ten nowy model rezerwowania są takie ważne, trzeba najpierw zrozumieć dlaczego bazy danych są tak ważne.

Komu potrzebne są bazy danych?

Termin baza danych ma wiele znaczeń o subtelnych odcieniach. Definicje rozciągają się od "zasadnicza koncepcja, uzasadniająca użycie przez wiele firm komputerów do prowadzenia interesów" aż po "proste narzędzie służące do tworzenia list gości, części zamiennych, numerów telefonicznych i innych małych zbiorów rekordów, których sam używam". W dalszych rozdziałach książki badamy zagadnienie baz danych w pełniejszym zakresie zarówno z technicznego, jak i handlowego punktu widzenia. Do tego czasu umieśćmy je gdzieś pośrodku - między wielkimi systemami służącymi do zarządzania całymi korporacjami a podręcznymi "zarządcami" rekordów, z łatwością mieszczącymi się w kieszeni. Główne rozróżnienie polega na pracy w wieloosobowym środowisku.

Praca w grupie

Wyobraźmy sobie biuro handlowe, które chce uprościć rejestrację wiadomości telefonicznych i przechowywać wychodzące zamówienia we wspólnych plikach. Być może pięciu do dziesięciu sprzedawców oraz ich pomocnicy pracują w biurze - w sumie mniej niż 20 osób. Serwer, elektroniczne archiwum firmy, umożliwia dostęp do wszelkich ofert, listów i zapytań ofertowych wszystkim pracownikom bez specjalnego wysiłku. Serwer jest także przyłączony do linii telefonicznych, więc sprzedawcy mogą pobierać wszelkie dane będąc poza biurem. Niestety wspólny dostęp do plików w bardzo ograniczonym stopniu zapewnia koordynację pracy. Tutaj z pomocą przychodzi baza danych.

Przechowując raporty ze spotkań, wiadomości telefoniczne, numery telefonów i specyfikacje ofert w bazie danych, każdy może korzystać z tych samych informacji w tym samym czasie. Załóżmy, że numery telefoniczne były kiedyś przechowywane w jednym pliku - jeśli ktoś z niego korzystał, aby znaleźć jeden telefon, blokował dostęp do pozostałych. Jeśli teraz dane o kliencie, wraz z jego adresem i numerami telefonów, umieścimy w bazie w postaci pojedynczego rekordu, to korzystając z niego nie utrudniamy innym pracy z naszą wewnętrzną książką telefoniczną.

Komunikacja i kontrola

Koordynacja ma dwa oblicza: komunikacje i kontrolę. Komunikacja oznacza, że członek zespołu ma możliwość powiadomienia innych o tym, co się dzieje. Dzięki wspólnej liście telefonów, każdy wie o zmianie jednego z nich, a co najlepsze, wszystko to bez potrzeby chodzenia do każdego i mówienia mu. Czasami jednak komunikacja nie wystarcza. Użycie starego numeru telefonu powoduje albo połączenie się z nowym abonentem, albo nie uzyskanie żadnego połączenia. W każdym z tych wypadków wiadomo, co należy zrobić - zajrzeć do wspólnego spisu. Czasem jednak następstwa posiadania nieaktualnej informacji mogą być naprawdę niebezpieczne i tu zachodzi konieczność kontroli.

Załóżmy, że nastąpiła zmiana oferowanych produktów, a sprzedawca o tym nie wie; jeśli przedstawi nabywcy złą cenę, może to pociągnąć za sobą wiele problemów. Rozwiązaniem jest wspólne miejsce, gdzie znajdują się wszystkie ceny. Idealnie jest, gdy ceny te są zawsze aktualne. To jest podstawowa zaleta bazy danych. Używając komputera w roli kontrolera wspólnych informacji praca sprzedawców staje się efektywniejsza.

Alternatywy i usprawiedliwienia

Załóżmy, że nie było komputera działającego jako kontroler informacji. Wtedy, w wypadku cen, należałoby mieć jednego pracownika zajmującego się kontrolowaniem informacji, a każdy musiałby się u niego upewnić, że cena, którą chce zaoferować klientowi, jest aktualna. Tak samo w wypadku zapotrzebowania na konkretne artykuły dla firmy - zawsze zamówienie zakupu powinno być skierowane do zatwierdzenia przez jednego sprzedawcę. Problem jaki przy tym powstaje polega na tym, że kiedy dana osoba jest zajęta, niedostępna lub po prostu wyszła napić się kawy, wszystko staje w miejscu. W rezultacie powstaje niesławny symptom związany z taką strategia działania: Nie mogę potwierdzić ceny zanim skontaktuję się z kierownikiem.

Jako alternatywę, można byłoby wprowadzić system papierkowy polegający na wywieszaniu aktualnych cen w jednym miejscu w biurze. W tym wypadku powstają inne problemy: sprzedawca może przedstawić cenę tylko wtedy, kiedy sam znajduje się w biurze, albo ma kontakt telefoniczny z kimś kto w nim jest. Ten system pracy jest łatwo rozpoznawalny, gdy słyszy się od sprzedawców słowa informujące klientów: Powiadomię Pana o cenie i terminie dostawy jak tylko sprawdzę w biurze.

Funkcjonalność bazy danych polega na tym, że nie jest ona nigdy zajęta, gdyż działa na ogólnie dostępnym serwerze do którego można się również dołączyć przez łącze telefoniczne z odległego miejsca. Za jednym zamachem, wszyscy naraz mają dostęp do tej samej, absolutnie aktualnej informacji, mimo że jest ona modyfikowana przez wielu użytkowników w tym samym czasie. Istnienie bazy danych, nawet w kilkuosobowych zespołach, opiera się na dwóch założeniach:

* Wszystkie informacje są dostępne przez cały czas - nikt nie dostanie komunikatu, że dana informacja jest w tej chwili niedostępna.

* Każdy wycinek informacji jest kontrolowany przez bazę danych aby zapewnić, że tylko jedna osoba zmienia go w danej chwili. Jeśli wielu użytkowników pragnie w tej samej chwili zmienić daną informację, baza danych ustawia ich w kolejce, aby każda zmiana była dokonana po kolei i zapewnia, że każdy użytkownik zanim dokona zmian widzi dane takimi jakie są przed jego zmianą.

Aby zobaczyć jak te dwie zasady ze sobą współdziałają rozważmy następującą sytuację. Biuro handlowe sponsoruje seminarium z ograniczoną liczbą miejsc: liczba słuchaczy ograniczona jest do 25 osób. Ponieważ zaproszenia i zawiadomienia o ich przyjęciu lub odrzuceniu będą wysyłane oraz przyjmowane przez cały zespół, baza danych użyta jest do kontroli bieżącego stanu rezerwacji. Śledzi ona liczbę wysłanych zaproszeń i nadesłanych odpowiedzi, odmownych i akceptujących; kiedy liczba tych ostatnich osiągnie 25 lista gości zostaje zamknięta. Jak bez tego systemu kontroli można mieć pewność, że przy nagłym napływie odpowiedzi, liczba uczestników nie osiągnie 30, kiedy w sali jest tylko 25 miejsc? Poza tym, jak w rozmowie z klientem można dać mu szybką i wiarygodną informację na temat wolnych miejsc?

Korzyści z bazy danych

Użycie bazy danych do kontroli uczestnictwa w seminarium daje odpowiedź na oba pytania. Kiedy sprzedawcy rozmawiają z klientami, mogą jednocześnie spojrzeć na ekran komputera i podać dokładną oraz aktualną informację na temat stanu miejsc. Każdy może dodać kolejnego uczestnika, mając pewność, że nie będzie dodanych kilku naraz. A kiedy osiągnięty zostaje limit 25 uczestników, baza upewnia się, że wszyscy natychmiast o tym wiedzą.

Dzięki tej samej bazie można wykonać następujące czynności:

* Przechowywać aktualne dane o klientach zapewniając, że jeśli jeden z użytkowników zmienia adres a drugi telefon tego samego klienta, to żadna z tych zmian nie zginie.

* Śledzić zakupy poszczególnych artykułów dla biura - jeśli dwóch pracowników chce zamówić ten sam artykuł, to pierwszy zamówi tyle ile chce, a drugiemu pozostanie tylko ewentualne zwiększenie zamówienia.

* Zapisywać wiadomości telefoniczne, które mogą być odebrane z domu, albo delegacji i to w sekundy po ich odebraniu.

* Prowadzić zapis sukcesów poszczególnych sprzedawców, aby wyłowić najlepszych.

Wszystkie z powyższych przykładów ilustrują dwa problemy: dlaczego bazy danych odgrywają tak niezwykłą i ważną rolę we wspomaganiu pracy zespołowej oraz dlaczego zdolność wspólnego dostępu do rekordów jest tym, co zapewnia stały (lecz kontrolowany) dostęp do bazy czyniąc ją zdolną do odgrywania takiej roli.

Serwer/sługa

Teraz już możemy spojrzeć na serwer z odpowiedniej perspektywy i cieszyć się zrozumieniem pierwszego, aczkolwiek prostego znaczenia terminu klient/serwer. Klient i serwer to po prostu komputery. Piękne jest to, że takie same pudełka, zaprojektowane jako niedrogie i łatwe w instalacji komputery osobiste, mogące funkcjonować zarówno jako serwer, jak i klient. Komputer osobisty stojący na biurku, przeznaczony do spełnienia potrzeb jednego użytkownika jest bardzo atrakcyjny. Właśnie to spowodowało rozwój tej technologii.

Jednocześnie, nawet w świecie potężnych i obistych komputerów, istnieje ogromna potrzeba dzielenia się informacją oraz zasobami sprzętowymi. W historii świata komputerowego, drogie komputery mainframe i minikomputery zapewniały tego rodzaju możliwości. Na przykład bazy danych były popularne na komputerach mainframe przez ponad dwadzieścia lat. Serwer w postaci komputera osobistego powstał z myślą o prostszym przeznaczeniu - w zamierzeniu miał zapewniać wspólne korzystanie z drogiego sprzętu. Była już mowa o drukarkach i dyskach, ale w praktyce serwery umożliwiają dostęp do wielu innych urządzeń, takich jak modemy, linie komunikacyjne, duże

komputery, skanery i inne.

Na początku więc, mimo że komputery osobiste zaczęły służyć jako serwery, nadal istniał jasny podział na komputery duże i małe: duże sprawowały pieczę nad wspólnymi danymi; małe, nawet jako serwery, stykały się tylko z indywidualnymi danymi. Umożliwiając wspólny dostęp do zasobów sprzętowych, dzięki serwerom zrobiono krok w kierunku dużych komputerów, nie naruszając jednak istniejącego podziału.

Wraz z wprowadzeniem wspólnego dostępu do plików i baz danych, nawet małe serwery umożliwiły dzielenie się informacjami. Jak wyjaśniamy dalej, zwykły dostęp do wspólnych danych nie wystarcza jeszcze do zastąpienia mainframe'a i minikomputera. Jednocześnie, dostarczając mechanizmy do dzielenia się informacją i kontroli tego procesu, serwery stały się na wiele sposobów ekwiwalentami mainframe dla małych zespołów użytkowników. Lokalne przedstawicielstwo handlowe, które nigdy nie mogłoby sobie pozwolić na zakup mainframe'a, może nadzorować przebieg rozsyłania zaproszeń na seminarium za pomocą bazy danych działającej na małym serwerze.

Serwer nadzorujący dostęp do wspólnych informacji dla grupy ludzi, poczynił znaczące przejście od bycia pasywnym urządzeniem rozdzielczym do aktywnej roli służącego. Dostęp do drukarki, dysku czy modemu może być zrealizowany za pomocą prostych urządzeń przełączających, które każdemu użytkownikowi dają wrażenie posiadania własnych urządzeń, tak jak w wypadku centrali telefonicznej, która pozwala rozmówcom myśleć, że mają swój kabel łączący ich bezpośrednio. W rzeczywistości wiele nowoczesnych systemów telefonicznych (np. lokalnych central telefonicznych) umożliwia tego rodzaju wspólny dostęp do urządzeń i komputerów osobistych, podłączonych do sieci telefonicznej przedsiębiorstwa. Ale nawet tego rodzaju rozwiązania są ze swej natury pasywne, działając jako przedłużenia samych komputerów osobistych. Mówiąc prosto, dzielenie się drukarką czy dyskiem oszczędza koszty; użytkownicy mogą robić pewne rzeczy taniej, ale nie mogą robić niczego nowego.

Dzielenie się plikami, a jeszcze bardziej bazą danych, daje użytkownikom zupełnie nowe możliwości, które wynikają z tego, że serwer jest komputerem, a nie urządzeniem przełączającym. Nawet na poziomie wspólnego dostępu do pliku to serwer, przy użyciu swej komputerowej inteligencji, kontroluje kto w danej chwili korzysta z danego pliku i informuje o tym innych. Zachowuje się jak bibliotekarz, który zna nazwy książek i ich cechy. Kiedy przychodzi do dzielenia się rekordami, komputer, jako serwer, gra jeszcze bardziej aktywną rolę, śledząc rekordy, pomagając użytkownikom je znaleźć oraz zapewniając, że zmiany w obrębie tego samego rekordu będą dokonywane przez użytkowników w odpowiedniej kolejności. W tym wcieleniu komputer jest kontrolerem magazynu, koordynatorem organizacji seminarium, archiwistą i jurorem w walce o laury najlepszego sprzedawcy. To chyba oznacza, że jest dość aktywny.

W rzeczywistości serwer jest teraz niezmordowanym sługą; sługą, który wykonuje wiele prac dla wielu klientów, którymi są również komputery. W tym środowisku, każdy użytkownik ma pełną kontrolę nad komputerem na którym pracuje. Ten komputer osobisty, działając jak elektroniczne biurko zwiększa indywidualne możliwości użytkownika dostarczając narzędzi umożliwiających wykonanie własnych prac efektywniej. Serwer w tym samym środowisku jest elektronicznym biurem. Jest jednocześnie panem i sługą, kontrolując dostęp do informacji, ale i wykonując polecenia zespołu pracowników. To co czyni ten system naprawdę potężnym, to współpraca komputerów osobistych i serwerów. Środkiem umożliwiającym tę współpracę jest sieć.

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

TOP 200