Tworzenie aplikacji webowych w oparciu o framework ObjectLedge Seminarium dyplomowe inżynierskie 8 maja 2013 Konrad Miziński
Aplikacja w architekturze trójwarstwowej
Warstwa prezentacji Przeglądarka internetowa HTML Niezależność od środowiska użytkownika Prosta składnia języka znaczników Odseparowanie treści od sposobu prezentacji (CSS) Wada : statyczność AJAX
Warstwa aplikacji Serwlet:
ObjectLedge Potokowe przetwarzanie informacji Mechanizm zaworów Obsługa Akcji Przygotowanie widoku
Potokowe przetwarzanie informacji
Zawory(Valves) Elementy potoku Pobierają i interpretują dane z zapytania HTTP, tworzą odpowiedź HTTP. Akumulują i czytają dane z obiektu Context, przekazywanego do każdego zaworu
Akcje http://localhost:8080/demo/ledge/view/demo.SomeView?action=AddPerson
Apache Velocity Mechanizm szablonów, wykorzystujący: zmienne, instrukcje warunkowe, pętle( makra #set, #if, #else, #foreach itd…) tworzenie własnych makr(#macro) odwołania do obiektów Javy(!).
Apache Velocity
Przygotowanie widoku Programiści – nie wiedzą jak pisać w HTMLu i jak sprawić by strona ładnie wyglądała Web-designerzy – nie wiedzą jak programować w Javie Rozwiązanie – podział na część pisaną w Javie i kodowaną w HTMLu
Przygotowanie widoku w Ledge’u klasa Javy(Builder) szablon Velocity klasa Builder i szablon Velocity
Klasa Buildera
Szablon Velocity /templates/views/demo/Hello.vt http://localhost:8080/demo/ledge/view/demo.Hello
Klasa Buildera + szablon Velocity
Struktura strony HTML
Mechanizm zawierania widoków /templates/viewsPage.vt: /templates/views/demo/Title.vt:
Struktura katalogów
Wstrzykiwanie zależności
Wstrzykiwanie zależności
Wstrzykiwanie zależności
Dziękuję za uwagę Konrad Miziński k.mizinski@stud.elka.pw.edu.pl http://objectledge.org https://github.com/objectledge/ledge