Upload
dara
View
32
Download
0
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
Tworzenie aplikacji webowych w oparciu o framework ObjectLedge
Seminarium dyplomowe inżynierskie8 maja 2013
Konrad Miziński
Aplikacja w architekturze trójwarstwowej
Warstwa prezentacjiPrzeglądarka internetowaHTML
◦Niezależność od środowiska użytkownika
◦Prosta składnia języka znaczników◦Odseparowanie treści od sposobu
prezentacji (CSS)◦Wada : statyczność
AJAX
Warstwa aplikacjiSerwlet:
ObjectLedge
Potokowe przetwarzanie informacji
Mechanizm zaworówObsługa AkcjiPrzygotowanie widoku
Potokowe przetwarzanie informacji
Zawory(Valves)
Elementy potokuPobierają 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 Velocityklasa Builder i szablon Velocity
Klasa Buildera
Szablon Velocity
http://localhost:8080/demo/ledge/view/demo.Hello
/templates/views/demo/Hello.vt
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
http://objectledge.org
https://github.com/objectledge/ledge