rozdz24.doc

(344 KB) Pobierz
Szablon dla tlumaczy

Rozdział 24. Witryny korzystające z baz danych

Witryny sieciowe są coraz bardziej skomplikowane. Witryny złożone ze statycznych stron są zastępowane przez witryny korzystające z baz danych. Wyższość tych ostatnich polega na tym, że ich zawartość jest dynamicznie generowana przez bazę danych, taką jak Microsoft Access lub IBM DB2.

Dostęp do informacji bazy danych wymaga czegoś więcej, niż tylko HTML-a, skryptów JavaScript i kaskadowych arkuszy stylów. Dostęp do bazy danych musi mieć sam serwer WWW. Umożliwiają to skrypty działające po stronie serwera, które są potężnym narzędziem w ręku doświadczonego twórcy stron WWW.

W tym rozdziale zastanowimy się, jak sięgnąć do bazy danych korzystając ze skryptów działających po stronie serwera. Aby zademonstrować szybkość i efektywność witryn korzystających z baz danych, zastosujemy rozbudowaną wersję Dreamweavera o nazwie Dreamweaver UltraDev.

Lista poruszanych tu tematów jest następująca:

q       Co to jest witryna korzystająca z bazy danych

q       W jaki sposób można korzystać z baz danych

q       UltraDev a Dreamweaver

q       Jak wykorzystać zapisaną na płycie CD bazę danych w celu zbudowania dynamicznej witryny

q       Jak dodać w bazie danych nowe pozycje i jak aktualizować bazę danych

Statyczne vs dynamiczne

Dreamweaver to program przeznaczony do tworzenia stron WWW. Z takich stron budowana jest witryna, do której dodawane są kolejne elementy zawartości. Witryny tego typu często określane są mianem statycznych. Z kolei witryna dynamiczna złożona jest ze stron, które pobierają swoją zawartość z bazy danych. Baza danych przechowywana jest poza witryną. Wraz ze zmianami zawartości bazy danych, musi ulec zmianie także zawartość stron z nią skojarzonych. Dobrym przykładem witryny korzystającej z bazy danych jest witryna Cnet (www.cnet.com). Wiadomości tam prezentowane są aktualizowane i obsługiwane za pośrednictwem bazy danych. Zawartość witryny jest więc generowana dynamicznie w oparciu o zawartość bazy danych. Nowy artykuł staje się dostępny na dynamicznej stronie WWW z chwilą umieszczenia go w bazie danych.

Na pierwszy rzut oka strony dynamiczne wyglądają tak samo jak konwencjonalne. Gdybyś przyjrzał się postaci źródłowej strony WWW witryny Cnet, nie zobaczyłbyś żadnych różnic w stosunku do zwykłej strony. Różnicy należy szukać na serwerze.

Serwer sieciowy stanowi integralną część dynamicznie generowanych witryn. Twoja wiedza na temat serwera WWW i sposobu korzystania z niego, określi zakres Twoich możliwości odnośnie tworzenia dynamicznej zawartości.

Serwer WWW

Zgodnie ze swoim przeznaczeniem, każdy serwer sieciowy ma do wykonania jedno zadanie: dostarczyć strony WWW za pośrednictwem protokołu HTTP (Hypertext Transfer Protocol). To ono właśnie ukształtowało podstawowe zręby Internetu.

Na początku większość witryn tworzona była pod kontrolą systemu operacyjnego UNIX. Interaktywność, a więc mapy odnośników i automatycznie generowane obrazy, wprowadzana była przy użyciu języka skryptowego Pearl. Pearl szybko stał się popularnym sposobem tworzenia dynamicznej zawartości dla Internetu. Najbardziej znaną z aplikacji Pearl jest sieciowa księga gości, w której użytkownik może umieścić swój wpis z komentarzem na temat witryny.

Pearl nadaje się do wykonania prostych operacji, takich jak automatyczne składanie fragmentów tekstu (co było wystarczające w 1995). Jednak dzisiaj wymagania są dużo większe – potrzebne są witryny bogate w treść i umożliwiające szeroką interakcję. Aby to ułatwić, w ciągu tych pięciu lat dojrzało kilka nowych języków skryptowych. Szczególnie warto tu wspomnieć o technologiach Active Server Pages (Microsoft), Java Server Pages (Sun) i Cold Fusion (Allaire).

We wszystkich przypadkach zasada działania jest podobna: wyznaczony moduł serwera WWW przetwarza skrypty. Na przykład strona ASP może składać się z elementów pisanych w kilku językach: HTML, VBScript i JavaScript, przeplatających się ze sobą. Kody poszczególnych języków oddzielane są odpowiednimi dla nich znacznikami. Dodatkowe polecenia w znacznikach informują serwer o kodzie, który ma zostać wykonany.

Na dołączonej do książki płycie CD znajdziesz plik TIME.ASP. Plik ten został stworzony z myślą o serwerze IIS (Internet Information Server) korzystającym z ASP. Rysunek 24.1 prezentuje stronę ASP wyświetlającą datę i godzinę.

Rys. 24.1.

Przeglądarka wyświetla stronę ASP

 

Tę prostą sztuczkę można zrealizować także z pomocą skryptów JavaScript. W tym przypadku zdecydowano się na użycie skryptów działających po stronie serwera wpisujących czas oraz datę.

Oto kod, który generuje stronę ASP:

<%@LANGUAGE="VBSCRIPT"%>

<html>

<head>

<title>Server Driven Time and Date</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<p><b><%=time%></b>

</p>

<p><%=date%>

</p>

</body>

</html>

Od razu widoczne są różnice w porównaniu do zwykłego kodu HTML. Pierwszy wiersz, poprzedzający znacznik <HTML>, zawiera przeznaczoną dla serwera deklarację, że skrypt, który będzie wykonywany na tej stronie, jest skryptem VBScript. VBScript to opracowany przez Microsoft język skryptowy, wzorowany na języku Visual Basic. Do tworzenia stron ASP można wykorzystać zarówno język JavaScript, jak i VBScript.

Kolejna zmiana to polecenia, które generują na stronie finalnej datę i godzinę: <%=time> i <%=date>.

Oba te polecenia są typowe dla technologii Active Server Pages. Zastosowanie otwierającego znacznika <% i zamykającego %> stanowi dla serwera informację, że skrypt musi być wykonany na serwerze sieciowym.

Oprócz technologii Microsoft Active Server Pages, na serwerach WWW działają inne języki skryptowe. Tabela 24.1 prezentuje serwery WWW wraz z opisem i listą systemów operacyjnych, pod kontrolą których serwery mogą działać, oraz języki skryptowe.

Tabela 24.1. Najpopularniejsze serwery WWW

Serwer WWW

Opis

Systemy operacyjne

Język skryptowy

Apache

Apache to najpopularniejszy w świecie serwer WWW. Niemal połowa wszystkich witryn działa na Apache. Apache obsługuje strony Java Server Pages oprogramowane w języku Java stworzonym przez firmę Sun.

UNIX, Linux, Macintosh, Windows 2000 i Windows NT

Java Server Pages

Internet Information Server (IIS)

Drugim pod względem popularności jest serwer IIS firmy Microsoft. IIS umożliwia programistom korzystającym z języka Visual Basic budowanie witryn korzystających z baz danych. W efekcie jest to serwer najpopularniejszy w sieciach lokalnych. 

Windows NT, 2000 i XP

Active Server Pages

Cold Fusion Server

Cold Fusion jest bardzo popularnym oprogramowaniem serwera aplikacji wyposażonym w łatwy w użyciu język skryptowy.

UNIX, Linux, Windows NT i Windows 2000

Cold Fusion Markup

IBM Websphere

Popularność tego serwera nieustannie rośnie. Websphere jest powiązany z bazami danych DB2 i technologią Sun Java Server Pages.

UNIX, Windows NT i Windows 2000

Java Server Pages

Bazy danych

W procesie tworzenia dynamicznych witryn sieciowych, oprogramowanie bazy danych jest drugim najważniejszym czynnikiem, po oprogramowaniu serwera. Dostępnych jest wiele typów baz danych. Możliwość pobierania, przeglądania i modyfikowania zawartości bazy danych jest niezwykle istotna w przypadku aplikacji sieciowej.

Na dysku CD znajdziesz bazę danych COFFEE.MDB. Jest to plik programu Microsoft Access 2000. Access to najpopularniejsza baza danych w świecie. Jest prosta i elastyczna. Doskonale nadaje się dla małych i średnich aplikacji. W przypadku większych, warto zainwestować w rozwiązania przeznaczone dla przedsiębiorstw, takie jak Oracle lub Sybase.

Tabela 24.2 prezentuje najpopularniejsze bazy danych wraz z opisem zastosowania i skalowalności.

Tabela 24.2. Najpopularniejsze bazy danych

Baza danych

Opis

Prostota użycia

Skalowalność

Microsoft Access

Najpopularniejsze na świecie oprogramowanie baz danych, które pozwala utworzyć bazę danych w kilka chwil.

Dostęp jest bardzo prosty. Jednak prostota w użyciu uzyskiwana jest kosztem skalowalności – witryny wielkich firm, które wymagają ogromnych baz danych, o milionach pozycji, nie mogą korzystać z tego oprogramowania.

Bazy danych Access umożliwiają jednoczesny dostęp z poziomu strony WWW 50 użytkownikom. W przypadku większego obciążenia, może wystąpić spowolnienie ich działania.

Oracle

Larry Ellison, szef firmy Oracle, dzięki bazie danych Oracle 8i zaoszczędził w swojej firmie miliard dolarów dwa lata z rzędu. Jak się domyślasz, „i” w nazwie bazy danych to „i” z wyrazu Internet.

Oracle nie jest dla bojaźliwych. Rozmiar bazy danych może rosnąć aż w terabajty, bez szkody dla efektywności jej działania. Jednak ze względu na tę ogromną skalowalność, bazy danych muszą być tworzone przez osoby dogłębnie znające środowisko Oracle.

Wiele poważnych, obszernych witryn sieciowych korzysta w swoim działaniu z baz danych Oracle. Oprogramowanie to, dzięki swej efektywności, umożliwia uzyskanie zadziwiających rezultatów.

Sybase

Sybase to solidne środowisko bazy danych, które działa zarówno w systemach UNIX, jak i na platformach Windows NT/2000.

Podobnie jak Oracle, jest to środowisko trudne w obsłudze. Tworzeniem baz danych Sybase musi zajmować się specjalista.

Z baz danych Sybase korzystają witryny średnie i duże.

Microsoft SQL Server

Microsoft SQL Server to wielki brat oprogramowania Microsoft Access. Skalowalność tych baz danych nigdy nie będzie do osiągnięcia przez bazy Access. Jednak SQL może importować bazy Access. Dzięki temu bazy danych można projektować w aplikacji Acces, a następnie natychmiast przenieść do SQL.

Obsługa oprogramowania SQL Server jest średnio trudna. Jeśli masz doświadczenie w korzystaniu z konsoli Microsoft Management Console, nie będziesz miał problemów.

SQL zaznaczyło swą obecność w świecie baz danych (na przykład bijąc rekord rozmiaru bazy danych – 1.2 terabajtów). Co ważne, jest to także szybka baza danych.

Wszystkie bazy danych zarządzają zawartością tabeli danych. Każda tabela zbudowana jest z wierszy danych zwanych polami. Pole może mieć własny zestaw właściwości. Na przykład pole daty może przechwytywać tylko liczby zdefiniowane jako data, a w polu nazwy dopuszczalna jest tylko pewna liczba liter. Na rysunku 24.4 przedstawiona została tabela z bazy danych COFFEE.MDB.

Rys. 24.2.

Bazę COFFEE.MDB tworzy zestaw tabel i sformatowanych pól

 

Dla utworzenia aplikacji sieciowej niezwykle istotna jest znajomość stosowanej bazy danych oraz jej struktury. Bez tej wiedzy proces twórczy jest trudny, jeśli nie niemożliwy.

Korzystanie z UltraDev

Trzecim czynnikiem, obok oprogramowania serwera i baz danych, jest kod źródłowy niezbędny do utworzenia witryny. Serwer WWW dowiaduje się z niego, jak wyświetlić stronę. Jak sobie zapewne wyobrażasz, możliwy jest tu znaczny stopień złożoności. Dodatkowymi czynnikami komplikującymi całość są języki skryptowe: ASP, CFM i JSP, żeby wymienić zaledwie trzy z nich.

Do niedawna, aby stworzyć witrynę korzystającą z baz danych, projektant musiał znać język obsługiwany przez dany serwer. Stopień trudności był bardzo wysoki. Ratunek przyszedł z Macromedia wraz z oprogramowaniem Dreamweaver UltraDev. UltraDev to sztandarowy przykład rozszerzalności Dreamweavera. Program ten wygląda i działa jak Dreamweaver. Różni się od niego czterema nowymi opcjami. Są to: Data Bindings, Connections Manager, Server Behaviors i Application Server Models.

Okno Site Definition

Elementem o podstawowym znaczeniu dla stworzenia udanej witryny dynamicznej jest wybór w oknie dialogowym Site Definition właściwego typu serwera. UltraDev zawiera dodatkowe ustawienia dla serwerów aplikacji lub serwerów, które wykonują skrypty działające po stronie serwera. Rysunek 24.3 prezentuje okno dialogowe Site Definition. Jest ono niemal takie samo jak w Dreamweaverze – ma jednak dodatkową kategorię: Application Server.

Rys. 24.3.

Kategoria Application Server umożliwia zdefiniowanie rodzaju języka skryptowego, który będzie stosowany w procesie tworzenia witryny

 

Kategoria Application Server zawiera szereg ustawień, które trzeba skonfigurować. Najważniejsze jest pole Server Model.

Lista rozwijana Server Model daje Ci do wyboru trzy możliwości:

q       ASP 2.0

q       Cold Fusion 4.0

q       JSP 1.0

Odnoszą się one do trzech różnych języków skryptowych obsługiwanych przez UltraDev. W przeciwieństwie do innych produktów, UltraDev nie jest skonfigurowany pod kątem jednego środowiska skryptowego. Tu obsługiwane są trzy najbardziej popularne języki skryptowe: ASP 2.0 (Microsoft Active Server Pages 2.0), Cold Fusion 4.0 i JSP 1.0 (Sun Java Server Pages 1.0).

Wybór właściwego typu serwera wymaga znajomości serwera WWW, który zostanie zastosowany do prezentacji stron. Jeśli wybierzesz na przykład pozycję JSP 1.0, generowany kod nie będzie działał na serwerze Microsoft IIS ani też na serwerze Personal Web Server.

Kolejne pole wymaga określenia stosowanego języka skryptowego. Językiem domyślnym dla ASP 2.0 jest VBScript, jednak można stosować także język JavaScript.

Aby umożliwić serwerowi poprawne wyświetlenie strony, konieczne jest także wprowadzenie ustawień w polu Page Extension. Na przykład, IIS domyślnie tłumaczy kod ASP strony WWW zapisanej w pliku z rozszerzeniem .ASP. To samo dotyczy Cold Fusion i Java Server Pages, korzystających z rozszerzeń .CFM i .JSP.

Pozostałe ustawienia są takie same jak w kategorii Remote Info.

Menedżer połączeń – Connection Manager –  stanowi najważniejszy element witryny. Ma on jedną, podstawową funkcję: nawiązać połączenie z bazą danych. Aby uruchomić menedżera połączeń, wybierz pozycję Connections z menu Modify. Otworzy się wówczas okno dialogowe prezentujące wszystkie aktualnie aktywne połączenia z bazami danych. Rysunek 24.4 przedstawia okno dialogowe Connections, a w nim połączenie do bazy danych Coffee.

Rys. 24.4.

Okno dialogowe Connections prezentuje wszystkie bazy danych, z których korzysta witryna

 

 

Gdy naciśniesz przycisk ...

Zgłoś jeśli naruszono regulamin