Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License




   JBoss Seam,
   un framework per
   Java EE 5


Ma...
About Marcello
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

   Ingegnere ...
About JUG Milano
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   nas...
Yet another framework?
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


    ...
Enterprise JavaBean (EJB) 3
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

...
Java Server Faces (JSF)
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ...
Il modello pre-Java EE 5
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

   ...
Un modello ideale
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License




Marcell...
Componenti Seam
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   JSF ...
Contesti Seam
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   i cont...
Bijection?
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   @In
     ...
Architettura di Seam
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License




Marc...
The Java EE 5 way
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


    Gener...
The Seam way
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License


    Generazion...
Seam & jBPM
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   Page Flo...
Seam & Facelets
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   JSP ...
Seam Remoting
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   librer...
Seam Logging
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   basato ...
Altre funzionalità in Seam
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

 ...
Seam vs. Spring
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   inte...
Seam: what's next
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   ve...
Conclusioni
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   EoD (Eas...
Riferimenti
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

    ●   JBoss Se...
Q&A
                           Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License




                     ...
Upcoming SlideShare
Loading in...5
×

JBoss Seam, un framework per Java EE 5

1,831

Published on

Presentazione sul framework Seam di JBoss effettuata alla tappa di Roma della prima edizione di JavaDay '06.

Published in: Technology, Education
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
1,831
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
40
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "JBoss Seam, un framework per Java EE 5"

  1. 1. Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License JBoss Seam, un framework per Java EE 5 Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  2. 2. About Marcello Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License Ingegnere Informatico, appassionato di Java, open source, metodologie e programmazione in generale, lavora dal 1997 nello sviluppo software, principalmente in ambito applicazioni distribuite, web e mobile internet. Dal 2004 collabora all'organizzazione delle attività del Java User Group Milano. Partecipa alla community open source principalmente contribuendo con localizzazioni in italiano di applicazioni esistenti e traduzioni di documentazione tecnica. Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  3. 3. About JUG Milano Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● nasce il 18 Dicembre 2002 per iniziativa di Filippo Diotalevi ● mailing list su Yahoo! Groups con più di 200 iscritti ● meeting mensili con presentazioni a cura degli iscritti ● organizziamo e partecipiamo ad eventi speciali ● partecipazione del tutto libera e gratuita ● il nostro sito web: http://www.jugmilano.it/ ● facciamo parte della Top 50 dei JUG mondiali! Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  4. 4. Yet another framework? Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License Un nuovo framework basato su Java EE 5: ● Annotations ● EJB3 ● Java Server Faces Seam è il primo framework proposto da JBoss! Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  5. 5. Enterprise JavaBean (EJB) 3 Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Java Persistence Architecture – Hibernate in JBoss ● Interceptor (AOP) ● Annotations – lookup JNDI – POJO – lifecycle – default per XML Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  6. 6. Java Server Faces (JSF) Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● UI web component ● navigation handler ● expression language ● managed bean – model – gestione eventi Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  7. 7. Il modello pre-Java EE 5 Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● domain model ● DAO (integration logic) ● service (business logic) ● webapp ● design patterns – DTO – business delegate – MVC Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  8. 8. Un modello ideale Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  9. 9. Componenti Seam Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● JSF Managed Bean che siano anche EJB ● legati ad un contesto – @Name – @Scope ● proposta di standardizzazione: JSR 299 - Web Beans ma... non annullano la separazione fra i layer? Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  10. 10. Contesti Seam Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● i context classici delle Servlet API – request (aka event per Seam) – page – session – application ● due nuovi context “applicativi” – conversation – business process Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  11. 11. Bijection? Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● @In Dependency Injection 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 specifco contesto Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  12. 12. Architettura di Seam Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  13. 13. The Java EE 5 way Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License Generazione applicazione CRUD da database in Netbeans 5.5... Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  14. 14. The Seam way Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License Generazione applicazione CRUD da Entity Bean con Seam via Ant... Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  15. 15. Seam & jBPM Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● Page Flow – contesto conversation – defnizione navigazione in jPDL ● Business Process Management – uso di Hibernate (non EJB3) per persistenza ● editor visuale jPDL in JBoss IDE ● integrazione componenti Seam via EL ● jPDL non è uno standard Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  16. 16. Seam & Facelets Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● JSP and JSF don't play well ● defnisco il component tree in XHTML ● integrato nel prossimo rilascio delle specifche JSF? ● page layout – analogo a Tiles/SiteMesh ● page theme ● progetto “vicino” a JBoss... Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  17. 17. Seam Remoting Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● libreria JavaScript per – richiamare componenti Seam – ricevere eventi JMS (tramite polling) ● annotation @WebRemote ● modalità debug ...utilizzando XHR posso applicare tecniche AJAX alle mie pagine, ma manca un supporto a livello di componenti UI JSF... Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  18. 18. Seam Logging Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● basato su Commons Logging ● @Logger ● aggiunge alle funzioni di log abituali: – supporto varargs (a la printf) – expression language nulla di clamoroso ma davvero utile... Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  19. 19. Altre funzionalità in Seam Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● ServletFIlter per “redirect after post” ● Form Validation basata su Annotations JPA/Hibernate ● supporto URL in stile REST, adatte ad essere salvate come bookmark ● supporto per Drools (aka JBoss Rules) ● supporto testing con TestNG Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  20. 20. Seam vs. Spring Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● integrazione con altre librerie OSS ● override Annotation – components.xml – seam.properties ● dependency injection vs. bijection ● Seam Templates (prossimamente...) Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  21. 21. Seam: what's next Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● versione 1.1 in CR ● supporto toolkit AJAX OSS per JSF – Ajax4JSF – IceFaces ● Seam POJO – posso evitare completamente EJB3 Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  22. 22. Conclusioni Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● EoD (Ease of Development) ● full-stack framework ● non è JBoss-only, anche se... – può convenire avere un riferimento unico ● duplicazione funzionalità in Java EE 5 non ancora presenti in JBoss AS ● rischio di eliminare troppi layer ● sindrome NIH per ciò che non è di JBoss Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  23. 23. Riferimenti Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ● JBoss Seam http://www.jboss.org/products/seam ● Spring vs. EJB3 http://www.onjava.com/pub/a/onjava/2005/06/29/spring-ejb3.html ● Seam in RedHat 108 https://rhstack.108.redhat.com/articles/2006/09/18/jboss-seam-the- next-generation-web-framework.html ● The Java EE 5 Tutorial http://java.sun.com/javaee/5/docs/tutorial/doc/index.html Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  24. 24. Q&A Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License Grazie per l'attenzione. Marcello Teodori marcello.teodori@jugmilano.it JUG Milano Javaday Roma - 02/12/2006
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×