Grunt to dobra baza

Wysokie wymagania banków w stosunku do systemów informatycznych spowodowały, że w warunkach ostrej konkurencji rynkowej między firmami informatycznymi, funkcjonalność systemów bankowych jest obecnie porównywalna.

Publikacja: 28.04.2004 12:00

Wszystkie oferowane bankom systemy informatyczne realizują automatyzację obsługi sprzedawanych na rynku produktów bankowych, takich jak: rachunki bieżące, depozyty, kredyty itp. Standardem jest również wyposażanie ich w interfejsy do systemów elektronicznych rozliczeń międzybankowych, teleinformatyczne kanały dostępu, systemy sprawozdawcze czy hurtownie danych. A zatem w procesie wyboru i oceny różnych rozwiązań coraz częściej decydujące znaczenie mają inne czynniki niż wyznaczniki funkcjonalności biznesowej. Biorąc pod uwagę fakt, że każdy system informatyczny jest zawsze w mniejszym lub większym stopniu customizowany na potrzeby konkretnego wdrożenia, a zatem modyfikacje oraz rozszerzenia funkcjonalne są jednym z typowych elementów procesu, znaczenie innych cech systemu dodatkowo wzrasta.

Firma Epsilio przystępując kilka lat temu do opracowania od podstaw nowego systemu bankowego, kierowała się właśnie opisanymi wyżej przesłankami. Posiadając w ofercie system Comnet Bank, skutecznie wdrożony w kilkuset bankach spółdzielczych i komercyjnych, nie kierowała się potrzebą istotnego rozszerzenia funkcjonalności, ale stworzenia systemu, który odpowiadałby zapotrzebowaniu rynkowemu generowanemu przez bank o dowolnej wielkości i dodatkowo nie ograniczonego wdrożeniowo do terytorium Polski. W efekcie stworzono system, który nie jest prostą alternatywą dla rozwijanego ciągle systemu Comnet Bank, ale znaczącą rozbudową oferty firmy. Głównymi celami technologicznymi, jakie miał spełnić nowy system, sprzedawany obecnie pod nazwą Eurobank On-line, było:

- Możliwość pracy w trybie 24x7 (24 godziny przez 7 dni w tygodniu),

- Bardzo wysoka odporność na awarie,

- Praca w architekturze centralowej, z odmiejscowieniem rachunku implementowanym w jądrze systemu,

- Skalowalność systemu, umożliwiająca wdrożenie banku obsługującego od kilkadziesięciu tysięcy rachunków do wielooddziałowego banku centralnego posiadającego wielomilionowy wolumen rachunków,

- Elastyczność systemu rozumiana jako łatwość rozbudowy, integracji z innymi systemami i peryferiami,

- Możliwość lokalizacji systemu, w szczególności praca w językach posługujących się innym alfabetem niż łaciński.

Nałożono dodatkowo następujące ograniczenia na użyte narzędzia, systemy bazodanowe i komponenty:

- Brak ograniczeń platformy sprzętowej i systemowej dla centralnego serwera bazodanowego,

- Gwarancja rozwoju przez producenta narzędzi zgodnie z postępem technologii i oczekiwań rynku,

- Wszechstronność oprogramowania narzędziowego, gwarantująca minimalizację komponentów,

- Możliwość stosowania zintegrowanych rozwiązań projektowych i implementacyjnych z wykorzystaniem technologii CASE (Computer Aided Software Engineering).

Paradoksalnie można stwierdzić, że wybór odpowiedniej technologii i producenta oprogramowania narzędziowego był dosyć łatwy, gdyż liczba rozwiązań oferowanych na rynku, spełniających wszystkie te wymagania była i jest bardzo ograniczona. Dlatego nie powinno budzić zdziwienia, że wybór padł na firmę Oracle, która jako jedna z nielicznych dostarcza kompleksowe rozwiązania dla firm software?owych obejmujące bazę danych, system wspomagania projektowania i implementacji. W dalszej części artykułu zostanie opisane, w jaki sposób przyjęte założenia zostały zrealizowane przy użyciu technologii Oracle.

Centralnym punktem przetwarzania jest, oczywiście, baza danych. System Eurobank On-line wykorzystuje relacyjno-obiektową bazę Oracle9i w wersji Enterprise Edition. Baza dostępna jest na wszystkie popularne platformy sprzętowe i systemy operacyjne, dając tym samym dużą swobodę wyboru dla użytkownika końcowego i szerokie pole manewru przy doborze sprzętu odpowiedniego do wymagań wydajnościowych. Warto wspomnieć, że właśnie na bazie Oracle po raz pierwszy przekroczono, w kwietniu 2004 roku, próg przetwarzania 1 mln transakcji na minutę w teście TPC-C. Niezwykle istotną cechą serwera bazy jest bardzo dobra implementacja przetwarzania równoległego, wykorzystująca maszyny wieloprocesorowe.

Umożliwia to użycie pojedynczej maszyny w charakterze centralnego serwera bazy, czyli w efekcie obsługę całego banku za pomocą jednej bazy danych, która obsługuje jednocześnie żądania kilku tysięcy operatorów, oraz kanałów elektronicznych. Takie rozwiązanie zastosowano przy wdrożeniu systemu Eurobank On-line w Banku Gospodarki Żywnościowej S.A., gdzie całość przetwarzania została skoncentrowana w jednym ośrodku centralnym.

Baza Oracle9i charakteryzuje się zdolnością do pracy ciągłej; operacje serwisowe wymagające zatrzymania systemu bądź ponownego restartu są ograniczone do niezbędnego minimum, liczonego w pojedynczych godzinach w skali roku. W połączeniu z przemyślaną architekturą systemu Eurobank On-line, zaprojektowanego do pełnej obsługi zdarzeń biznesowych w czasie rzeczywistym, uzyskano system gwarantujący natychmiast, z dowolnej lokalizacji i o dowolnej godzinie dostęp nie tylko aktualnego stanu rachunków bankowych, ale również wszystkich innych informacji wymaganych przez Bank, np. stanów kont w księdze głównej, naliczonych prowizji itp. Wysoka wydajność bazy umożliwiła twórcom systemu zaimplementowanie całego procesu przetwarzania natychmiast po zaistnieniu zdarzenia, bez potrzeby stosowania przetwarzania odłożonego w czasie, np. często spotykanego w innych systemach skomplikowanego zamknięcia dnia.

Centralna baza danych, składująca informacje o milionach rachunków i obsługująca jednocześnie tysiące połączeń, z konieczności osiąga bardzo duże rozmiary, liczone w terabajtach. Bazy tego typu zalicza się do kategorii VLDB (Very Large Data Base) i projektuje z założenia inaczej niż bazy "klasyczne". Projektanci Eurobank On-line wykorzystali cechy bazy Oracle, umożliwiające praktyczną implementację wymagań VLDB. Główną cechą przydatną w takich systemach jest opcja partycjonowania, czyli podziału tabel i indeksów na mniejsze części obsługiwane efektywniej niż jedna duża struktura, przy jednoczesnym zachowaniu logicznej spójności. Można wręcz zaryzykować stwierdzenie, że jest to jedyna metoda obsługi baz o takich rozmiarach.

Baza Oracle wykazała swoją uniwersalność również w innych modułach systemu. Została użyta do oprogramowania zintegrowanej z Eurobankiem Hurtowni Danych, w której wykorzystano kolejne cechy bazy, przydatne w aplikacjach typu OLAP. Stosowane w Eurobanku partycjonowanie zostało tu rozbudowane jeszcze o subpartycjonowanie, zastosowano na masową skalę indeksy bitmapowe oraz zorientowane na struktury hurtowniane metody wykonywania zdań SQL.

Uzupełnieniem całości architektury jest wielowymiarowa baza Oracle Express, spełniająca funkcję motoru agregującego dane w wielu wymiarach, co pozwala na uzyskanie nawet kilkusetkrotnego przyspieszenia operacji analitycznych.

Projektowanie systemu klasy Eurobank On-line zawierającego prawie 1000 tabel byłoby niezwykle trudne, bez odpowiedniego wsparcia metodami inżynierii informatycznej. Projektanci wykorzystali szeroko dwa narzędzia produkcji firmy Oracle: Designer - system typu CASE (Computer Aided Software Engineering) wspomagający proces projektowania i zintegrowany z nim Developer - narzędzie programistyczne do tworzenia interfejsu użytkownika - formatek ekranowych, oraz raportów. Oracle Designer to nie tylko narzędzie dające możliwość zautomatyzowanego przejścia od logicznego relacyjnego modelu encji-relacji do fizycznej implementacji tabele-więzy. To również centralna baza repozytorium projektu, przechowująca całość informacji o projekcie, w tym również kod składowany w bazie. Zalety narzędzia docenia się szczególnie przy prowadzeniu projektów trwających kilka lat, gdy potrzeba wykonać modyfikację lub rozszerzenie określonego modułu. Niebagatelne znaczenie ma również możliwość uzyskania w trybie on-line aktualnej dokumentacji projektu, generowanej na podstawie zawartości repozytorium.

Jedną z ważniejszych cech użytej technologii jest możliwość składowania kodu programu w samej bazie danych w postaci pakietów, procedur i funkcji języka PL/SQL. To rozwiązanie, umożliwiające przetwarzanie danych bezpośrednio na serwerze bazy, jest jednym z najbardziej wydajnych, dzięki zerowemu narzutowi czasowemu na organizację transportu do procesu przetwarzającego. Eurobank On-line wykorzystuje tę cechę jako podstawę modelu przetwarzania, uzyskując przez to zakładaną wydajność. Przetwarzanie w bazie jest również jednym z najważniejszych elementów skalowalności systemu. Skoncentrowanie przetwarzania w jednym miejscu pozwala sterować wydajnością wyłącznie przez wymiarowanie serwera bazy danych.

Wybór kompletu narzędzi i baz danych firmy Oracle sprawdził się w praktyce. Można ocenić, że około 90% systemu zostało wykonane przy użyciu tej technologii. Pozostałe 10% to moduły specjalizowane jak np. sterowniki i interfejsy do urządzeń (np. automaty kasjerskie) czy pomocnicze moduły uruchamiające wielowątkowe przetwarzanie w bazie danych. Oceniając efekt produkcyjny systemu Eurobank On-line i porównując go z przyjętymi na wstępie założeniami można stwierdzić, że wszystkie cele zostały osiągnięte. Uzyskano nowoczesny, bardzo wydajny system, otwarty na rozwój i przygotowany do zastosowania nowych technologii informatycznych. Doświadczenia z wykonania i wdrożenia przez firmę Epsilio S.A. systemu Eurobank On-line dowodzą, że przyjęte rozwiązania zarówno ułatwiły proces projektowania i implementacji, jak i późniejsze działanie instalacji produkcyjnej, w której wszystkie wykonane komponenty pracowały spójnie, bezkonfliktowo i wydajnie.

IT
Technologie
Firmy chcą inwestować w nowe technologie
Materiał Partnera
Zasadność ekonomiczna i techniczna inwestycji samorządów w OZE
Technologie
Huuuge: „skupy akcji nie są priorytetem”. Mamy komentarz analityka
Technologie
Creotech dzieli biznes. Kwanty wejdą na giełdę
Technologie
Ruszyła karuzela nazwisk kandydatów na nowego prezesa UKE
Technologie
Miliardy na cyberochronę
Technologie
Co daje siłę walorom Orange Polska