23
Spring Portfolio dans les applications d’entreprise TechDay CCJ Arrow Octobre 2008

Building Entreprise App With Spring Portfolio

Embed Size (px)

Citation preview

Page 1: Building Entreprise App With Spring Portfolio

Spring Portfolio dans les applications d’entreprise

TechDay CCJ ArrowOctobre 2008

Page 2: Building Entreprise App With Spring Portfolio

. 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

. 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

. 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

. 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

. 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

. 15-10-2008

. Hamdi Makni - CCJ Arrow

Les concepts de base de «Spring»: AOP/IOC/PSA

Page 8: Building Entreprise App With Spring Portfolio

. 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

. 15-10-2008

. Hamdi Makni - CCJ Arrow

IOC: Injection de dépendances

Page 10: Building Entreprise App With Spring Portfolio

. 15-10-2008

. Hamdi Makni - CCJ Arrow

IOC: Injection de dépendances

Page 11: Building Entreprise App With Spring Portfolio

. 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

. 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

. 15-10-2008

. Hamdi Makni - CCJ Arrow

Spring Web Flow

Page 14: Building Entreprise App With Spring Portfolio

. 15-10-2008

. Hamdi Makni - CCJ Arrow

Spring Web Flow: nouvelle distribution

Page 15: Building Entreprise App With Spring Portfolio

. 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

. 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

. 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

. 15-10-2008

. Hamdi Makni - CCJ Arrow

Spring Batch

Page 19: Building Entreprise App With Spring Portfolio

. 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

. 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

. 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

. 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

. 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