View
2.140
Download
3
Category
Preview:
Citation preview
Spring Portfolio dans les applications d’entreprise
TechDay CCJ ArrowOctobre 2008
. 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?
. 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
. 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
. 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
. 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
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Les concepts de base de «Spring»: AOP/IOC/PSA
. 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
. 15-10-2008
. Hamdi Makni - CCJ Arrow
IOC: Injection de dépendances
. 15-10-2008
. Hamdi Makni - CCJ Arrow
IOC: Injection de dépendances
. 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)
. 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
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Web Flow
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Web Flow: nouvelle distribution
. 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
. 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!!!!!
. 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
. 15-10-2008
. Hamdi Makni - CCJ Arrow
Spring Batch
. 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)
. 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
. 15-10-2008
. Hamdi Makni - CCJ Arrow
What else?
• RAD (Rapid Application Developpment): spring 2 supporte– JRuby– Groovy
. 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
. 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
Recommended