Subsections


1 Wstęp

1 Techniki tworzenia serwisów internetowych

Rozwój technologii sieciowych spowodował, że w ciągu ostatnich kilku lat całkowicie zmieniły się podstawowe funkcje sieci Internet. O ile nadal wymiana poczty elektronicznej jest dość popularna, to usługi takie jak Gopher (tekstowa usługa przeglądania hierarchicznych i powiązanych ze sobą dokumentów), czy WAIS (ang. Wide Area Information Service, usługa dostępu do hierarchicznych informacji) zniknęły zupełnie. Inne, jak choćby FTP (ang. File Transfer Protocol, usługa przesyłania plików) straciły na znaczeniu. Było to spowodowane przez olbrzymi wzrost popularności usługi WWW (ang. World Wide Web, "Światowa pajęczyna", "sieć" utworzona z dokumentów powiązanych ze sobą poprzez odnośniki, zobacz też [tbl00]). Z kolei strony HTML (ang. HyperText Markup Language, język opisu strony opierający się na znacznikach -- wyróżnionych elementach tekstu kontrolujących jego przetwarzanie, umożliwiający tworzenie odnośników między dokumentami, stąd "Hyper", por. [html00]), stanowiące początkowo podstawę tej usługi, w znacznym stopniu zostały zastąpione przez serwisy dynamiczne, opierające się na technikach takich jak CGI[*], Java [*] oraz PHP[*].

Zmiany te nadal zachodzą i nadal postępują w tym samym kierunku -- od prostych, statycznych stron czy też programów te strony generujących, do wyspecjalizowanych technik umożliwiających publikowanie informacji w dowolnym formacie odpowiadającym odbiorcy. Dzięki wykorzystaniu XML (ang. Extensible Markup Language, uogólniony sposób zapisu strukturalnych dokumentów wykorzystujący znaczniki, więcej w p. 2.1) możliwe jest odbieranie tych informacji na dowolnych urządzeniach, zresztą język ten stworzono po to właśnie, aby taką wymianę dokumentów umożliwić. Stare techniki wykorzystywane są nadal, lecz jedynie jako warstwy pośrednie -- większość serwisów nadal wykorzystuje HTML jako język prezentacji, zaś CGI jest używane przez kolejne generacje języków programowania (w sposób coraz mniej widoczny dla programisty).

Najnowsze technologie w tej dziedzinie, takie jak .NET firmy Microsoft, czy EJB (ang. Enterprise Java Beans, model programowania rozproszonego opartego na komponentach -- Beans oraz języku Java) firmy Sun, zapewniają przede wszystkim proste przetwarzanie XML oraz tworzenie zaawansowanych, dynamicznych serwisów sieciowych (ang. Web Services). Większość starszych technik tworzenia dynamicznych stron WWW, takich jak np. PHP, została także wzbogacona o XML. Ponieważ jednak nie były one projektowane z myślą o tej technologii, trudno się z nich korzysta i są słabo zintegrowane z językiem programowania.

Większość istniejących technik tworzenia serwisów sieciowych, również tych najnowszych, to zaawansowane języki programowania, w różnym stopniu zintegrowane z technologiami XML i oddzielające logikę systemu od treści dokumentów oraz sposobów ich prezentacji. W każdym przypadku jednak język logiki aplikacji jest całkowicie odmienny od języka prezentacji (XML lub HTML) oraz języka zapisu danych, pobieranych z plików XML lub baz danych SQL (ang. Structured Query Language, język wykorzystywany do operacji na relacyjnych bazach danych). Wszystko to sprawia, że pisanie takich aplikacji jest znacznie bardziej skomplikowane niż tworzenie statycznych stron WWW.

Celem projektu Live Server Pages jest stworzenie środowiska programowania serwisów sieciowych (dalej nazywanego w skrócie LSP), korzystającego z najnowszych technologii, umożliwiającego publikowanie informacji w wielu formatach i jednocześnie bardzo prostego. LSP ma przede wszystkim służyć do szybkiego tworzenia prostych serwisów sieciowych.


2 Cele systemu LSP


3 Struktura pracy

W rozdziale 2 opisane zostały technologie wykorzystywane przy tworzeniu serwisów sieciowych: podstawowe standardy oraz popularne rozwiązania o podobnym zastosowaniu co LSP. Rozdział 3 zawiera opis projektu środowiska LSP, zaś rozdział 4 opis jego implementacji. W rozdziale 5 przedstawiam kilka aplikacji, które zrealizowano przy użyciu LSP. Rozdział 6 to podsumowanie pracy.

W dodatkach można znaleźć dokumentację użytkową oraz pełny opis języka LSP. Na płytce dołączonej do pracy znajduje się pełny kod źródłowy oraz kilka przykładowych aplikacji (omówionych w rozdziale 5).


Footnotes

...CGI[*]
CGI - Common Gateway Interface, standard komunikacji z serwerami WWW, umożliwiający generowanie dokumentów przez zewnętrzne programy.
... Java[*]
Java - Język programowania rozwijany przez firmę Sun umożliwiający tworzenie przenośnych programów, początkowo stosowany głównie do tworzenia aplikacji stanowiących fragment strony WWW, zob. http:www.java.org.
...PHP[*]
PHP - PHP: Hypertext Processor, język umożliwiający wstawienie do dokumentu HTML specjalnych instrukcji wykonywanych w momencie pobierania strony przez użytkownika, por. http:www.php.org, zobacz też p. 2.3.1.