building entreprise app with spring portfolio
TRANSCRIPT
![Page 1: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/1.jpg)
Spring Portfolio dans les applications d’entreprise
TechDay CCJ ArrowOctobre 2008
![Page 2: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/2.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Road map
• Application d’entreprise typique• Spring Portfolio
– Spring framework • IOC/AOP: les bases de Spring
– Spring Web Flow– Spring WebService– Spring Security– Spring Batch– Spring Dynamic modules– Spring Integration
• What else?
![Page 3: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/3.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Modèle d’application d’entreprise
• Multitude de protocoles, d’aspects, de technos,…
WEB(mvc, jsf,…)
Business (invoke http, ws, jms, EJB…)
JTA
WS,JSM,JMX,EJB..
DAO(ORM, Jdbc,..)
sécurité
logging
validation
Intégration (EAI, ESB)
cache
BatchRCP(swing, awt)
Conteneur léger (IOC/AOP) OSGI container
![Page 4: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/4.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Portfolio: l’équipe
• Spring Framework• Spring Web Flow• Spring Web Services• Spring Security (Acegi Security)• Spring Dynamic Modules For OSGi(tm) Service Platforms• Spring Batch• Spring Integration• Spring LDAP• Spring IDE• Spring Modules• Spring JavaConfig• Spring Rich Client• Spring .NET• Spring BeanDoc
![Page 5: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/5.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring framework
• www.springframework.com• Version 2.5.5 (bientôt la version 3)• Très bien documenté• Support très réactif• Open source & free, mais … nouvelle
licence à partir de la nouvelle version
![Page 6: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/6.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring framework
WEB(mvc, jsf,…)
Business (invoke http, ws, jms, EJB…)
JTA
WS,JSM,JMX,EJB..
DAO(ORM, Jdbc,..)
sécurité
logging
validation
Intégration (EAI, ESB)
cache
Batch
Conteneur léger (IOC/AOP)
RCP(swing, awt)
OSGI container
![Page 7: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/7.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Les concepts de base de «Spring»: AOP/IOC/PSA
![Page 8: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/8.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Les concepts de base de «Spring»: AOP/IOC/PSA
• Tous les projets spring ont le même esprit– Modularité– Portabilité– Système « Lego »: forte abstraction– Découplage des dépendances
• Même cœur utilisé partout– Fabrique de bean– Conteneur de bean
![Page 9: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/9.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
IOC: Injection de dépendances
![Page 10: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/10.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
IOC: Injection de dépendances
![Page 11: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/11.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
AOP: programmation par aspect
• Aspect Oriented Programming– Logging– Gestion de transaction– Validation– Exception Handling– Cache
• Proxy / interceptor• AspectJ (version 2)
![Page 12: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/12.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Web Flow
• http://www.springframework.org/webflow• 2 versions, et 2 distributions différentes• Système de gestion de flow• Créer des wizards sur des pages web• Basé sur des diagrammes d’état/transition
![Page 13: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/13.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Web Flow
![Page 14: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/14.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Web Flow: nouvelle distribution
![Page 15: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/15.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Web Service
• http://www.springframework.org/spring-ws• Contract first WS generator• Concurrents: Axis 1/2 , Xfire• Architecture proche de spring mvc
![Page 16: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/16.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Security
• http://static.springframework.org/spring-security/site/index.html
• Acegi Security• Facilité d’intégration avec Spring MVC,
Spring WS, Spring WF• Riches en fonctionnalités• !!!!!config compliquée!!!!!
![Page 17: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/17.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Batch
• http://static.springframework.org/spring-batch/
• Encore à sa première version• Résoudre les problèmes classiques des
batch:– Flux important de données– Aspect transactionnel– Relance en cas d’échec
![Page 18: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/18.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Batch
![Page 19: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/19.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Dynamic Modules
• http://www.springframework.org/osgi• Permet de développer des applications
modulaires– OSGI application
• Basé sur equinox (implémentation de référence de OSGI)
![Page 20: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/20.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Integration
• http://www.springframework.org/spring-integration
• ESB• Intégration des applications d’entreprise
via différents protocoles
![Page 21: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/21.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
What else?
• RAD (Rapid Application Developpment): spring 2 supporte– JRuby– Groovy
![Page 22: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/22.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Conclusion
• Simple et puissant• Bien documenté• Plus qu’un simple « spring framework »• Idéale pour développer une application
d’entreprise– Il touche aux différents aspects et couches de
l’application
![Page 23: Building Entreprise App With Spring Portfolio](https://reader036.vdocuments.site/reader036/viewer/2022062401/54550fc5af795974408b4d3a/html5/thumbnails/23.jpg)
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Références
• http://video.google.com/videoplay?docid=6852783793274783146
• http://www.cjugaustralia.org/slides/june2007/spring_portfolio.pdf
• http://www.websphereusergroup.org.uk/uploadedfiles/misc/spring070227.pdf
• http://skillsmatter.com/downloads/RodJohnson_SpringeXchange2008.pdf