Generacja
 

Technologie

Generacja

Generacja treści serwisu po stronie serwera, przy średnich i dużych przedsięwzięciach, jest dużo bardziej złożona niż sama prezentacja u klienta. Najczęściej tworzy się ją w oparciu o bazy danych. Przy projektowaniu takich systemów stosuje się taką samą metodykę jak przy tworzeniu każdego innego złożonego systemu informacyjnego. Są natomiast pewne cechy specyficzne dla tego rodzaju projektów: przetwarzanie rozproszone, zagadnienia sieciowe, sposoby zapewnienia bezpieczeństwa, sztuczne tworzenie stanów poprzez mechanizm sesji oraz wiele innych.

Istnieje wiele technologii wspomagających analityków, projektantów i programistów w czasie cyklu tworzenia systemu. Jeżeli chodzi o narzędzia analityczne i projektowe to chyba nie ma jeszcze narzędzi zorientowanych tylko na tę dziedzinę - istnieją raczej adaptacje dotychczasowych rozwiązań. Natomiast w części programistycznej rozwój jest imponujący - w środowiskach implementacji systemów webowych można przebierać.

Wszystko zaczęło się zaraz po wprowadzeniu standardu WWW. Na pierwszy ogień poszedł standard CGI, implementowany najczęściej w językach Perl i C. Na początku była to bardzo niewdzięczna praca, ponieważ programista musiał robić wszystko sam, ale przez lata stworzono wiele bibliotek ułatwiających pracę.

Zaczęły powstawać też nowe technologie: ISAPI, ASP, PHP itd. W tej chwili producentów jest bardzo wielu, lecz pewne rozwiązania dorosły do rangi standardów. Wybór zależy od złożoności przedsięwzięcia. Na poniższym wykresie postarałem się przedstawić pewne tendencje. Rozmieszczenie jest zaproponowane przeze mnie i subiektywne. Osoby zainteresowane zachęcam do dyskusji na ten temat.

Oś pozioma przedstawia złożoność projektu: od prostego przetwarzania formularzy i generowania statystyk, aż do złożonych zagadnień Business To Business. Oś pionowa przedstawia grupy technologii wywodzących się od jednego producenta. Przy opisie każdej technologii starałem się podać powody powyższego usytuowania.

Złożone projekty wymagają pracy całych zespołów, w których są tworzone specjalizacje. Projektanci systemowi tworzą platformę systemu, projektanci aplikacji tworzą projekt aplikacji, programiści tworzą kod logiki biznesowej, kolejni programiści tworzą kod logiki prezentacji, html'owcy tworzą kod HTML, który korzysta z interfejsów udostępnionych przez programistów, graficy tworzą wygląd (ang. layout) strony którą widzi użytkownik. Wydaje mi się, że ta wyliczanka przekonuje, że złożone projekty nie mogą być wykonane przy pomocy prostych narzędzi. Stąd na wykresie dla technologii ASP i PHP biorą się przerwy. Jest to ten moment, w którym należy odseparować pracę poszczególnych zespołów. Doprowadzenie do sytuacji, w której kilku grafików, htmlowców i programistów pracuje na tych samych plikach jest niedopuszczalne. Rozwiązaniem wydaje się być stosowanie szablonów. Więcej informacji na ten temat podam przy opisie niektórych technologii.