Otwarta architektura Sybase Open Client/Server

Architektura klient/serwer jest podstawą przetwarzania rozproszonego. "Pierwszym krokiem w kierunku rozproszonego przetwarzania sieciowego jest takie rozszerzenie możliwości sieci komputerów równorzędnych (peer-to-peer), aby każdy klient miał jednoczesny dostęp do wielu serwerów" - Seybold Office Computing Group.

Architektura klient/serwer jest podstawą przetwarzania rozproszonego. "Pierwszym krokiem w kierunku rozproszonego przetwarzania sieciowego jest takie rozszerzenie możliwości sieci komputerów równorzędnych (peer-to-peer), aby każdy klient miał jednoczesny dostęp do wielu serwerów" - Seybold Office Computing Group.

Architektura klient/serwer

Podstawowym założeniem architektury klient/serwer jest możliwość zapewnienia użytkownikom i aplikacjom uniwersalnego dostępu do danych i zasobów obliczeniowych komputerów w sieci. Oznacza to logiczne (a często także fizyczne) oddzielenie aplikacji (klienta) od danych i zasobów (serwerów), umożliwiając dostęp do nich wszystkim użytkownikom. Aby zaś architektura była otwarta, musi zapewniać dostęp do już istniejących, zgromadzonych dawniej danych.

W architekturze klient/serwer zadania są rozdzielone między co najmniej dwa procesory. Procesor klienta (stacja robocza lub wysokiej klasy PC) realizuje aplikację, tworzy środowisko do jej opracowania i zapewnia interfejs użytkowy. Aplikacje mogą wykorzystywać wspólne zasoby lub dane z serwerów (zużywając moc obliczeniową procesora serwera) w celu wykonania zadania. Serwerem może być minikomputer, supermini, duży komputer (mainframe) albo mocna stacja robocza. Czasami jest to specjalny komputer, przystosowany do wykonywania określonych prac (np. przetwarzania obrazów). Serwery odpowiadają za żądania klientów, dostarczając swe specjalizowane usługi aplikacjom klientów. Oprócz powszechnych usług dostarczania danych z bazy (serwer bazy danych), serwery mogą realizować inne usługi, np. obsługiwać pocztę elektroniczną, przetwarzać skomplikowaną grafikę, obsługiwać linie komunikacyjne lub wykonywać inne prace potrzebne wielu aplikacjom-klientom, czasami wymagającym specjalizowanego sprzętu lub oprogramowania.

Sieć lokalna lub rozległa realizuje połączenia między klientami a serwerami. Początkowo, klienci mogą korzystać z usług wielu serwerów, jako niezależnych źródeł usług i danych. Jednak w miarę, jak stają się dostępne lepsze narzędzia do opracowania aplikacji, ta wizja środowiska przetwarzania rozproszonego zmienia kształt: środowisko staje się jednolitą architekturą luźno połączonych komputerów, na których działają zdalne procedury, spełniające żądania klientów.

Sybase dostarcza komplet SQL Toolset i SQL Server do realizacji przetwarzania w środowisku klient/serwer. Zestaw klienta SQL Toolset i SQL Server mogą działać na różnych procesorach i platformach sprzętowych, komunikując się za pośrednictwem różnych protokołów sieciowych (albo mogą działać razem na jednym procesorze, także w tandemie klient/serwer).

W środowisku rozproszonym dwie cechy tych narzędzi są szczególnie przydatne: programowalny serwer bazy danych i zestaw interfejsów użytkowych Open Client oraz Open Server.

Programowalny serwer bazy danych

Praca w środowisku rozproszonym klient/serwer wymaga szybkiego reagowania na zapytania klienta, niezależnie od struktury i fizycznego rozmieszczenia danych na nośnikach. W celu przyśpieszenia wykonywania operacji często wykonywanych przez wielu klientów, należy umieścić ich realizację w samym motorze bazy danych, a nie w aplikacji klienta. Zapytania przychodzące od klientów wymagają interpretacji modułu SQL przez serwer. Jednakże zapytania często powtarzane można dołączyć do serwera w postaci skompilowanych modułów (Stored Procedures) i wywoływać za pomocą standardowego mechanizmu komunikacyjnego zwanego zdalnym wywołaniem procedur (Remote Procedure Call - RPC). Wykonywanie procedur skompilowanych jest znacznie szybsze.

Wymuszona integralność danych. Jedno z głównych zastosowań skompilowanych procedur to wymuszona przez serwer integralność danych. Każda aktualizacja danych odbywa się we wstępnie ustalony i zaaprobowany sposób, ze sprawdzaniem integralności danych w bazie. Nie ma więc obawy, że błędna aplikacja klienta spowoduje uszkodzenie bazy.

Zwiększona wydajność. Ponieważ skompilowane procedury wykonywane są przez motor bazy danych, zwiększa się znacznie szybkość ich wykonania oraz zmniejsza liczba komunikatów przesyłanych w sieci między klientem a serwerem. Zamiast przesyłać pełne zapytanie SQL, klient przesyła jedynie żądanie wykonania zapamiętanej procedury.

Niewidoczny dostęp. Często baza jest rozproszona na wielu serwerach. W celu realizacji zapytania należałoby wiedzieć, na którym serwerze znajdują się jakie dane. Korzystanie z zapamiętanych, skompilowanych procedur ułatwia dostęp do danych, gdyż to procedura wysyła zapytanie o brakujące jej dane do innego serwera, zaś stacja klienta nie musi zajmować się problemami ich rozmieszczenia.

Interfejs Open Client i Open Server

Jednym z warunków osiągnięcia dobrej współpracy między aplikacjami klienta i specjalizowanymi serwerami baz danych, w niejednorodnym środowisku sprzętowo-programowym, jest możliwość ich komunikowania się z dowolnymi aplikacjami klienta i między sobą. Środowisko klient/serwer wymaga jednorodnej metody komunikowania się z każdym serwerem i serwera z serwerem. Tradycyjna metoda polega na przesyłaniu przez klienta zapytania do serwera w języku SQL, który w odpowiedzi przesyła żądane dane (lub informację o ich braku). Jeżeli jednak w celu sięgnięcia po dane do kolejnego serwera trzeba będzie opracowywać specyficzny dla tego serwera interfejs programowy, straci się wiele z funkcjonalności i skuteczności rozproszonego środowiska klient/serwer.

Zestaw bibliotek i interfejsów programowych Sybase Open Client/Server jest dużym krokiem dla osiągnięcia niezależnego od użytego serwera sposobu komunikacji między klientem a serwerami.

Sybase Open Client jest to zestaw funkcji bibliotecznych do używania w aplikacjach klienta, zaś Sybase Open Server służy do łączenia się z dowolnym źródłem danych.

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

TOP 200