Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGregorio Lillo Modificato 8 anni fa
1
JBoss Seam unifies JavaEE 5
2
Sommario Tecnology Timeline Annotation @ JSF EJB3 Seam Overview PageFlow e processi di business Rapid Seam Development Conclusioni
3
Tecnology Timeline EJB3JSF Jboss SEAM MVC JSP Servlets ORM EJB2 JDBC
4
Annotation @ Introdotti con la piattaforma J2EE 1.5, semplificano lo sviluppo e la fase di deploy, rimuovendo rispetto alla J2EE 1.4 la necessità dei descrittori. Le Java Annotations sono metadati (data about data) associati a parti di codice (classi, interfacce, metodi e campi) e servono ad aggiungere informazioni reperibili successivamente e utilizzabili nei più svariati modi: Documentazione del codice; Generazione del codice; A runtime; Controlli; Gestione avanzata della business logic.
5
JavaServer Faces Framework per il presentation tier; Simile all'approccio coi più comuni Framework MVC; Modello di sviluppo “event-driven”; Modello basato a componenti; Un insieme di componenti di interfaccia predefiniti; Gestione del flusso di navigazione; Ideato per essere utilizzato dai vari IDEs.
6
EJB 3 Parte della J2EE: Sicurezza, gestione del ciclo di vita, accesso remoto, persistenza, gestione della concorrenza, etc... Modello semplificato rispetto alla versione precedente (EJB 2.1); Eliminazione di gran parte dell' xml (descrittori) e inserimento delle annotation; EntityBeans facilmente sostituibili con un ORM; JNDI può essere sostituito con DI (es. @Resource).
7
Seam Overview Integrazione JSF e EJB3 Modello di componenti uniforme Integrazione Ajax e jBPM Bijection Workspace management Uso di POJOs annotati Integrazione di TestNG
8
Architettura di Seam
9
Contesto in Seam Stateless Event Page Conversation Session Business Process Application Es. ( @Scope(ScopeType.SESSION) )
10
Bijection @In applicabile a tutti i componenti Seam e non alle sole risorse gestite da Java EE 5 @Out pubblicazione di una variabile in un componente Seam su uno specifico contesto
11
Ajax e Seam Supporto Ajax JSF (RichFaces, IceFaces) I client AJAX possono invocare componenti server side facilmente e senza la necessita di un action layer intermedio @WebRemote JavaScript di supporto per la view remote.js interface.js Annotation per I metodi di business @WebRemote Debugging Interroga il server, e rigenera un'area (“total”) come occorre <script type="text/javascript" src="seam/resource/remoting/resource/remote.js"> @Stateless @Name("helloAction") public class HelloAction implements HelloLocal { public String sayHello() { return "Hello, Jug Roma"; } @Local public interface HelloLocal { @WebRemote public String sayHello(String name); } Nella pagina helloWorld.xhtml viene inserito : Oppure //<![CDATA[ function sayHello() { Seam.Component.getInstance("helloAction").sayHello(sayHelloCallback); } function sayHelloCallback(result) { alert(result); }// ]]> Pulsante : Say Hello
12
Componenti per sviluppare con Seam Entities (classi di dominio) DAOs (classi di persistenza) Services (application classes) Action (controller classes) Web Pages (view)
13
Annotazioni per i componenti @Name(“componentName”) @Scope(ScopeType.*) @Startup @Scope(APPLICATION) @Startup @Install @Install(dependencies=”nomeComponente”) @AutoCreate @Name("jugExample") @Stateless public class JugExample { //Insert your code }
14
Annotazioni per la Bijection @In required (true o false) create ( true o false ) value ( variabile di contesto o JSF EL ) @Out required (true o false) scope (ScopeType.*) value (variabile di contesto) @Factory value (variabile di contesto) scope (ScopeType.*) autoCreate @Name("loginAction") @Stateless public class LoginAction implements Login { @In("#{user.username}") String username; //Insert your code } @Name("loginAction") @Stateless public class LoginAction implements Login { @Out private User user; //Insert your code } @Factory(scope=CONVERSATION) public List getCustomerList() { return... ; }
15
Altre Annotazioni Per la gestione del contesto Per il ciclo di vita dei componenti Per le eccezioni Per il remoting Per gli interceptor etc...
16
PageFlow e processi di business Due modelli di interazione PageFlow JSF (pages.xml) PageFlow jBPM (*.jpdl.xml) Editor visuale con Jboss Tools Integrazione componenti Seam con Jboss EL JBPM non e' uno standard!
17
PageFlow e processi di business...
18
Rapid Seam Development Jboss Tools Seam-gen (tramite console) Gestione del workspace Ant build integrato e generato Maven support iText iPDF Integrazione Quartz e jFreeChart dalla v. 2
19
Conclusioni Non e' JBoss-only supporto a molteplici AS Rischio sulla progettazione, si potrebbero eliminare troppi layer Sindrome da legame a JBoss Application framework Nuova versione Seam 3 in beta testing
20
Riferimenti JBoss Seam http://seamframework.org Jboss Tools http://www.jboss.org/tools Eclipse http://www.eclipse.org RichFaces http://www.jboss.org/richfaces IceFaces http://www.icefaces.org
21
Qualcosa sull'autore Massimiliano Ciccazzo Istruzione : Laurea in Ingegneria Informatica – Universita' degli studi di Roma “La Sapienza” JAVA : Sviluppatore dal 2003; Professional : Project Leader in Ingegneria informatica S.p.A. Contatti : massimiliano@ciccazzo.it
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.