Rozdział 45 System ichem2 rozproszony, internetowy system wymiany informacji na temat odczynników chemicznych Streszczenie. System ichem powstał w 2000 roku w ramach projektu finansowanego przez MEN i KBN PCZ-03.16. System ten wykorzystuje sieć Internet do wymiany informacji między uczelniami na terenie całej Polski. W roku 2004 wdrożono nową wersję systemu, niezależną sprzętowo i opartą w całości na języku Java. Rozdział prezentuje strukturę tego systemu i omawia problemy związane z jego projektowaniem. System ichem został wdrożony na 25 wydziałach szkół wyższych, gdzie stanowi narzędzie do wprowadzenia komputerowej ewidencji odczynników chemicznych i jest bazą informacji o właściwościach chemikaliów i zagrożeniach wynikających z ich stosowania. 1 Wstęp Rozdział opisuje rozwiązanie zastosowane w ramach projektu finansowanego przez MEN i KBN PCZ-03.16, wykorzystujące sieć Internet do wymiany informacji między uczelniami na terenie całej Polski. System ichem powstał w 2000 roku i był od tego czasu intensywnie eksploatowany na wydziałach chemicznych 25 polskich uczelni. W 2004 roku powstała nowa wersja systemu o nazwie ichem2, oparta na platformie Apache/Tomcat, w której pojawił się szereg udoskonaleń. Z uwagi na duży zakres prac związanych z wdrożeniem systemu na 25 serwerach w całym kraju i z zaproponowaną strukturą sieci współpracujących serwerów, system ichem wydaje się być interesującą propozycją zastosowania Internetu do problemów gospodarki magazynowej i wymiany informacji na temat właściwości odczynników. Paweł Kasprowski: Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, 44-100 Gliwice, Polska email: kasprowski@polsl.pl Andrzej M. Grossman: Politechnika Śląska, Wydział Inżynierii Środowiska i Energetyki, ul. Konarskiego 18, 44-101 Gliwice, Polska email: andrzej.grossman@polsl.pl Jacek Majewski: Politechnika Śląska, Wydział Chemiczny, ul. Marcina Strzody 9, 44-100 Gliwice, Polska email: jacek.majewski@polsl.pl
P. Kasprowski, A. M. Grossman, J. Majewski 2 Charakterystyka problemu Problemy z przechowywaniem odczynników chemicznych mają swoje korzenie jeszcze w poprzednim ustroju. Z uwagi na utrudniony dostęp do zakupów odczynników, na terenie wydziałów chemicznych gromadzono ich nadmierne zapasy. W latach 90. sytuacja zmieniła się diametralnie. Odczynniki stały się łatwo dostępne, a firmy je produkujące wręcz prześcigały się w dostarczaniu ich do laboratoriów. W tej sytuacji zamówienie odczynnika niejednokrotnie stało się znacznie łatwiejsze niż poszukiwanie go w wydziałowym magazynie odczynników lub w podręcznie zgromadzonych zapasach. Przechowywane przez wiele lat przeterminowane odczynniki zaczęły nabierać cech odpadów. Dodatkowym utrudnieniem był fakt, że tylko część wydziałów chemicznych posiadała swoje magazyny centralne. Wiele odczynników, często niebezpiecznych, znajdowało się w szafach pracowników czy laboratoriach. W dodatku w magazynach nie prowadzono bieżącej, ścisłej ewidencji wszystkich odczynników. Opisana sytuacja dodatkowo uniemożliwiała odnalezienie odczynnika na terenie uczelni, nie mówiąc już o poszukiwaniu go w innych jednostkach naukowych. Negatywnym zjawiskiem był brak powszechnego dostępu do informacji o właściwościach odczynników, ich toksyczności i zagrożeniach dla środowiska. Informacje te uzyskiwano w trakcie prac badawczych i wynikały z osobistego doświadczenia długoletnich pracowników. W związku z tym zaproponowano program utworzenia spójnego systemu wymiany informacji na temat rodzajów odczynników chemicznych dostępnych w polskich uczelniach oraz ich właściwości i zasad bezpiecznego stosowania [1], [2]. Zadanie to zrealizowano za pomocą systemu informatycznego o nazwie ichem, którego kontynuacją jest system ichem2. System realizuje trzy podstawowe funkcje [3]: udostępnianie informacji na temat właściwości odczynników chemicznych oraz ich kart charakterystyk, prowadzenie gospodarki magazynowej, umożliwienie wymiany informacji na temat posiadanych odczynników w ramach uczelni i pomiędzy uczelniami pracującymi z systemem. 3 Architektura systemu Z uwagi na fakt, że system powinien być dostępny powszechnie, jako medium wymiany informacji zaproponowano sieć Internet. Wymaganie, aby dostęp do niego mogła mieć jak największa liczba użytkowników, narzuciło konieczność wykonania interfejsu aplikacji w technologii HTTP tak, aby potencjalny użytkownik mógł łączyć się z systemem za pomocą zwykłej przeglądarki internetowej [4]. Najprostszym rozwiązaniem byłoby postawienie silnego serwera obsługującego wszystkie współpracujące jednostki. Ostatecznie zdecydowano się jednak na sieć serwerów internetowych po jednym dla każdej jednostki, w której wdrażano system. Złożyły się na to następujące powody: lepsze rozłożenie obciążenia systemu, większa poufność danych wprowadzanych do systemu każda jednostka odpowiada tylko za swoje dane, możliwość indywidualnej parametryzacji systemu w ramach jednostki, 380
System ichem2 rozproszony, internetowy system wymiany informacji na temat odczynników chemicznych większa niezawodność działania wyłączenie jednego serwera nie zatrzymuje całego systemu. 3.1 Baza właściwości odczynników chemicznych CASDAT Baza CASDAT zawiera informacje na temat wszelkich właściwości chemicznych i fizycznych odczynników, sposobów ich bezpiecznego przechowywania i zagrożeń związanych z ich użytkowaniem. Baza ta ma w założeniu w prosty sposób udostępniać te informacje zainteresowanym chemikom w szczególności pracownikom naukowym i studentom. Pierwszym problemem w trakcie projektowania bazy było zaprojektowanie jej struktury tak, aby mogła ona pomieścić wszelkie aktualne i przyszłe właściwości odczynników także zapisywane jako niezależne pliki. Pojedyncze indywiduum chemiczne może posiadać dowolną liczbę nazw i może należeć do różnych klas i typów. Każdy odczynnik ma wiele różnych oznaczeń bezpieczeństwa (R) i sposobów przechowywania (S). Zgodnie z przepisami Unii Europejskiej producent musi dla każdego produkowanego odczynnika stworzyć tak zwaną kartę charakterystyki. Ponieważ jeden odczynnik może być produkowany przez kilku producentów i mieć różne stężenia, może istnieć dla niego wiele różnych kart charakterystyk [6]. Aby można było sprostać tym wymaganiom, zastosowano bardzo prostą, ale i najbardziej elastyczną strukturę bazy. Ma ona postać jednej tablicy. Oparto się w niej na numerze CAS (ang. Chemical Abstracts Service Registry Number) jako unikalnym identyfikatorze odczynnika. Każdy rekord tablicy przedstawia jedną własność jednego odczynnika. Atrybuty rekordu to między innymi: CAS, typ własności (np.: nazwa, wzór itp.), wartość własności, data wpisu, identyfikator wpisującego. Dzięki zastosowaniu otwartej struktury dodanie nowego typu właściwości (np. wzoru strukturalnego lub numeru indeksowego) nie wymaga zmiany struktury bazy danych a każdemu odczynnikowi może zostać przypisana dowolna liczba właściwości (np.: dowolna liczba nazw). Drugim problemem, który należało rozwiązać już na etapie projektowania, było umożliwienie rozproszenia bazy na kilkanaście serwerów. W założeniu na każdym serwerze znajduje się pełna i aktualna wersja bazy, która może być lokalnie używana. Jeśli użytkownik którejś z kopii znajdzie błąd w bazie lub postanowi uzupełnić ją o jakiś nowy wpis aktualizacja dokonuje się tylko na jego lokalnej kopii. Aktualizacja ta powinna być następnie rozsyłana na inne serwery. Automatyczna replikacja danych nie wchodziła jednak w grę, ponieważ takie rozwiązanie uniemożliwiłoby kontrolę nad poprawnością wprowadzonych danych. Wpis w bazie CASDAT jest warunkiem wpisania odczynnika na magazyn. W związku z tym uprawnienia do uzupełniania bazy CASDAT muszą posiadać magazynierzy. Magazynier jednak nie zawsze jest dobrym chemikiem i może popełnić błąd. Taki błędny wpis powielony na wszystkie serwery może zostać wykorzystany przez innych użytkowników i naprawienie go stanie się bardzo żmudne. Aby uniknąć zaśmiecania bazy nieprawidłowymi wpisami zastosowano ogniwo pośrednie, koordynatora serwer zwany Centralą. Serwer ten ściąga nowo wpisane dane z pozostałych serwerów i umożliwia ich kontrolę zespołowi ekspertów. Dopiero po zatwierdzeniu wpisu przez eksperta, może on być rozesłany z Centrali na wszystkie pozostałe serwery. Jeśli wpis zostaje oceniony jako niepoprawny nie zostaje wysłany, a jego autor otrzymuje o tym informację. Rozwiązanie to gwarantuje: jedną, stale powiększającą się bazę właściwości odczynników CASDAT, 381
P. Kasprowski, A. M. Grossman, J. Majewski kontrolę zawartości bazy, szybki dostęp do bazy przez istnienie lokalnej kopii na każdym z serwerów, możliwość tworzenia własnych, nie replikowanych, wpisów na każdym z serwerów. Wrocław Kraków Zatwierdzenie lub odrzucenie zmiany Centrala Łódź Gliwice Rys. 1. Schemat aktualizacji bazy danych CASDAT. Użytkownik serwera (Gliwice) dokonuje aktualizacji w swojej bazie danych. Aktualizacja jest przesyłana do serwera (Centrala), na którym zatwierdza się ją bądź odrzuca. Zatwierdzone zmiany wysyłane są pakietami na pozostałe serwery systemu Kolejnym ważnym zagadnieniem było maksymalne uproszczenie wyszukiwania informacji w bazie. Z bazy można korzystać na dowolnym komputerze na terenie uczelni (lub innej jednostki) korzystając ze standardowej przeglądarki internetowej. Wyszukiwanie jest możliwe według dowolnej właściwości odczynnika (rys. 2). Rys. 2. Okno wyszukiwania odczynników Po wybraniu szukanego odczynnika w oknie prezentowana jest tak zwana karta odczynnika z ewentualnymi odnośnikami do jego kart charakterystyk (rys. 3). Baza właściwości odczynników CASDAT jest narzędziem sprawdzonym, znanym i stosowanym od kilku lat na wydziałach chemicznych polskich wyższych uczelni. Zapewnienie możliwości jej łatwej aktualizacji zaowocowało jej stałą rozbudową i osiągnięciem w roku 2004 liczby ponad 90 tysięcy wpisów. 382
System ichem2 rozproszony, internetowy system wymiany informacji na temat odczynników chemicznych Rys. 3. Przykładowa karta odczynnika 3.2 Prowadzenie gospodarki magazynowej za pomocą modułu Magazyny Kolejnym elementem systemu ichem jest moduł pozwalający na prowadzenie ilościowej gospodarki magazynowej. Ważną cechą tego systemu jest hierarchiczny model uprawnień zrealizowany w postaci drzewiastej. W pierwszej wersji systemu realizowane to było za pomocą bazy LDAP (ang. Lightweight Directory Access Protocol), w wersji ichem2 w celu osiągnięcia jednorodności systemu i ułatwienia jego obsługi przeniesiono dane z bazy LDAP do klasycznej relacyjnej bazy danych. Hierarchiczny model uprawnień pozwala na definiowanie uprawnień na różnych poziomach i dzięki temu bardziej elastyczne ich modelowanie. Administrator może tworzyć grupy użytkowników ale też może na przykład nadać pewne uprawnienia wszystkim pracownikom instytutu lub zakładu (rys. 4). Struktura Uczelni Politechnika Śląska Wydział Inżynierii Środowiska Wydział Chemiczny Instutut 1 Instytut 2 Instytut Chemii Organicznej Instytut Chemii Nieorganicznej Zakład 1 Zakład 2 Rys. 4. Przykładowa struktura jednostki organizacyjnej 383
P. Kasprowski, A. M. Grossman, J. Majewski Moduł magazynowy jest w pełni zintegrowany z modułem CASDAT. Na magazyn wpisać można tylko pozycje znajdujące się w bazie CASDAT, istnieje możliwość przeszukiwania tej bazy w chwili tworzenia nowego stanu magazynowego. Dla każdego stanu magazynowego określa się jego poziom udostępniania. Istnieją trzy poziomy: prywatny tylko dla magazyniera, normalny dla wszystkich uprawnionych użytkowników, publiczny dla wszystkich. Przeszukiwanie magazynów użytkownicy systemu realizują w module Wyszukiwarka opisanym w następnym punkcie. 3.3 Wymiana informacji na temat posiadanych odczynników Moduł Wyszukiwarka służy do wyszukiwania stanów magazynowych według różnych kryteriów. Ważną cechą tego modułu jest umożliwienie wyszukiwania globalnego. Opcja wyszukiwania globalnego pozwala na sprawdzanie stanów magazynowych także na innych serwerach wchodzących w skład systemu. W pierwszej wersji systemu cały proces nadzorowany był przez serwer gromadzący dane. Po określeniu kryteriów wyszukiwania i zaznaczeniu wyszukiwanej lokalizacji (na przykład: Śląsk, Mazowsze lub Akademia Górniczo-Hutnicza ) serwer generował zapytania SQL, wysyłał je do serwerów znajdujących się w wybranej lokalizacji i następnie z zebranych danych tworzył stronę HTML wysyłaną do użytkownika (rys. 5). Klient Serwery Rys. 5. Idea wyszukiwania globalnego. Klient pracując na jednym serwerze przegląda stany magazynowe także na innych serwerach wchodzących w skład systemu ichem2 Rozwiązanie to sprawdziło się w początkowym stadium użytkowania systemu. Jednak problemem okazał się fakt, że komunikacja pomiędzy serwerami rozmieszczonymi na różnych uczelniach odbywała się na porcie serwera bazy danych. W miarę rosnącej świadomości na temat bezpieczeństwa administratorów sieci uczelnianych powstawało coraz więcej firewall i, które z reguły blokowały wszystkie niestandardowe porty. Z tego powodu zaczęły się problemy z komunikacją. Odblokowanie portów okazało się na niektórych uczelniach sprawą trudną do osiągnięcia. Z tego powodu w nowej wersji systemu ichem2 zdecydowano się na realizacje wszelkiej komunikacji między serwerami do portów 80 (http) i 4443 (https), które zwykle nie są 384
System ichem2 rozproszony, internetowy system wymiany informacji na temat odczynników chemicznych blokowane. W nowej wersji serwer przekierowuje użytkownika do serwera docelowego za pomocą odpowiedniego adresu URL. Rozwiązanie takie pozwala równocześnie na uniezależnienie się od rodzaju używanego w systemie serwera bazy danych. Rys. 6. Ekran wyszukiwarki stanów magazynowych. Z lewej strony wybór lokalizacji, u góry określenie specyfikacji stanów 4 Podsumowanie System ichem jest użytkowany od przeszło czterech lat na 25 największych polskich uczelniach (patrz rys. 7). Może być zatem podawany jako przykład udanego wdrożenia aplikacji bazodanowej opartej o interfejs WWW. Najnowsza wersja systemu stworzona w całości w języku Java oprócz rozszerzonych możliwości i podwyższonego bezpieczeństwa oferuje znacznie większy wybór możliwych platform systemowych, na których można wdrożyć system. Rys. 7. Geograficzna prezentacja rozmieszczenia serwerów ichem na terenie Polski 385
P. Kasprowski, A. M. Grossman, J. Majewski Literatura 1. Zawadiak J., Sąsiadek B.: System gospodarowania chemikaliami w wydziałach chemicznych szkół wyższych. Chemik, 51, 29-31, 1998. 2. Michałowski M., Gołaś J.: Możliwości adaptacji do polskich warunków niemieckich rozwiązań systemowych gospodarki laboratoryjnymi odpadami chemicznymi. Inżynieria Środowiska, 3 133-144, 1998. 3. Kasprowski P., Irek P.: Możliwości udostępniania informacji o odczynnikach chemicznych w sięci Internet. Konferencji CHEMIA '98, Krynica 1998. 4. Grossman A.M., Kasprowski P.: Progress of the works in accustoming ichem system. Środkowo-Europejska Konferencja ECOpole'01, Duszniki-Hradec Kralove, 2001. 5. Kasprowski P., Grossman A.M., Majewski J.: System ichem jako przykład zastosowania sieci Internet do wymiany informacji na temat odczynników chemicznych, Studia Informatica Volume 22, Number 4, Gliwice 2002. 6. Grossman A.M., Kasprowski P., Majewski J.: Zasada działania i funkcje komputerowego systemu ewidencji i informacji o chemikaliach w szkołach wyższych. Rocznik Ochrona Środowiska. Tom 6. Koszalin 2004.