system masowego drukowania i dystrybucji paszportów

Transkrypt

system masowego drukowania i dystrybucji paszportów
IX Konferencja PLOUG
Koœcielisko
PaŸdziernik 2003
WydajnoϾ i niezawodnoϾ Рsystem
masowego drukowania i dystrybucji
paszportów zwierz¹t w Polskiej Wytwórni
Papierów Wartoœciowych S.A.
Piotr Salata
Pentacomp Systemy Informatyczne,
Robert Domaga³a
Polska Wytwórnia Papierów
Wartoœciowych
Zadaniem nowoczesnych systemów informatycznych mo¿e byæ nie tylko obs³uga transakcji, sterowanie procesami, czy przetwarzanie
zbiorów danych. Jednym z interesuj¹cych i widocznych dla wszystkich zastosowañ jest masowa produkcja dokumentów spersonalizowanych. Jednym z nielicznych funkcjonuj¹cych obecnie w kraju przyk³adów tego typu rozwi¹zañ jest system masowego drukowania dokumentów zwi¹zanych z rejestracj¹ i identyfikacj¹ byd³a. Na podstawie danych, otrzymywanych z systemu IACS, ma on za zadanie produkowaæ dziesi¹tki tysiêcy dokumentów dziennie. System tego typu ma wyj¹tkowo wysokie wymagania dotycz¹ce wydajnoœci, jakoœci i
niezawodnoœci. Oprogramowanie musi zapewniaæ pe³n¹ kontrolê produkcji - pocz¹wszy od pojedynczego dokumentu, a¿ do kontrolowania ca³ego procesu produkcyjnego.
W referacie przedstawione s¹ za³o¿enia stworzonego systemu, postawione wymagania oraz wykorzystanie technologii Oracle do realizacji
rozwi¹zania, w którym kluczow¹ rolê odgrywaj¹: efektywne ³adowanie danych, dostêp do informacji na ró¿nych poziomach agregacji oraz
oczywiœcie generowanie spersonalizowanych dokumentów o bardzo precyzyjnie okreœlonym formacie.
System zosta³ wykonany przez Pentacomp Systemy Informatyczne w ramach projektu firmy Hewlett-Packard Polska i wdro¿ony w Polskiej Wytwórni Papierów Wartoœciowych S.A.
Wydajność i niezawodność – system masowego drukowania i dystrybucji paszportów zwierząt... 269
1. Wstęp
Masowy wydruk powiązany z personalizacją czy indywidualizacją to proces, którego celem
jest naniesienie indywidualnych oznaczeń lub danych na przedmioty albo dokumenty. Mogą to
być kolejne numery na karnety czy karty wstępu, dedykacje na upominkach, imiona lub nazwiska
na przedmiotach. Mogą to być dane osobowe, dane techniczne czy dane identyfikacyjne na ściśle
określonych formatach i wzorach dokumentów. Jest to metoda, która ma na celu uwzględnianie
osobistych wymagań odbiorców.
Proces ten można określić masowym wydrukiem, jeżeli konkretną usługę oferuje się szerokiemu audytorium lub w przypadku mniejszej ilości odbiorców oferuje się dużą ilość wydruków.
Personalizacja dokumentów w dobie obecnych rozwiązań technologicznych i rozwoju systemów komputerowych, informatycznych jest rozwiązaniem spotykanym i stosowanym coraz częściej, przez coraz większą liczbę instytucji.
Najogólniej mówiąc, systemy masowego druku podzielić można na systemy poligraficzne
i systemy informatyczne. W niniejszym materiale przybliżone zostaną najciekawsze i najrzadsze
z systemów masowego druku, czyli systemy informatyczne oparte na założeniu centralnej personalizacji dokumentów publicznych o szczególnym znaczeniu.
Najważniejszymi cechami takich systemów masowego druku i centralnej personalizacji dokumentów są:
• bezpieczeństwo,
• jakość,
• wydajność
• niezawodność.
1.1. Dlaczego personalizacja?
Po pierwsze: estetyka i czytelność dokumentów personalizowanych to jedna z wielu cech,
które powodują, że coraz więcej instytucji i urzędów decyduje się na taką formę wypełniania swoich dokumentów.
Po drugie: wiarygodność – w dzisiejszych czasach przyzwyczajeni jesteśmy do „ładnych” dokumentów drukowanych, a te ręcznie wypisywane spotykamy już coraz rzadziej i z reguły wywołują zastanowienie oraz budzą w nas cień wątpliwości co do ich autentyczności.
Po trzecie: wydajność – kolejnym bardzo ważnym czynnikiem powodującym, że sięgamy po
systemy informatyczne służące do personalizacji danych jest konieczność wydrukowania dużej
ilości danych i dokumentów w krótkim czasie. Takie systemy masowego druku realizują funkcje
absolutnie niemożliwe do osiągnięcia przez człowieka pismem ręcznym. Mało tego – nawet systemy informatyczne sprzed kilku lat nie dysponowały odpowiednim stosunkiem wydajności do
ceny, aby implementacja personalizacji dokumentów masowych była opłacalna.
1.2. Dlaczego centralna personalizacja?
Po pierwsze – przewaga systemów centralnych polega na tym, że wszystkie procesy, takie jak
nanoszenie zabezpieczeń oraz wydruk indywidualnych danych odbywają się w jednym centralnym
ośrodku produkcyjnym. Podejście takie pozwala w znacznym stopniu podnieść jakość i stabilność
zabezpieczeń poprzez możliwość zastosowania bardzo zaawansowanych technik, dostępnych jedynie w bardzo nielicznych zakładach. Ponadto znacznie skuteczniejsza jest w tej sytuacji ochrona
270
Robert Domagała, Piotr Salata
fizyczna produkcji, co pozwala wyeliminować przypadki kradzieży, w szczególności czystych
blankietów dokumentów w celu ich fałszerstwa. Dodatkowo centralizacja eliminuje konieczność
ewentualnego transferu informacji pomiędzy ośrodkami produkcyjnymi, co znacznie podnosi bezpieczeństwo danych.
Po drugie – w takich systemach informatycznych można centralnie gromadzić dane zawarte
w wytworzonych dokumentach, co daje możliwość szybkiego sprawdzenia i potwierdzenia
w jednym miejscu autentyczności każdego dokumentu. Oferowanie takiej usługi weryfikacji byłoby szalenie trudne przy systemie rozproszonym.
2. Specyfika problemu
Masowy druk i centralna personalizacja dokumentów to rozwiązania znane i powszechnie stosowane w Europie. Najciekawszymi z nich są rozwiązania realizujące druk i personalizację dokumentów o istotnym znaczeniu dla bezpieczeństwa państwa i obywateli. Produkty tego typu są doskonale wszystkim znane, a z drugiej strony – informacje dotyczące systemów do ich produkcji są
ze zrozumiałych względów bardzo rzadko publikowane. Postaramy się zatem przedstawić podstawowe zagadnienia związane z implementacją i funkcjonowaniem tego typu systemów. Jako ilustracja zaprezentowany zostanie system masowego druku spersonalizowanych paszportów bydła.
Masowy wydruk i centralna personalizacja takich dokumentów pojawiła się na polskim rynku 1
lipca 1999 roku. Wtedy to w Centrum Personalizacji Dokumentów Polskiej Wytwórni Papierów
Wartościowych S.A. uruchomiono centralną personalizację praw jazdy i świadectw kwalifikacji.
2.1. Bezpieczeństwo
Sfałszować można podobno wszystko, każdy dokument, jest to tylko kwestia dostępnych środków i czasu. Z jednej strony stosowane są coraz to doskonalsze techniki zabezpieczeń, a z drugiej
– mamy do czynienia z coraz większą pomysłowością, jaką wykazują się fałszerze w podrabianiu.
Najczęściej podrabiane dokumenty to: stare książeczki dowodów osobistych, paszporty, stare
blankiety prawa jazdy, dyplomy, dokumenty samochodowe, banknoty, papiery wartościowe. By
temu zapobiec powstają najrozmaitsze zabezpieczenia na dokumentach publicznych, i to właśnie
ich złamanie lub obejście stało się w ostatnich latach podstawowym celem działania przestępców
gospodarczych. Problem jest coraz poważniejszy, bo według statystyk w Polsce około 3-4%
wszystkich czynów zabronionych to przestępstwa dotyczące fałszowania dokumentów. Weźmy
również pod uwagę fakt, że w Polsce nie ma jednej aktualnej bazy dokumentów utraconych, co
oznacza, że pseudozaginiony dokument może być dalej wykorzystywany w przestępstwach gospodarczych.
Obecnie jedynym skutecznym narzędziem do walki z takim procederem jest centralna personalizacja danych. Dzięki takiemu podejściu, wszelkie dane identyfikacyjne i osobowe nanoszone są
na dokumenty w jednym odpowiedzialnym za cały proces ośrodku produkcyjnym. Unikamy w ten
sposób istnienia w obiegu pustych blankietów, a tym samym zmniejszamy do zera ryzyko ich potencjalnej kradzieży. Oczywiście bardzo ważne jest, aby był to ośrodek godny zaufania. Jedynie
wtedy jest gwarancja ochrony przed penetracją przez grupy przestępcze.
Największy wpływ na poprawę sytuacji dotyczącej fałszerstw mają decydenci przy udziale
specjalistów od projektowania i produkcji zabezpieczonych dokumentów publicznych oraz specjalistów od tworzenia odpowiednio bezpiecznych systemów informatycznych. Wyraźnie widać, że
w interesie wszystkich leży jak najszybsze wprowadzenie zabezpieczonych i centralnie personalizowanych dokumentów o szczególnym znaczeniu dla bezpieczeństwa obywatela i państwa.
Wydajność i niezawodność – system masowego drukowania i dystrybucji paszportów zwierząt... 271
Pamiętajmy, że podrobiony dokument, a zwłaszcza dowód osobisty stwarza nieograniczone
niemal możliwości popełnienia przestępstw, od zakładania fikcyjnych przedsiębiorstw i wyłudzania pieniędzy od banków, po wypożyczanie samochodów i zakupy w firmach wysyłkowych.
Uzyskanie dla specjalistów fałszerzy materiału do prób jest stosunkowo łatwe. Rekordziści po
kilkanaście razy a nawet więcej występują o wydanie nowych dokumentów, czasami nie podając
nawet przyczyny utraty poprzedniego. Tylko w systemach centralnej personalizacji przypadki
takie są możliwe do wyłapania.
Podsumowując, aspekt bezpieczeństwa centralnego systemu jest jednym z najważniejszych
problemów. Cały system jest na tyle bezpieczny, na ile bezpieczne jest jego najsłabsze ogniwo.
Nie ma co ukrywać, że w takich procesach najmniej pewnym ogniwem jest człowiek. Z drugiej
strony, ogniwo to jest nie do zastąpienia. Tak więc odpowiednio zbudowany system nadzoru zewnętrznego nad całością procesów technologicznych i odpowiedni system informatyczny śledzący
poszczególne etapy produkcyjne to jedyne rozwiązanie mogące sprostać problemowi bezpieczeństwa. Jednym z systemów informatycznych posiadających opisane cechy jest centralny system do
masowego druku i dystrybucji dokumentów identyfikacyjnych zwierząt, takich jak paszporty bydła. W rozdziale 5 zostały przedstawione najważniejsze wymagania, jakie pod tym kątem zostały
postawione oprogramowaniu.
2.2. Jakość
Jakość rozumiemy tutaj jako zgodność z ustalonymi wymaganiami i oczekiwaniami klienta –
instytucji zlecającej masowy druk dokumentów spersonalizowanych.
Jakość jest obecnie kluczowym elementem strategii przedsiębiorstwa, które pragnie osiągnąć
długoterminowy sukces rynkowy. Realizowana wewnątrz przedsiębiorstwa decyduje o jego powodzeniu zewnętrznym.
Odpowiednia jakość jest wtedy, gdy do firmy wraca klient a nie wyrób.
Jakość sama w sobie nie jest współcześnie czymś nadzwyczajnym, lecz naturalnym i oczywistym oczekiwaniem lub potrzebą klienta. W dzisiejszych czasach każde z przedsiębiorstw, które
myśli o konkurowaniu na rynku musi zapewnić jak najlepszą jakość swoich produktów i usług.
Aby sprostać temu zadaniu większość liczących się przedsiębiorstw wprowadziło na swoim obszarze systemy zarządzania jakością zgodne z normami ISO serii 9000.
Podejście procesowe jest jedną z ważniejszych zasad zarządzania jakością, zgodnie z którą pożądany wynik osiąga się z większą efektywnością wówczas, gdy działania i związane z nimi zasoby są zarządzane jako proces. Jest to takie podejście, w którym zaprojektowano działania, aby
osiągnąć określone cele. W systemach centralnej personalizacji i masowego druku można zidentyfikować jeden z najważniejszych procesów, który ma największy wpływ na jakość osiąganego
produktu: jest to proces personalizacji. Jakość tego procesu zależy głównie od oprogramowania
oraz urządzeń drukujących.
W świetle tego, o czym była mowa wyżej, należy podkreślić, że jakość dla systemu personalizacji jest równoznaczna z wiarygodnością tworzonych dokumentów, a zatem z wiarygodnością
całego systemu administracyjnego, w którym dokumenty te są wykorzystywane. Jakakolwiek wątpliwość co do jakości produktu może budzić nieufność, czy podejrzenia co do autentyczności dokumentów, co z kolei mogłoby w znaczny sposób utrudniać obywatelom korzystanie z nich. Poważniejsze uchybienia jakościowe mogłyby wręcz dawać pole do fałszerstwa, co w zasadzie podważałoby ideę dokumentu personalizowanego.
Ponieważ w systemach druku masowego mamy do czynienia z setkami tysięcy lub milionami
dokumentów, można sobie łatwo wyobrazić, jakie koszty niosłaby za sobą konieczność eliminacji
wykrytego błędu, szczególnie wtedy, gdyby został on wykryty po wykonaniu dystrybucji do odbiorców. Co gorsza, mogłyby to być nie tylko koszty finansowe, ale i społeczne. W najlepszym
272
Robert Domagała, Piotr Salata
wypadku istotny błąd spowodowałby poważne kłopoty finansowe producenta, w najgorszym –
utratę wiarygodności, zaufania i w rezultacie – klientów.
Ponieważ w systemach personalizacji mamy z jednej strony do czynienia z pojedynczymi dokumentami, z których każdy jest inny, z drugiej zaś – z dużą liczbą dokumentów w procesie produkcji i dystrybucji, mechanizmy zapewnienia jakości muszą odpowiednio funkcjonować na
wszystkich poziomach – od pojedynczego dokumentu aż do sterowania całym procesem.
Podsumowując – w systemach omawianego rodzaju tolerowana stopa błędów jest bliska zeru.
Rzecz jasna – przed wszelkimi błędami ustrzec się nie sposób – należy być przygotowanym na
usterki techniczne urządzeń, czy też nieodpowiednią jakość materiałów. Aby możliwe było reagowanie na tego typu sytuacje, konieczne jest wbudowanie w system obsługi błędów wychwyconych w procesie produkcyjnym oraz zgłoszeń reklamacyjnych.
2.3. Wydajność
Budując wydajne systemy należy odpowiednio dobrać wydajność poszczególnych procesów
całego cyklu produkcyjnego. Patrząc pod kątem systemu informatycznego, najważniejsze jest
optymalne wykorzystywanie przez aplikację zasobów systemu operacyjnego oraz bazy danych,
a przede wszystkim odpowiednio wydajna współpraca z urządzeniami drukującymi. Jest to bowiem najistotniejszy element mający główny wpływ na całkowitą wydajność procesu personalizacji.
W procesie obsługiwanym przez system są dwa punkty kluczowe za względu na wydajność:
• ładowanie danych z systemu źródłowego,
• wydruk dokumentów.
Jest oczywiste, że ogólna wydajność całości rozwiązania jest determinowana przez rzeczywistą
wydajność najwolniejszego procesu. Doświadczenie uczy, że teoretyczne projektowanie wydajności systemów w oparciu o nominalne parametry techniczne podawane przez producenta, jest błędem, zwłaszcza w przypadku urządzeń drukujących. W przypadku dokumentów spersonalizowanych (czyli w sytuacji, gdy każda drukowana strona jest inna), osiągnięcie nominalnej prędkości
wydruku jest bowiem niemożliwe. Chodzi zatem o uzyskanie parametrów rzeczywistych możliwie
najbliższych teoretycznemu maksimum.
Optymalizacja rozwiązania w tego typu projekcie musi być przeprowadzona praktycznie
w całości na etapie jego projektowania, a nie na wdrożonym systemie. Wtedy bowiem nie ma już
czasu na eksperymenty – system musi pracować w pełni wydajnie od początku eksploatacji. Moc
systemu powinna być dobrana z odpowiednią nadmiarowością, pod konkretne potrzeby klienta.
Oczywiście – na etapie utrzymania systemu muszą istnieć pewne możliwości jego strojenia, ale
nie należy spodziewać się już wtedy żadnych możliwości radykalnej poprawy efektywności.
Parametry wydajnościowe przynajmniej pod jednym względem nie są wyśrubowane: z aplikacji równocześnie korzysta bardzo niewielu użytkowników. Co więcej – jest to jedno z podstawowych założeń funkcjonalnych. Aplikacja powinna być zaprojektowana w taki sposób, aby wszystkie czynności były w najwyższym stopniu zautomatyzowane. Dzięki temu liczba osób potrzebnych do zarządzania procesem produkcyjnym jest ograniczona do minimum. Pozwala to obniżyć
koszty i zwiększyć bezpieczeństwo produkcji.
2.4. Niezawodność
Kolejnym istotnym wymaganiem dla systemów wydruku masowego jest niezawodność. Wynika to głównie z charakteru zadań, jakie tego typu systemy mają do zrealizowania. Jest to konieczność wykonania dużej pracy w ciągu krótkiego okresu czasu. Niemożność jej wykonania lub
opóźnienia mogą powodować bardzo poważne konsekwencje biznesowe – głównie z racji bardzo
Wydajność i niezawodność – system masowego drukowania i dystrybucji paszportów zwierząt... 273
restrykcyjnego traktowania terminów. Z powodu dużych wolumenów zamówień, bardzo trudne
może być nadrobienie czasu straconego z powodu niedziałania bądź błędnego działania systemu.
Systemy personalizacji nie muszą być oczywiście dostępne w trybie 24x7. Przeważnie wystarczą 2 zmiany w dni robocze, niekiedy nawet nie we wszystkie (możliwe są np. przestoje w sytuacji
braku danych wejściowych). Ale w czasie, kiedy produkcja jest wykonywana, system powinien
być w pełni niezawodny i dostępny w 100%.
2.5. Różnice funkcjonalne w stosunku do innych systemów
Kluczem do sukcesu takiego procesu centralnej masowej personalizacji, który daje wszechstronne zadowolenie jest przede wszystkim zbudowanie właściwego systemu informatycznego.
Należy przy tym pamiętać, że system tego typu ma nie tylko właściwości funkcjonalne aplikacji
obsługiwanej przez operatorów, ale również cechy systemu sterowania procesem produkcyjnym.
Współpracuje on bowiem ściśle z urządzeniami, na których wykonywana jest produkcja.
W porównaniu do wielu innych systemów informatycznych, systemy centralnej personalizacji
to systemy zamknięte i dedykowane dla konkretnych użytkowników, nieosiągalne na rynku i budowane pod konkretne potrzeby. Ze względu na nietypowe wymagania w stosunku do takiego
oprogramowania pod kątem bezpieczeństwa i jakości, a przede wszystkim wymaganej wydajności
i niezawodności, bardzo istotne jest dobranie odpowiedniej platformy sprzętowej, systemu operacyjnego i bazodanowego.
Oprogramowanie przygotowywane pod takie potrzeby jest oprogramowaniem specyficznym,
budowanym pod indywidualnego odbiorcę i jego potrzeby wynikające ze ściśle określonych przepisów i rozporządzeń. Wzory produkowanych dokumentów, sposób ich wypełniania oraz nanoszenia danych są bardzo ściśle określone istniejącymi regulacjami i przepisami prawnymi.
System personalizacji, z racji wymogów bezpieczeństwa, musi być systemem zamkniętym.
Dostępność jego musi być ograniczona wyłącznie do wybranej grupy użytkowników, pracujących
na ściśle określonych stanowiskach pracy. System taki nie tylko nie może pracować w sieci rozległej, ale nawet nie może być dostępny w ogólnej sieci lokalnej przedsiębiorstwa.
Procesy personalizacji dokumentów podlegają bardzo silnym rygorom organizacyjnym. Dlatego też, pomimo że system wspomagania personalizacji można zaliczyć do kategorii systemów
sterujących procesami, w zasadzie nie są od niego wymagane ważne w tego typu rozwiązaniach o
charakterze generycznym, możliwości definiowania, czy konfigurowania procesów.
Bardzo interesującą z punktu widzenia projektantów aplikacji własnością systemu personalizacji jest konieczność zapewnienia efektywnego dostępu do danych na dowolnym poziomie agregacji. jest to dość wyjątkowa cecha, która powoduje, że standardowe podejście do projektowania
rozwiązań bazodanowych nie zdaje tu egzaminu. System taki przede wszystkim powinien umożliwiać masowe przetwarzanie danych, w czym jest bardzo podobny do systemów opartych na hurtowniach danych: dane są dostarczane w procesie ładowania, nie podlegają edycji, są przetwarzane
w dużych zbiorach.
Z drugiej strony jednak, system jest zbliżony funkcjonalnie do systemów typu transakcyjnego:
powinien umożliwiać wyszukanie w bazie pojedynczego dokumentu i wykonać na nim odpowiednie operacje. Jest to wymagane w szczególności do efektywnej obsługi sytuacji błędnych i reklamacji, czy też do weryfikacji autentyczności dokumentów. Ponadto powinna istnieć możliwość
operowania na odpowiednio dobranych partiach zgrupowanych dokumentów, co jeszcze bardziej
komplikuje projekt w zakresie dostępu do danych – zarówno na poziomie interfejsu użytkownika,
jak również jeśli chodzi o przetwarzanie danych.
274
Robert Domagała, Piotr Salata
3. Zagadnienia funkcjonalne aplikacji
Jak już wspomniano, systemy personalizacji dokumentów są rozwiązaniami ściśle dedykowanymi i mają dość specyficzne wymagania. Poniżej przedstawione zostały zasadnicze z nich, które
postawione zostały przed omawianym systemem.
3.1. Przeznaczenie systemu
Centralny system do masowego druku i personalizacji oraz dystrybucji paszportów bydła przygotowany został według ścisłych wytycznych dla Polskiej Wytwórni Papierów Wartościowych
S.A., na potrzeby przygotowania paszportów bydła oraz innych dokumentów związanych z rejestracją i identyfikacją zwierząt dla Agencji Restrukturyzacji i Modernizacji Rolnictwa. Identyfikacja i rejestracja zwierząt prowadzona jest w ramach wdrożenia Zintegrowanego Systemu Zarządzania i Kontroli (ang. IACS – Integrated Administration and Control System).
Przeznaczeniem systemu jest wydrukowanie w krótkim odcinku czasu dużej ilości spersonalizowanych paszportów i umożliwienie dystrybucji ich do odpowiednich miejsc.
3.1.1. Generalnie wymogi postawione systemowi
Przy projektowaniu systemu informatycznego konieczne było uwzględnienie następujących
wymagań ogólnych:
• Całość procesów związanych z produkcją odbywa się w jednym miejscu.
• System ma zapewnić personalizację około 6 000 000 dokumentów w czasie ok. 3 miesięcy.
• Dane są dostarczane z systemu źródłowego w postaci elektronicznej.
• Dane są dostarczane sukcesywnie w miarę ich pozyskiwania, każda partia danych stanowi
odrębne zlecenie.
• Konieczne jest spełnienie wymogów ustawy o ochronie danych osobowych.
• Wymagana jest możliwość szczegółowego rozliczenia produkcji na każdym jej etapie.
• Paszport bydła musi być zgodny z załącznikiem nr 5 do Rozporządzenia Ministra Rolnictwa
i Rozwoju Wsi z dnia 30 lipca 2002 – Dz. U. Z 2002 Nr 131, poz. 1114.
• Personalizacja odbywa się na odpowiednio zabezpieczonym tzw. poddruku dokumentu.
• System ma wysokie wymagania dotyczące bezpieczeństwa – zarówno danych i aplikacji,
jak i dokumentów.
• Poziom niezawodności systemu musi zapewnić jego dostępność i niezakłóconą pracę w cią-
gu 2 zmian w każdym dniu roboczym.
• Rozwiązanie musi być skalowalne, co umożliwi ewentualne podniesienie jego wydajności,
jeśli wzrosną wymagania klienta co do ilości produkowanych dokumentów.
Na rys. 1. przedstawiony jest formularz paszportu bydła będący podstawą dla dokumentów
produkowanych przez system.
Wydajność i niezawodność – system masowego drukowania i dystrybucji paszportów zwierząt... 275
Rys. 1. Formularz paszportu bydła.
3.1.2. Problemy przetwarzania danych i kontroli produkcji
Jednym z większych problemów projektowych była niemożność precyzyjnego określenia
dziennego wolumenu zamówień. Wynikało to z nieznajomości rozkładu w czasie całościowego
wolumenu danych, który był znany, ale niemożliwe było określenie wymagań wydajnościowych
tylko na tej podstawie. Tym samym należało dokonać odpowiedniego oszacowania oraz zbudować
system łatwo skalowalny z niewielką nadmiarowością. Ta zasada musiała być zastosowana do
projektowania poszczególnych podprocesów w procesie wytwórczym. Cykl produkcyjny w uproszczeniu wygląda następująco:
1. kontrola dostarczonych danych,
2. ładowanie danych zlecenia do bazy,
3. wydruk dokumentów,
4. kopertowanie i wysyłka dokumentów,
5. rozliczenie zlecenia.
Mając na uwadze powyższe uwarunkowania, należało w sposób optymalny przygotować aplikację, która musiała idealnie dopasować się do cyklu produkcyjnego. Na każdym etapie produkcji
odpowiednie funkcje w aplikacji odpowiedzialne za ten fragment realizacji zadania muszą działać
wydajnie i niezależnie od pozostałych. Wszystkie procesy cyklu produkcyjnego muszą być łatwo
rozliczalne. Rozliczalność, czyli możliwość określenia stanu realizacji zarówno całego zlecenia,
jak też każdego z dokumentów, jest bardzo istotnym problem ze względu na ilość wydruków
i wartościową produkcję.
276
Robert Domagała, Piotr Salata
3.2. Założenia i wymogi dla oprogramowania
Przed rozpoczęciem projektu zleceniodawca precyzyjnie określił założenia, które musiały być
spełnione przez oprogramowanie systemu.
3.2.1. Dane
Z racji wysokich wymagań na wydajność procesu ładowania danych źródłowych, ważne było
dobranie optymalnej struktury plików wejściowych oraz ich formatu. Należało przy tym pamiętać
nie tylko o tym, aby pliki te mogły być efektywnie ładowane do projektowanej bazy, ale również,
aby można je było łatwo i sprawnie produkować w systemie źródłowym.
Generalnie – konieczne było opracowanie zasad optymalnej współpracy z systemem IACS.
Jednym z podstawowych założeń była konieczność rozliczenia się z każdej przyjętej informacji i
wyprodukowanego na jej podstawie dokumentu. Rozliczenia te wymagały opracowania odpowiednich raportów w wersji elektronicznej będących podstawą rozliczeń ilościowych pomiędzy
systemami.
3.2.2. Ładowanie i przygotowywanie danych
Przygotowywanie i ładowanie danych stanowi w sensie biznesowym przyjęcie zlecenia druku.
Jest to złożony proces składający się z szeregu kroków:
1. kontrola nazewnictwa i struktury plików przed załadowaniem do bazy danych, z możliwością wyboru plików do ładowania,
2. ilościowa weryfikacja danych przed ładowaniem względem informacji otrzymanej w raporcie z systemu źródłowego,
3. ładowanie danych wraz z jakościową weryfikacją i kontrolą spójności danych,
4. automatyczne wygenerowanie raportu ładowania po poprawnym pobraniu danych,
5. w przypadku problemów z załadowaniem, odrzucenie całości zlecenia i automatyczne wygenerowanie raportu ze szczegółowym opisem błędów,
6. ewidencja przeprowadzonych operacji ładowania oraz raportów z tych operacji w bazie danych.
3.2.3. Drukowanie danych
Najistotniejszym procesem produkcyjnym w systemie jest generowanie wydruków oraz realizacja samej operacji drukowania. Proces ten musi spełniać następujące założenia:
• możliwość elastycznego dobierania danych do druku – od pojedynczego dokumentu aż po
realizację całego zlecenia;
• automatyczne lub ręczne dzielenie danych na „paczki” zdefiniowane odpowiednimi parame-
trami i regułami biznesowymi (uwzględnianie nie tylko ilości dokumentów, ale i ich zawartości, np. przynależności do stada i gospodarstwa); paczka taka jest faktycznie podstawową
jednostką produkcji;
• automatyczna generacja raportu zbiorczego po wydrukowaniu paczki;
• możliwość dodrukowania dowolnego dokumentu na każdym etapie produkcji ze szczegól-
nym uwzględnieniem:
• szybkości i łatwości dodrukowania danego paszportu,
• priorytetu (nadawanie priorytetu zadaniom do druku);
Wydajność i niezawodność – system masowego drukowania i dystrybucji paszportów zwierząt... 277
• zapewnienie odpowiedniej kolejności drukowania paszportów, tak aby umożliwić poprawne
działanie maszyny wysyłkowej (ułożenie w paczce) oraz uwzględniać sortowanie kopert z
paszportami według kodu pocztowego;
• ewidencja wydruków i raportów w bazie w postaci elektronicznej.
3.2.4. Rozliczanie i wysyłka
Dokumenty paszportów po wydrukowaniu i zapakowaniu w koperty zostają rozliczone i wysłane do odpowiednich odbiorców. Rozliczanie odbywa się poprzez odczyt informacji o zapakowanych dokumentach z maszyny kopertującej i wczytanie jej do systemu. Na tej podstawie następuje weryfikacja procesu druku i kopertowania. Ewentualne błędy wychwytywane są albo przez
maszynę kopertującą albo przez system po otrzymaniu z maszyny informacji zwrotnej.
Po przetworzeniu tej informacji zwrotnej następuje odpowiednie zaznaczenie w systemie dokumentów wyprodukowanych i błędnych. Dokumenty wyprodukowane kończą swój cykl życia w
systemie i dalej przechodzą już pod kontrolę procedury dystrybucji. Dokumenty brakujące mogą
zostać łatwo dodrukowane dzięki odpowiednim możliwościom aplikacji. Założeniem jest oczywiście kontrola wyprodukowanych i wysłanych dokumentów względem otrzymanego zlecenia, czyli
sprawdzenie, czy wszystkie dokumenty, których dane pojawiły się na wejściu w procedurze importu, zostały wysłane.
Dodatkowo dla procesu dystrybucji muszą powstać odpowiednie dokumenty dla firmy zajmującej się dystrybucją. Dokumenty te są bardzo szczególne i inne dla każdej firmy i dlatego zasady
dystrybucji musiały zostać określone na stałe i zaszyte w systemie. Przykładowo – wysyłka listami
poleconymi wymaga nadawania każdej kopercie numeru „R”, natomiast wykorzystanie firmy kurierskiej rządzi się innymi regułami.
Każda operacja wydruku i wysyłki jest rejestrowana i zaopatrywana w odpowiedni raport, który zostaje zapamiętany w bazie systemu w celach rozliczenia i dokumentacji.
3.2.5. Przeglądanie danych
W celu zapewnienia pełnej kontroli nad procesem produkcyjnym, konieczna jest możliwość
przeglądania danych dostępna na każdym etapie produkcji. System musi umożliwiać zidentyfikowanie i wyszukanie dowolnej jednostki (paszportu, stada, gospodarstwa) w dowolnym czasie,
niezależnie od jej statusu i zaawansowania produkcji. Ze względu na dużą ilość danych system
musi bardzo efektywnie wykonywać wyszukiwanie i filtrowanie danych przy uwzględnieniu ich
hierarchicznej struktury „biznesowej” (zlecenie, paczka, gospodarstwo, stado, paszport).
Ponadto musi istnieć w aplikacji możliwość przeglądania wszystkich ewidencji oraz wydruku
raportów.
4. Architektura systemu
Przedstawione wyżej wymagania użytkowe miały bardzo istotny wpływ nie tylko na sam system informatyczny, ale też na organizację produkcji i zasady współpracy ze zleceniodawcą. W kolejnych punktach przedstawione zostaną te aspekty, które dotyczyły projektu systemu informatycznego.
Architektura prezentowanego systemu oparta jest na strukturze typu klient-serwer, przy czym
na serwerze umieszczona została część logiki aplikacji w postaci składowanych procedur PL/SQL.
Taka architektura daje możliwość optymalnego podziału zadań realizowanych przez oprogramowanie pomiędzy odrębne komponenty systemu oraz umożliwia jego stosunkowo łatwe skalowanie.
Fizycznie system składa się następujących komponentów:
278
Robert Domagała, Piotr Salata
• serwera bazy danych,
• 4 stacji roboczych,
• 2 drukarek o wysokiej wydajności przeznaczonych do drukowania dokumentów,
• drukarki przeznaczonej do drukowania raportów,
Z systemem bezpośrednio współpracuje profesjonalna maszyna kopertująca.
Cały system ze względów bezpieczeństwa pracuje w wydzielonej sieci lokalnej.
Podstawowe komponenty programowe serwera:
• Windows 2000 Professional Server PL,
• Oracle 9.2.0.1 Enterprise Edition,
• Oracle Reports 6i Runtime Environment.
Stacje robocze mają konfigurację następującą:
• Windows 2000 Professional,
• Klient Oracle 9.2.0.1,
• Oracle Forms 6i Runtime Environment,
• Oracle Reports 6i Runtime Environment,
• Aplikacja PWPW.
W logicznym modelu danych można wyróżnić następujące elementy składowe:
• dane operacyjne – zbiory danych o oddziałach terenowych agencji, gospodarstwach rolnych
i ich właścicielach, stadach zwierząt w gospodarstwie oraz dokumentach paszportów zwierzęcych i informacji o stanie stada bydła;
• dane opisujące importy danych i zlecenia druku dokumentów – zbiory danych opisujące
procesy importu danych z systemu IACS;
• dane podsystemu wydruków – zbiory danych procesu sterowania wydrukiem dokumentów;
• dane podsystemu kopertowania i wysyłki dokumentów – zbiory danych opisujące proces
wysyłania dokumentów;
• dane reklamacji – zbiory danych opisujące proces obsługi reklamacji dokumentów;
• dane raportów – zbiory danych podsystemu raportowania;
• dane techniczne – zbiory danych zawierające dane techniczne systemu.
Aplikacja składa się z następujących modułów:
• Zarządzanie systemem – umożliwia określenie sposobu działania systemu poprzez zmianę
parametrów systemu, ustawienie numerów seryjnych paszportów, zarządzanie odbiorcami
raportów oraz zarządzanie obsługą zleceń.
• Import danych do systemu – w ramach tego modułu realizowana jest cała funkcjonalność
systemu związana z importem danych z systemu IACS.
• Generowanie wydruków dokumentów – realizuje funkcje związane z przygotowaniem wy-
druków oraz funkcje związane ze sterowaniem procesem druku dokumentów.
• Kontrola dystrybucji dokumentów – moduł przeznaczony jest do kontroli procesu wysyłania
dokumentów. Do rozliczenia procesu wysyłania dokumentów wykorzystywane są dane po-
Wydajność i niezawodność – system masowego drukowania i dystrybucji paszportów zwierząt... 279
chodzące z modułu zarządzania wydrukami oraz dane z urządzenia do kopertowania dokumentów.
• Obsługa reklamacji – zapewnia administracyjną obsługę systemu reklamacji oraz generuje
zlecenia do systemu wydruku dokumentów.
• Wydruk blankietów dokumentów – umożliwia wydruk blankietów dokumentów paszportów
i informacji o stanie stada.
• Przegląd danych – umożliwia pełny przegląd danych systemu.
• Raporty – umożliwia generowanie raportów dotyczących ładowania danych, raportów z re-
alizacji zadań, śledzenia procesu drukowania i dystrybucji dokumentów, obsługi reklamacji.
Moduł raportów zapewnia również realizację funkcji wymaganych przepisami o ochronie
danych osobowych.
5. Zastosowane mechanizmy Oracle
5.1. Interfejs użytkownika – Oracle Forms
Interfejs użytkownika aplikacji w całości został wykonany w technologii Oracle Forms 6i.
Aplikacja jest stworzona w architekturze klient-serwer, zatem interfejs użytkownika wykorzystuje
mechanizmy systemu Microsoft Windows. Taka konstrukcja jest w zupełności wystarczająca dla
opracowanego rozwiązania. Stosowanie mechanizmów intranetowych byłoby w wypadku tego
systemu zbytnią komplikacją rozwiązania, nie wnoszącą do niego dodatkowej jakości.
Wszystkie funkcje systemu dostępne są z poziomu interfejsu i można je zrealizować przy pomocy kliknięcia myszką. Funkcje systemu i interfejs zostały zaprojektowane i zrealizowane w taki
sposób, aby każde zadanie aplikacji można było zrealizować przy pomocy jednego kliknięcia.
5.2. Ładowanie danych – SQL*Loader
Dane do systemu druku dokumentów dostarczane są z systemu IACS. Dane te, stanowiące zlecenia druku dokumentów, dostarczane są w postaci plików tekstowych w standardzie CSV. System PWPW do ładowania danych wykorzystuje standardowe narzędzie Oracle, SQL*Loader.
Proces ładowania danych jest w pełni automatyczny i jest kontrolowany przez moduł importu
danych. Po uruchomieniu funkcji importu danych, system weryfikuje poprawność formatu plików
podlegających importowi i jeżeli pliki te są poprawne, generuje pliki sterujące dla SQL*Loader-a i
uruchamia proces importu danych.
Po zakończeniu procesu importu danych, programowo weryfikowane są pliki dzienników
SQL*Loader-a i jeżeli import danych zakończył się sukcesem, dane stają się dostępne w aplikacji i
mogą być wykorzystywane do produkcji dokumentów.
W przypadku wystąpienia błędów w importowanych danych, aplikacja generuje raport błędów
importu danych, jednocześnie odrzucając wszystkie zmiany wprowadzone w systemie przez procedurę ładowania danych.
SQL*Loader jest zatem używany w sposób raczej niestandardowy – sterowany z aplikacji,
zgodnie z założeniem mówiącym, że wszystkie operacje mają być dostępne poprzez interfejs formularzowy.
280
Robert Domagała, Piotr Salata
5.3. Tworzenie dokumentów i raportów – Oracle Reports
Aplikacja przeznaczona jest do masowego drukowania dwóch podstawowych rodzajów dokumentów: „Paszport bydła” oraz „Informacja o stanie stada bydła”. Dodatkowo w systemie drukowane są strony pomocnicze i techniczne.
Do drukowania dokumentów wykorzystywana jest technologia Oracle Reports 6i. Zostały
opracowane raporty, które na bazie zaimportowanych danych dokonują personalizacji dokumentów, co polega na rozmieszczeniu danych w odpowiednich polach formularza. Jednocześnie w
ramach procesu personalizacji drukowane są formularze techniczne, sterujące procesem dystrybucji dokumentów oraz raporty pomocnicze, które są podstawą rozliczenia całego procesu produkcji
i dystrybucji dokumentów.
Cały proces druku dokumentów został zaprojektowany w taki sposób, aby możliwe było automatyczne wykonanie całego zadania. W celu zminimalizowania narzutu, wydruki zaprojektowano
w taki sposób, aby raportów w sensie Oracle Reports było jak najmniej, a więc aby pojedynczy
raport był jak największy. Teoretycznie może zawierać nawet całe zlecenie.
W związku z tym, że system druku dokumentów wykonuje jednocześnie wydruk kilku rodzajów formularzy, istotne jest efektywne sterowanie wybieraniem podajników papieru w drukarce.
W sytuacji, gdy stosowanie wbudowanych mechanizmów systemowych nie dawało zadowalających rezultatów, zdecydowano się na opracowanie własnego rozwiązania. Opracowano własną
bibliotekę DLL, w której zaimplementowano funkcje w sposób znaczący przyspieszające przełączanie podajników w drukarkach i umożliwiające pełne sterowanie wydrukami. Dzięki zastosowaniu tego mechanizmu, wydajność drukarek pracujących pod kontrolą systemu przekracza 90% ich
wydajności nominalnej.
6. Cechy zrealizowanego rozwiązania
Zrealizowane rozwiązanie ma cechy bezpośrednio wynikające z przedstawionych wcześniej założeń dotyczących funkcjonalności i wymagań niefunkcjonalnych. Stworzony system sprawnie
steruje procesem produkcyjnym, współpracując z zaawansowanymi urządzeniami drukującymi
oraz z maszyną kopertującą.
6.1. Funkcjonalność
Podstawowym założeniem przy projektowaniu i tworzeniu systemu było dostarczenie aplikacji,
która pozwoli na pełną automatyzację zadań. Automatyzacja ta powinna obejmować wszystkie
zadania: od procesu importu danych, poprzez proces druku i dystrybucji dokumentów, do zadań
związanych z rozliczeniem i obsługą reklamacji. Dzięki automatyzacji uzyskujemy znaczną
oszczędność czasu operatorów systemu – w kilkanaście minut można zdefiniować cały cykl produkcji dokumentów dla jednej zmiany.
W złożonych zadaniach istnieje możliwość ręcznego wykonywania sekwencji elementarnych
operacji składających się na realizację zadania. Umożliwia to uzyskanie bezpośredniej kontroli
nad każdą operacją w ramach procesu produkcyjnego. Jednakże mechanizm ten jest przeznaczony
do wykorzystania w szczególnych sytuacjach. W normalnych warunkach wskazane jest wykorzystanie zaimplementowanych funkcji automatycznego sterowania realizacją zadań.
Aplikację systemu druku paszportów można porównać do dobrego aparatu fotograficznego –
można skorzystać z automatyki i po prostu nacisnąć spust, otrzymując bez kłopotu fotografię dobrej jakości, ale zaawansowany użytkownik ma możliwość ręcznego ustawienia wszystkich parametrów, jeżeli chce uzyskać niestandardowe efekty. Tutaj również – możliwe jest wykonanie jednym kliknięciem całej pracy (kilku lub nawet kilkudziesięciu tysięcy paszportów), pozostawiając
systemowi wszystkie decyzje i osiągając optymalne parametry jakościowe i wydajnościowe. Moż-
Wydajność i niezawodność – system masowego drukowania i dystrybucji paszportów zwierząt... 281
na również w szczególnych wypadkach ręcznie wybrać dokumenty do wydrukowania, składając je
w koperty i paczki.
W celu udostępnienia operatorowi takich możliwości, konieczne było zaprojektowanie dość
skomplikowanego interfejsu użytkownika, pozwalającego na zobrazowanie całej, 4-poziomowej
hierarchii obiektów oraz umożliwienie sterowania wszelkimi operacjami. Przykładem może być
ekran zarządzania wydrukami, przedstawiony na rys. 2.
Stworzenie tak złożonych formularzy, które w efektywny sposób pozwalają na wyszukiwanie
danych i operowanie na wielopoziomowych strukturach hierarchicznych, wymagało przejęcia
sterowania oraz oprogramowania operacji na rekordach i ich zbiorach. Przy realizacji tego interfejsu w praktyce wykorzystano zaawansowane programowanie w PL/SQL w celu umożliwienia efektywnej nawigacji po poszczególnych elementach hierarchii.
Rys. 2. Ekran zarządzania wydrukami.
Kluczową rolę dla wydajności procesu masowego druku odgrywa sam podsystem druku dokumentów. Został on oparty na wykorzystaniu profesjonalnych, wydajnych drukarek sieciowych,
które są sterowane poprzez mechanizm kolejek wydruków uruchomiony na serwerze bazy danych.
Każda drukarka posiada własną kolejkę wydruków, co pozwala na pełne wykorzystanie jej możliwości drukowania. Efektem takiego rozwiązania jest uzyskanie ponaddziewięćdziesięcioprocentowej wydajności systemu drukowania w stosunku do nominalnej wydajności drukarek.
Dodatkową zaletą tego rozwiązania jest ograniczenie obciążenia sieci – pomiędzy aplikacją na
stacji roboczej, a serwerem przesyłane są tylko niezbędne dane umożliwiające obsługę procesu
produkcji dokumentów, większość przetwarzania danych jest realizowana na serwerze bazy danych, a do drukarek przesyłane są gotowe do wydruku dokumenty. Jednocześnie wykorzystanie
mechanizmu kolejek pozwala na równoważenie obciążenia drukarek, a operator systemu ma możliwość sterowania procesem druku dokumentów.
Interesującym i dość niespodziewanym problemem okazało się takie sterowanie drukarkami,
aby wydruk był w pełni poprawny. Problem w projektowanym systemie polega na tym, że wszystkie drukowane dokumenty muszą być ułożone w ściśle określonej, założonej kolejności. Wynika
to z zasady funkcjonowania maszyny kopertującej, która wymaga odpowiedniego porządku
w kodach sterujących kopertowaniem. Problem ten nie występuje w zdecydowanej większości
systemów, nawet jeśli są to systemy personalizacji dokumentów i masowego wydruku. Jeśli np.
dla każdego odbiorcy zawsze przeznaczona jest 1 strona dokumentu, to z reguły nie ma żadnego
282
Robert Domagała, Piotr Salata
znaczenia, czy pierwszy na wydruku będzie dokument Kowalskiego, czy Malinowskiego. W systemie druku paszportów bydła sytuacja jest jednak bardziej skomplikowana – koperty mogą zawierać dowolną liczbę dokumentów (ograniczoną pojemnością koperty), dokumenty w kopercie są
różnorodne (pochodzą z różnych podajników), a dodatkowo koperty muszą być odpowiednio sortowane dla ułatwienia dystrybucji. Przy tym wszystkim należy oczywiście uzyskać maksymalną
wydajność systemu drukującego, a więc zminimalizować czas bezczynności drukarek wynikający
np. z przełączania podajników, czy ładowania prac. Do tego konieczne jest, w szczególnych sytuacjach, umożliwienie umieszczenia w kolejce drukarki zadania o wysokim priorytecie, co dodatkowo komplikuje problem.
Opracowane rozwiązanie, wykorzystujące odpowiednie cechy i parametry oprogramowania
drukarki, niestandardowo dobranego sterownika systemowego, pakietu Oracle Reports i dodatkowo wykorzystujące specjalnie opracowaną bibliotekę DLL, zapewnia realizację wydruków zgodnie z powyższymi założeniami.
6.2. Jakość
Jak wynika z podstawowych założeń projektu, jakość opracowanego rozwiązania jest jego zasadniczą cechą. Nie można bowiem dopuścić do tego, aby wytwórnię opuszczały dokumenty
obarczone błędami. Podstawą zapewnienia takiego poziomu jakości aplikacji musiało być wykonanie pełnego testowania funkcjonalnego wykonanego oprogramowania.
Dla potrzeb testów opracowany został generator danych testowych, który umożliwił przetestowanie aplikacji nie tylko na danych losowych, ale i zbliżonych do rzeczywistych (zarówno pod
względem ilościowym, jak i rozkładu wartości). Narzędzie to okazało się tym cenniejsze, że system druku paszportów powstawał równolegle z systemem źródłowym (IACS) i rozpoczął działanie
zanim stało się możliwe otrzymanie realnych danych wejściowych.
Jeszcze jednym aspektem zapewnienia jakości jest jakość samych danych. Należy zauważyć, że
pojawienie się w bazie danych nieprawidłowych informacji może spowodować poważne problemy, których potencjalne skutki były opisywane wcześniej. Konieczne jest zatem skoncentrowanie
się na problemie poprawności danych. Po pierwsze – w systemie jest zapewniona weryfikacja
danych na wejściu. Sprawdzany jest format plików wejściowych, a przy ładowaniu – na ile to
możliwe w ramach mechanizmów systemu Oracle – kontrolowane są wartości i spójność danych.
Informacje, które zostaną uznane za poprawne, nie mogą już być zmienione. Aplikacja nie zawiera
zatem funkcjonalności pozwalającej na edycję jakichkolwiek danych. Ponadto, poprzez nienadanie
użytkownikom żadnych uprawnień dostępu do tabel w bazie danych, zablokowana jest możliwość
„ręcznego” manipulowania danymi przy użyciu narzędzi zewnętrznych, co w zasadzie wyklucza
nieuprawnioną ingerencję w dane systemu lub ich przypadkowe uszkodzenie.
6.3. Wydajność
Optymalizacja tworzonego systemu informatycznego wykonywana była na każdym etapie jego
realizacji – od analizy poprzez projektowanie, implementację, aż do wdrożenia. Przeprowadzone
zostały – zgodnie z regułami sztuki – wszystkie zabiegi prowadzące do powstania maksymalnie
efektywnego rozwiązania:
•
odpowiednie dobranie reguł biznesowych,
•
odpowiednie zaprojektowanie modelu logicznego i fizycznego bazy danych,
•
optymalizacja operacji na bazie danych,
•
optymalizacja rozłożenia logiki aplikacyjnej i komunikacji pomiędzy klientem i serwerem,
•
optymalizacji instancji Oracle,
Wydajność i niezawodność – system masowego drukowania i dystrybucji paszportów zwierząt... 283
•
optymalizacja konfiguracji systemu operacyjnego.
Począwszy od etapu implementacji prowadzone były intensywne testy, wskazujące na stopień
zoptymalizowania systemu. W procesie testowania przeprowadzane były zarówno testy wydajnościowe poszczególnych komponentów aplikacji, jak i testy wydajnościowe realizacji funkcji biznesowych.
Wygenerowane dane testowe były również podstawą do strojenia aplikacji. Wszystkie złożone
zapytania zostały przetestowane i zoptymalizowane przy wykorzystaniu standardowych narzędzi
Oracle. Okazało się jednak, że mechanizmy optymalizacji kosztowej nie gwarantowały uzyskania
w pełni zadowalających rezultatów, ponieważ w systemach tego typu model danych jest kompromisem pomiędzy sprzecznymi wymaganiami – system jednocześnie przetwarza duże zbiory dokumentów, jak też i każdy dokument może być obsługiwany niezależnie. W rezultacie we wszystkich kluczowych zapytaniach konieczne okazało się użycie wskazówek dla optymalizatora.
Wspomniana cecha miała również znaczenie dla konstrukcji indeksów w systemie. Okazało się,
że doświadczenia wyniesione z projektowania innych systemów nie znajdowały potwierdzenia w
systemie masowych wydruków dokumentów. Zaprojektowane w początkowej fazie produkcji
systemu niektóre indeksy bitmapowe zostały usunięte z systemu, ponieważ nie przynosiły spodziewanych korzyści a ich obsługa w znacznym stopniu obciążała serwer bazy danych.
W przypadkach, gdy nie można było osiągnąć zadowalających rezultatów wynikających ze
stopnia złożoności zapytań realizujących określone funkcje biznesowe, wracano do etapu projektowania modelu fizycznego danych i poprzez jego modyfikację poprawiano parametry wydajnościowe systemu. Dzięki tym zabiegom udało się osiągnąć wymaganą wydajność bazy danych i poszczególnych operacji dostępu.
Kolejnym aspektem optymalizacji było uzyskanie aplikacji o odpowiedniej szybkości reakcji
na polecenie użytkownika. Samo dostrojenie zapytań oczywiście nie daje takiej gwarancji, szczególnie w sytuacji, gdy aplikacja realizuje dostęp do danych w sposób niestandardowy i skomplikowany. Ogólnie – chodzi o to, aby odpowiednie zapytania odczytywały odpowiednie dane
w odpowiednim czasie. A mówiąc bardziej technicznie: aby zapytania były precyzyjnie dostrojone
do sposobu ich użycia w aplikacji, aby transfer danych z serwera do aplikacji klienckiej był zoptymalizowany i aby aplikacja zapewniała dostępność danych po stronie klienckiej w inteligentny
sposób, tak aby użytkownik nie musiał oczekiwać na wykonanie długotrwałego zapytania przy
każdym kliknięciu.
Taka właśnie sytuacja ma miejsce w systemie druku paszportów. Procedura przygotowania
wydruku dokumentów wymaga złożonego przetwarzania danych. Związane to jest z tym, że wymaga ona przygotowania spersonalizowanych obrazów dokumentów, zapewnienia sterowania dla
drukarek oraz sterowania dla systemu automatycznego kopertowania dokumentów. Złożoność
procesu wymaga wielokrotnego dostępu do danych i nie pozwala na zaimplementowanie go w
formie algorytmów jednoprzebiegowych, o liniowej złożoności obliczeniowej. Dla zapewnienia
wymaganej wydajności tego procesu, wykorzystano z powodzeniem tabele PL/SQL. Dzięki temu,
wszystkie kosztowne operacje wykonywane są na dynamicznych tabelach w pamięci operacyjnej.
Wykonane pomiary potwierdziły tezę, że koszt utworzenia tych tabel i zapisania wyników w bazie
danych jest mały w stosunku do samego przetwarzania, które przy takim podejściu jest wielokrotnie szybsze niż przy bezpośrednim operowaniu na bazie danych.
Ponadto – jak już wspomniano wcześniej – wykorzystanie tabel PL/SQL umożliwiło inteligentne buforowanie danych, co z kolei pozwoliło uzyskać bardzo dobre czasy reakcji aplikacji
przy nawigacji po złożonej hierarchii obiektów.
284
Robert Domagała, Piotr Salata
6.4. Niezawodność
Wszystkie funkcje w systemie wykonywane w sposób transakcyjny. Aplikacja w pełni kontroluje mechanizm transakcji, co zapewnia zachowanie spójności i poprawności danych nawet w sytuacjach, gdy występują błędy w samym procesie technologicznym (chociażby zagięcie się kartki
w drukarce, czy niedodrukowanie dokumentu). A zatem aplikacja monitoruje status wykonania
zadań na drukarkach i odpowiednio reaguje zatwierdzając lub odwołując transakcje związane ze
zmianą stanu dokumentów w procesie produkcji. Jest to jeden z dodatkowych mechanizmów zapewnienia odpowiedniej reakcji na możliwe wystąpienia sytuacji błędnych.
Rzecz jasna, system wykorzystuje odpowiednie mechanizmy systemu zarządzania bazą danych
Oracle, aby zapewnić niezawodne funkcjonowanie bazy.
Niezawodność na poziomie sprzętowym zapewniana jest poprzez użycie macierzy dyskowej
pracującej w trybie RAID 5.
6.5. Bepieczeństwo
Podstawowym rozwiązaniem zapewniającym bezpieczeństwo systemu jest jego fizyczna izolacja. Końcówki, na których jest zainstalowana aplikacja, są umieszczone w chronionym pomieszczeniu, a sieć, w której pracuje system, jest wyodrębniona i niedostępna z zewnątrz, tzn. nawet dla
innych pracowników wytwórni.
Logicznie system bezpieczeństwa aplikacji oparty jest na zestawie ról zdefiniowanych w systemie, które bardzo precyzyjnie określają prawa dostępu do danych systemu oraz pozwalają na
wykonanie wyłącznie operacji zdefiniowanych w aplikacji. System ten jest pewnego rodzaju rozszerzeniem mechanizmów bezpieczeństwa Oracle.
Każda z ról posiada minimalne uprawnienia na poziomie bazy danych oraz funkcji aplikacji,
pozwalające na wykonanie wybranej funkcji biznesowej. Role te nie są na stałe przydzielone użytkownikom aplikacji. Przypisanie ról wykonywane jest przez aplikację podczas procesu autoryzacji
po zalogowaniu i weryfikacji użytkownika w systemie. W ten sposób role funkcjonują jedynie w
kontekście sesji, co dodatkowo utrudnia nieautoryzowany dostęp do danych i funkcji systemu i
zabezpiecza system przed ingerencją w dane spoza aplikacji, przy pomocy standardowych narzędzi obsługi baz danych, takich jak SQL*Plus, czy TOAD.
W związku z tym, że w aplikacji przetwarzane są dane osobowe, w aplikacji zaimplementowano mechanizmy umożliwiające spełnienie wymagań ustawy o ochronie danych osobowych.
Wszystkie operacje wykonywane na danych osobowych są rejestrowane w bazie danych. W podsystemie raportów zaimplementowano raporty, które umożliwiają udzielenie odpowiedzi na temat
historii danych w systemie.
7. Problemy techniczne i ich rozwiązania
W trakcie realizacji projektu napotkano na szereg istotnych problemów, z których część dała
się rozwiązać poprzez odpowiednią konfigurację systemu, część zaś wymagała stworzenia dodatkowych mechanizmów programowych.
Podstawowy problem pojawił się na samym początku projektu, kiedy to okazało się, że standardowa konfiguracja bazy danych i narzędzi nie obsługuje w sposób poprawny znaków Unicode
w standardzie UTF-8. Szczęśliwie, problem udało się rozwiązać instalując odpowiednie uaktualnienie oprogramowania. Jednakże sytuacja, w której zestaw komponentów Oracle nie współpracuje ze sobą bez intensywnego angażowania pomocy technicznej i szczególnych zabiegów administratorskich, stanowczo nie jest dobra i przysparza wiele zupełnie niepotrzebnych problemów zespołowi projektowemu.
Wydajność i niezawodność – system masowego drukowania i dystrybucji paszportów zwierząt... 285
Ciekawy problem wydajnościowy został wykryty po przeprowadzeniu bardzo wielu długotrwałych testów obciążeniowych. W bazie danych mamy do czynienia ze strukturami, które wydają się
wręcz stworzone do tego, aby być obsługiwane przez indeksy bitmapowe. Chodzi mianowicie o
pola określające status poszczególnych dokumentów. I rzeczywiście – mechanizm ten działa bardzo dobrze, ale tylko przez pewien czas. Wiąże się to z pewna specyfiką systemu polegającą na
doładowywaniu nowych danych przy równoczesnej aktualizacji kolumny, na której jest utworzony
indeks bitmapowy (dokumenty zmieniają swój stan). Okazuje się, że w tej sytuacji, po osiągnięciu
pewnej wielkości tabeli, indeks bitmapowy zaczyna się degradować, zdecydowanie nadmiernie
zwiększa swoją objętość i w praktyce uniemożliwia efektywne wykonywanie zapytań. Jedynym
rozwiązaniem tego problemu była niestety rezygnacja z tego mechanizmu indeksowania, który
okazał się nie całkiem dopracowany.
Jeszcze jeden poważny problem wynikł przy próbie skonfigurowania systemu drukowania.
Okazało się bowiem, że sposób funkcjonowania drukarek zależny jest bardzo silnie od konfiguracji wersji oprogramowania Oracle, systemowego sterownika drukarki i wewnętrznego oprogramowania drukarki. Zarówno kolejki drukarek systemu operacyjnego, jak i profesjonalne drukarki
buforują pliki do wydruku i starają się optymalizować wydruk, niekiedy manipulując kolejnością
prac. Jako że w systemie wydruku paszportów jakakolwiek zmiana kolejności jest niedopuszczalna, konieczne było takie sterowanie drukarkami, aby z jednej strony zabezpieczyć się przed niepożądaną optymalizacją, a z drugiej – nie rezygnować z mechanizmów buforowania wydruków, które zapewniają wymaganą wydajność. Ponieważ żadna konfiguracja standardowych komponentów
nie spełniała wymagań, rozwiązaniem okazało się w tym wypadku nie tylko dobranie odpowiedniej kombinacji systemowego sterownika drukarki i ustawień drukowania, ale też opracowanie
własnego mechanizmu sterowania drukiem, który eliminuje możliwość hazardu czasowego w
ramach wydruku.
8. Organizacja projektu
8.1. Użytkownik systemu: PWPW
Polska Wytwórnia Papierów Wartościowych S.A. od ponad 80 lat funkcjonuje na elitarnym
rynku producentów dokumentów i druków o najwyższym stopniu zabezpieczenia. Szczycimy się
doświadczoną kadrą i unikatowymi technologiami.
Polska Wytwórnia Papierów Wartościowych należy do grona kilkunastu najnowocześniejszych
zakładów tego typu na świecie. Wytwórnia dysponuje możliwością drukowania we wszystkich
istniejących technikach, począwszy od druku offsetowego, poprzez druk typograficzny, a skończywszy na stalorycie.
Wytwórnia jest, jako jedna z nielicznych na świecie, w pełni samodzielna technologicznie.
Dysponujemy własną papiernią, oddziałem produkcji farb graficznych, pracownią projektową,
działem przygotowania do druku. Dział ochrony zapewnia bezpieczny transport nowoczesnymi
i opancerzonymi samochodami przy pomocy przeszkolonych pracowników ochrony. Wszystko to
sprawia, że naszym klientom możemy zagwarantować jakość, terminowość i pełne bezpieczeństwo.
Polska Wytwórnia Papierów Wartościowych znajduje się na liście spółek o znaczeniu strategicznym dla państwa. Od 1998 roku zajmuje się produkcją banknotów z serii „Władcy polscy”,
a od lipca 1999 roku drukuje nowe prawa jazdy, dowody rejestracyjne i karty pojazdu. Ponadto
PWPW S.A. w ramach utworzonej przez siebie spółki zajmuje się personalizacją kart płatniczych.
PWPW S.A. jest dziś w stanie sprostać najbardziej wyrafinowanym wymaganiom w zakresie jakości druku i systemów zabezpieczeń.
286
Robert Domagała, Piotr Salata
Ważnym obszarem działalności Polskiej Wytwórni Papierów Wartościowych jest produkcja
dokumentów personalizowanych, czyli dokumentów z cechami osobowymi nadawanymi centralnie. PWPW wytwarza następujące rodzaje dokumentów personalizowanych: prawa jazdy, świadectwa kwalifikacji, karty pojazdu oraz paszporty bydła.
8.2. Odbiorca produkcji: ARiMR
Agencja Restrukturyzacji i Modernizacji Rolnictwa jest agencją rządową. Wspiera działania
służące rozwojowi rolnictwa i obszarów wiejskich. Agencja powstała w 1994 roku.
System centralnej personalizacji paszportów bydła przygotowany został na potrzeby wydruku
i dystrybucji tychże dokumentów do posiadaczy zwierząt, na zlecenie ARiMR w ramach budowanego systemu IACS.
Zintegrowany System Zarządzania i Kontroli (ang. IACS: Intergated Administration and
Control System) jest systemem, dzięki któremu polscy rolnicy – po przystąpieniu naszego kraju do
Unii Europejskiej – będą mogli korzystać z dopłat bezpośrednich do produkcji rolnej. Rolnicy,
którzy chcą otrzymać dopłaty do produkcji roślinnej i zwierzęcej (tzw. dopłaty bezpośrednie),
muszą najpierw zarejestrować swoje gospodarstwa; w ten sposób obejmie je ZSZiK. Oznakowane
zwierzęta są rejestrowane w ewidencji ogólnokrajowej i dla nich są drukowane paszporty. Dzięki
temu zarówno żywiec, jak i mięso mogą być dopuszczone do obrotu handlowego i posiadają świadectwo pochodzenia.
8.3. Wykonawca: Hewlett-Packard Polska i Pentacomp Systemy Informatyczne
W ramach prezentowanego przedsięwzięcia, firma Hewlett-Packard Polska zajmowała się organizacją projektu oraz współpracy pomiędzy wszystkimi uczestnikami: PWPW, ARiMR oraz
producentem oprogramowania systemu.
Wykonawcą oprogramowania systemu druku paszportów bydła jest firma Pentacomp Systemy
Informatyczne. Jest to polska firmą informatyczna działającą od 1995 roku. Specjalizuje się w
tworzeniu średnich i dużych dedykowanych systemów informatycznych realizowanych z wykorzystaniem najnowocześniejszych technologii i metodologii, a także integracją systemów informatycznych.
Wiodącymi kierunkami projektów realizowanych przez Pentacomp są opracowywane
z wykorzystaniem technologii middleware aplikacje bazodanowe, hurtownie danych oraz rozwiązania internetowe.
Pentacomp ma bogate doświadczenia związane z realizacją dużych projektów informatycznych. Jest to dziedzina, w której firma dysponuje odpowiednimi umiejętnościami, wiedzą i referencjami. Rozwiązania informatyczne tworzone są w różnych technologiach, dopasowywanych do
potrzeb klienta, przy czym w zakresie baz danych firma wykorzystuje system Oracle 8/9i, a także
Oracle Rdb.
9. Podsumowanie
Realizacja projektu masowego druku paszportów bydła okazała się interesującym doświadczeniem i to nie tylko dla wykonawcy, dla którego był to pierwszy tego typu system, ale i dla użytkownika, który wszak eksploatuje już produkcyjnie podobnego rodzaju rozwiązania. Jednakże
szczególna specyfika problemu wymagała zastosowania nowych rozwiązań po obu stronach.
Z punktu widzenia twórcy systemu najważniejsze wnioski z jego realizacji można streścić następująco:
Wydajność i niezawodność – system masowego drukowania i dystrybucji paszportów zwierząt... 287
• Do realizacji systemu o wysokich wymaganiach niezawodnościowych i wydajnościowych
konieczne jest stosowanie możliwie najprostszych i sprawdzonych środków.
• System Oracle daje możliwość uzyskania odpowiednio wysokiej wydajności, choć wymaga
to intensywnego testowania i zachowania ograniczonego zaufania do optymalizatora.
• Poświęcenie znacznego czasu i uwagi procesowi testowania pozwala na stworzenie systemu
praktycznie doskonałego jakościowo, który po wdrożeniu może pracować w sposób efektywny, bezbłędny i bezawaryjny.
Do każdej personalizacji dokumentów potrzebne są dane, a do każdego przetwarzania danych
niezbędne jest odpowiednie oprogramowanie. Systemy centralnej personalizacji dokumentów są
obecnie w centrum zainteresowania, niestety nie należą jeszcze do dynamicznie rozwijającej się
kategorii systemów informatycznych. Mając na uwadze obecne satystyki i liczby popełnianych
przestępstw z wykorzystaniem sfałszowanych dokumentów, można tylko życzyć sobie, aby jak
najszybciej dojrzała w społeczeństwie świadomość poprawy bezpieczeństwa, a zwłaszcza bezpieczeństwa systemu wydawania dokumentów o istotnym znaczeniu dla obywatela. Sprawa dotyczy
każdego i każdy z nas może być potencjalną ofiarą przestępstwa gospodarczego popełnionego
z wykorzystaniem naszych dokumentów. Im więcej będzie dobrze zabezpieczonych i centralnie
personalizowanych dokumentów w państwie, tym bezpieczniejsi będą jego obywatele.

Podobne dokumenty