Trzy razy Progress 9

Progress odnawia rodzinę produktów do budowy wielowarstwowych aplikacji klient/serwer i internetowych - serwer bazy danych, środowisko programistyczne i serwer aplikacji.

Progress odnawia rodzinę produktów do budowy wielowarstwowych aplikacji klient/serwer i internetowych - serwer bazy danych, środowisko programistyczne i serwer aplikacji.

Produkty zapowiedziane przez Progress Software mają umożliwić tworzenie wielowarstwowych aplikacji klient/serwer dla wielu rodzajów klientów pisanych w Progress 4GL (zarówno graficznych, jak i znakowych) oraz klientów Java, ActiveX i HTML (dostępnych z przeglądarki WWW). W skład odnowionej rodziny produktów wchodzą: serwer bazy danych Progress 9, zintegrowane środowisko programistyczne Progress 9 IDE i serwer aplikacyjny Open AppServer 9.

Elastyczna architektura

Baza danych Progress 9 bazuje na rozwiązaniach poprzednich wersji produktu. Obecnie firma zwraca większą uwagę na obsługę ogromnych baz danych i dużej liczby klientów oraz lepszą dostępność danych.

Nowością jest elastyczna architektura serwera bazy FSA (Flexible Server Architecture) umożliwiająca skonfigurowanie go zależnie od rozmiaru obsługiwanej bazy danych, liczby użytkowników oraz sprzętu, na którym się go instaluje. Można więc korzystać z tego samego motoru bazy do obsługi aplikacji na notebooku dla jednego użytkownika oraz do przechowywania setek gigabajtów danych na systemach wieloprocesorowych i obsługi do 10 tys. klientów.

Równie elastyczna ma być struktura zasobów pamięciowych. Serwer może działać na zestawie kilku plików systemowych zwiększających swój rozmiar wraz ze wzrostem rozmiaru bazy danych lub na ustalonej konfiguracji dyskowej, zapewniającej optymalizację dostępu do tabel i indeksów, w tym także na sprzętowych zestawach RAID.

W serwerze zrealizowano dwa typy dostępu do bazy: za pośrednictwem standardowych gniazdek systemowych dla użytkowników w sieci oraz przez bufor pamięciowy do obsługi prac wsadowych i aplikacji działających na tym samym komputerze co serwer bazy danych.

Ograniczeniem jest dopuszczalna liczba rekordów w tabeli, nie większa niż 2 mld, co wynika z 32-bitowej architektury systemu i sposobu indeksowania. To samo ograniczenie występuje nawet dla 64-bitowej wersji serwera bazy danych, działającej na procesorach Digital Alpha.

Administrator bazy może decydować o wykorzystaniu wątków i procesów bazy w czasie działania serwera, zapewniając optymalną wydajność na systemach SMP. Może również izolować procesy wsadowe i zapytania ad hoc do bazy (charakterystycznych dla operacji analitycznych OLAP i raportowania) od procesów transakcyjnych przez dynamiczny przydział buforów systemowych (bez konieczności zatrzymywania serwera). Pozwala to używać serwera bazy do obsługi bieżących operacji transakcyjnych i aplikacji do wspomagania podejmowania decyzji bez obawy, że te ostatnie zablokują działanie bazy transakcyjnej przez długo realizowane zapytania.

System dopuszcza również reorganizację i przenoszenie na inne dyski tabel i indeksów podczas zwykłej pracy systemu i używania ich przez użytkowników.

Dostęp do danych dla aplikacji pisanych za pomocą narzędzi programistycznych firmy zapewniają rodzime sterowniki (DataServer), a z innych aplikacji sterowniki ODBC. Zgodnie z obecnymi tendencjami, Progress zapewnia również dostęp do danych za pośrednictwem sterownika JDBC i umożliwia tworzenie w Javie procedur wbudowanych i trygerów.

Serwer aplikacyjny

W trójwarstwowej architekturze klient/serwer kluczową rolę pełni serwer aplikacyjny, służący do uruchamiania logiki działania aplikacji w jednym miejscu, zamiast dystrybuowania jej na wszystkie stacje robocze użytkowników. Umożliwia też dostęp do aplikacji z "chudego" klienta HTML lub Javy za pośrednictwem przeglądarki WWW.

Jeden z modułów pakietu programistycznego Progress 9 IDE - Smart DataObjects pozwala na kapsułkowanie procedur biznesowych w języku Progress 4GL w postaci komponentów. Do ich uruchamiania służy oddzielny serwer aplikacyjny Open AppServer 9, który nie kwalifikuje się natomiast do uruchamiania aplikacji złożonych z komponentów CORBA, Java lub COM/DCOM.

Open AppServer działa na Windows NT lub maszynie unixowej. Kilka serwerów aplikacyjnych może ze sobą współpracować w sieci. Aplikacje uruchamiane na Open AppServer mogą korzystać z baz danych różnych producentów za pośrednictwem rodzimych sterowników Data- Server lub ODBC i JDBC.

Środowisko programistyczne

Środowisko programistyczne Progress 9 IDE to kontynuacja dotychczasowej linii produktów Progress i WebSpeed. Obecnie firma zapewnia jednolity interfejs użytkowy do pakietów Progress Pro- Vison Plus i WebSpeed WorkShop 3.0. Różnią się one natomiast zestawem dostępnych komponentów graficznych i językiem, w którym tworzą aplikacje (odpowiednio: 4GL i HTML/Java).

Oprócz zasadniczego programu do budowy aplikacji - ProVison Plus - w skład środowiska programistycznego IDE wchodzi moduł Smart DataObjects do tworzenia komponentów 4GL i Application Partitioning Pro do dzielenia aplikacji na część uruchamianą na serwerze aplikacyjnym i część na stacjach klienta oraz dodatkowe elementy: Explorer do zarządzania bazą i aplikacjami w Progressie; Proxy Generator zapewniający dostęp do komponentów Progres 4GL z Javy i aplikacji ActiveX; Report Builder do tworzenia raportów.

Istotną wadą nowej wersji oferty Progress jest fakt, że język Progress 4GL w wersji 9 nie jest zgodny z poprzednimi wersjami tego języka. Aplikacje napisane w Progress 8 (i starsze) wymagają więc konwersji na nową wersję, jeśli zamierza się je uruchamiać na bazie Progress 9 i serwerze aplikacyjnym Open AppServer. W pakiecie znajduje się moduł narzędziowy do ułatwienia tego procesu. Konwersja z poprzednich wersji może wymagać indywidualnej modyfikacji kodu źródłowego modułu konwersji (dołączonego) lub ręcznego dostosowania kodu aplikacji.