Pomiary Automatyka Robotyka 2/2010 dr inĪ. Marian WrzesieĔ, Piotr Ryszawa, Przemysáowy Instytut Automatyki i Pomiarów

SYSTEM ZARZĄDZANIA DOKUMENTAMI PROJEKTU PROTEUS ZAIMPLEMENTOWANY W OpenKM Zaprezentowano implementacjĊ systemu zarządzania dokumentami (DMS) przeznaczonego do nadzoru obiegu dokumentów generowanych podczas realizacji projektu PROTEUS. Jako podstawĊ do realizacji systemu wykorzystano oprogramowanie OpenKM Community instalowane pod systemem operacyjnym Windows Server 2003. Omówiono proces instalacji oraz konfiguracji serwera JBoss aplikacji . System zarządzania dokumentami DMS umoĪliwia dostĊp rozproszonego zespoáu konsorcjantów do zasobów informatycznych posadowionych w serwerze JBoss. Webowy interfejs uĪytkownika, zgodny ze specyfikacją Web 2.0, powoduje, Īe nie jest wymagane instalowanie lokalnego oprogramowania klienckiego. PodkreĞlono bezpieczeĔstwo transferu danych pomiĊdzy serwerem i uĪytkownikami osiągniĊte przez zaimplementowanie protokoáu ssl wspomaganego wygenerowanym dla potrzeb systemu certyfikatem bezpieczeĔstwa oraz restrykcje przy nadawaniu praw dostĊpu. Omówiono wybrane elementy funkcjonalnoĞci systemu tak z pozycji uĪytkownika jak i administratora. THE PROTEUS PROJECT DOCUMENTS’ MANAGEMENT SYSTEM IMPLEMENTED OVER OpenKM The implementation of the Document Management System (DMS) dedicated for the supervising of the documents’ route, which are generated while realizing PROTEUS project, is presented. The base software for the system is the OpenKM Community installed under the Windows Server 2003 OS. The installation steps as well as the configuration process were discussed. Document Management System offers remote access to the IT resources, which are located in the JBoss server, dedicated for the scattered consortium team. The compliance of the web user interface with the Web2.0 specification causes there is no need to put in any local client software. It is emphasized, that the server-client data transfer security could be achieved thanks to ssl protocol implementation supported with the certificate which was created for the security reason and the restrictions while involving the users access. Some selected systems’ features intended for users as well as for the administrator use were discussed.

1. WSTĉP System Zarządzania Dokumentami (DMS – Dokument Management System) w postaci cyfrowej pozwala na wydajne zarządzanie duĪymi zbiorami informacji, ich wprowadzanie, modyfikacje, przeglądanie, przeszukiwanie, sterowanie hierarchicznym dostĊpem do zasobów DMS, a co najwaĪniejsze udostĊpnianie tak lokalnie, jak i w Ğrodowisku rozproszonym uĪytkowników, z zachowaniem bezpieczeĔstwa transferu danych. Efektem stosowania DMS jest uzyskanie duĪej wydajnoĞci podczas przetwarzania danych, bezpieczeĔstwa ich przechowywania i transferu, áatwego w uĪyciu, w polskiej wersji jĊzykowej, narzĊdzia niezbĊdnego podczas realizacji wspólnego zadania przez wielu wspóáwykonawców zlokalizowanych w rozproszonych siedzibach. automation 2010 217 Pomiary Automatyka Robotyka 2/2010

2. SYSTEM DMS PIAP W OPARCIU O OPENKM 3.0 COMMUNITY System DMS PIAP zostaá wdroĪony dla potrzeb obsáugi unijnego projektu PROTEUS, przy którym wspóápracuje ze sobą wiele instytucji (konsorcjantów) realizujących róĪnorakie zadania skáadające siĊ na jedno wspólne rozwiązanie finalne. Do wspomagania tego przedsiĊwziĊcia, w zakresie koordynacji obiegu dokumentacji pomiĊdzy tymi instytucjami, zastosowano System Zarządzania Dokumentami z wykorzystaniem pakietu oprogramowania. OpenKM 3.0 Community. O wyborze tego produktu zadecydowaáy wczeĞniej wymienione cechy uĪytkowe.

2.1. Czym jest OpenKM? OpenKM jest systemem zarządzania dokumentami, wyposaĪonym w webowy interfejs uĪytkownika, nie wymagający instalowania lokalnego oprogramowania klienckiego. Oznacza to, Īe system ten umoĪliwia wspóápracĊ tak grup pracowniczych zlokalizowanych w tej samej siedzibie, jak i zespoáu rozproszonego – komunikującego siĊ przy pomocy sieci Internetowej. Ta funkcjonalnoĞü decyduje o technologicznej atrakcyjnoĞci tego rozwiązania. Dodatkowo system ten umoĪliwia wybór wersji jĊzykowej oraz udostĊpnia zdalne administrowanie systemem. W OpenKM znajdują zastosowanie takie technologie open source, jak J2EE, JBoss, Ajax web (GWT) oraz Jackrabbit (lucene). Technologia J2EE (Java Platform, Enterprise Edition) definiuje standard tworzenia aplikacji w jĊzyku programowania Java oparty o wielowarstwową architekturĊ komponentową. Komponenty są zwykle osadzane na serwerze aplikacyjnym obsáugującym Java Enterprise. JBoss peáni funkcjĊ serwera aplikacji w Javie na licencji LGPL, na bazie technologii Enterprise JavaBeans (EJB). Serwer ten zostaá napisany w caáoĞci w jĊzyku Java, dziĊki czemu JBoss jest dostĊpny dla niemal wszystkich platform. JBoss implementuje peáen zestaw usáug J2EE. Istotą technologii Enterprise JavaBeans jest tworzenie komponentów (ziarna) EJB, które są osadzane na serwerze aplikacji JBoss, skąd są udostĊpniane lokalnie lub zdalnie przez protokóá RMI (zdalne wywoáywanie metod obiektów) poprzez IIOP (Internet Inter-ORB Protocol). Trzy gáówne ziarna EJB to: ƒSesyjne EJB uĪywane do umieszczania w nich logiki aplikacji - czyli kodu, który przetwarza dane, ƒEncyjne EJB reprezentujące w sposób obiektowy dane (np. dostarczają obiektowego spojrzenia na relacyjną bazĊ danych). ƒZiarna sterowane komunikatami wykorzystywane w przetwarzaniu asynchronicznym i w zaawansowanych modelach wspóápracy oprogramowania. Np. model abonent- dostawca: bean rejestruje siĊ jako dostawca pewnej usáugi, klienci mogą zarejestrowaü siĊ jako abonenci. W pakiecie instalacyjnym, który moĪna pobraü ze strony producenta OpenKM dostĊpne jest oprogramowanie wraz z serwerem JBoss zapewniającym wspóápracĊ z aplikacją. DomyĞlnie OpenKM wspóápracuje z bazą danych HyperSQL (freeware). OpcjĊ tĊ moĪna zmieniü w drodze bezpoĞredniej modyfikacji plików konfiguracyjnych. Do programowania w jĊzyku Java - podczas implementacji systemu – wykorzystywane jest darmowe oprogramowanie firmy Sun Microsystems Java Development Kit (JDK) – tu, w wersji dla .

218 automation 2010 Pomiary Automatyka Robotyka 2/2010

2.2. Implementacja sytemu System OpenKM zostaá zaimplementowany w serwerze wyposaĪonym w system operacyjny Windows Server 2003. Wymagaáo to zainstalowania systemu, jego skonfigurowania oraz wygenerowanie i zaimplementowanie certyfikatu bezpieczeĔstwa. 2.2.1. Instalacja systemu w serwerze Windows 2003 x Pobranie (ze strony http://www.sun.com) i instalacja Java Developer Kit (JDK) 6.0 x Pobranie (ze strony http://www.openkm.com) i instalacja systemu OpenKm ver 3.0 community - plik OpenKM-3.0-RC1_JBoss-4.2.2.GA.zip zawierający serwer aplikacji JBoss DomyĞlnym adresem systemu OpenKM jest http://localhost:8080/OpenKM/. 2.2.2. Konfiguracja systemu w serwerze Windows 2003 Konfiguracja systemu obejmuje: ƒzdefiniowanie bezpiecznego poáączenia https na bazie certyfikatu ssl z wykorzystaniem portu 7443. UwzglĊdniający te wymogi plik konfiguracyjny serwer.xml zamieszczono w zaáączniku A. ƒskonfigurowanie usáugi e-mail z wykorzystaniem stosowanego w PIAP serwera pocztowego ni.piap.pl. UwzglĊdniający to zdefiniowanie plik konfiguracyjny mail-service.xml zamieszczono w zaáączniku B ƒskonfigurowanie parametrów pracy Systemu Zarządzania Dokumentami. Plik konfiguracyjny OpenKM.cfg zamieszczono w zaáączniku C. 2.2.3. Generowanie certyfikatu Do wygenerowania certyfikatu zastosowano narzĊdzie keytool dostarczane z pakietem JDK6. W tym celu z konsoli, w katalogu uruchomieniowym C:\Program Files\Java\jdk\bin\”) naleĪy podaü polecenie : keytool –genkey –v -alias serverX –dname "CN=serverX,OU=IT,O=JPC,C=GB" - keypass password -keystore serverX.jks -storepass password -keyalg "RSA" - sigalg "MD5withRSA" -keysize 2048 -validity 3650 Wygenerowane Certyfikaty Java znajdują siĊ w katalogu uruchomieniowym narzĊdzia keytool. Docelowo, w systemie Windows 2003, certyfikaty powinny byü przechowywane w pliku: „C:\Program Files\Java\jre6\lib\security\cacerts” W celu zaimportowania certyfikatu ssl do zbioru certyfikatów Java w Serwerze Windows 2003 naleĪy uruchomiü polecenie: keytool –import -alias serverX -file serverX.cer -keystore "C:\Program Files\Java\jre6\lib\security\cacerts" Po tej operacji klienci mają moĪliwoĞü korzystania z serwera Windows 2003 przy uĪyciu bezpiecznego poáączenia z wykorzystaniem protokoáu https. Konfiguracja bezpiecznego poáączenia odnoĞnie samej aplikacji OpenKM zostaáa przedstawiona w punkcie 2.3.2. 2.3. Architektura systemu DMS PIAP Jak wczeĞniej przedstawiano, architektura systemu DMS obejmuje serwer JBoss posadowiony na serwerze sprzĊtowym Windows Server 2003 oraz doáączonych do niego uĪytkowników lokalnych oraz odlegáych z wykorzystaniem bezpiecznego poáączenia internetowego. Do korzystania z systemu wymagane jest zainstalowanie na komputerze stanowiskowym przeglądarki internetowej oraz klienta Java. automation 2010 219 Pomiary Automatyka Robotyka 2/2010

Serwer JBoss jest udostĊpniany klientowi przez Serwer WWW, na którym posadowiona jest witryna internetowa peániąca rolĊ ramki. Ramka ta dostosowuje siĊ w sposób dynamiczny do rozdzielczoĞci ekranu klienta. Ramka wyĞwietla szyfrowaną zawartoĞü witryny Serwera JBoss.

Rys. 1. Architektura systemu DMS PIAP

2.3.1. Bezpieczny dostĊp wspóáuĪytkowników Bezpieczny dostĊp do danych zapewnia protokóá https. Zapewnia on szyfrowanie podczas transferu danych serwer-klient Bezpieczny dostĊp wspóáuĪytkowników do wspólnych zasobów to takĪe odpowiednio przypisane prawa dostĊpu do poszczególnych katalogów i dokumentów. Z dostĊpu do posadowionych w serwerze dokumentów mogą korzystaü wyáącznie uĪytkownicy uprawnieni.

2.3.2. BezpieczeĔstwo danych Jednym z elementów bezpieczeĔstwa danych jest ich systematyczne archiwizowanie (backup). Z istoty funkcjonowania serwera JBoss wynika, Īe zarówno repozytorium jak i wersje plików są zapisywane w jednym pliku *.dat. Z tego powodu jako metodĊ archiwizacji przyjĊto backup peány. Backup zachodzi w dwóch fazach: faza pierwsza, to archiwizacja w serwerze Windows 2003, na którym jest zaimplementowany JBoss, faza druga, to przetwarzanie kopii bezpieczeĔstwa w serwerze backupowym PIAP. Przed wykonaniem backupu naleĪy zatrzymaü server JBoss, uruchamiając przewidziany do tego celu skrypt shutdown.bat. Po zatrzymaniu serwera tworzona jest kopia bezpieczeĔstwa caáego katalogu gáównego, w którym znajduje siĊ zarówno serwer (pliki konfiguracyjne, baza danych HyperSQL) jak i repozytorium (pliki w formacie *.dat). Po utworzeniu kopii naleĪy uruchomiü serwer przy uĪyciu przewidzianego do tego celu skryptu run.bat. W przypadku udostĊpniania serwera z opcją do korzystania przez uĪytkowników zewnĊtrznych skrypt ten uruchamia siĊ z parametrem –b 0.0.0.0

220 automation 2010 Pomiary Automatyka Robotyka 2/2010

Kopia bezpieczeĔstwa DMS jest posadawiana w okreĞlonej lokalizacji serwera Windows 2003, udostĊpnionej lokalnemu serwerowi backupowemu PIAP, gdzie zachodzi dalsze przetwarzanie, zgodnie z przyjĊtą polityką bezpieczeĔstwa i wg harmonogramu zaprojektowanego w tym serwerze. PrzyjĊta jest tu zasada, Īe procesem archiwizacji w fazie drugiej zarządza wyáącznie serwer backupowy.

2.4. Korzystanie z systemu DMSPIAP

2.4.1. Korzystanie z pozycji uĪytkownika systemu Jak wynika z funkcjonalnoĞci systemu, umoĪliwia ona wspóákorzystanie zespoáów uĪytkowników rozproszonych, o odlegáym dostĊpie do serwera DMS, z wykorzystaniem narzĊdzi internetowych. Do zainicjowania pracy w Ğrodowisku DMS wymagana jest jedynie przeglądarka internetowa. W celu jak najpeániejszego wykorzystania systemu DMS, zaleca siĊ stosowanie przeglądarki Mozilla . Po uruchomieniu przeglądarki i podaniu adresu IP lokalizacji serwera systemu DMS uzyskuje siĊ dostĊp do jego zasobów (repozytorium). Sposób prezentacji zasobów, to podzbiór katalogów wchodzących w skáad systemu, przypisany do wykorzystywania przez okreĞlonego uĪytkownika. Takie podzbiory są definiowane uprawnieniami dostĊpu kaĪdego z uĪytkowników systemu.

Rys. 2. Widok repozytorium systemu DMS PIAP

Zasoby systemu, do których okreĞlony uĪytkownik nie ma uprawnieĔ są dla niego niewidoczne, zasoby z prawem do odczytu oznaczone są kolorem czerwonym, a zasoby z peánymi prawami są zaznaczone kolorem Īóátym. Katalog „Moje Dokumenty” zawiera katalog domowy uĪytkownika. W systemie DMS definiuje siĊ zarówno uĪytkowników jak i grupy, do których przypisuje siĊ uĪytkowników peániących te same role w sytemie. automation 2010 221 Pomiary Automatyka Robotyka 2/2010

2.4.1.1. Wybrane funkcje systemu e-mail: podczas dodawania dokumentu do okreĞlonego katalogu uĪytkownik ma moĪliwoĞü poinformowania o tym wskazanych uĪytkowników systemu. UĪytkownicy ci otrzymają wiadomoĞü na swój adres e-mail. blokada dokumentu: pobranemu z zasobów systemu dokumentowi moĪna przypisaü status „zablokowany” na czas przetwarzania go, ograniczając prawo dostĊpu do niego innym uĪytkownikom do prawa „tylko do odczytu”. Karta WáaĞciwoĞci umoĪliwia odczyt statusu, w tym informacji o tym, kto aktualnie edytuje ten dokument. historia: wprowadzenie zmodyfikowanego pliku do systemu powoduje nadanie mu nowego indeksu (numer wersji); poprzednie numery wersji moĪna odczytaü na karcie Historia. MoĪna równieĪ otworzyü dokument w poprzedniej wersji lub przywróciü dokument zmodyfikowany do wersji poprzedniej wersji z zachowaniem wczeĞniej przypisanego numeru wersji. subskrypcja monitorowania dokumentu: po wybraniu takiego Īądania, zmiany statusu dokumentu mogą byü raportowane uĪytkownikowi systemu drogą e-mailową. notatki: kaĪdy plik poddany przetwarzaniu moĪe byü opatrzony notatką. Notatka nie podlega modyfikacji przez kolejnych uĪytkowników. KaĪda wersja dokumentu moĪe posiadaü jedną notatkĊ. kopiowanie odnoĞników do dokumentów: ta opcja – dostĊpna jedynie w odpowiednio skonfigurowanej przeglądarce Mozilla Firefox – umoĪliwia kopiowanie lokalizacji URL dokumentu z poziomu DMS. wyszukiwanie: w systemie OpenKM istnieje moĪliwoĞü peánotekstowego wyszukiwania danych w wielu powszechnie stosowanych formatach, w tym dokumentach PDF, TXT, MS Office, OpenOffice, a takĪe w znacznikach ID3 dla formatu MP3, czy w znacznikach EXIF (EXtended Interchange Format) dla formatu JPEG. 2.4.2. Korzystanie z pozycji administratora Administrator ma dostĊp do peánego repozytorium niezaleĪnie od uprawnieĔ nadawanych przez uĪytkowników w ramach przypisanych im uprawnieĔ. Administrator swoje zadania wykonuje na karcie Administracja

Rys. 3. Widok statystyk systemu DMS PIAP

222 automation 2010 Pomiary Automatyka Robotyka 2/2010

2.4.2.1. Wybrane funkcje Administratora systemu

Przeglądanie statystyk: Administrator ma dostĊp do statystyk DMS takich jak rozmiar repozytorium, liczba dokumentów oraz liczba folderów Zarządzanie sesjami uĪytkowników: Administrator monitoruje bieĪące sesje uĪytkowników w systemie. Ma on przy tym prawo do przerwania sesji uĪytkownika (zabicie sesji), co jest istotne zwáaszcza przy usuwaniu zawieszonych na okres karencji sesji (zombie) pozostaáych po niezamierzonym przez uĪytkownika zerwaniu komunikacji klient- serwer. Nadawanie uprawnieĔ do katalogów i dokumentów: Administrator nadaje uprawnienia do katalogów lub dokumentów uĪytkownikom i grupom, zgodnie z polityką wáaĞciciela DMS (Kierownika projektu PROTEUS). Opcje uprawnieĔ to: odczyt i/lub zapis. UĪytkownik posiadający prawo odczytu i zapisu do okreĞlonego podzestawu repozytorium, moĪe nadawaü prawa innym uĪytkownikom i grupom w nadzorowanym przez siebie obrĊbie. Nadawanie uprawnieĔ do poszczególnych katalogów lub plików przeprowadza siĊ w repozytorium, poprzez wybranie okreĞlonego zasobu i przypisanie mu wybranych uprawnieĔ. Zarządzanie uĪytkownikami i grupami uĪytkowników: zgodnie z polityką wáaĞciciela DMS, Administrator wprowadza lub usuwa uĪytkowników. Dodając uĪytkownika okreĞla siĊ jego UID ( Unikalny Identyfikator w formacie ciągu znakowego), wprowadza siĊ adres e-mail stosowany przez tego uĪytkownika, jego hasáo do systemu, okreĞla siĊ status aktywnoĞci (aktywny-nieaktywny) oraz przypisuje mu siĊ rolĊ (grupĊ). KaĪdy uĪytkownik musi mieü przypisaną co najmniej rolĊ User Role, która uprawnia do uĪywania systemu. Liczba ról nie jest ograniczona. UĪytkownicy peániący te same role áączeni są w grupy. Uáatwia to zarządzanie uprawnieniami uĪytkowników, realizowanymi w tej opcji zbiorczo. W systemie DMS nazwy grup są toĪsame z nazwami ról. Przeglądanie zdarzeĔ: ta opcja umoĪliwia monitorowanie operacji wykonywanych w systemie przez dowolnego uĪytkownika lub przez system. Wyszukiwanie: poza moĪliwoĞciami wyszukiwania dostĊpnymi dla uĪytkownika, administrator dysponuje rozszerzonymi opcjami takimi jak wyszukiwanie zablokowanych dokumentów oraz pisanie zapytaĔ SQL do bazy.

3. PODSUMOWANIE Systemy DMS są w Polsce wykorzystywane w maáym stopniu – Ğwiadczy o tym liczba dostĊpnych publikacji na ten temat. Spowodowane jest to niewiedzą potencjalnych odbiorców. Taki system moĪna zastosowaü w kaĪdej firmie, która ma z duĪymi iloĞciami dokumentów tworzonych przez róĪne osoby. Warto zainteresowaü siĊ tego typu rozwiązaniami, aby podnieĞü wydajnoĞü pracy w swojej firmie.

automation 2010 223 Pomiary Automatyka Robotyka 2/2010

4. ZAàĄCZNIK A Konfiguracja pliku C:\WWW\dmspiap\ server\default\deploy\jboss-web.deployer\serwer.xml

cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager" transactionManagerObjectName="jboss:service=TransactionManager" />

224 automation 2010 Pomiary Automatyka Robotyka 2/2010

5. ZAàĄCZNIK B Konfiguracja pliku C:\WWW\dmspiap\ server\default\deploy\mail-service.xml java:/mail/OpenKM user password jboss:service=Naming

automation 2010 225 Pomiary Automatyka Robotyka 2/2010

6. ZAàĄCZNIK C Konfiguracja pliku C:\WWW\dmspiap\OpenKM.cfg # Default configuration values # Default configuration values # repository.config=repository.xml # repository.home=repository # system.user=system # default.user.role=UserRol # default.admin.role=AdminRol # principal.adapter=es.git.openkm.core.principal.DatabasePrincipalAdapter max.file.size=100 # max.search.results=25 # system.demo=off # system.ocr=/usr/local/bin/tesseract application.url=https://dmspiap.piap.pl:7443/OpenKM/es.git.openkm.frontend.Main/index.jsp # default.lang= subscription.message.subject=DMS PIAP - subskrypcja {2} subscription.message.body=Dokument: {2}
Link: {0}
Uzytkownik: {3}
Zdarzenie: {4}
Komentarz:{5} notify.message.subject=DMS PIAP - Powiadomienie notify.message.body=Uzytkownik: {3}
Nazwa Dokumentu: {2}
Link: {0}
Sciezka: {1}
Wiadomosc: {4}
, gdzie: Cyfry od 0 do 5 są to zmienne, które wykorzystujemy do spersonalizowania otrzymywanych od systemu wiadomoĞci email {5} - comment SUBSCRIPTION SUBJECT {0} - event type NOTIFY SUBJECT {1} - document path {0} - document path {2} - document name {2} - document name

SUBSCRIPTION BODY NOTIFY BODY {0} - document url {0} - document url {1} - document path {1} - document path {2} - document name {2} - document name {3} - user id {3} - user id {4} - event type {4} - message

226 automation 2010 Pomiary Automatyka Robotyka 2/2010

7. LITERATURA 1. Praca Zbiorowa, 2005 r., JBoss 4.0 PodrĊcznik Administratora, Helion 2. Praca zbiorowa, 2005 r., J2EE. Vademecum profesjonalisty, Helion 3. Bill Burke, Richard Monson-Haefel , 2007 r., Enterprise JavaBeans 3.0, Helion 4. M. Yuan, 2007 r., JBoss Seam, Prentice Hall

automation 2010 227