Niezmienny element

Wciąż powstają nowe metody tworzenia dynamicznych stron WWW, nowe języki skryptowe czy ''internetowe'' bazy danych. Mimo to rynek od lat zdominowany jest przez kilka najpopularniejszych rozwiązań.

Wciąż powstają nowe metody tworzenia dynamicznych stron WWW, nowe języki skryptowe czy ''internetowe'' bazy danych. Mimo to rynek od lat zdominowany jest przez kilka najpopularniejszych rozwiązań.

Pierwszym rozwiązaniem do tworzenia aplikacji działających w Internecie i obsługiwanych za pośrednictwem przeglądarek WWW był CGI - Common Gateway Interface. Kiedy klient żądał określonej strony HTML, skrypt CGI tworzył odpowiedni plik i przekazywał go do serwera WWW, skąd przesyłano go do przeglądarki odbiorcy. Zaletą skryptów CGI była i jest prostota: są to programy wykonywalne, właściwe dla danej platformy, które przyjmują parametry w linii poleceń i w zasadzie mogą być pisane w dowolnym języku.

Koło historii

Na pewnym etapie rozwoju Internetu praktycznie zaniechano pisania samodzielnych programów w C++ i innych kompilatorach. Popularność zyskały natomiast języki skryptowe, zwłaszcza Perl i Python. W Perlu doskonale rozwiązano operacje na tekście i gotowe moduły dostępu do baz danych, co sprawia, że tworzenie w nim stron HTML z raportami to przyjemność. Obecnie wykonanie skryptu CGI to zwykle wywołanie intepretera danego języka skryptowego, przekazanie do niego odpowiedniego pliku (skryptu) i parametrów z adresu URL do skryptu. W przypadku wielu prostych witryn WWW rozwiązanie to wystarcza.

Trwają prace nad stworzeniem interpretera i bytecode'u Perla, co pozwoli na wstępną "kompilację" skryptów. Ciekawostką jest to, że prawdopodobnie Perl i Python zostaną połączone na poziomie bytecode'u (powstanie wspólna wirtualna maszyna dla obu języków). Już dziś dostępnych jest kilka rozwiązań, które kompilują języki skryptowe (Perl, Python, TCL). Historia zatoczyła więc koło - od plików wykonywalnych, przez wygodne skrypty, które uprościły konstruowanie CGI, z powrotem do plików wykonywalnych, które tym razem powstają na podstawie skryptów.

Skrypty CGI mają zasadniczą wadę. Każde odwołanie klienta do serwera to nowy proces, który należy stworzyć i potem skasować. W przypadku bardzo obciążonych witryn zarządzenie procesami jest utrudnione. Skrypt CGI generuje naraz jedną stronę HTML. W przypadku np. sklepu internetowego konieczne jest identyfikowanie odwiedzającego. Każdy skrypt musi więc albo przekazywać parametry w linii poleceń (jako część adresu URL, co nie jest wygodne), albo używać cookies, przed którymi coraz więcej użytkowników się broni.

Wadą jest także podział witryny na dwie części. Programista CGI musi pilnować, by powstałe strony HTML odpowiadały graficznej części serwisu. Z tego powodu powstało wiele rozwiązań, w których z serwerem WWW jest zintegrowany motor przetwarzający specjalne pliki, zawierające jednocześnie logikę (skrypty, zaawansowane sprawdzanie poprawności, zapis do bazy danych) i formatowanie. Równocześnie taki podział pozwala na efektywne korzystanie z zalet architektury n-warstwowej. Można z poziomu skryptów odwoływać się do konkretnych obiektów warstwy biznesowej. Wśród najbardziej popularnych tego typu rozwiązań należy wymienić: ASP i ASP+, Cold Fusion, JSP i PHP.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200