• Nie Znaleziono Wyników

udostępnianie materiałów dydaktycznych

N/A
N/A
Protected

Academic year: 2021

Share "udostępnianie materiałów dydaktycznych"

Copied!
5
0
0

Pełen tekst

(1)

2004

Poznańskie Warsztaty Telekomunikacyjne Poznań 9 - 10 grudnia 2004 Bartłomiej Szafko, Piotr Zwierzykowski

Politechnika Poznańska

Instytut Elektroniki i Telekomunikacji ul. Piotrowo 3A, 60-965 Poznań {bszafko,pzwierz}@et.put.poznan.pl

INTRANETOWY SERWIS WWW INSTYTUTU ELEKTRONIKI I TELEKOMUNIKACJI POLITECHNIKI POZNAŃSKIEJ

Streszczenie:

Artykuł przedstawia opis interaktywnego serwisu www opracowanego dla Instytutu Elektroniki i Teleko- munikacji Politechniki Poznańskiej. W artykule prze- stawiono założenia wstępne projektu i omówiono po krótce wykorzystywane biblioteki oraz bazę danych. Ar- tykuł prezentuje również możliwości, które serwis za- pewnia każdej spośród trzech grup użytkowników. Opi- sano możliwości oferowane administratorom, pracowni- kom naukowo-dydaktycznym i studentom.

1. Wprowadzenie

Rozpoczynając projektowanie funkcjonalności ser- wisu, wspomagającego pracę Instytutu Elektroniki i Telekomunikacji, przyjęto założenia, zgodnie z któ- rymi serwis powinien umożliwiać m.in.:

• udostępnianie materiałów dydaktycznych;

• tworzenie list ocen;

• umieszczania planów seminariów zakładowych;

• zarządzanie bazą biblioteczną;

• zarządzanie bazą aparatury instytutu.

Biorąc pod uwagę przyjęte założenia, pierwszym zadaniem okazało się takie zaprojektowanie serwisu, aby była możliwa jego dalsza rozbudowa, w sposób wymagający jak najmniejszej ilości zamian istnieją- cych modułów. Przyjęto również założenie, że two- rzony serwis powinien być dostępny zarówno dla stu- dentów, jak i pracowników za pomocą dowolnej prze- glądarki internetowej.

Artykuł podzielono na 4 rozdziały. W rodziale 2 przedstawiono opis technologii wykorzystanych do stworzenia serwisu. Omówiono w nim język wykorzy- stany do stworzenia aplikacji oraz zastosowaną bazę danych. Rodział 3 zawiera opis struktury systemu oraz możliwości poszczególnych kategorii użytkow- ników, natomiast rodział 4 stanowi podsumowanie prezentowanej aplikacji.

2. Wykorzystane technologie

W celu zaimplementowania prezentowanego systemu posłużono się językiem skryptowym PHP (ang. Hy- pertext Preprocessor ), biliotekami PEAR (ang. PHP

Extension and Application Repository) oraz bazą da- nych MySQL. Wszystkie wspomniane powyżej ele- menty zostałą zwięźle opisane w dalszej części tego rozdziału.

2.1. Język PHP

PHP jest powszechnie używanym językiem skrypto- wym, tworzonym na zasadach Open Source. Głów- nym celem przyświecającym twórcy języka PHP było umożliwienie autorom serwisów WWW szybkiego i łatwego pisania dynamicznie wykonywanych stron o bogatej funkcjonalności [1–3] i z tego względu PHP jest bardzo dobrze dopasowane do potrzeb aplikacji internetowych.

Skrypty PHP są w całości wykonywane na serwe- rze (ang. server side scripting). Wykonanie skryptu rozpoczyna się od wysłania przez klienta żądania.

Następnie żądanie otrzymuje serwer WWW, który (korzystając z modułu PHP) wykonuje komendy za- warte w kodzie źródłowym i wysyła strumień wyni- kowy do klienta [1–3].

PHP jest językiem interpretowanym co oznacza, że na serwerze jest przechowywany kod źródłowy skryptów, a gdy nadchodzi żądanie następuje faza interpretacji i wykonania. Klient otrzymuje tylko re- zultat wykonania skryptu, bez możliwości stwierdze- nia jak wygląda generujący go kod. Za wykorzysta- niem języka PHP do tworzenia serwisów przemawia przede wszystkim jego prostota nie wpływająca na czas wykonania i obciążenie zasobów. Dużym atutem jest bardzo szeroka gama modułów zapewniających olbrzymią ilość dodatkowych rozszerzeń, od dostępu do baz danych, poprzez wysyłanie listów elektronicz- nych czy przetwarzanie plików XML.

Do istotnych zalet PHP należy również możliwość działania na wielu platformach sprzętowych i sys- temowych co jest szczególnie ważnym zagadnieniem w heterogenicznych sieciach uczelnianych.

2.2. MySQL

MySQL jest relacyjnym system zarządzania bazą da- nych. Relacyjna baza zapisuje dane w osobnych tabe- lach zamiast zapisywać wszystkie dane w jednej du- żej tabeli. Pozwala to uzyskać większą elastyczność i szybkość działania. Skrót SQL w MySQL oznacza

(2)

„Structured Query Language” czyli strukturalny ję- zyk zapytań.

SQL jest najbardziej powszechnym standaryzo- wanym językiem używanym przy dostępie do baz da- nych (standard ANSI/ISO SQL). SQL ewoluował od 1986 i istnieje wiele jego wersji. Oznaczenie „SQL-92”

określa wersję ogłoszoną w 1992 roku, „SQL:1999” w 1999 roku, a „SQL:2003” w 2003 roku. Większość do- stępnych w tej chwili na rynku relacyjnych systemów baz danych używa właśnie tego standardu.

MySQL należy do najpopularniejszych relacyj- nych systemów zarządzania bazami danych, kótego największymi zaletami są szykość, prostota i wy- goda [4]. Serwer MySQL ma charakter otwartego oprogramowania (ang. open source) zapewnia to bar- dzo krótki cykl produkcyjny, co kilka miesięcy poja- wiają się kolejne wersje uzupełnione o kolejne rozsze- rzenia i poprawione błędy.

Jedną z dużych zalet MySQL jest to, że każdy może dokonywać zmian w kodzie źródłowym. Oczy- wiście muszą one być zgodne z licencją GPL (ang. General Public License [5]. Na całym świe- cie istnieje szeroka sieć programistów pracujących na dalszym rozwojem serwera, która pozwala na pozo- stanie w czołówce zarówno pod względem wydajności jaki i funkcjonalności.

MySQL jest zaprojektowany w oparciu o techno- logie klient-serwer, która składa się z wielowątkowego serwera SQL wspierającego wiele mechanizmów prze- chowywania danych (ang. backend). W przypadku MySQL dostępne są proste plikowe schematy zapisu oraz zaawansowane, wspierające konkurencyjny do- stęp, transakcje oraz binarne logi operacji dokonywa- nych na tabelach.

2.3. Rozszerzenia języka PHP

Z uwagi na długą obecność języka PHP na rynku powstał cały szereg rozszerzeń. Większość z nich ma charakter open source. Do tworzenia serwisu zdecy- dowano się na użycie szeregu bibliotek zewnętrznych, które zapewniają bardzo zaawansowaną funkcjonal- ność. Dużą zaletą wybranych rozszerzeń jest to, że są używane od dłuższego czasu, usunięto z nich sporo błędów oraz dodano bardzo wiele nowych funkcjonal- ności. Tworzenie każdego z tych rozszerzeń od nowa na potrzeby serwisu zajęło by niewspółmiernie dużo czasu. Z tego względu zedcydowano się na wykorzy- stanie bibliotek PEAR.

Projekt o nazwie PEAR (ang. PHP Extension and Application Repository) został powołany do ży- cia przez Stiga S. Bakkena [6]. Podstawowym celem PEAR jest uzyskanie statusu podstawowego repozy- torium dla rozszerzeń i bibliotek języka PHP [6]. Jed- nym z najbardziej ambitnych i wyróżniających celów tego projektu jest próba zdefiniowania standardów, które mogą pomóc programistom w tworzeniu prze- nośnego i używalnego kodu. Repozytorium projektu zawiera biblioteki pomagające rozwiązać szereg pro- blemów napotykanych przy tworzeniu aplikacji m. in.

model abstrakcji baz danych, mechanizmy zarządza- nia sesją i wysyłanie listów elektronicznych. Biblio-

teka abstrakcji dostępu do baz danych PEAR jest jedną z najczęściej używanych części projektu, na- leży do najlepiej przetestowanych i udokumentowa- nych. Jej użycie pozwala na uwolnienie się od ciężaru z jakim związane jest korzystanie ze standardowych funkcji dostępu do baz danych w PHP. Niesie to za sobą korzyści polegające głównie na tym, że bez ko- nieczności większych zmian w aplikacji, możliwa jest zmiana relacyjnego serwera baz danych.

Najważniejszą spośród wykorzystanych bibliotek jest silnik szablonów dla PHP o nazwie Smarty.

Zapewnia on prostą metodę do separowania logiki aplikacji od sposobu prezentacji. W celu wyjaśnie- nia istoty działania Smarty należy rozważyć sytu- ację, w której programista aplikacji i twórca wyglądu (tzw. layout) są różnymi osobami. Oznacza to, że sza- blony zawierają tylko i wyłącznie instrukcje związane z prezentacją danych, na przykład: dołączanie innych szablonów, zmiana koloru tła dla nieparzystych wier- szy tabel, zamiana na wielkie litery, iteracja tablicy i wyświetlenie zawartości. Nie oznacza to, że Smarty narzuca taką separację, system nie ma żadnej wiedzy potrzebnej do rozróżnienia logiki aplikacji i prezen- tacji. Sposób użycia systemu szablonów Smarty za- leży tylko i wyłącznie od projektanta lub programi- sty. Jedną z unikalnych możliwości Smarty jest kom- pilacja szablonów. Oznacza to, że szablony są czy- tane a następnie tłumaczone na język PHP [7]. Kiedy skrypt PHP zostanie stworzony - zostaje wykonany.

Dlatego zasoby serwera nie zostają obciążone kosz- townymi operacjami przetwarzania szablonu, które z reguły opierają się na zasobożernych wyrażeniach regularnych (ang. regular expressions). Takie podej- ście umożliwia również wydajne zastosowanie akce- leratorów języka PHP takich jak Zend Accelerator, PHP Accelerator czy Turck Mmcache. Projektanci systemu Smarty poszli o krok dalej szablony prze- tłumaczone na język PHP są buforowane w plikach tymczasowych i tworzone od nowa tylko w wypadku gdy szablon uległ zmianie.

Inną biblioteką zastosowaną w serwisie jest php- GACL (ang. PHP Generic Access Control List) [8].

Biblioteka ta jest zbiorem funkcji, które umożli- wiają zarządzanie prawami dostępu do konkretnych obiektów (tj. strony www, bazy danych) poprzez inne wyskazane arbitralnie obiekty (tj. użytkow- nicy, zdalne komputery). phpGACL zapewnia bardzo szczegółowy mechanizam kontroli dostępu, oferując jednocześnie stosunkowo prosty system zarządzania uprawnianiami.

Ostatnim spośród zastosowanych modułów roz- szerzającyh jest FPDF [9]. FPDF jest darmową klasą PHP, która umożliwia generowanie plików w forma- cie PDF bezpośrenio z PHP, czyli z pominięciem do- datkowych bibliotek.

Wymienione powyżej biblioteki rozszerzające nie wchodzą w skład standardowej dystrybucji PHP i wymagają oddzielnej instalacji.

(3)

3. Struktura aplikacji

Aplikacja została podzielona na trzy główne profile:

• administracyjny - profil w którym użytkownik uzyskuje dostęp do największej liczby modułów, ma możliwość wprowadzania i edycji praktycz- nie wszystkich danych; powinni z niego korzy- stać pracownicy administracyjni i techniczni;

• staff - jest to profil przeznaczony dla pracowni- ków naukowych, z niego użytkownicy mają do- stęp do danych przedmiotów, list studentów oraz list ocen;

• student - profil przeznaczony dla studentów, obecnie umożliwia on przejrzenie listy przedmio- tów, pobranie materiałów oraz przejrzenie wła- snych ocen z danego przedmiotu.

Elementami z których zbudowano aplikację są moduły z których każdy zapewnia pewną część funk- cjonalności. Na przykład osobny moduł służy do do- dawania zakładów, osobny do edycji i osobny do li- stowania. Taki podział ułatwia wprowadzanie zmian i dodawanie nowych funkcji. Dodatkowo moduły ge- nerują swoją własną treść, która jest tylko wycinkiem treści prezentowanej użytkownikowi i jest osadzana w szablonie zdefiniowanym dla określonego profilu.

W przypadku modułów nie należących do żadnego profilu używany jest szablon standardowy. W opisie poszczególnych modułów autorzy skupili się na funk- cjach dostęnych dla danego profilu pomijająć opisy szablonów graficznych.

3.1. Profil administracyjny

Użytkownik, który należy do profilu administracyj- nego, po zalogowaniu zobaczy główny panel aplika- cji. Po lewej stronie zlokalizowane jest menu używane do uruchamiania poszczególnych modułów. Moduły są pogrupowane według danych, których dotyczą. Po wybraniu kursorem myszy określonej grupy (na przy- kład "Przedmioty") pojawia się lista modułów do- stępnych w tej grupie.

Moduł listy przedmiotów pozwala na wyświe- tlenie listy wszystkich zdefiniowanych przedmiotów.

Można przejrzeć oceny skojarzone z każdym przed- miotem, materiały dodane przez prowadzących oraz formularze ECTS w formacie RTF (ang. Rich Text Format).

Moduł ocen pozwala na zarządzanie ocenami grup skojarzonych z przedmiotem. Możliwe jest do- danie nowych grup do przedmiotu, dodawanie ocen dla poszczególnych grup, oglądanie listy studentów w grupie oraz eksport list w formacie PDF (ang. Por- table Dokument Format) i RTF.

W module „lista materiałów” można wyświetlić listę materiałów skojarzonych z przedmiotem, uru- chomić moduł odpowiedzialny za dodanie nowych materiałów, edycje oraz usuwanie już istniejących.

Skorzystanie z odpowiedniego modułu pozwala na

dodawanie nowych przedmiotów. W tym celu ko- nieczne jest wprowadzenie danych do dosyć obszer- nego formularza zawierającego między innymi infor- macje potrzebne do wygenerowania arkusza ECTS.

W aplikacji został również umieszczony moduł pozwalający na zarządzanie listą pracowników.

Każde imię i nazwisko na liście jest linkiem do mo- dułu pozwalającego na edycję danych pracownika.

Moduł „Publikacje > Lista” wyświetla listę pu- blikacji pracowników. Można zawęzić kryteria wyszu- kiwania do pracownika i tytułu posługując się formu- larzem pozwalającym na wpisanie nazwiska lub wy- bór z listy oraz określenie kategorii. Po wyświetleniu listy można dokonać edycji poszczególnych pozycji lub wyeksportować listę jako plik RTF. Użytkownik zalogowany w profilu administracyjnym ma dostęp do wszystkich publikacji w bazie danych i może je dowolnie edytować.

Aplikacja zawiera moduły dotyczące zakła- dów pozwalające na dodawanie i edycję ich danych.

Dodatkowo do każdej nazwy zakładu można dodać tłumaczenia na inne języki.

W modułach dotyczących studentów można wyświetlać listę, edytować oraz dodawać nowych stu- dentów. Jeśli w formularzu służącego do dodawania studenta zostaną wypełnione pola „nazwa użytkow- nika” oraz „email” , wówczas student będzie mógł się zalogować do profilu studenta. Konieczne jest poda- nie co najmniej imienia, nazwiska oraz numeru al- bumu.

W modułach zlokalizowanych w „Studenci >

Grupy” można zarządzać grupami dziekańskimi oraz przedmiotowymi. Moduł umożliwia dodanie no- wej grupy dla określonego semestru oraz zaimporto- wanie listy studentów z już istniejącej grupy. Moduły dotyczące semestrów pozwalają na określenie czasu trwania poszczególnych semestrów. Przy dodawaniu nowego semestru należy podać poprawną datę rozpo- częcia oraz zakończenia oraz określić czy jest łetnićzy źimowyóraz użyć odpowiedniej opcji w celu zazna- czenia czy aktualnie trwa.

W serwisie zdefiniowano moduł pozwalający na dodawanie nowych seminariów. Dane wpisy- wane w formularzu odpowiadają danym wpisywa- nym w nagłówku planu seminariów. Konieczne jest określenie zakładu i semestru akademickiego, można podać również salę i godzinę o której odbywają się spotkania. Dla każdego seminarium można edytować zarówno dane z nagłówka planu seminariów, doda- wać (edytować) spotkania oraz eksportować plany seminariów do plików w formacie PDF oraz RTF.

Serwis jest zintegrowany z zewnętrznymi aplikacjami bibliotecznymi oraz aparaturowymi. W celu skorzy- stania z nich należy uzupełnić nazwy użytkownika i hasła w module „Pracownicy > edycja wła- snych”.

3.2. Profil pracownika

Pracownicy naukowi dysponują ograniczonym zakre- sem dostępu do aplikacji. Po zalogowaniu mogą uru- chamiać jedynie moduły dotyczące ich danych. Pra-

(4)

cownik może przeglądać tylko i wyłącznie przedmioty do których jest przypisany przez administratora. Nie może dodawać nowych przedmiotów. To samo doty- czy materiałów oraz ocen.

Moduł „Przedmioty> Lista> Oceny” po- zwala na wyświetlenie listy grup przypisanych do przedmiotu. Dodatkowo dla każdej grupy wyświe- tlana jest lista tytułów wystawienia oceny. Wysta- wianie ocen możliwe jest tylko dla grup. Jeśli z przed- miotem nie jest skojarzona żadna grupa, można dodać nową posługując się skrótem „dodaj nową grupę do przedmiotu”. Do grup można również dodawać studentów używając skrótu "studenci w grupie"wyświetli się wówczas lista studentów, któ- rzy już się znajdują w grupie oraz pola do doda- nia dalszych. Jeśli grupa jest wypełniona studen- tami wówczas można skorzystać ze skrótu "dodaj ocenyąby wystawić oceny, należy określić za co wy- stawiane są oceny oraz określić datę i ewentualnie uwagi. Moduł „Przedmioty > Lista > Mate- riały” wyświetla listę materiałów dołączonych do przedmiotu, pozwala na edycję i usuwanie istnieją- cych materiałów oraz na dodawanie nowych.

Skorzystanie z modułu „Studenci > Lista” po- zwala na wyszukiwanie studentów i przeglądanie in- formacje o nich. Pracownik nie może dokonywać zmian w danych studenta. Istnieje natomiast moż- liwość dodania danych nowego studenta, ale tylko z poziomu listy grupy przedmiotowej.

Moduł „Publikacje > Dodaj” pozwala na do- dawanie publikacji pracownika. Należy pamiętać, że jeśli użytkownik nie poda swojego nazwiska w liście autorów nie będzie mógł później dokonać edycji. Na- leży wypełnić formularz, w którym znajdują się pola na wszystkie niezbędne informacje łącznie z punkta- cjami. Korzystając z modułu „Publikacje > Lista”

pracownik może wyświetlić listę wszystkich swoich publikacji zapisanych w bazie danych. Istnieje możli- wość zdefiniowania kryteriów wyszukiwania, składa- jących się za nazwiska lub jego części jak i tytułu pu- blikacji oraz kategorii. Użytkownik może dokonywać edycji wybranych publikacji tylko wtedy gdy jest na liście autorów. Moduł pozwala na wyeksportowanie listy publikacji do pliku w formacie RTF, co umożli- wia łatwe wykorzystanie listy w dalszej obróbce.

„Seminaria > Lista” - moduł wyświetla listę se- minariów i spotkań do nich przypisanych. Standar- dowo wyświetlane są seminaria dla wszystkich za- kładów i aktualnego semestru, ustawienia te można zmienić posługując odpowiednim formularzem. Na- leży zwrócić uwagę, że do edycji seminarium i doda- wania spotkań mają dostęp tylko wyznaczone osoby, wszyscy pozostali użytkownicy mogą bez przeszkód tylko przeglądać informacje. Możliwy jest także eks- port planów seminariów do plików w formacie PDF i RTF. Moduł „Seminaria > Dodaj” pozwala na dodawanie nowych seminariów, należy określić dla jakiego zakładu i wybrać semestr. Na liście zakła- dów są umieszczone tylko te seminaria do których aktualnie zalogowany użytkownik ma prawo doda- wania. Dane wpisywane w formularz odpowiadają

danym zawartym w nagłówku planu. Stworzony zo- stał także moduł pozwalający na dodawanie nowych spotkań w obrębie seminarium. W profilu pracow- nika zostały także zdefiniowane moduły pozwalające na uzyskanie dostępu do dwóch zewnętrznych apli- kacji: aparaturowej i bibliotecznej. Po uruchomieniu obu modułów należy skorzystać z odnośnika hiper- tekstowego „uruchom aplikację” aby uzyskać dostęp.

W celu korzystania z zewnętrznych aplikacji na- leży zdefiniować nazwę użytkownika oraz hasło ko- rzystając z modułu „Pracownicy > edycja wła- snych” wypełniając odpowiedni formularz. Moduł

„Pracownicy > Lista” wyświetla listę wszystkich pracowników w instytucie. Każde imię i nazwisko sta- nowi odnośnik do modułu pozwalającego na przejrze- nie dokładnych danych pracownika. Natomiast mo- duł „Pracownicy > Edycja własnych” pozwala użytkownikom na edycję informacji o sobie - w tym haseł i nazw użytkowników aplikacji bibliotecznej oraz aparaturowej.

3.3. Profil studenta

Profil jest przeznaczony dla studentów instytutu.

Zawiera bardzo ograniczoną funkcjonalność sprowa- dzającą się wyłącznie do przeglądania informacji o przedmiotach i ocenach.

Moduł „Przedmioty > Lista” prezentuje li- stę przedmiotów, do których przypisany jest aktu- alnie zalogowany student. Istnieje możliwość szyb- kiego uzyskania dostępu do listy ocen oraz mate- riałów dla danego przedmiotu oraz obejrzenie ar- kusza ECTS. W module „Przedmioty > Lista

> Oceny” wyświetlona jest lista ocen dla jednego przedmiotu z wyszczególnieniem daty oraz tytułu wystawienia, prezentowane są również uwagi do kon- kretnej oceny oraz dla całej grupy. Istnieje także mo- duł wyświetlający listę wszystkich ocen jakie stu- dent otrzymał w toku studiów, jest on zlokalizowany w „Przedmioty > Oceny”. Skorzystanie z modułu

„Przedmioty > Lista > Materiały” spowoduje wyświetlenie listy materiałów skojarzonych z przed- miotem. Materiały można skopiować na dysk lokalny.

Listą zarządza pracownik prowadzący dany przed- miot.

Moduł „Seminaria > Lista” wyświetla informa- cje o planie seminariów. Istnieje możliwość eksportu danych do plików w formacie PDF i RTF. Student nie ma możliwości modyfikowania jakichkolwiek da- nych związanych z seminariami.

W module „Biblioteka > Biblioteka” można tak jak w pozostałych profilach uzyskać dostęp do zewnętrznej aplikacji bibliotecznej zlokalizowanej pod adresem http://bib.et.put.poznan.pl. Po uru- chomieniu modułu należy skorzystać z odnośnika

"uruchom aplikację biblioteczną". W celu za- logowania, należy ustawić odpowiednią nazwę użyt- kownika oraz hasło w „Użytkownik > edycja danych”.

Moduł „Użytkownik > Edycja danych” po- zwala użytkownikom na edycję informacji o sobie w tym haseł i nazwy użytkowników do aplikacji bi- bliotecznej.

(5)

4. Podsumowanie

Powstała aplikacja wpisuje się w popularny kie- runek prowadzenia przedsięwzięć za pomocą inter- netu. Wiele współcześnie działających organizacji używa technologii korzystających z protokołu HTTP (ang. HyperText Transfer Protocol) jako wewnętrz- nego medium komunikacji oraz gromadzenia i prze- twarzania danych związanych z ich funkcjonowa- niem. Mechanizm taki określany jest mianem in- tranetu. Niektóre spośród gromadzonych wewnątrz ogranizacji danych mogą być udostępniane zewnętrz- nym podmiotom i wówczas mówi się o extranecie.

Oba rodzaje aplikacji bazują na tych samych tech- nologiach, a ich rozróżnianie ma miejsce w sferze pojęciowej i odnosi się głównie do funkcjonalności.

Prezentowany projekt stanowi konwergencję obu po- mysłów, ponieważ istnieje zarówno część intranetowa dla pracowników, jak i część extranetowa dla studen- tów.

Stworzona aplikacja umożliwia sprawne zarządza- nie listami pracowników, studentów, przedmiotów, grup studentów, materiałów do przedmiotów, pu- blikacji, ocen oraz seminariów. Prezentowany ser- wis umożliwia dostęp pracownikom, studentom oraz administratorom z zachowaniem bardzo granular- nego podziału praw, co gwarantuje bezpieczeństwo zgromadzonych i wprowadzanych danych. W sys- temie została zaimplementowana bardzo zaawanso- wana struktura modułów korzystająca z zalet pro- gramowania zorientowanego obiektowo i architektury wielowarstwowej. Stworzona architektura jest na tyle uniwersalna, że może być rozszerzana o praktycz- nie dowolną liczbę dowolnie skomplikowanych mo- dułów bez zakłócania pracy pozostałych. Aplikacja daje bardzo solidne podstawy do rozbudowy i prze- noszenia istniejących już aplikacji, tak aby system funkcjonował jako całość. Wiele z modułów udostęp- nia możliwość eksportowania danych do plików w for- macie PDF oraz RTF. Jako warstwę zarządzania da- nymi został użyty serwer MySQL, który gwarantuje niezaprzeczalną szybkość i niezawodność działania.

Ważnym zagadnieniem jest bezpieczeństwo ser- wisu. Zastosowanie jednego punktu wejściowego do aplikacji spowodowało ograniczenie zagadnień zwią- zanych z bezpieczeństwem tylko do jednego miej- sca. Autorzy poszczególnych modułów nie muszą się troszczyć ani o autoryzacje użytkowników, ani o sprawdzenie czy użytkownik był już autoryzowany.

jedynymi widocznymi publicznie plikami jest plik in- dex.php w głównym katalogu oraz pliki w folderze assets. Do wszystkich pozostałych plików dostęp zo- stał zabroniony przy pomocy plików .htaccess. Bez- pieczeństwo mocno zależy również od samej konfigu- racji serwerów protokołu HTTP oraz MySQL. Ad- ministrator serwera powinien zadbać, aby były za- instalowane możliwie najnowsze wersje oprogramo- wania. Odpowiednia konfiguracja serwerów też jest kluczowym zagadnieniem, szczególnie w przypadku serwera MySQL. Stworzona aplikacja może praco- wać z wykorzystaniem protokołu SSL (ang. Secure

Socket Layer ) dla zagwarantowania możliwie najpeł- niejszej ochrony przesyłanych danych. Konfiguracja SSL odbywa się w serwerze HTTP, gdzie należy okre- ślić położenie pliku z certyfikatem. Certyfikat można uzyskać w jednej z organizacji zajmującej się ich wy- dawaniem na przykład Thawte, albo wygenerować go samodzielnie. Jedyną różnicą przy samodzielnym ge- nerowaniu certyfikatu jest to, że przy dostępie do ser- wisu przeglądarka poinformuje użytkownika, że cer- tyfikat został wydany przez nieznaną organizację. Sa- modzielne generowanie certyfikatu nie obniża w ża- den sposób poziomu bezpieczeństwa aplikacji ani ser- wera. Protokół SSL jest przeźroczysty to znaczy, że jest niewidoczny dla niższych warstw, dlatego apli- kacje stworzone w PHP mogą z powodzeniem dzia- łać z wykorzystaniem tego protokołu bez większych zmian w kodzie. Aplikacja nie wymaga jakichkolwiek zmian, aby funkcjonować z wykorzystaniem proto- kołu SSL.

Prezentowana aplikacja powstała w ramach pracy magisterskiej i będzie nadal rozwijana. Przewiduje się, że kolejnym etapem rozwoju będzie integracja z serwisem bibliotecznym i aparaturowym. W dal- szych etapach mogą zostać dodane również moduły umożliwiające: integrację z technologiami mobilnymi (np. wykorzystanie bramki SMS), dodanie nowego kanału dostępowego (np. WAP) oraz obsługę tre- ści multimedialnych (np. przekazy wideo z wykładów czy konferencji).

Literatura

1. Alexander Aulbach, Lars Torben Wilson, Egon Schmidt, PHP Manual for Version 4, http://www.php.net

2. Tobias Ratschiller, Till Gerken, PHP 4 - Aplika- cje, Wydawnictwo Robomatic, Wrocław 2001 3. Jacob Nielsen, Johnathan Price, Designing Web

Usability: The Practice of Simplicity, New Riders Publishing 2001

4. David Axmar, Michael Widenius, My- SQL Documentation Team: Mysql Manual, http://dev.mysql.com/doc/mysql/en/index.html

5. GNU General Public License,

http://www.gnu.org, 2004.

6. Martin Jensen, Alexander Merz, PEAR Manual, http://pear.php.net

7. Monte Ohrt, Andrei Zmievski, Smarty - the compiling PHP template engine, http://smarty.php.net/manual/en

8. Mike Benoit, James Russell, Kar-

sten Dambekalns, phpGACL: Ge-

neric Access Control List. Ma- nual.,http://phpgacl.sourceforge.net/manual.pdf, 2003.

9. FPDF Liblary, http://www.fpdf.org/, 2004.

Cytaty

Powiązane dokumenty

W związku z faktem, że cukrzyca jest czynnikiem ryzyka prze- wlekłej choroby nerek przed przystąpieniem do przygotowania celowa jest ocena funkcji nerek i jonogramu

Uczeń zna i stosuje ograniczony zakres środków językowych, głównie środki językowe o wysokim stopniu pospolitości i dotyczące bezpośrednio jego osoby.. Zna i

„Teatr to swobodnie pływający statek, odbijający od przystani rzeczywistości i kierujący się w krainę baśni, snów i

I Zastępca komendanta powiatowego (miejskiego, rejonowego) Policji Zastępca komendanta powiatowego (miejskiego, rejonowego) Policji.. młodszy inspektor 11

Gospodarstwa małe, ale o powierzchni ponad 1 ha UR (np. od 1 do 3 ha) można byłoby także ewentualnie pominąć jako źródło surowców, gdyż ich produkcja towarowa zmniejsza się i

Szczegółowy zakres świadczeń dostępnych w ramach klauzuli świadczenie operacyjne przedstawiony jest w Ogólnych Warunkach Grupowego Ubezpieczenia Compensa MULTI Zdrowie

Gramatyka: Czas teraźniejszy do opisywania problemów ze zdrowiem, Konstrukcja have to, Czasownik should do udzielania rad, Czas Present Perfect w zdaniach twierdzących i

Oprócz zarejestrowania do grupy zajęciowej KONIECZNE JEST PODPIĘCIE KAŻDEGO PRZEDMIOTU POD PROGRAM* I ETAP czyli wskazanie w ramach którego programu* (kierunku) i