 |
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.
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.
|
 |