#503
Część VII
Udostępnianie baz danych w sieci WWW
#504
Rozdział 22.
Podstawy programowania sieciowego
Pod pewnymi względami relacyjne bazy danych oraz sieć WWW zostały wręcz stworzone dla siebie. Sieć WWW oparta jest na idei uniwersalnego klienta posiadającego dostęp do danych, natomiast technologią dominującą w przechowywaniu i udostępnianiu danych są relacyjne bazy danych. Tworząc interfejs pomiędzy bazą danych, a przeglądarką WWW można w łatwy i szybki sposób zapewnić dostęp do danych niewyobrażalnie dużej liczbie użytkowników, bez zmuszania ich do nauki języka SQL lub instalowania dodatkowego oprogramowania na ich własnych komputerach.
Kluczowe znaczenie przy budowie aplikacji baz danych współpracujących z siecią WWW ma oprogramowanie warstwy pośredniczącej (ang. middleware), która zapewnia komunikację pomiędzy serwerem WWW, a relacyjną bazą danych. Ponieważ oprogramowanie to ma istotne znaczenie dla całej technologii dostępu do baz danych poprzez sieć WWW, jego produkcją zajęło się wiele różnych firm. Powstała cała masa serwerów umożliwiających tworzenie aplikacji WWW przy użyciu dowolnej technologii przeznaczonej dla sieci.
Przed przystąpieniem do omawiania poszczególnych serwerów aplikacji wyjaśnimy ogólne zasady działania sieci WWW, komunikacji między przeglądarką, a serwerem WWW, a także wpływ tych rozwiązań na budowę aplikacji współpracujących z bazami danych. Przedstawione zostaną również podstawowe informacje z zakresu języka HTML, bez których nie sposób mówić o tworzeniu oprogramowania dla sieci WWW.
Podstawy architektury sieci WWW
Omawianie szczegółów działania sieci WWW wykracza poza zakres tej książki, dlatego ograniczymy się jedynie do podania najbardziej podstawowych informacji na ten temat. Jak wiadomo, WWW jest jedną z usług oferowaną w ramach Internetu. Sieć WWW to nic innego jak system klient-serwer - klientami są przeglądarki WWW, natomiast serwerami oprogramowanie oferujące zbiory dokumentów do przeglądania.
#506
W przypadku integracji aplikacji sieciowej z relacyjną bazą danych, opisana para klient-serwer powiększa się o dodatkowy serwer aplikacji. Serwer aplikacji przetwarza żądania wysyłane do niego przez serwer WWW, po czym odsyła serwerowi WWW odpowiedź, którą ten z kolei przekazuje przeglądarce. Komunikacja pomiędzy serwerem WWW, a przeglądarką realizowana jest przy użyciu protokołu HTTP (Hypertext Transfer Protocol).
Szczegóły techniczne dotyczące tego protokołu opisane zostały w dokumentach RFC 1945 (HTTP 1.0) oraz 2068 (HTTP 1.1). Dodatkowe informacje na temat zasad działania protokołu HTTP znaleźć można pod następującymi adresami:
* http://www.cis.ohio-state.edu/htbin/rfc/rfc1945.html.
* http://www.cis.ohio-state.edu/htbin/rfc/rfc2068.html.
HTML
Język HTML jest pojęciem zbyt szerokim, aby można go było tutaj omówić w całości, dlatego ograniczymy się jedynie do informacji najistotniejszych, natomiast osoby zainteresowane tym tematem odsyłamy do innych książek. Język HTML oparty jest na znacznikach służących do formatowania tekstu oraz innych elementów strony. Od momentu jego powstania, został wzbogacony o dodatkowe elementy, umożliwiające tworzenie formularzy przypominających swoim wyglądem interfejs zwykłej aplikacji. Większość przeglądarek została również wyposażona w JavaScript, prosty język skryptowy umożliwiający programistom tworzenie interaktywnych elementów stron bez potrzeby kontaktowania się z serwerem.
Kolejną cechą języka HTML, przydatną dla programistów tworzących witryny WWW współpracujące z bazami danych, jest możliwość prezentowania informacji w formie tabel. Ma to szczególne znaczenie w przypadku baz relacyjnych ponieważ, jak wiadomo, przechowywane w nich dane mają również formę tabel.
Źródłem informacji na temat języka HTML, oprócz materiałów drukowanych, jest także sama sieć WWW. Oto kilka stron, z których skorzystać mogą osoby zainteresowane nauką tego języka:
* http://www.htmlhelp.com.
* http://www.wdvl.com.
* http://www.webreference.com.
Warto również zajrzeć do jednej z następujących książek:
* Laura Lemay, "HTML 4 Vademecum profesjonalisty", Wydawnictwo HELION 1999.
* Wojciech Romowicz, "HTML i JavaScript", Wydawnictwo HELION 1998.
* Arman Danesh, "JavaScript", Wydawnictwo HELION 1997.
#507
Formularze HTML
Tworzone przy użyciu znaczników HTML formularze składają się z różnego rodzaju elementów, do których zaliczają się między innymi: pola tekstowe, przyciski opcji, pola wyboru i listy rozwijane. Polom przypisywane są nazwy, które identyfikują wartości zwracane serwerowi (w formie par nazwa-wartość) przez przeglądarkę po zatwierdzeniu formularza przez użytkownika.
Formularze są w stanie doskonale odzwierciedlić zapytania kierowane do bazy danych. Np. wartość pola "Szukaj" pasuje jako warunek klauzuli WHERE lub ORDER BY wyrażenia SELECT. Jeśli formularz rejestruje nowych użytkowników, jego wartości użyte zostaną zapewne w wyrażeniu INSEKT. Kiedy omawiane będą kolejne pola formularzy, spróbuj zastanowić się, jaką rolę każde z nich może pełnić w bazie danych.
Tworząc strony formularzy należy pamiętać, że wygląd poszczególnych jego pól będzie, taki jak wygląd standardowych pól tego typu używanych na platformie, na której przeglądana jest dana strona. Zatem, jeśli używamy komputera Macintosh, elementy formularza wyglądają tak jak standardowe obiekty kontrolne tego systemu, z kolei w Windows ich wygląd jest zgodny z kontrolkami używanymi w tym środowisku. W chwili pisania niniejszej książki nie istnieje jeszcze metoda pozwalająca wpływać na wygląd formularzy poprzez kod strony ich wygląd jest zawsze standardowy, co nie jest wcale złym rozwiązaniem, ponieważ pozwala użytkownikom odróżnić pola formularza od reszty strony WWW.
Przed utworzeniem pól formularza trzeba zdefiniować sam formularza. Do tego celu służą dwa znaczniki otwierający
i zamykający :
Znacznik