Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0
Part 8:Enforcing modularity of JasForge using OSGI and Futures Evolutions
March 2011
Santa Clara
Karim DJAAFAR
CO of Jasmine Conseil
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0
OSGI : BRIEF RECALL
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0
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
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0
“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
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0 17
.MF
. . .
Java Classes, Static Files, ...
META-INF/MANIFEST
Export-Package. . .
Java Classes, Static Files, ...
META-INF/MANIFEST.MF
Import-Package. . .
. . .
Service
Client
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0
Bundle State Diagram
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0
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
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0
JASFORGE© NEXT EVOLUTION
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0
• 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
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0
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
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.0
Conclusion JasForge is an Agile and Open Source Platform for managing all the life cycle of your Agile JEE project.
Based on Standard and Open Source tools Based on Standard and Open Source tools
Collaborative Platform for agile teamCollaborative Platform for agile team
Pluggable and extensible Software FactoryPluggable and extensible Software Factory
Cover all the life cycle of a JEE ProjectCover all the life cycle of a JEE Project
Enforcing modularity of JasForge using OSGI | © 2011 by K. DJAAFAR ; made available under the EPL v1.012
JasForge: A Jasmine Conseil concept
http://www.jasmineconseil.com
Need More information ?
Download the Presentation:
http://moneclipse.com/products/download/pres/JasForgeEclipseSummit2010.ppt
Thank you for your Attention