WORKGROUP ENVIRONMENT







ARCHITEKTURA INTERFEJSU LW - ZASTOSOWANE TECHNOLOGIE

Dobór technologii stosowanych przy tworzeniu interfejsu użytkownika systemu LW był podporządkowany założeniom takim jak: ogólna dostępność interfejsu przez Internet, oparcie się na sprawdzonych rozwiązaniach typu open source zapewniających odpowiednią wydajność i przenośność modułów interfejsu, zastosowanie metod pozwalających w zadowalający sposób zabezpieczyć system przed nieautoryzowanym dostępem.


Schemat budowy interfejsu użytkownika portalu oraz powiązania interfejsu z pozostałymi elementami LW
Schemat budowy interfejsu użytkownika portalu oraz powiązania interfejsu z pozostałymi elementami LW.



Założenie powszechnej dostępności interfejsu LW zrealizowano przez zaimplementowanie go w postaci portalu WWW, a więc w technologii dostępnej dzisiaj praktycznie na każdym komputerze za pośrednictwem przeglądarki internetowej.
Pociągnęło to za sobą konieczność zadbania o względy bezpieczeństwa połączenia pomiędzy komputerem użytkownika a serwerem generującym strony portalu LW. Jak widać na powyższym schemacie połączenie to jest szyfrowane, odbywa się za pośrednictwem protokołu HTTPS (szyfrowana wersja protkokołu HTTP). Pierwsze widoczne po wejściu na stronę systemu strony informacyjne są statyczne i jako takie mogą być udostępniane przez nie szyfrowane połączenie HTTP. Przejście na protokół HTTPS ma miejsce w momencie gdy odwiedzający portal użytkownik zgłosi chęć załogowania do systemu LW, a więc w momencie gdy następuje początek wymiany danych krytycznych dla bezpieczeństwa systemu (na początek - nazwa użytkownika oraz hasło).

Portal dostępowy jest logicznie warstwą pośrednią pomiędzy użytkownikiem a wewnętrznymi modułami systemu LW. Poszczególne elementy składające się na warstwę portalu fizycznie powinny znajdować się na tym samym serwerze - jest to wymagane ze względów bezpieczeństwa, które zostaną opisane dalej w punkcie tego dokumentu.

Widoczne po zalogowaniu strony są generowane dynamicznie z uwzględnieniem osobistego profilu danego użytkownika. System dynamicznego generowania stron portalu (dalej skrótowo będzie nazywany generatorem PHP) został opracowany w powszechnie stosowanym, sprawdzonym i wydajnym języku skryptowym PHP [PHP NET]. Generator PHP do tworzenia stron portalu prezentowanych przez serwer WWW użytkownikowi wykorzystuje szereg współdziałających elementów zaimplementowanych w różnych technologiach. Zgodnie z powyższym schematem są to elementy oparte na plikach, bazie danych oraz programy pośredniczący w komunikacji między generatorem PHP a wewnętrznymi modułami systemu LW. Tak więc w tym miejscu mamy zastosowane trzy rodzaje technologii - od najprostszego wykorzystywania systemu plików, przez bazę danych SQL po program w języku C [ANSI C] używający do komunikacji standardu SOAP.

Podsumowując, w zaimplementowaniu interfejsu użytkownika systemu LW zastosowane zostały opisane poniżej technologie:

1. HTTP / HTTPS - szeroko stosowane protokoły transmisji hipertekstu (Hyper Text Transfer Protocol [HTTP PROT]) umożliwiające komunikację w sieci WWW (Word Wide Web [W3C]). Pierwszy używany jest w portali LW w przypadku przeglądania statycznych stron informacyjnych portalu.
W momencie gdy przesyłane są istotne dane odpowiednio skonfigurowany serwer WWW udostępniający portal LW pozwala na bezpieczne, szyfrowane połączenie się użytkownika z systemem za pomocą szyfrowanego protokołu HTTPS (Secured).

2. HTML - hipertekstowy język oznaczania (Hypertext Markup Language [HTML DEF]) - powszechnie znana i stosowana technologia służąca do tworzenia stron WWW interpretowanych przez przeglądarki internetowe. Dynamicznie generowane strony portalu opisane są w HTML z użyciem dodatkowych technologii rozszerzających jego funkcjonalność - opisanych niżej CSS oraz JAVASCRIPT.

3. CSS - technologia kaskadowych arkuszy stylów (Cascading Style Sheets [CSS DEF]). Technologia pozwalająca na stosunkowo łatwe kontrolowanie wyglądu stron WWW, uzupełniająca język HTML skoncentrowany na definicji położenia obiektów na stronie, ale nie na ich wyglądzie.

4. JAVASCRIPT [JS DEF] - język z grupy tzw. technologii client-side, czyli wykonywany po stronie użytkownika (na jego komputerze). Polecenia JAVASCRIPT interpretowane są przez przeglądarkę internetową. Tak jak CSS, również JAVASCRIPT znacznie rozszerza możliwości wpływania na wygląd oraz funkcjonalność stron WWW portalu. Pozwala między innymi na walidację pól formularzy po stronie klienta, czyli przed zatwierdzeniem ich wysłania do serwera LW.

5. PHP [PHP NET] - szeroko stosowany i rozwijany na zasadzie Open Source język skryptowy. Wykonywany jest po stronie serwera, dedykowany do zastosowań WWW. Pełna oryginalna nazwa od której powstał rekurencyjny akronim to Hypertext Preprocesor. W systemie LW zaimplementowano w nim system dynamicznego generowania stron portalu czyli element systemu nazywany tym dokumencie generatorem PHP.

6. Baza danych SQL - relacyjna baza danych oparta o powszechnie stosowany język Standard Query Language. W przypadku portali LW zastosowano najpopularniejszą obecnie system bazy danych, czyli rozwijaną na zasadzie Open Source bazę danych MySQL [MYSQL].

7. SOAP - bazujący na XML protokół komunikacyjny rozwijany od kilku lat i coraz powszechniej stosowany. Simple Object Access Protocol w stosunku do starszych protokołów komunikacji sieciowej ma dwie bardzo istotne zalety - jest niezależny od platformy oraz jest niezależny od języka w którym tworzona jest używająca go aplikacji. Dodatkowo SOAP jest rozwijany jako standard W3C.
Wadą rozwiązania jest to, że SOAP jest ciągle rozwijany i jego używanie jest związane z pewnym ryzykiem niestabilnego działania niektórych jego funkcji. Ale są to oczywiście kwestie, które były wykrywane i na bieżąco rozwiązywane w trakcie implementacji systemu LW.
Protokół SOAP jest używany w LW do komunikacji między modułami przy użyciu specyficznych dla LW formatów komunikatu (datagramów). Z poziomu portalu odwołania w protokole SOAP kierowane do wewnętrznych modułów systemu są wykonywane za pomocą pośrednika - programu komunikacyjnego spełniającego rolę klienta SOAP, zaimplementowanego w C z użyciem dedykowanej dla tego języka biblioteki gSOAP [GSOAP]. Program ten z odpowiednimi parametrami jest wywoływany przez generator PHP i jemu zwraca też wyniki pokazywane później na stronach portalu.
Konieczność użycia programu pośredniczącego była podyktowana problemami z przesyłaniem załączników binarnych protokołem SOAP bezpośrednio z poziomu generatora PHP.

8. SYSTEM PLIKÓW - część informacji wykorzystywanych przez generator PHP podczas tworzenia stron LW jest zawartych w plikach przechowywanych w katalogu WWW portalu. Są to:
- pliki konfiguracyjne generatora PHP,
- szablony HTML i skrypty JAVASCRIPT oraz CSS wykorzystywane do składania z nich stron portalu,
- pliki graficzne stosowane przy generacji stron portalu,
- zapytania SQL służące do komunikacji generatora PHP z bazą danych portalu zawartą w MySQL.
- pliki zasobowe zawierające dane tekstowe z podziałem na wersje językowe (zrealizowano wersję angielską portalu).



STRUKTURA INTERFEJSU PORTALU Z PUNKTU WIDZENIA UŻYTKOWNIKA

Struktura logiczna z punktu widzenia użytkowników systemu LW została oparta o podział na grupy robocze - nazywane w ramach systemu laboratoriami. Przyjęto, że każda grupa robocza (laboratorium) ma swojego jednego administratora laboratorium. Podobnie każde urządzenie udostępniane w ramach LW ma swojego operatora urządzenia / zasobu. Dodatkowo użytkownikiem nadrzędnym dla całego systemu jest administrator LW.

Końcowy użytkownik jest więc zawsze przypisany do konkretnego laboratorium i podporządkowany jego administratorowi. Może pracować na urządzeniach czy zlecać zadania obliczeniowe w ramach puli zasobów przydzielonej do jego laboratorium. Parametry pracy urządzeń, ich dostępność, limity itp. określa kolejny administrator - użytkownik logujący się jako operator urządzenia / zasobu.

Zarządca nadrzędny systemu LW decyduje o zakładaniu nowych grup roboczych - laboratoriów, zarządza ich administratorami oraz operatorami zasobów laboratoryjnych (urządzeń i maszyn obliczeniowych). Ponadto definiuje przynależność organizacyjną użytkowników (zarządza danymi o instytucjach korzystających z LW).

Użytkownik laboratorium

Po logowaniu do systemu użytkownik końcowy systemu LW (podobnie jak administratorzy i operatorzy) uzyskuje dostęp do funkcjonalności pod postacią nowego, personalizowanego paska menu generowanego u góry strony portalu. Opcje dostępne w tym pasku narzędziowym są zależne od tego do jakiego laboratorium należy dany użytkownik. Przykładowe funkcje dostępne po zalogowaniu to:

1. Zlecanie scenariusza zadań. Uruchomienie aplikacji SSA służącej do definiowania scenariusza zadań przekazywanego następnie do wykonania.

2. Monitorowanie scenariuszy zadań. Użytkownik dysponuje wglądem w status scenariuszy zadań (zleconych do systemu przy pomocy aplikacji SSA. Tutaj następuje również uruchomienie sesji interaktywnej z urządzeniem laboratoryjnym w momencie gdy zadanie użytkownika jest gotowe do realizacji.

3. Moduł rozliczeniowy - przedstawia w portalu wyniki pracy modułu zarządzającego informacjami o czasie i kosztach pracy w LW.

4. Zarządzanie próbkami - funkcja specyficzna w przypadku urządzeń laboratoryjnych pracujących nad konkretną próbką substancji badanej. Pozwala na dodawanie definicji nowej próbki do systemu LW oraz na podgląd statusu próbek zdefiniowanych przez użytkownika wcześniej.

5. Podgląd aktualnych ustawień dotyczących zalogowanego użytkownika.

6. Edycja części ustawień użytkownika (do pełnego zestawu modyfikacji ma dostęp administrator laboratorium, do którego należy dany użytkownik).

7. Podgląd aktualnych ustawień laboratorium, do którego należy zalogowanegy użytkownik.



Administrator laboratorium

Administrator laboratorium jest użytkownikiem zarządzającym grupą roboczą pracującą w ramach systemu LW na określonym zestawie urządzeń laboratoryjnych bądź obliczeniowych. Grupę taką nazywamy skrótowo laboratorium. Użytkownik ten nie ma możliwości zlecania zadań, jego konto w systemie ma funkcje czysto administracyjne. W celach badawczych musi posiadać osobne konto o profilu użytkownika końcowego.
Tak jak w wypadku poprzedniego typu użytkownika podstawowa funkcjonalność specyficzna dla tego typu użytkownika jest zgrupowana w pasku menu widocznym po zalogowaniu do systemu LW. Administrator laboratorium jest zarządcą danej grupy roboczej, w jej ramach ma możliwość ingerencji w ustawienia podlegających mu użytkowników. Może monitorować zlecane przez nich zadania, sprawdzać dane z systemu rozliczeniowego, w ograniczonym zakresie edytować parametry swojego profilu użytkownika, na parametru laboratorium nie ma wpływu (aczkolwiek ma do nich wgląd).


Administrator systemu LW

Na konto tego administratora loguje się najbardziej uprzywilejowana osoba, mająca wpływ na parametry całej instalacji oraz pracę wszystkich laboratoriów (grup roboczych) działających w ramach danego systemu LW.
Administrator systemu LW ma możliwość dodawania nowych laboratoriów, edytowania parametrów istniejących, blokowania działania takich grup (co pociąga za sobą automatyczną blokada kont wszystkich użytkowników danego laboratorium). Administrator systemu zarządza również kontami i profilami administratorów laboratoriów i urządzeń. Ma wgląd w dane rozliczeniowe dotyczące poszczególnych grup roboczych. Może przeglądać plik logu portalu. I wreszcie użytkownik ten zarządza również danymi rzeczywistych instytucji (dodawanie, usuwanie i edycja danych), z którymi związani są poszczególni użytkownicy systemu LW.

Identycznie jak w przypadku pozostałych użytkowników funkcjonalność specyficzna dla administratora systemu VL jest zgrupowana w postaci przycisków dostępnych w personalizowanym pasku menu.