Trwa ładowanie...
Notowania
Przejdź na

Dynamiczne strony WWW

0
Podziel się:

Rozwój internetu nie byłby możliwy, gdyby nie technologie dynamicznego generowania stron WWW - CGI, PHP czy ASP

Nadzieje i oczekiwania pokładane w internecie, a zwłaszcza z e-commerce, przyciągają inwestorów, angażujących wielkie kapitały. Rośnie liczba transakcji handlowych zawieranych za pośrednictwem globalnej sieci. Trend ten nie omija Polski. E-biznes to nie tylko handel, to również usługi oferowane przez wirtualne oddziały banków. W ciągu roku kilkanaście polskich banków wprowadziło do swojej oferty usługę polegającą na prowadzeniu rachunków internetowych. Dzięki takiej usłudze, bez wychodzenia z domu, możliwe jest przeprowadzanie wszelkiego rodzaju operacji na koncie ROR - wydawanie dyspozycji przelewu, dokonywanie stałych opłat, poznanie historii rachunku, itd.. Internet to również skarbnica wiedzy, której wykorzystanie nie byłoby możliwe bez nowoczesnych technik indeksowania, katalogowania i selekcjonowania dostępnych informacji.

Nowoczesne technologie

Aby opisane wyżej usługi mogły być sprawnie realizowane i powszechnie dostępne, niezbędne stało się opracowanie nowych technologii, które wspomagałyby tworzenie serwisów internetowych. Statyczne strony WWW wykorzystujące język HTML okazały się zbyt proste, mało funkcjonalne i narzucające dużą liczbę technicznych ograniczeń projektantom zaawansowanych serwisów internetowych. Niedogodność ta została zniwelowana dzięki opracowaniu technologii dynamicznego generowania stron WWW.

Zasadnicza różnica między statycznymi i dynamicznymi stronami WWW polega na technice ich wytwarzania. Każda strona statyczna, będąc częścią składową większego serwisu internetowego, musi być wcześniej przygotowana przez projektanta. Ostateczny kształt, struktura i schemat organizacyjny takiego serwisu musi być znany już na etapie projektowania i przygotowywania. Strony dynamiczne, w przeciwieństwie do stron statycznych, generowane są na bieżąco po stronie serwera HTTP na podstawie zmiennych i parametrów przekazanych przez przeglądarkę internetową. W procesie generowania strony WWW udział bierze współpracujący z serwerem moduł lub program zewnętrzny, który interpretuje polecenia zawarte w skrypcie. Wygenerowany w ten sposób dokument opiera się na kodzie (znacznikach) HTML, JavaScript oraz SSI.

Prawdziwa funkcjonalność stron dynamicznych ujawnia się podczas współpracy z serwerami baz danych, gdzie przechowywane są elementy niezbędne do wygenerowania pojedynczej strony WWW - przede wszystkim teksty i grafiki. W dużym uproszczeniu można powiedzieć, że dynamiczna strona to kompozycja dwóch składowych: szablonu decydującego o formatowaniu i zmiennych decydujących o zawartości.
Przeglądarka internetowa wysyła zapytanie do serwera HTTP z poleceniem przesłania konkretnej strony WWW (pliku HTM, HTML, itp.). Serwer analizuje zapytanie (m.in. na podstawie sufiksu pliku) i jeżeli stwierdzi, że żądanie przeglądarki nie wymaga dodatkowego przetwarzania, to w odpowiedzi wyszukuje żądaną stronę w swoich zasobach dyskowych i przesyła ją przeglądarce internetowej.

Jak pomocna jest technika dynamicznego generowania stron WWW, niech zobrazuje przykład. Chcąc uruchomić księgarnię internetową oferującą 10 tysięcy książek, a dla każdej książki przygotować dedykowaną stronę WWW, która zawierałaby podstawowe informacje o tej książce, zmuszeni bylibyśmy do zaprojektowania 10 tysięcy odrębnych plików ze stronami HTML. Przy wykorzystaniu zalet dynamicznego generowania stron WWW, analogiczny efekt można uzyskać, projektując wyłącznie jedną stronę. Strona taka funkcjonowałaby na zasadzie szablonu, zawierającego stałe elementy formatowania wraz z elementami zmiennymi - informacjami o danej książce - które pobierane byłyby z bazy danych.

CGI

Pierwsze rozwiązania dynamicznego generowania stron opierały się na technologii CGI (Common Gateway Interface). CGI nie jest odrębnym językiem programowania lub środowiskiem programistycznym. CGI to zbiór reguł i zasad komunikowania się serwera HTTP z zewnętrznym programem wykonywalnym, który tworzy dynamiczne strony i generuje kod HTML. Programy i skrypty CGI mogą być pisane w dowolnym języku programowania, np. C/C++, Delphi, Java czy Visual Basic. Popularnym językiem opierającym się na technologii CGI jest skryptowy język Perl. W tym przypadku rola interfejsu CGI sprowadza się do pośrednictwa w wymianie komunikatów i informacji między serwerem HTTP a programem interpretera języka Perl, który przetwarza polecenia zawarte w skrypcie.

Przeglądarka internetowa wysyła zapytanie do serwera HTTP z poleceniem przetworzenia konkretnego pliku (plik CGI, EXE, itp.). Serwer uruchamia wskazany w poleceniu przeglądarki zewnętrzny program i, uwzględniając przekazane zmienne i parametry, generuje kod w języku HTML. Tak wygenerowana strona przesyłana jest do przeglądarki.

W powszechnej opinii technologia CGI uważana jest za stosunkowo trudną do opanowania. Dzieje się tak za sprawą języków programowania wykorzystywanych do projektowania aplikacji CGI. Są to języki uniwersalne, nie projektowane z myślą o zastosowaniach internetowych, przez co trudno pisze się w nich programy współpracujące z serwerami HTTP. Poza tym, każdorazowe uruchomienie zewnętrznego programu lub programu interpretera wiąże się z koniecznością utworzenia przez serwer nowego procesu (wady tej pozbawiony jest FastCGI), co pochłania zasoby systemowe i jest czasochłonne. O ile ułomność ta nie ma zasadniczego znaczenia dla szybkości pracy mało obciążonych serwerów, o tyle ma duże znaczenie, gdy serwer HTTP z CGI wykorzystywany jest do obsługi popularnych serwisów internetowych.

Wraz z momentem pojawienia się na rynku konkurencyjnych wobec CGI technologii - ASP i PHP - pisanie programów dynamicznie generujących strony WWW stało się łatwiejsze.

ASP

Active Server Pages to technologia dynamicznego tworzenia stron WWW opracowana przez Microsoft. Technologia ta jest łatwą w implementacji i wydajną w działaniu współpracą z bazami danych. Dzieje się tak za sprawą wbudowanych obiektów ADO (ActiveX Data Objects). To właśnie ta cecha w dużym stopniu przyczyniła się do dużej popularności technologii ASP, co zaowocowało próbami adaptacji tej technologii na inne płaszczyzny systemowe, np. Linuksa. Ze zrozumiałych względów, wysiłek ten nie był podejmowany przez Microsoft, tylko przez inne niezależne firmy i grupy programistów. Bez większych jednak efektów.

Do projektowania witryn internetowych opartych na technologii ASP można wykorzystać dowolny skryptowy język programowania, oczywiście pod warunkiem, że system będzie dysponował odpowiednią biblioteką interpretera. Standardowa dystrybucja ASP rozpowszechniana jest z dwoma językami: VBScript, który jest skryptową odmianą Visual Basica i JScript - skryptową odmianą Javy. Na rynku dostępne są również interpretery innych popularnych języków, np. interpreter języka Perl czy REXX, dostarczane przez niezależnych producentów.

Bezproblemowe funkcjonowanie technologii ASP wymaga współpracy z serwerem Internet Information Server (Windows NT Server, Windows 2000).

PHP

Personal Home Pages Tools lub Hypertext Preprocessor to alternatywna wobec ASP technika dynamicznego tworzenia stron. Swoją konstrukcją i mechanizmami funkcjonowania przypomina technologię ASP, z tą różnicą, że PHP samo w sobie jest językiem programowania, a ASP jedynie środowiskiem programistycznym. PHP jest projektem typu 'open source', tworzonym przede wszystkim z przeznaczeniem na platformy linuksowe. Jednak twórcy tej nowoczesnej technologii nie zapomnieli o użytkownikach Windows i z myślą o nich zaprojektowali dystrybucję PHP w wersji do 32-bitowych systemów Microsoftu.

Skrypty PHP mogą być obsługiwane przez serwer HTTP w dwóch trybach. W trybie CGI zasada działania skryptu jest identyczna jak zewnętrznego programu uruchamianego przez interfejs CGI. W tym przypadku serwer uruchamia zewnętrzny program interpretera poleceń języka PHP. W drugim możliwym trybie pracy, polecenia języka PHP wykonywane są przez rezydujący w obszarze pamięci serwera moduł interpretera. Drugie rozwiązanie jest efektywniejsze, ponieważ rezydentny moduł może obsłużyć większą liczbę żądań i nie wymaga każdorazowego tworzenia nowego procesu przez serwer WWW.

Przeglądarka internetowa wysyła zapytanie do serwera HTTP z poleceniem przetworzenia konkretnego pliku (plik PHP, ASP, itp.). Serwer uruchamia rezydentny moduł interpretera, który przetwarza polecenia zawarte w skrypcie i generuje stronę WWW opartą na HTML. Wygenerowana strona przesyłana jest do przeglądarki.

Co lepsze?

Technologie dynamicznego tworzenia stron WWW - ASP i PHP - są nowoczesne i dopracowane. Trudno wskazać, która z nich jest lepsza. Możliwości techniczne oferowane przez obydwie techniki są zbliżone, podobnie jest z szybkością i efektywnością przetwarzania skryptów. PHP jest elastyczniejsze, ponieważ dystrybucje tego systemu dostępne są w wersjach odpowiednich do większości płaszczyzn sprzętowych i systemowych, w tym do najpopularniejszych - Linuksa i Windows. Obie technologie są bezpłatne, zatem czynnik finansowy nie powinien być uwzględniany na etapie projektowania i testowania serwisu. Zupełnie inaczej jest z kosztami związanymi z eksploatacją i utrzymaniem serwisu na serwerze HTTP.

Większość serwerów internetowych w Polsce funkcjonuje w oparciu o Linux i serwer Apache. Udział rynkowy serwerów bazujących na Windows NT/2000 i IIS jest mniejszy, głównie za sprawą wysokich kosztów wdrożenia takiej konfiguracji. Układ ten ma bezpośredni wpływ na kształt oferty rynkowej polskich firm świadczących usługi hostingowe. Nietrudno znaleźć firmę oferująca dzierżawę powierzchni dyskowej na linuksowym serwerze internetowym za niewielką sumę.

Gorzej jest z ofertą bazującą na rozwiązaniach Microsoftu - trudno odnaleźć firmę oferującą usługi na tej platformie systemowej, a ich koszt jest wysoki. Dochodzi do sytuacji, w których roczny koszt utrzymania serwisu internetowego bazującego na Linuksie, Apachu, PHP i MySQL jest porównywalny z miesięcznym kosztem utrzymania identycznego pod względem funkcjonalnym serwisu, ale bazującego na technologii Windows, IIS, ASP i SQL Server. Mało którego twórcę stron internetowych lub niewielkich serwisów stać na ponoszenie wysokich kosztów miesięcznych. Nie mogą skorzystać z technologii ASP, która współpracuje jedynie z systemami i serwerami Windows. Konkurencyjna wobec ASP technologia PHP jest równie wydajna, równie efektywna i łatwo dostępna. Ma ponadto istotną zaletę - serwis internetowy można przygotować i przetestować w środowisku Windows, a opublikować go na serwerach Linuksa i Apache.

Korzystanie z technologii dynamicznego generowania stron WWW ma sens wówczas, gdy oparty na nich serwis internetowy jest rozbudowany i często odwołuje się do zmieniających się danych. Strony statyczne, oparte na zwykłych znacznikach HTML, wciąż pozostają najlepszym wyborem dla twórców niewielkich witryn domowych i korporacyjnych. W obu przypadkach wciąż należy jednak pamiętać, że zawsze najważniejsza jest treść - niezależnie od technik ją prezentujących.

wiadomości
gospodarka
Oceń jakość naszego artykułu:
Twoja opinia pozwala nam tworzyć lepsze treści.
Źródło:
money.pl
KOMENTARZE
(0)