SlideShare a Scribd company logo
Part 8: Enforcing modularity of JasForge using OSGI and Futures Evolutions March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil
OSGI : BRIEF RECALL
What is OSGi Specification ? Delivered by the OSGi Alliance (Open group of technology companies including Ericsson, IBM, Sun Microsystems, Nokia, Intel, BMW, and Philips) Originally for embedded devices, set top boxes, network Architecture for  modular application development  in Java Breaks applications into “modules” or “bundles” Can install, uninstall, start, and stop each bundle  dynamically without restarting container Multiple versions are supported Dependencies explicitly defined with  clear boundaries
“ JAR Hell” JAR is a build-time and deploy-time  concept, not run-time Based on the ZIP file format No metadata to indicate dependencies Multiple versions of JARs cannot be  loaded All “public” classes are public Access modifiers are for packages, not JAR
17 .MF . . . . . . Java Classes, Static Files, ... META-INF/MANIFEST .MF Import-Package . . . . . . Service Client Java Classes, Static Files, ... META-INF/MANIFEST Export-Package
Bundle State Diagram
OSGi open source containers Equinox  ( http://www.eclipse.org/equinox/ )  currently the reference implementation of the OSGi Release 4 specification Apache Felix  ( http://felix.apache.org/ )  Implemented in the Glassfish V3 Prelude JEE Server Spring DM ( http://www.springsource.org/osgi )  allows you to build SOA Spring applications that can be deployed in an OSGi container Apache Karaf :  http://karaf.apache.org/ A Newcomer !  a small OSGi based runtime which provides a lightweight container onto which various components and applications
JASFORGE ©  NEXT EVOLUTION
JasForge Agile Tools will be available as bundles in a OSGI container (Spring DM) jasForge projects will be “OSGI ready” thanks to use of Maven OSGI integration You will easily monitor your tools as services and enhance the monitoring of the overall infrastructure thanks to OSGI specification supported by light OSGI container like Spring Dynamic Modules for OSGI Service Platforms Tools will be available as service bundles  JasForge © OSGI compliant and Update Managment
JasForge © OSGI compliant and Update Managment This release will provide better separation of modules and the ability to  stop/start/remove/update  OSGI compatible tools on JasForge OSGI compatible platform An update installer which facilitate the localization and update of your tools will be also available in our roadmap
Conclusion JasForge is an Agile and Open Source Platform for managing all the life cycle of your Agile JEE project. Collaborative Platform for agile team Pluggable and extensible Software Factory Cover all the life cycle of a JEE Project Based  on Standard and Open Source  tools
Thank you for your Attention JasForge: A Jasmine Conseil concept http://www.jasmineconseil.com Need More information ? [email_address] Download the Presentation: http://moneclipse.com/products/download/pres/JasForgeEclipseSummit2010.ppt

More Related Content

Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions

  • 1. Part 8: Enforcing modularity of JasForge using OSGI and Futures Evolutions March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil
  • 2. OSGI : BRIEF RECALL
  • 3. What is OSGi Specification ? Delivered by the OSGi Alliance (Open group of technology companies including Ericsson, IBM, Sun Microsystems, Nokia, Intel, BMW, and Philips) Originally for embedded devices, set top boxes, network Architecture for modular application development in Java Breaks applications into “modules” or “bundles” Can install, uninstall, start, and stop each bundle dynamically without restarting container Multiple versions are supported Dependencies explicitly defined with clear boundaries
  • 4. “ JAR Hell” JAR is a build-time and deploy-time concept, not run-time Based on the ZIP file format No metadata to indicate dependencies Multiple versions of JARs cannot be loaded All “public” classes are public Access modifiers are for packages, not JAR
  • 5. 17 .MF . . . . . . Java Classes, Static Files, ... META-INF/MANIFEST .MF Import-Package . . . . . . Service Client Java Classes, Static Files, ... META-INF/MANIFEST Export-Package
  • 7. OSGi open source containers Equinox ( http://www.eclipse.org/equinox/ ) currently the reference implementation of the OSGi Release 4 specification Apache Felix ( http://felix.apache.org/ ) Implemented in the Glassfish V3 Prelude JEE Server Spring DM ( http://www.springsource.org/osgi ) allows you to build SOA Spring applications that can be deployed in an OSGi container Apache Karaf : http://karaf.apache.org/ A Newcomer ! a small OSGi based runtime which provides a lightweight container onto which various components and applications
  • 8. JASFORGE © NEXT EVOLUTION
  • 9. JasForge Agile Tools will be available as bundles in a OSGI container (Spring DM) jasForge projects will be “OSGI ready” thanks to use of Maven OSGI integration You will easily monitor your tools as services and enhance the monitoring of the overall infrastructure thanks to OSGI specification supported by light OSGI container like Spring Dynamic Modules for OSGI Service Platforms Tools will be available as service bundles JasForge © OSGI compliant and Update Managment
  • 10. JasForge © OSGI compliant and Update Managment This release will provide better separation of modules and the ability to stop/start/remove/update OSGI compatible tools on JasForge OSGI compatible platform An update installer which facilitate the localization and update of your tools will be also available in our roadmap
  • 11. Conclusion JasForge is an Agile and Open Source Platform for managing all the life cycle of your Agile JEE project. Collaborative Platform for agile team Pluggable and extensible Software Factory Cover all the life cycle of a JEE Project Based on Standard and Open Source tools
  • 12. Thank you for your Attention JasForge: A Jasmine Conseil concept http://www.jasmineconseil.com Need More information ? [email_address] Download the Presentation: http://moneclipse.com/products/download/pres/JasForgeEclipseSummit2010.ppt