System CMS do obsługi intranetu korporacyjnego z modułem rezerwacji sal konferencyjnych, rzutników, samochodów

Podobne dokumenty
Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Szczegółowy opis zamówienia:

Ruby on Rails. Supersilnik WWW. Łukasz Włodarczyk

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Budowanie interfejsów do baz danych

Bazy danych i strony WWW

I Podstawy Wprowadzenie do technologii Ajax Żądanie Odpowiedź XML 31 JSON 39

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

Forum Client - Spring in Swing

WPROWADZENIE. Użycie PHP

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

SPECYFIKACJA WYMAGAŃ. w zakresie migracji i uruchomienia nowego serwisu WWW na potrzeby PKP S.A.

OpenLaszlo. OpenLaszlo

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

CMS - Joomla. Autor: Cyryl Sochacki Mail: cyryllo@task.gda.pl WWW:

Wybrane działy Informatyki Stosowanej

Opis przedmiotu zamówienia

Pojęcie systemu baz danych

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Architektura systemu e-schola

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

WYKONANIE MODELU GENERYCZNEGO W POSTACI APLIKACJI, SŁUŻĄCEJ DO PROGNOZOWANIA ZAPOTRZEBOWANIA NA USŁUGI EDUKACYJNE

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Zaawansowane Techniki WWW (HTML, CSS i NODE.JS)

REFERAT O PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ

Ekspert MS SQL Server Oferta nr 00/08

Programowanie internetowe

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy,

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Czym jest Ruby on Rails?

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

REFERAT O PRACY DYPLOMOWEJ

FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL

Aplikacje Internetowe

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ

Technologia Flash cieszy się coraz większą popularnością. Liczba dostępnych

Odseparowanie kodu PHP i warstwy prezentacji od dawna było celem

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Liczba godzin. N (nauczyciel) studia niestacjonarne

UNIWERSYTET KAZIMIERZA WIELKIEGO WYDZIAŁ MATEMATYKI, FIZYKI I TECHNIKI INSTYTUT TECHNIKI

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

PRZEWODNIK PO PRZEDMIOCIE

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Popularne dostępne rozwiązania. Najpopularniejsze środowiska programistyczne:

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

Spis wzorców. Działania użytkownika Strona 147 Obsługa większości Działań użytkownika za pomocą kodu JavaScript przy użyciu metod obsługi zdarzeń.

egroupware czy phpgroupware jest też mniej stabilny.

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Web frameworks do budowy aplikacji zgodnych z J2EE

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Oracle Application Express -

Referat Pracy Dyplomowej

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Rok akademicki: 2030/2031 Kod: ZIE s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Ełk, dn r. DOMSET Marcin Brochacki. ul. Wojska Polskiego 43 lok. 3, Ełk. Nip ZAPYTANIE OFERTOWE

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

PHP: bazy danych, SQL, AJAX i JSON

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Tomasz Grześ. Systemy zarządzania treścią

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

EXSO-CORE - specyfikacja

PRZEWODNIK PO PRZEDMIOCIE

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Software Architecture Document czyli jak i dlaczego w 14 minut ;-)

Aplikacje internetowe i mobilne (studia tradycyjne)

Bazy danych 2. Wykład 1

Webowy generator wykresów wykorzystujący program gnuplot

Konspekt pracy inżynierskiej

Transkrypt:

Artur Bartliński System CMS do obsługi intranetu korporacyjnego z modułem rezerwacji sal konferencyjnych, rzutników, samochodów 1. Język skryptowy PHP PHP: Hypertext Preprocessor, czyli w skrócie PHP jest powszechnie używanym obiektowym językiem skryptowym ogólnego przeznaczenia, który jest oficjalnie rozwijany i rozpowszechniany na zasadach Open Source przez Zend Technologies. Między innymi poprzez możliwość zagnieżdżania wewnątrz znaczników HTML jest szczególnie przystosowany do tworzenia aplikacji internetowych. Składnia języka PHP wywodzi się z takich języków wysokopoziomowych, jak C i Java, dzięki czemu jest łatwa do nauczenia się. Głównym celem, jaki przyświecał twórcom języka było umożliwienie programistom szybkiego tworzenia stron internetowych, jednak dynamiczny rozwój tego języka spowodował, że umożliwia on znacznie więcej. Oprócz PHP do najpopularniejszych języków skryptowych zaliczamy takie języki, jak JavaScript, Python, Perl, Ruby czy ASP. Aplikacje napisane w języku PHP są nazywane skryptami i są wykonywane po stronie serwera. Oznacza to, że w momencie uruchomienia aplikacji w przeglądarce internetowej, skrypt zostaje przesłany na serwer i tam wykonany, a następnie wyniki zostają przesłane z powrotem do klienta. Jest to nazywane programowaniem po stronie serwera (server side) i jest odwrotnością programowania po stronie klienta (client-side), które jest cechą np. JavaScript. Za wyborem PHP jako języka do implementacji projektowanej aplikacji przemawia wiele zalet: koszty PHP jest dostępny na licencji otwartej; wsparcie techniczne programista zyskuje nie tylko dostęp do pełnej i obszernej dokumentacji (także w języku polskim), ale również do kodu źródłowego i wielu bibliotek oraz frameworków; przenośność skrypty mogą być przenoszone pomiędzy wieloma systemami operacyjnymi zarówno z rodziny Windows, jak i Unix; ponieważ dystrybucja PHP zawiera kod źródłowy, język może być skompilowany praktycznie na dowolny system operacyjny; funkcjonalność PHP dostarcza mechanizmów niezbędnych do tworzenia aplikacji internetowych, takich jak obsługa sesji, żądania HTTP, wsparcie dla wielu systemów systemów zarządzania bazami danych oraz wiele innych; Aplikacje tworzone w języku PHP stanowią najczęściej mniejsze oraz średnio zaawansowane projekty, które są przenośne oraz cechują się szybkością działania, dużą wydajnością i pozwalają na sporą oszczędność zasobów serwera. PHP umożliwia osadzanie fragmentów skryptów w znacznikach dokumentu HTML. Odpowiednia składnia pozwala na wydobycie części dokumentu, która ma zostać poddana interpretacji przez silnik PHP serwera. Dzięki takiemu rozwiązaniu możemy przy pomocy języka PHP wyposażyć statyczną stronę HTML poprzez dodanie odpowiednich skryptów, które zwrócą pewne fragmenty dokumentu (lub cały dokument)

dynamicznie w czasie interpretacji. Aby uruchomić skrypt PHP należy umieścić kod w specjalnym pliku o określonym rozszerzeniu, a następnie tak przygotowany plik umieścić na serwerze. Środowisko serwera HTTP musi być uprzednio przygotowane do pracy z PHP poprzez odpowiednią konfigurację zapewniającą współpracę serwera z interpreterem języka. Język PHP przeszedł swego rodzaju ewolucję, w szczególności pomiędzy wersją 4 i 5. Efektem lat pracy było wypuszczenie pierwszej wersji PHP z zaimplementowanymi mechanizmami obsługi obiektowości. PHP 4 realizuje wiele założeń programowania zorientowanego obiektowo, jednak jest jedynie małym krokiem w tym kierunku. Modyfikatory dostępu, możliwość tworzenia interfejsów, czy klas abstrakcyjnych to tylko wybrane z zagadnień zrealizowanych dopiero w wersji 5. PHP jest stale rozwijany i udoskonalany. Język PHP powstał jako narzędzie do tworzenia stron oraz aplikacji internetowych i do dziś jest to jego najważniejsze zastosowanie. PHP sprawdza się tam, gdzie duży nacisk jest kładziony na czas i łatwość wykonania aplikacji. W oparciu o PHP powstaje duża część serwisów internetowych, portalów, blogów czy webowych aplikacji intranetowych. Dla tych zastosowań powstają w PHP systemy zarządzania treścią, czyli CMS-y (Content Management System). 2. Serwer HTTP Apache Jednym z najbardziej popularnych, darmowych serwerów HTTP jest serwer Apache. Rozwiązanie to zapoczątkował Tim Berners-Lee. Wiele rozwiązań zarówno małych i średnich, jak również dużych komercyjnych projektów wzorowane jest na serwerze Apache. Apache posiada dystrybucje dla wielu systemów operacyjnych w tym Windows oraz Linux. Ze względu na otwarty charakter kodu serwera Apache istnieje możliwość samodzielnej kompilacji na dowolny inny system operacyjny. Apache został zaprojektowany w sposób modułowy, co znacznie ułatwia adaptację serwera do specyficznych potrzeb. Jedną z wielu zalet Apache jest możliwość konfiguracji tzw. wirtualnych hostów czyli uruchomienia np. dwóch oddzielnych aplikacji internetowych pod dwoma różnymi domenami. Apache zapewniania ponadto takie mechanizmy zabezpieczeń jak blokowanie adresów IP, uwierzytelnianie oraz protokół HTTPS. Apache zaprojektowany został z wykorzystaniem architektury wieloprocesowej. Główny proces Apache odpowiada za ciągłe nasłuchiwanie ruchu sieciowego na porcie na którym zostało to skonfigurowane i przechwytywanie żądań zgodnie ze specyfikacją protokołu HTTP. Po przechwyceniu żądania zadanie jakim jest obsługa żądania i zwrócenie odpowiedzi jest delegowana do procesów podrzędnych. Proces główny powraca zatem do nasłuchiwania ruchu sieciowego. Proces potomny kończy pracę po wykonaniu swojego zadania i zasoby systemu są zwalniane. Ilość procesów podrzędnych Apache zależy od ilości równoczesnych żądań HTTP wygenerowanych przez użytkowników 3. System zarządzania relacyjnymi bazami danych PostgreSQL PostgreSQL jest to obiektowo-relacyjny system zarządzania bazami danych(object relational

database management system, w skrócie ORDBMS). Został utworzony na bazie systemu opracowanego na Uniwersytecie Kalifornijskim w Berkeley Computer Science Department. Jest jednym z najpopularniejszych wolnodostępnych systemów tego typu. Ponieważ jest udostępniany na zasadach Open Source, może być używany, modyfikowany i rozpowszechniany bezpłatnie przez każdego, w dowolnych celach prywatnych, komercyjnych lub naukowych. PostgreSQL obsługuje dużą część standardu SQL i oferuje wiele nowoczesnych funkcji, takich jak: złożone zapytania, klucze obce, wyzwalacze, widoki, MVCC i inne. Ponadto umożliwia rozszerzenie możliwości przez użytkownika, np. poprzez dodanie nowych typów danych, funkcji, operatorów i funkcji agregujących. Za wyborem systemu PostgreSQL, jako narzędzia do przechowywania danych projektowanej aplikacji przemawia między innymi: darmowy charakter; bardzo dobra współpraca trzech wybranych komponentów i ich powszechność w ofertach hostingowych serwera Apache, języka PHP i systemu PostgreSQL; wydajność, stabilność i jednocześnie lekkość rozwiązania sprawia, że PostgreSQL może zostać zainstalowany na serwerze o niewielkich zasobach sprzętowych; PostgreSQL dostarcza dystrybucje dla wielu platform sprzętowych i systemowych, w tym Linux i Windows i zapewnia współpracę z wieloma językami programowania; bardzo dobra dokumentacja; duża społeczność. System PostgreSQL jest obecnie jednym z najczęściej wykorzystywanych narzędzi tego typu w aplikacjach internetowych i intranetowych. Do innych powszechnie używanych systemów zarządzania bazami danych możemy zaliczyć Oracle, MySQL, MS SQL, IBM DB2 czy Firebird. PostgreSQL zyskał sobie tak wielu zwolenników dzięki takim cechom, jak posiadanie bardzo liberalnej licencji, ale także prostotą obsługi i dużą dostępnością interfejsów programistycznych dla większości języków programowania. System rozwija się bardzo dynamicznie i z każdą kolejną wersją dostarcza wiele nowych funkcji. Znajduje zastosowanie zarówno przy tworzeniu mniejszych i średnich projektów, jak i dużych projektów korporacyjnych. Działanie PostgreSQL opiera się na architekturze klient-serwer. W trakcie trwania sesji PostgreSQL współpracują ze sobą następujące moduły: proces serwera zarządza plikami bazy danych, administruje kontami użytkowników, akceptuje i obsługuje połączenia do bazy danych z aplikacji klienckich; aplikacja kliencka operuje na bazie danych poprzez odpowiednie zapytania i otrzymywanie odpowiedzi; może mieć bardzo różnorodny charakter, np. narzędzie konsolowe, aplikacja graficzna, serwer WWW lub specjalistyczne narzędzie konserwacji bazy danych. 4. Język JavaScript i technika AJAX

JavaScript należy do dynamicznych języków programowania. Jest obiektowym językiem skryptowym stworzonym przez Netscape, znajdującym główne zastosowanie w projektowaniu stron WWW. Skrypty JavaScript wykorzystuje się przede wszystkim w procesach walidacji formularzy na witrynach internetowych, projektowaniu interaktywnych mechanizmów reagujących na zdarzenia oraz mechanizmów nawigacji. Projektując stronę internetową z wykorzystaniem języka JavaScript należy zapewnić dostępność witryny w przypadku wyłączenia obsługi JavaScript na komputerze użytkownika. Przeglądarka nie obsługująca takich skryptów, nieprawidłowo wyświetli stronę, a elementy interaktywne nie będą działać. Skrypty JavaScript nie podpisane cyfrowo, mają bowiem znacznie ograniczony dostęp do komputera użytkownika. W celu ominięcia tego typu niedogodności, część stron WWW tworzy się z użyciem JavaScript po stronie serwera, w takich wypadkach jednak dużo większą popularność zyskują inne technologie. Zaimplementowane w przeglądarkach internetowych skrypty JavaScript dostarczają obiekty reprezentujące drzewo dokumentu (DOM) oraz odpowiadają na zdarzenia wywoływane w interfejsie użytkownika. Główne obszary zastosowań języka JavaScript obejmują: - walidację formularzy JavaScript pozwala na implementację mechanizmów sprawdzających poprawność danych wprowadzanych przez użytkownika w polach formularza na stronie internetowej, - tworzenie elementów nawigacji, - zapewnienie interaktywności poprzez reagowanie na zdarzenia wywoływane przez użytkownika, - manipulację oknami przeglądarki, - umożliwienie wyświetlania okienek dialogowych, - tworzenie cookies, - dostarczanie interfejsu programistycznego do manipulowania drzewem dokumentu HTML, - zarządzanie arkuszami CSS (ang. Cascading Style Sheets) i wtyczkami przeglądarki, - pobieranie meta danych przeglądarki. Technika AJAX (ang. Asynchronous JavaScripting and XML), czyli Asynchroniczny JavaScript i XML oparta jest na popularnych technologiach - JavaScript, HTML lub XHTML, kaskadowych arkuszy stylów CSS, DOM, XML, XMLHttpRequest oraz XSLT. Do wizualnej prezentacji danych służy HTML i CSS, dynamiczną obsługą interakcji zajmuje się DOM, XML oraz XSLT przekształcają oraz manipulują danymi, natomiast za pomocą XMLHttpRequest odbywa się pobieranie danych. Silnikiem łączącym te komponenty jest JavaScript, wczytywany przez przeglądarkę i odpowiadający za wyświetlanie strony i komunikację z serwerem. Dla osób zaznajomionych z tymi technologiami, AJAX jest prosty do opanowania i nie

wymaga od użytkowników jakichkolwiek wtyczek czy innego rodzaju oprogramowania. Głównym zamierzeniem tej techniki programowania stron WWW jest kodowanie i przesyłanie sformatowanych danych, zapewniające wydajny transfer informacji między klientem a serwerem, a także umożliwienie tworzenia atrakcyjnych interfejsów w aplikacjach internetowych. AJAX stanowi dodatkową warstwę między przeglądarką użytkownika a serwerem HTTP, dzięki czemu pozwala na zlikwidowanie konieczności oczekiwania na przeładowanie całego ekranu aplikacji podczas pracy z programem. Interakcje użytkowników z aplikacją odbywające się, np. poprzez wprowadzanie danych do pól formularza, często sprowadzały się do kliknięcia przycisku zatwierdzającego formularz i oczekiwania na ponowne wczytanie strony wyświetlającej wynik żądania. Odświeżane w ten sposób strony musiały wczytać ponownie wszystkie elementy, wśród których większość stanowiły komponenty powtarzające się, a więc ładowane niepotrzebnie kolejny raz np. elementy graficzne, logo, czy menu. AJAX komunikuje się z serwerem w tle zgłasza do serwera żądanie i przetwarza zwrócone wyniki, które w sposób niewidoczny dla użytkownika zintegrowane są z daną stroną bądź ze stroną wczytaną na nowo. Ponadto tego typu żądania bardzo często nie są zsynchronizowane z akcją podejmowaną przez użytkownika, jak np. kliknięcie przycisku. Asynchroniczność AJAXA wiąże się z tym, że aplikacje tworzone za pomocą tej technologii mogą komunikować się z serwerem poprzez wysyłanie zapytań i otrzymywać żądane przez użytkownika dane, zanim jeszcze on sam dowie się, że ich potrzebuje. Technika AJAX pozwala uniknąć konieczności częstych przeładowań strony i umożliwia modyfikację jedynie wybranej zawartości, pozostała część stanowiąca elementy stałe pozostaje bez zmian. Skraca to czas wykonywania żądania. Akcja podejmowana przez użytkownika spowoduje w tym przypadku wykonanie skryptu JavaScript odwołującego się do silnika AJAX, który zmienia odpowiednio widok na podstawie realizowanych żądań i odbieranych odpowiedzi. 5. Biblioteka jquery W nowoczesnych aplikacjach internetowych na warstwę prezentacji składają się trzy elementy: HTML odpowiada za układ prezentowanych treści w dokumencie, CSS odpowiada za wygląd, JavaScript odpowiada za zachowanie strony. Jednak w trakcie implementacji programiści natrafiają na poważne problemy i różnice w zachowaniu się swoich skryptów na różnych przeglądarkach internetowych. Oczywiście w dużej mierze są winne przeglądarki i ich interpretery, tak jak się to dzieje w przypadku interpretowania stylów CSS, ale też sam język JavaScript nie jest pozbawiony błędów. Potrzeba dużej wiedzy, czasu i doświadczenia, aby wszystko

działało zgodnie z naszymi oczekiwaniami. Dlatego też, aby przyspieszyć pracę programistów stworzono szereg bibliotek JavaScript, które ukrywają przed programistą problemy z przenośnością i ułatwiają pracę. Jedną z takich bibliotek jest stworzona przez Johna Resiga biblioteka jquery. Jej premiera w wersji stabilnej miała miejsce 26 czerwca 2006 roku i od tamtego czasu wywalczyła sobie miejsce na rynku oraz zdobyła dużą popularność. Biblioteka jquery jest rozpowszechniana na zasadach Open Source i może być używana we wszelkiego rodzaju projektach bez ponoszenia dodatkowych kosztów. Jest kompatybilna ze wszystkimi liczącymi się przeglądarkami internetowymi dostępnymi na rynku. Główne zalety biblioteki jquery to: bardzo dobra dokumentacja, przyjazna i duża społeczność, łatwość nauki, duża ilość wtyczek, szybkość działania, dynamiczny rozwój biblioteki. Dzięki zastosowaniu jquery można diametralnie zmienić nastawienie do programowania warstwy prezentacji. Zastosowanie tej biblioteki w naszych projektach może przynieść istotne korzyści poprzez zwiększenie naszej produktywności oraz podniesienie pewności siebie przy pisaniu skomplikowanych aplikacji z użyciem JavaScript. Niezwykle istotne jest również to, że cała bogata funkcjonalność dostarczana jest w małej bibliotece o wadze kilkudziesięciu kilobajtów dla wersji skompresowanej. 6. Zend Framework Zend framework jest frameworkiem rozwijanym przez Zend Technologies na zasadach Open Source. Został zaimplementowany w całości za pomocą kodu zorientowanego obiektowo. Jest używany do tworzenia aplikacji i serwisów internetowych. Struktura frameworka jest nieco wyjątkowa, gdyż każdy komponent został zaprojektowany z niewielkimi zależnościami od innych komponentów. Takie rozwiązanie umożliwia wykorzystanie w tworzonych projektach tylko potrzebnych elementów, bez konieczności używania całego frameworka. Pomimo, że komponenty mogą być użyte osobno, po połączeniu ich ze sobą tworzą potężny i elastyczny framework. Zend oferuje mocną i wydajną implementację wzorca MVC (Model View Controller), prosty w obsłudze interfejs komunikacji z bazą danych, a także komponent formularzy, który obsługuje renderowanie kodu HTML, walidację danych i filtrowanie. Dzięki temu można obsłużyć wszystkie te operacje za pomocą jednego łatwego w użyciu obiektowego interfejsu. Inne komponenty zapewniają użytkownikom, np. możliwość uwierzytelniania i autoryzacji w oparciu o najczęściej używane sposoby przechowywania danych uwierzytelniania. Jakiekolwiek są potrzeby naszej aplikacji, najprawdopodobniej istnieje w Zend Framework komponent, który w dużej mierze zmniejszy czas jej tworzenia.

Wzorzec MVC (Model View Controller), na który duży nacisk położono w Zendzie stał się czymś w rodzaju standardu w projektowaniu nowoczesnych aplikacji internetowych i nie bez powodu duża ich część podlega dekompozycji poszczególnych elementów na jedną z trzech warstw: - warstwa prezentacji danych (widok), - warstwa modelu danych, którego używa aplikacja, - przetwarzanie danych i przekazywanie ich do widoku (kontroler). Model wysyła komunikat do widoku o zmianach, natomiast widok wysyła zapytanie i prezentuje użytkownikowi zmodyfikowany stan. W podobny sposób reakcje użytkownika powodują przekazanie do kontrolera informacji o zdarzeniu, a następnie kontroler modyfikuje sposób wyświetlenia danych w widoku. Przy prawidłowym wykorzystaniu wzorca MVC istnieją między innymi takie korzyści jak łatwa rozbudowa aplikacji, skalowalność aplikacji czy niezależność poszczególnych modułów. Z założenia zmiany w obrębie przetwarzania danych czy modelu danych nie pociągają za sobą konieczności wykonania zmian w widoku. Pomiędzy widokiem a modelem danych istnieje bowiem pewien kontrakt ustalający w jaki sposób dane te są transportowane, natomiast sposób reprezentacji danych jest całkowicie nie widoczny z poziomu widoku.