Pobierz artykuł

Transkrypt

Pobierz artykuł
Tworzenie portali internetowych oparte na przykładzie lokalnego serwisu
internetowego WWW.XQ.PL
Marcin Miotk
Państwowa Wyższa Szkoła Zawodowa w Krośnie
Streszczenie Celem referatu jest opisanie przebiegu tworzenia lokalnego serwisu
internetowego oraz przekazanie czytelnikom cennych uwag, które okażą się przydatne
podczas tworzenia podobnych aplikacji internetowych. Autor proponuje przemyślany model
bazy danych, na którym opiera się aplikacja sterująca działaniem serwisu internetowego.
Obrany model danych jest efektem pogodzenia ze sobą kilku najważniejszych czynników
związanych z zespołowym tworzeniem ciągle rozwijającego się internetowego medium
informacyjnego. Należą do nich przede wszystkim: perspektywa nieprzewidzianego rozwoju
serwisu, prędkość, w jakiej należy wprowadzać kolejne zmiany w serwisie oraz konieczność
szybkiego tworzenia kolejnych podserwisów internetowych różniących się od siebie nie tylko
szatą graficzną, ale również sposobem interpretowania i prezentowania informacji
zamieszczonych w serwisie internetowym.
Summary of the report The idea of this report was to describe the way of creation local
Internet services (portals) and give the readers valuable advices, which turn out to be useful
while creation similar Internet applications. In this report, the author suggests well considered
model of database, on which the running application of portal is based. The data model is the
effect of compatibility of several important factors which are connected with team work
creation, constantly developing informative medium of Internet. The most important are:
- the perspective of unpredictable development of the portal,
- the speed in which the following changes in portal should be made,
- the necessity of quickly creation another Internet subservices, which differ in one from
the other not only the graphics design, but also the way the information is interpreted
and presented.
Spis treści
1.
2.
3.
4.
5.
6.
7.
8.
Geneza powstania krośnieńskiego serwisu internetowego.
Wymagania stawiane przed projektantem serwisu.
Dobór narzędzi, którymi posługuje się projektant podczas tworzenia serwisu.
Zaproponowany model danych, na którym opiera się aplikacja.
Struktura aplikacji sterującej działaniem serwisu internetowego.
Perspektywy rozwoju zaprojektowanego serwisu internetowego.
Zespół redakcyjny serwisu omawianego w referacie.
Literatura polecana.
Geneza powstania krośnieńskiego serwisu internetowego
Redakcja krośnieńskiego serwisu internetowego, zlokalizowanego pod adresem
internetowym WWW.XQ.PL, została powołana przez samorząd studencki Państwowej
Wyższej Szkoły Zawodowej w Krośnie. Portal zaistniał w Internecie przy pomocy
krośnieńskiej firmy komputerowej Inter-Komp, która zapewniła redakcji serwery sieciowe,
domenę internetową oraz łącze internetowe o przepustowości 2 Mb/s.
Celem lokalnego serwisu internetowego jest przede wszystkim utworzenie wirtualnej
wizytówki nie tylko miasta Krosna, ale również samych studentów, którzy podejmują się
tworzenia lokalnego medium informacyjnego. Tworzony portal studencki od początku
swojego istnienia cieszy się dużą popularnością mieszkańców Krosna i okolic. Obecnie
w redakcji pracują jedynie ochotnicy, którzy pragną wykorzystać swoje umiejętności
w praktyce i już w czasie prowadzenia studiów zamierzają zdobyć cenne doświadczenie
zawodowe. Celem redakcji jest również utworzenie atrakcyjnego miejsca przyszłych praktyk
dla studentów Państwowej Wyższej Szkoły Zawodowej w Krośnie. Lokalne internetowe
medium informacyjne stwarza wiele możliwości dla pomysłowej młodzieży.
Omawiany portal internetowy istnieje w Internecie od 6 grudnia 2004r. Z miesiąca na miesiąc
cieszy się coraz większą popularnością wśród mieszkańców Krosna i okolic. W marcu 2005r,
statystyki wskazały średnio na 17 000 odwiedzin miesięcznie. Redakcja spodziewa się, że
w ciągu roku, portal rozwinie się do tego stopnia, że stanie się jednym z największych
i najważniejszych lokalnych mediów informacyjnych.
115
Rys 1. Zrzut ekranu przedstawiający główną stronę omawianego serwisu internetowego
Wymagania stawiane przed projektantem serwisu.
Wstępne założenia:
1. Dla redakcji ważniejszy od architektury aplikacji jest czas jej pojawienia się na rynku.
2. Aplikacja korzysta z jednej bazy danych.
3. System bazy danych jest rozmieszczony na dwóch serwerach: serwer bazy danych
oraz serwer WWW, zawierający warstwę aplikacyjną.
4. Rozmiar bazy w czasie użytkowania aplikacji będzie się powiększał. Baza będzie się
rozrastała w czasie
116
5. Wymagania redakcji są ustalone, ale istnieje prawdopodobieństwo ich rozszerzenia.
6. Po wdrożeniu aplikacji, spodziewana jest jej pielęgnacja oraz ewentualne zmiany.
7. Wskazane jest, aby tworzenie oraz utrzymywanie aplikacji nadzorującej działaniem
serwisu, odbywało się przy użyciu darmowego oprogramowania.
Oczekiwania redakcji odnośnie serwisu internetowego:
1. Lokalny serwis internetowy powinien zawierać takie elementy jak:
- mechanizm obsługujący katalogowanie oraz prezentację artykułów i aktualności,
zarządzany przez redakcję portalu,
- forum dyskusyjne i galerie zdjęć,
- tablicę ogłoszeń rozszerzoną o mechanizm obsługi aukcji internetowych,
- katalog stron internetowych
- sonda i konkursy internetowe,
- mechanizm zarządzania reklamami (bannerami)
- moduł obsługujący konta użytkowników, ich logowania oraz prawa dostępu do
poszczególnych zasobów.
2. Informacje w serwisie powinny być przedstawiane za pomocą różnych szablonów.
Redakcja po przygotowaniu szablonów i odpowiedniej szaty graficznej do nowego
podserwisu, chciałaby wdrożyć je w szybkim tempie. Również sam odwiedzający powinien
mieć możliwość przełączania szaty graficznej portalu wedle własnych upodobań (redakcja
przygotuje zestaw kilku opcjonalnych szablonów dla każdego podserwisu).
3. Panele administracyjne dla każdego redaktora powinny być łatwe w obsłudze.
Oprogramowanie serwisu powinno uwzględniać prawa dostępu danego użytkownika do
każdego zasobu. Administratorzy poszczególnych katalogów serwisu decydują o tym, kto
może dodawać, usuwać i modyfikować zasoby znajdujące się w danym katalogu. Każdy
zasób serwisu ma swojego właściciela i grupę redaktorów mających prawa własności do
danego zasobu. Każdy redaktor może być przedstawiany za pomocą kilku różnych
pseudonimów.
4. Internauci odwiedzający strony serwisu mogą posiadać własne konta, które dadzą im
możliwość m.in. wypowiadania się na forum dyskusyjnym, zamieszania własnych ogłoszeń,
brania udziału w konkursach oraz wysyłania prywatnych wiadomości do innych internatów,.
Dobór narzędzi, którymi posługuje się projektant podczas tworzenia serwisu
Ustalone wcześniej wymagania sugerują użycie przez projektanta serwisu następujących
narzędzi:
Serwer bazy danych
MySQL ver. 3.23.43
Serwer WWW
Apache/1.3.22
System operacyjny
Linux Slackware 8.0
Język programowania
PHP/4.1.1
Program graficzny
GIMP
Biblioteka (dla PHP) ułatwiająca obsługę
Smarty-2.6.7
szablonów stron internetowych
Projektant wykona aplikację internetową przy pomocy języka PHP, ponieważ jest to
najpopularniejszy i bardzo łatwy język skryptowy przeznaczony do tworzenia tego typu
117
aplikacji. Wykorzystanie języka PHP jest rozwiązaniem wolnym od dodatkowych opłat.
Obsługa skryptów napisanych w języku PHP jest możliwa niemal na każdym serwerze
WWW. Biblioteka o nazwie Smarty, ułatwi oddzielenie kodu aplikacji od kodu HTML
serwisu internetowego. Dzięki temu aplikacja pozwoli nie tylko na łatwe przełączanie szat
graficznych dla poszczególnych podserwisów internetowych, ale także poszerzy perspektywy
rozwoju portalu internetowego.
Zaproponowany model danych, na którym opiera się aplikacja
xqp_aplikacja
xqp_status
xqp_uzytkownik
ID_APLIKACJA
ID_STATUS
nazwa
ID_APLIKACJA
xqp_sesja
ID_UZYTKOWNIK
ID_SESJA
login
ID_UZYTKOWNIK
haslo
ip
ID_STATUS
data_ost_akt
opis
id_php_prog
xqp_statystyka
xqp_pseudonim
xqp_logowanie
ID_STATYSTYKA
ID_PSEUDONIM
ID_PSEUDONIM
ID_UZYTKOWNIK
ID_KRYTERIUM
pseudonim
wartosc
ID_LOGOFORUM
xqp_daneuzytkownik
ID_LOGOWANIE
ID_UZYTKOWNIK
ID_UZYTKOWNIK
mail
data_logowania
data_logowania
ip
ID_SZABLONFORUM
max_pseudonimow
ID_STATUS
xqp_logoforum
xqp_szablon
xqp_kryterium
ID_LOGOFORUM
ID_SZABLON
ID_KRYTERIUM
nazwa_logo
nazwa_szablon
nazwa_kryterium
nazwa_pliku
nazwa_pliku
id_php_prog
id_php_prog
xqp_wiadomosc
xqp_powiazanie_up
xqp_grupa_up
ID_WIADOMOSC
ID_POWIAZANIE_UP
ID_GRUPA_UP
ID_GRUPA_UP
nazwa_grupa
ID_PSEUDONIM
ID_STATUS
ID_PSEUDONIM_1
(odbiorca)
ID_PSEUDONIM_2
(nadawca)
data_dodania
xqp_kodbledu
temat
xqp_powiazanykatalog
ID_KODBLEDU
tresc
ID_POWIAZANIE
nazwa
ID_STATUS
ID_PSEUDONIM
opis_plik
ID_KATALOG
118
xqp_katalog
xqp_powiazanie
xqp_pozycjazlaczekatalog
ID_KATALOG
ID_POWIAZANIE
ID_ZLACZA
ID_APLIKACJA
ID_KATALOG_1
ID_KATALOG
ID_PSEUDONIM
ID_KATALOG_2
ID_POZYCJA
ID_GRUPA_UP
ID_KRYTERIUM
ID_KRYTERIUM
ID_SZABLON
wartosc
wartosc
ID_STATUS
data_dodania
nazwa
xqp_pozycjaczesci
xqp_pozycjakatalog
ID_POZYCJA
ID_APLIKACJA
ID_PSEUDONIM
ID_GRUPA_UP
ID_SZABLON
ID_STATUS
nazwa
stopka
xqp_odpowiedzi_forum
xqp_czescidodatek
ID_CZESCI
ID_DANYCH_CZESCI
ID_POZYCJA
data_akt
ID_SZABLON
slowa_kluczowe
ID_STATUS
ID_CZESCI
nrkolejnosci
nazwa
xqp_czesc_skryptphp
komentarz
ID_SKRYPT
tresc
ID_CZESCI
data_dodania
sciezka
xqp_relacjapost
ID_ODPOWIEDZ
ID_RELACJA
ID_POZYCJA_1
nazwa
ID_POZYCJA_2
ID_RELACJA
Struktura aplikacji sterującej działaniem serwisu internetowego
WartosciStale.php
Silnik.php
Bledy.php
Moduł WartosciStale zawiera takie wartości stałe dla danego portalu internetowego, jak
adres pliku konfiguracyjnego, adres portalu, kody błędów, identyfikatory grup
poszczególnych statusów zasobów, nazwy tabel w bazie danych, ścieżki zasobów (np. do
plików graficznych, szablonów HTML i innych plików).
Moduł Silnik zawiera funkcje obsługujące szablony prezentacyjne portalu. Wraz z modułem
Silnik współpracuje moduł Bledy, który przed wyprowadzeniem danych analizuje błędy
będące wynikiem próby nieuprawnionego dostępu do zasobów, nieprawidłowego zapytania
otrzymanego przez aplikację lub wystąpienia nieprzewidzianego błędu w czasie działania
119
aplikacji. Aplikacja ma ustaloną tablicę kodów błędów, na podstawie, której może pobrać
dokładne informacje o zaistniałych problemach.
DaneKontrola.php
FunkcjeGlowne.php
ObslugaModeluDanych.php
ModelUzytkownikSesjaPseudonim.php
ModelKatalogPozycja.php
Moduł DaneKontrola odpowiada za kontrolę poprawności danych wejściowych aplikacji
(dane wejściowe to informacje przesłane do aplikacji metodą GET lub POST). Moduł
FunkcjeGlowne odpowiada za uruchomienie odpowiedniej podaplikacji portalu
internetowego.
Doboru
dokonuje
na
podstawie
parametrów
„ap”
i „w” ($HTTP_GET_VARS[„ap”] oraz $HTTP_GET_VARS[„w”]), które przesyłane są wraz
z zapytaniem klienta.
Moduł ModelUzytkownikSesjaPseudonim zawiera funkcje obsługi kont użytkowników,
aktualnych sesji (rejestracja logowań użytkowników, statystyki) oraz pseudonimów
użytkowników.
Moduły ObslugaModeluDanych oraz ModelKatalogPozycja zawierają funkcje
odpowiadające za interpretacje danych wyprowadzanych i wprowadzanych do bazy danych.
Niemal wszystkie zasoby portalu magazynowane są w bazie danych jako „pozycje”
o odpowiednim statusie, który informuje o sposobie interpretacji danej pozycji. Każda
pozycja może być umieszczona w różnych katalogach, z kolei każdy katalog może być
powiązany z innymi katalogami. Tak powstała struktura katalogowa tworzy rozbudowany
serwis internetowy, w którym katalogi mogą być interpretowane jako np. tematy dyskusji,
grupy artykułów, galerie zdjęć, natomiast pozycje - jako wypowiedzi internatów, artykuły,
aktualności oraz ścieżki dostępu wraz opisami zdjęć itp.
BazaDanych.php
AplikacjaPodstawowa.php
AplikacjaArtykuly.php
AplikacjaForum.php
AplikacjaKatalogWWW.php
AplikacjaGalerie.php
AplikacjaOgloszenia.php
AplikacjaAukcje.php
Powyższe moduły zawierają funkcje, które w odpowiedni sposób interpretują oraz prezentują
dane pobrane z bazy danych. Każda aplikacja może na różne sposoby interpretować dane o tej
samej strukturze. Funkcje wchodzące w skład tych modułów korzystają z wcześniej
skonstruowanych modułów odpowiadających za komunikację z bazą danych oraz
przetwarzanie szablonów prezentacyjnych. Na tym poziomie, moduły nie interesują się
strukturą bazy danych, na której oparta jest aplikacja.
Perspektywy rozwoju zaprojektowanego serwisu internetowego
Przed utworzonym serwisem internetowym stoi obecnie wiele zadań. W większości trudno
jest przewidzieć, jak będzie przebiegał rozwój omawianego portalu pod względem
merytorycznym. W obecnej fazie rozwoju, głównym celem redakcji i projektanta jest
przyciągnięcie jak największej liczby Internatów, systematycznie odwiedzających serwis.
Projektant serwisu przewiduje:
- udoskonalenie mechanizmów przyspieszających administrację serwisem, by maksymalnie
odciążyć redakcję od informatycznej strony projektowania nowych podserwisów. Redaktor
powinien mieć możliwości szybkiego doboru najodpowiedniejszego szablonu (szaty
graficznej) do publikowanych informacji,
120
- wzbogacenie zbioru gotowych szablonów prezentacyjnych,
- uruchomienie serwisu internetowej rozrywki, w którym mają pojawiać się gry i programy
rozrywkowe utworzone na przykład przy pomocy języka Java,
- przystosowanie architektury portalu do sprawnego obsłużenia ogromnej ilości danych, które
staną się kilkuletnim dorobkiem redakcji,
- zaprojektowanie serwisu przy pomocy innych, nowocześniejszych rozwiązań
informatycznych, ciekawym pomysłem jest próba zastąpienia prostego języka skryptowego
PHP nowoczesnym i obiektowym językiem Java,
- utworzenie serwisu edukacyjnego oraz „Wirtualnej Uczelni”, której celem będzie
wykorzystanie Internetu do nauczania na odległość,
- przystosowanie portalu do prowadzenia e-biznesu, co wymusza na projektancie maksymalną
poprawę aspektów bezpieczeństwa informacji,
- instalacja kamer internetowych monitorujących atrakcyjne miejsca w Krośnie. W chwili
obecnej redakcja przy pomocy sponsorów zamontowała 4 kamery obejmujące kadrem płytę
krośnieńskiego rynku. W przyszłości zamierza się wykorzystać technologię radiową do
transmisji obrazu z innych punktów miasta i okolicy.
Zespół redakcyjny serwisu omawianego w referacie
Krośnieński Serwis Internetowy XQ.PL
Redaktor naczelny
Mateusz Nowak
Fotoedycja
Justyna Kurczak
Redaktorzy
Jakub Gromek
Marcelina Kluk
Angelika Menet
Andrzej Pietrzyński
Justyna Stachoń
Sławomir Stefański
Grzegorz Wiech
Projektant i programista serwisu XQ.PL
Marcin Miotk
Grafika
Wiktor Szczypka
Administrator serwera
Maciej Cisek
Literatura polecana
1) „Podręcznik PHP”, Copyright 2003, the PHP Documentation Group (http://www.php.net)
2) “MySQL Reference Manual” (http://www.mysql.org)
3) “Smarty Manual” Monte Ohrt, Andrei Zmievski, Copyright 2001-2005 New Digital
Group, (http://smarty.php.net/)
4) “HTML 4 Specification References” W3C Recommendation 24 December 1999
(http://www.w3.org)
5) “JDK 5.0 Documentation” (http://java.sun.com/docs/)
121

Podobne dokumenty