Genova JUG Meeting, 02/02/2010.
Elements is an open source library of web UI components for high productivity in small to large projects.
1 of 20
Download to read offline
More Related Content
Many Designs Elements
1. Elements web component library [email_address] [email_address] www.manydesigns.com ManyDesigns
2. ManyDesigns Elements Cos'竪 e dove utilizzare Elements Impostazione di un progetto. Demo: Dal modulo cartaceo al web in 15 min. I principali componenti in elements Sviluppi
3. ManyDesigns Elements Elements 竪 una libreria open source di componenti web integrabile in altri Java web framework. Elements astrae il layer di presentazione e si occupa di interagire con le richieste HTTP e gli oggetti della Business Logic indipendentemente dalle tecnologie utilizzate. Facilita il riuso e lo sviluppo di propri componenti (atomici o composti)
4. Elements Elements Componente Componente Componente Java Beans DB Objects (Hibernate, iBatis) Portofino Altro (EJB, WS) Http Request Http Response Model Controller View DB ...
8. Demo Creiamo una semplice applicazione che porti sul web un modulo cartaceo di richiesta abbonamento. Per fare questo realizzeremo una semplice applicazione Java con servlet e jsp (ma alternativamente avremmo potuto usare un web framework quale Struts)
9. Passi illustrati nella Demo STEP 1. Base: 1 Classe di Modello, 1 Componente, 1 pagine JSP per la view STEP 2. Sottoinsieme field di una class per componenti e prefix: 3 Classi di Modello, 4 Componenti, 1 pagine JSP STEP 3. Introduzione annotazioni: 3 Classi di Modello, 4 Componenti, 2 pagine JSP (invio e validate) STEP 4. Elementi Composti Sequence: 3 Classi di Modello, 1+4 Componenti, 2 pagine JSP STEP 5. Elementi Composti Wizard: 3 Classi di Modello, 1+4 Componenti, 2 pagine JSP
10. Dipendenze nel pom.xml Elements, componenti core di Elements (123 k) Elements-extras, componenti aggiuntivi (65 k) Apache commons lang (261 k)
12. Iniziare un progetto con Elements Realizzare il modello Creare i componenti atomici di Elements interrogando la struttura del modello Comporre i componenti atomici in componenti composti Visualizzare I componenti
13. Annotation sul Modello Le annotation sono utilizzate per apporre metadati significativi per Elements alle proprie classi Java. Molte informazioni sono dedotte dalla reflection della classe ma ulteriori possono essere aggiunte per personalizzare il comportamento di un componente (come la label, l'help, ecc...).
14. Un componente Element Sa dare una propria rappresentazione in xhtml Ha un mode associato Sa aggiornare I suoi dati leggendoli da una richiesta Http o da un Java Object Sa validare i suoi dati Sa scrivere rendere persistenti I suoi dati su un Object
15. Interfaccia Element public interface Element extends XhtmlFragment { public void readFromRequest (HttpServletRequest req); public boolean validate(); public void readFromObject(Object obj); public void writeToObject(Object obj); public Mode getMode(); public void setMode(Mode mode); }
16. I Builder In generale i builder permettono di creare componenti (Elements) a partire da configurazioni e parametri forniti. Sono dei costruttori pi湛 flessibili. E presente la classe ClassFormBuilder, che costruisce un form html a partire da una classe Java tramite reflection e lettura delle annotations.
17. Gli elementi composti Viene utilizzato il design pattern Composite: il componente estende un ArrayList di Element e, al contempo, implementa Element. La renderizzazione in xhtml e la lettura/scrittura sul proprio oggetto viene delegata ai figli (elementi atomici). Tramite gli elementi composti sono create Sequenze di componenti, Selection o Wizard multipagina
19. Feature di elements Mappatura di tutti i componenti xhtml Validazione dei campi TagLibrary per Struts Generazione di xhtml well formed Modalit per la visione del componente (edit, view, preview, hidden) Internazionalizzazione
20. Sviluppi Integrazione Utilizzarlo in altri web framework Integrarlo con framework di persistenza, web services, altri sistemi esterni Personalizzazioni Creazione di nuovi componenti atomici o composti di uso generale Creazione di librerie di componenti di uso comune Altro???