BizReporter nr 03 - 2000.03.05
|
Marcin Str≤┐a±ski
|
Konsekwencje wyboru architektury systemu
CzΩsto spotykamy polemiki na temat "zwyciΩstwa" b▒d╝ "pora┐ki" podej╢cia rozproszonego wzglΩdem scentralizowanej architektury przetwarzania danych. "ZwyciΩstwo" ma wynikaµ z rosn▒cego udzia│u w rynku maszyn wyposa┐onych w systemy operacyjne UNIX czy Windows NT nad maszynami wyposa┐onymi w "stare", "scentralizowane" systemy operacyjne takie jak MVS. "Pora┐k▒" ma byµ wzrost popularno╢ci najnowszych generacji komputer≤w klasy mainframe, coraz czΩ╢ciej wybieranych do realizacji przedsiΩwziΩµ informatycznych. Celem niniejszego artyku│u jest uporz▒dkowanie pojΩµ zwi▒zanych z architektur▒ system≤w, podsumowanie wad i zalet r≤┐nych architektur oraz spekulacje na temat ich przysz│o╢ci.
Systemy scentralizowane i rozproszone
Centralna architektura system≤w informatycznych stanowi│a podstawΩ budowy rozwi▒za± dla przedsiΩbiorstw od pocz▒tku lat sze╢µdziesi▒tych. Najbardziej znanym przyk│adem maszyn budowanych pod k▒tem rozwi▒za± scentralizowanych s▒ komputery typu mainframe. Za│o┐enia dla takich system≤w informatycznych s▒ proste - pojedyncza wyspecjalizowana maszyna obs│uguje system realizuj▒cy zadania biznesowe. Pojedynczy komputer realizuje zadania zwi▒zane z przetwarzaniem informacji we wszystkich aspektach - bazy danych, logiki przetwarzania, dostΩpu ze strony u┐ytkownik≤w.
Wraz z rozwojem technologii przesy│u danych za po╢rednictwem sieci komputerowych powsta│a alternatywa dla centralnego przetwarzania danych - przetwarzanie rozproszone. Tanie komputery wyposa┐one w standardowe oprogramowanie, umo┐liwiaj▒ce │atw▒ wymianΩ us│ug i informacji z innymi podobnymi komputerami po│▒czonymi sieci▒, mog▒ stanowiµ podstawΩ do budowy system≤w w odmienny spos≤b. Systemy informatyczne mo┐na dzieliµ na czΩ╢ci, rozpraszaµ, powielaµ i rozmieszczaµ w ramach sieci komputerowej niemal zupe│nie dowolnie.
Podstaw▒ budowy rozproszonych system≤w s▒ otwarte standardy, kt≤rych przyk│adem mo┐e byµ Distributed Computing Environment (DCE). Standardy DCE opieraj▒ siΩ na paradygmacie "klient/serwer" (zwanym te┐ niekiedy "master/slave") zak│adaj▒cym, ┐e w ramach rozproszonego przetwarzania dla konkretnych operacji zawsze mo┐na wyr≤┐niµ proces (klienta), kt≤ry ┐▒da wykonania pewnej us│ugi od innego procesu (serwera). Procesy te nie musza funkcjonowaµ na tym samym komputerze, lecz na r≤┐nych, po│▒czonych ze sob▒. Tak┐e ilo╢µ proces≤w klienckich i serwerowych nie jest ograniczona. PojΩcie klient/serwer jest tak┐e stosowane w uproszczeniu jako nazwa specyficznej architektury systemu informatycznego. Gwa│towny rozw≤j technologii informatycznej spowodowa│ upowszechnienie komputer≤w osobistych. Szybko sta│y siΩ one nieodzownymi narzΩdziami pracy biurowej. Rynek technologii informatycznej zareagowa│ na tΩ sytuacjΩ w│a╢nie architektur▒ "klient/serwer", umo┐liwiaj▒c▒ korzystanie ze scentralizowanych system≤w komputerom osobistym pod│▒czonym do sieci. W ramach takiej architektury komputery osobiste wykorzystywane mog▒ byµ do obs│ugi czΩ╢ci zada± przetwarzania danych - zw│aszcza do obs│ugi interfejsu u┐ytkownika oraz czΩ╢ci logiki biznesowej. Domen▒ centralnych serwer≤w pozosta│y systemy baz danych oraz logika, kt≤rej z r≤┐nych wzglΩd≤w nie op│aca siΩ dystrybuowaµ pomiΩdzy maszyny klienckie.
Architektura centralna - pod tym pojΩciem rozumiemy rozwi▒zania, w kt≤rym ca│o╢µ operacji zwi▒zanych z przetwarzaniem danych realizowana jest przez jedn▒ maszynΩ. U┐ytkownicy dysponuj▒ urz▒dzeniami, kt≤re nie realizuj▒ ┐adnych specjalnych funkcji przetwarzania danych, poza interpretowaniem komend przesy│anych z maszyny centralnej, dotycz▒cych formatowania wy╢wietlanych czy drukowanych informacji.
Architektura rozproszona - przez ten termin rozumiemy rozwi▒zania, w kt≤rych przetwarzanie informacji realizowane jest w wielu miejscach, nawet je╢li dotyczy to tylko procedur zwi▒zanych z interfejsem u┐ytkownika. Oczywi╢cie chodzi raczej nie o klasyczny przyk│ad opisywanej wy┐ej architektury typu "klient/serwer", ale o ca│e rozproszone ╢rodowisko przetwarzania danych (np. DCE).
Przy tak sformu│owanych definicjach oraz bior▒c pod uwagΩ, ┐e rozpatrujemy systemy pracuj▒ce dla potrzeb gospodarki, zajmuj▒ce siΩ g│≤wnie przetwarzaniem i przechowywaniem informacji, mo┐emy podsumowaµ wady i zalety obu tych podej╢µ.
Zalety architektury centralnej i rozproszonej
Podstawow▒ zalet▒ architektury centralnej jest jej prostota. Stopie± komplikacji budowy systemu informatycznego zale┐y g│≤wnie od stopnia z│o┐ono╢ci zada±, jakie system ma realizowaµ i struktur danych, kt≤re musi obs│ugiwaµ. Centralna architektura, z jedn▒ maszyn▒ odpowiadaj▒c▒ za wszystkie elementy systemu, to ogromna │atwo╢µ zarz▒dzania systemem, zapewnienia bezpiecze±stwa, wprowadzania zmian w funkcjonowaniu oprogramowania. Du┐▒ zalet▒ jest r≤wnie┐ │atwo╢µ i szybko╢µ implementacji takiego systemu. Przy zapewnieniu odpowiedniego zabezpieczenia centralnego systemu przed mo┐liwymi awariami oraz zastosowaniu stabilnego oprogramowania operacyjnego otrzymujemy rozwi▒zanie solidne jak "ska│a", z bardzo ma│▒ ilo╢ci▒ punkt≤w, w kt≤rych wyst▒piµ mo┐e awaria. Kolejn▒ zalet▒ system≤w scentralizowanych jest to, ┐e przetwarzanie danych sk│adowanych w jednym miejscu u│atwia utrzymanie ich sp≤jno╢ci w skali ca│ego systemu.
Jedn▒ z podstawowych zalet architektury rozproszonej jest mo┐liwo╢µ ╢cis│ego dopasowania modelu przetwarzania do potrzeb. U┐ytkownik wyposa┐ony w komputer osobisty mo┐e dysponowaµ dopracowanym, graficznym interfejsem u┐ytkownika u│atwiaj▒cym pracΩ z systemem. Przechowywanie i udostΩpnianie danych mo┐na zleciµ maszynie skonfigurowanej specjalnie do tego celu. RealizacjΩ logiki biznesowej - maszynie wyposa┐onej w odpowiedni▒ moc obliczeniow▒. W rezultacie system mo┐na dostroiµ w spos≤b niemo┐liwy do uzyskania w architekturze scentralizowanej. Dodatkow▒ cech▒ pochodn▒ od mo┐liwo╢ci precyzyjnej konfiguracji jest prosta, tania i teoretycznie nieograniczona skalowalno╢µ systemu, uzyskiwana przez dodawanie kolejnych maszyn. Istotn▒ zalet▒ system≤w rozproszonych jest │atwo╢µ integracji z innymi systemami - jest to cecha "wbudowana" system≤w rozproszonych. System taki mo┐na tak┐e skonstruowaµ w spos≤b praktycznie uniemo┐liwiaj▒cy jego kompletne zatrzymanie - wiele rozproszonych geograficznie lokalizacji bez wyr≤┐nionego centrum daje mo┐liwo╢µ budowy rozwi▒za± odpornych na katastrofy. Kolejn▒, rzadko dostrzegan▒ zalet▒ architektury rozproszonej jest oszczΩdno╢µ komunikacji - system mo┐na zoptymalizowaµ pod k▒tem minimalizacji ruchu sieciowego.
Konsekwencj▒ jest zagwarantowanie systemom informatycznym du┐ej dostΩpno╢ci (rzΩdu 99 proc.), system mo┐e dzia│aµ poprawnie nawet po awarii sieci, dziΩki wykorzystaniu wolniejszych po│▒cze± zastΩpczych. Jest to niezwykle istotne szczeg≤lnie w przypadku aplikacji typu mission critical.
Wady architektury centralnej i rozproszonej
Podstawow▒ wad▒ architektury centralnej jest uzale┐nienie od pojedynczej maszyny, mog▒ce doprowadziµ do braku skalowalno╢ci systemu lub k│opot≤w podczas pr≤b integracji z innymi systemami. Dodatkowo wystΩpuje silna wra┐liwo╢µ na sytuacje katastrofalne - system posiada pojedyncze centrum, kt≤rego unieruchomienie parali┐uje ca│o╢µ operacji (jest to jednocze╢nie pewna zaleta - zainwestowanie w ochronΩ centrum - np. w zapasowe centrum przetwarzania - ogromnie zwiΩksza dostΩpno╢µ systemu i jego odporno╢µ na awarie, choµ na og≤│ zwiΩksza koszt ca│ej inwestycji o 30-50 proc.).
Podstawow▒ wad▒ architektury rozproszonej jest stopie± skomplikowania tego typu rozwi▒za± i czasoch│onno╢µ ich realizacji. Wiele maszyn i urz▒dze± sieciowych to zwiΩkszenie czΩstotliwo╢ci wystΩpowania awarii - awaryjno╢µ takiego systemu jest z pewno╢ci▒ znacznie wy┐sza ni┐ systemu scentralizowanego. Administracja rozproszonym systemem jest powa┐nym wyzwaniem i wymaga stosowania specjalnego oprogramowania wspomagaj▒cego procesy zarz▒dzania. Zapewnienie odpowiedniego poziomu bezpiecze±stwa systemu jest trudnym zadaniem a wymiana wersji oprogramowania mo┐e byµ powa┐nym problemem logistycznym. Rozproszenie systemu mo┐e spowodowaµ konieczno╢µ zwiΩkszonej wymiany informacji oraz nadmiernego ich przechowywania (z drugiej strony jest to czynnik zmniejszaj▒cy ryzyko utraty danych w razie awarii).
Rezultatem wy┐ej wymienionych wad jest konieczno╢µ utrzymywania wysoko wykwalifikowanego personelu potrafi▒cego utrzymywaµ system, choµ problemy administracji i zarz▒dzania mog▒ byµ w du┐ej mierze rozwi▒zywane przez odpowiednie oprogramowanie, czy to ,,z p≤│ki", czy te┐ stworzone na zam≤wienie. Zautomatyzowanie tych proces≤w redukuje liczbΩ wysoko wyspecjalizowanej kadry do poziomu por≤wnywalnego z wymaganym przez mainframe. Przy okazji nale┐y pamiΩtaµ, ┐e w przypadku mainframe problemem jest zarz▒dzanie sam▒ maszyn▒. Serwerem UNIX-owym mo┐e z powodzeniem administrowaµ jedna osoba o do╢µ og≤lnej wiedzy informatycznej. Do mainframe potrzeba "sztabu" wysoko i w▒sko wyspecjalizowanych in┐ynier≤w. Utrzymanie system≤w informatycznych o du┐ej skali dzia│ania wymaga inwestycji w specjalist≤w b▒d╝ wyspecjalizowane oprogramowanie. Kolejnym wyzwaniem, jakiemu sprostaµ musz▒ systemy rozproszone, jest synchronizacja rozproszonych baz danych. Jest to zadanie trudne, wymagaj▒ce zaawansowanych in┐ynieryjnie rozwi▒za±.
Co dalej?
Wp│yw rozwoju technik sieciowych i komputer≤w osobistych na systemy scentralizowane jest ogromny. Obecnie poprzez system centralny rozumie siΩ bardzo czΩsto silny komputer wyposa┐ony w otwarty system operacyjny (UNIX lub Windows NT) oferuj▒cy us│ugi serwera baz danych licznym klientom - komputerom klasy PC wyposa┐onym w aplikacje napisane w jΩzykach czwartej generacji. Typowe, "zamkniΩte" maszyny klasy mainframe nabra│y cech otwarto╢ci i stanowi▒ w istocie niezwykle silne serwery baz danych i proces≤w przetwarzania tych baz. Mamy do czynienia z procesem konwergencji - tradycyjne systemy scentralizowane otwieraj▒ siΩ na technologie przetwarzania rozproszonego.
Zwi▒zane jest to tak┐e z najnowszym wyzwaniem, kt≤remu sprostaµ musz▒ systemy informatyczne - rozwojem Internetu, kt≤ry umo┐liwia wymianΩ danych i us│ug pomiΩdzy systemami na niespotykan▒ dot▒d skalΩ. Prze│amana zosta│a kolejna bariera koszt≤w komunikacji i mo┐liwe jest tanie automatyzowanie proces≤w przetwarzania informacji w przedsiΩbiorstwach bardzo silnie rozproszonych geograficznie oraz pomiΩdzy przedsiΩbiorstwami, kt≤re do tej pory komunikowa│y siΩ u┐ywaj▒c tradycyjnych papierowych dokument≤w. W dalszej perspektywie umo┐liwi to powstanie ca│kowicie elektronicznej, zautomatyzowanej obs│ugi informacyjnej proces≤w gospodarczych - tradycyjne metody komunikacji ulegn▒ dalszej przemianie i realizowane bΩd▒ g│≤wnie za pomoc▒ og≤lno╢wiatowej sieci komputerowej, ze wzglΩdu na nieosi▒galn▒ w inny spos≤b szybko╢µ i niskie koszty. Ten zupe│nie nowy ╢wiat - ╢wiat elektronicznego biznesu - podobnie jak Internet w dotychczasowej postaci, bΩdzie ╢wiatem system≤w rozproszonych. Raczej nie ma co liczyµ na powstanie jednolitego, scentralizowanego systemu bezpiecze±stwa w takiej sieci, lub jednolitego systemu administracji Internetem. Og≤lno╢wiatowa sieµ komputerowa zawsze pozostanie sieci▒ publiczn▒, nie podlegaj▒c▒ centralnemu nadzorowi i jedynym, czego mo┐na siΩ spodziewaµ s▒ wsp≤lne standardy wymiany informacji gospodarczych.
Dlatego te┐ jednym z najwa┐niejszych wyzwa± jest przyjΩcie jednolitego standardu rozproszonego przetwarzania transakcji handlowych i finansowych. DCE, jako standard przetwarzania rozproszonego, nie zda│ egzaminu i nie mo┐e byµ traktowany jako przysz│o╢ciowy. Sta│ siΩ natomiast podstaw▒ dla rozproszonych, obiektowych standard≤w budowy system≤w, takich jak CORBA oraz DCOM i EJB. Wydaje siΩ, ┐e naturalnym wyborem, je╢li chodzi o technologiΩ realizacji system≤w rozproszonych, s▒ standardy zwi▒zane z jΩzykiem JAVA (czyli EJB). DziΩki unikalnej architekturze, umo┐liwiaj▒cej dynamiczne uruchamianie oprogramowania na dowolnej maszynie znajduj▒cej siΩ w sieci, rygorystycznemu podej╢ciu do problem≤w bezpiecze±stwa oraz szerokim uznaniu, standardy te s▒ na dobrej drodze do przyjΩcia ich za obowi▒zuj▒ce w ╢wiecie Internetu.
Same standardy realizacji rozproszonych system≤w to jednak nie wszystko. Wiele zale┐y od sposobu implementacji tych standard≤w w praktyce, czyli od stosowanego oprogramowania klasy middleware, s│u┐▒cego za podstawΩ do budowy system≤w informatycznych. Obserwowany ostatnio dynamiczny rozw≤j oprogramowania tej klasy, szczeg≤lnie sieciowych serwer≤w aplikacyjnych (Web Application Servers), dobrze wr≤┐y przysz│o╢ci elektronicznej gospodarki.
Mo┐na stwierdziµ, ┐e przetwarzanie rozproszone, choµ skomplikowane, stanowi jedyn▒ realn▒ podstawΩ przysz│ej gospodarki elektronicznej a architektury centralne, w rozumieniu system≤w lat 60, nigdy ju┐ nie powr≤c▒. Komputery klasy mainframe, bΩd▒ce niegdy╢ podstaw▒ scentralizowanych system≤w biznesowych, staj▒ siΩ obecnie otwartymi serwerami rozproszonego przetwarzania i udostΩpniania danych gospodarczych w og≤lno╢wiatowej sieci Internet.
Artyku│ ukaza│ siΩ w kwartalniku mened┐er≤w informatyki "Strategie Informatyzacji" wydawanym przez firmΩ InfoViDE.
InfoViDE jest polsk▒ firm▒ konsultingowo-szkoleniow▒, koncentruj▒c▒ siΩ na zapewnieniu klientom strategicznych korzy╢ci z wykorzystania technologii informatycznych. InfoViDE jest wiod▒cym dostawc▒ us│ug konsultingowych i praktycznej wiedzy fachowej dotycz▒cej zarz▒dzania przedsiΩwziΩciami, analizy potrzeb informacyjnych, czy projektowania system≤w informatycznych stanowi▒cych rozwi▒zania dla biznesu.
Ecommerce
Zarz▒dzanie PrzedsiΩwziΩciami i Architektura SI
Systemy Wspomagania Decyzji
Organizacja Zapewnienia i Kontroli Jako╢ci
Budowa Aplikacji i System≤w Informatycznych
SAP
www.infovide.pl
| |
|