Wydajnoœæ i niezawodnoœæ system masowego drukowania i dystrybucji paszportów zwierz¹t w Polskiej Wytwórni Papierów Wartoœciowych S.A.



Podobne dokumenty
Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

PDM wbudowany w Solid Edge

Katalog handlowy e-production

Referat pracy dyplomowej

Usługa: Testowanie wydajności oprogramowania

Metodyka projektowania komputerowych systemów sterowania

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Wrocław, dnia r.

OfficeObjects e-forms

Informacje o wybranych funkcjach systemu klasy ERP Realizacja procedur ISO 9001

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Maciej Oleksy Zenon Matuszyk

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Agencja Interaktywna

Usługi analityczne budowa kostki analitycznej Część pierwsza.

TWÓJ BIZNES. Nasz Obieg Dokumentów

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach)

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

ZARZĄDZANIE DOKUMENTACJĄ. Tomasz Jarmuszczak PCC Polska

Faza Określania Wymagań

Plan Testów Systemu SOS

aplikacja akcyzattor

System Obsługi Wniosków

REFERAT PRACY DYPLOMOWEJ

Wykład I. Wprowadzenie do baz danych

Galileo - encyklopedia internetowa Plan testów

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

Praca w sieci z serwerem

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Zarządzanie bazą danych

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

EXSO-CORE - specyfikacja

SYSTEM VILM ZARZĄDZANIE CYKLEM ŻYCIA ŚRODOWISK WIRTUALNYCH. tel: +48 (032)

System generacji raportów

System automatycznego wysyłania SMSów SaldoSMS

Kampania FAX. Wybrane funkcjonalności: Definiowanie nagłówka. Personalizacja. Formaty PDF, Office i graficzne. Zapowiedź. Indywidualny numer telefonu

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Pliki cookies. Jaki rodzaj Cookies jest używany? Podczas wizyty na tej stronie używane są następujące pliki Cookies:

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Zarządzanie Zapasami System informatyczny do monitorowania i planowania zapasów. Dawid Doliński

PROGRAMOWALNE STEROWNIKI LOGICZNE

Plan testów do Internetowego Serwisu Oferowania i Wyszukiwania Usług Transportowych

Część I Rozpoczęcie pracy z usługami Reporting Services

kompleksowe oprogramowanie do zarządzania procesem spawania

REFERAT O PRACY DYPLOMOWEJ

FORMULARZ OFERTOWY. Termin dostarczenia dokumentu 1

Instrukcja użytkownika. Aplikacja Smart Paczka DPD

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Planowanie przestrzenne

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Systemy ERP. dr inż. Andrzej Macioł

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

CRM VISION FUNKCJE SYSTEMU

Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.

Zarządzaj projektami efektywnie i na wysokim poziomie. Enovatio Projects SYSTEM ZARZĄDZANIA PROJEKTAMI

System Kontroli Bazy Danych Topograficznych (SKBDT) zawód kartografa?

Oprogramowanie. Przemyślane, niezawodne, przyjazne dla użytkownika

Internetowa sieć laboratoriów fotograficznych

System zarządzania zleceniami

Alicja Marszałek Różne rodzaje baz danych

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

Pliki cookies. Podczas wizyty na tej stronie używane są następujące pliki Cookies:

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

SHAREPOINT SHAREPOINT QM SHAREPOINT DESINGER SHAREPOINT SERWER. Opr. Barbara Gałkowska

produkować, promować i sprzedawać produkty, zarządzać i rozliczać przedsięwzięcia, oraz komunikować się wewnątrz organizacji.

Czym są pliki cookies?

Informacja o firmie i oferowanych rozwiązaniach

Zastosowanie systemu AssetTrace w automatyzacji procesów magazynowych przy pomocy kodów kreskowych

Elastyczny system. Apteki Automatyzacja komisjonowanie ECOMAT MEDIMAT ROBOMAT Fill IN BOX SPEED BOX Blistrowanie. Trójwymiarowe rozpoznawanie obrazów

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

TWÓJ BIZNES. Nasze rozwiązanie

Zapytanie ofertowe. planuje zakup usług doradczych. Zapytanie kierowane jest do firm z branży informatycznej.

Usługa: Audyt kodu źródłowego

Szpieg 2.0 Instrukcja użytkownika

Włącz autopilota w zabezpieczeniach IT

WYJAŚNIENIA NR 2 TREŚCI SIWZ

Instrukcja instalacji i obsługi programu Szpieg 3

Autor: Artur Lewandowski. Promotor: dr inż. Krzysztof Różanowski

Istnieje możliwość prezentacji systemu informatycznego MonZa w siedzibie Państwa firmy.

System Obsługi Pożyczek

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Projektowanie bazy danych przykład

Rozdział 3. ROZWÓJ APLIKACJI CENTRALNEJ

System kontroli kosztów oraz dostępu do urządzeń

RFP. Wymagania dla projektu. sklepu internetowego B2C dla firmy Oplot

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Case Study. Rozwiązania dla branży metalowej

7. zainstalowane oprogramowanie zarządzane stacje robocze

Zarządzanie działem serwisu przy wykorzystaniu aplikacji Vario

Procesowa specyfikacja systemów IT

Dobór systemów klasy ERP

Transkrypt:

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 parametrami 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ólnym 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 wydrukó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 realizacji 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.