SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
OSGi Users’ Forum DC Metro
      Inaugural Meeting
      27th October 2011
Agenda
• Introduction to the OSGi User’s User Form
   –   What is the forum all about?
   –   What is the OSGi Alliance?
   –   OSGi Alliance
   –   Alliance and Forum Relationship
   –   OSGi Users’ Forum US DC Metro Charter
   –   Who we are
   –   What we offer
   –   Getting Involved
• News and Announcements
• Introduction to OSGi
What is the forum all about?
• Members only community
  – Not OSGi Alliance Membership
• Membership is free
• Open to end user organizations, individuals,
  academic institutions and vendors based in
  the US
• Exchange information, knowledge and ideas
  around OSGi technology in the US
• Approved by the OSGi Alliance
What is the OSGi Alliance?
• OSGi™ - The Dynamic Module System for Java™
• Independent non-profit corporation comprised of
  worldwide consortium of technology innovators &
  developers
• Focused on interoperability of applications & services
  based on its Module System
• Founded in 1998 by IBM, Ericsson, Nortel, Sybase, Sun,
  Motorola, Oracle, Nokia, and many others
• Originally was JSR8
• Goal was to develop a standard for home automation
• The Alliance provides specifications, reference
  implementations, test suites and certification
OSGI Alliance
• Alliance members represent diverse markets
  including SmartHome, automotive electronics,
  mobile and enterprise
• 3 levels of membership
  – Full,
  – Adopter Associate,
  – Supporter (Free!)
• Further details on OSGi Alliance Membership
  at http://www.osgi.org/About/Join
Alliance & Forum Relationship
• You don’t have to be an OSGi Alliance Member to
  become a member of the OSGi Users’ DC Metro Forum
• Can join either or both
• OSGi Users’ DC Metro Forum does not represent the
  OSGi Alliance
• OSGi Users’ DC Metro Forum is not a legal entity
• OSGi Users’ Forum is governed by OSGi Alliance
  Trademark Agreement
• OSGi Alliance sets Charter for Worldwide Users’
  Forums
OSGi Users’ DC Metro Forum Charter
• Set by the OSGi Alliance
  1. Promote the OSGi service platform
  2. Share experiences of OSGi deployments
  3. Encourage business collaboration
Who We Are
• Chairman – Paul Hadrosek (iNovex)
• Secretary – Jack Rodriguez (APT)
• Founding Members
   – Sam Chance (iNovex)
   – Stan Moyer (Telcordia Technologies)
   – Eddie Lee (PTFS)
• It’s all of US! It’s up to everyone to participate
What we offer
• Forum for interaction between peers interested
  in OSGi
• Mail list
• Face to Face meetings – every 3 to 4
  months/location
• Announcing interesting OSGi activities
  –   Conferences
  –   Meetings
  –   Training
  –   Relevant News
Thanks for getting involved
• Open Floor later
• We want your input:
  – What do you want from the Forum?
  – What meeting topics would you like covered?
  – Any suggestions?
News & Announcements
• OSGi DevCon 2012
  – March 26-29, 2012
  – Reston, VA
• Users’ Forum DC Metro Meeting at OSGi DevCon
  2012
  –   March 27, 2012
  –   7:00
  –   Reston, VA
  –   Free to members
• OSGi Training Course - TBA
OSGi DevCon
• For more information :
  http://www.osgi.org/DevCon2012/HomePage
Introduction to OSGi
What does OSGi stand for?
• Open Services Gateway initiative
  – This abbreviation is no longer used
• “The Dynamic Module System for Java”
  – Designed to be light weight and dynamic
  – Allows to partition a system into a number of modules
    (a.k.a. bundles)
  – Strict visibility rules (similar to private and protected)
  – Resolution of dependencies and versioning
  – Dynamic Modules can be installed, started, stopped,
    uninstalled and updated - all at runtime
What is the OSGi Service Platform
• A Java framework for developing remotely deployed
  service applications, that require:
   – Reliability
   – Large scale distribution
   – Wide range of devices
   – Collaborative
• Created through collaboration of industry leaders
• Spec 4.0+ publicly available at www.osgi.org
OSGi Environment
                                             Bundle
                                                Bundle
                                                   Bundle
      = service interface
      exported and imported                  Bundle (Application/Service)
      by bundles



                                    OSGi
•Open standard and based on Java
•Sits on top of the operating
system (thus is OS independent)               Java VM
•Not device or CPU specific.
•Client-server software                               Operating System
architecture
                                    Driver          Driver          Driver


                                                      Hardware
OSGi Framework
• Allows applications to share a single Java VM
• Manages applications
  – Life cycle, Java Packages, Security, Dependencies
    between applications
• Service registry for collaboration
• Extensive notification mechanism
OSGi Bundles
• OSGi specification defines the OSGi as the unit
  of modularization
• A bundle is
  – Cohesive
  – Self-contained unit
     • Defines dependencies to other modules/services
     • Explicitly defines its external API (interface)
  – A jar file with additional meta information stored
    in the MANIFEST.MF file
MANIFEST.MF File


Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Popup Plug-in Bundle-SymbolicName:
de.vogella.rcp.intro.commands.popup; singleton:=true
Bundle-Version: 1.0.0 Bundle-Activator: de.vogella.rcp.intro.commands.popup.Activator
Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Cooperative Model
• Bundles can cooperate through:
  – service objects
  – package sharing
• A dynamic registry allows a bundle to find and
  track service objects
• Framework fully manages this cooperation
  – Dependencies, security
Service Specifics
• A service is an object registered with the
  Framework by a bundle to be used by other
  bundles


                 service
• The semantics and syntax of a service are
  specified in a Java interface
Services & Java Interfaces
                                                public interface Log {
                                                  public void log(String s);
                                                }
              Gets from Framework
                                                            interface
              (with query)
    Bundle                                Log


public class SimpleLog implements Log {
  public void log(String s) {
    System.out.println( s );                       implements
  }
}


                         Simple           IBM         Motorola
                          Log             Log          Log
Dependencies
• The Framework manages the dependencies
  between bundles
• Bundles that are installed and started will
  register services
• Framework will automatically unregister
  services when a bundle stops
• Event notifications for all important events
Dependencies
   Install A
                                             Framework


 start                      Bundle A
                               {}
                                                         Bundle B
                                                           {}
   events: install


= service, java interface              Bundle C
                                          {}
Dependencies
                                               Framework

Uninstall
 stop                         Bundle A
                                 {}
                                                           Bundle B events:
                                                             {}     unregister
    events: uninstall


  = service, java interface              Bundle C
                                            {}
The Classpath in OSGi
• Each bundle has its own class loader
• Bundles can only shares packages when:
   – Import and export clauses in the manifest match
   – Have permission to do so for those packages
• The framework manages the overall CLASSPATH for
  bundles
• Assures that all bundles use the same class (of the same
  version)
• Tracks shared usage of packages between bundles
Key OSGi Features
• Modularization
• Dynamic Runtime
• Service Orientation
What problems does OSGi solve?
• Visibility By default, a bundle is a black box.
  It's completely protected and you can't see
  inside it, not even with reflection or any other
  classloading trickery. Only exported packages
  are visible outside of the exporting bundle.
  This stops unintended coupling between
  modules, enables independent development,
  faster development cycles and security.
What problems does OSGi solve?
• Operational Control
  An OSGi container allows you to see all modules
  and their status - using the OSGi console or JMX.
  You can get information on wiring, install new
  bundles, activate bundles (and publish services),
  deactivate bundles (and unregister services),
  refresh bundles, stop bundles and uninstall
  bundles. The beauty? You can do all of this
  without stopping or restarting the application!
Who doing OSGi containers?
• Open-source implementations: Equinox, Felix
  (Apache), Knopflerfish
• Significant Enterprise usage: Eclipse,
  Netbeans, IBM (WebSphere), Red (Jboss),
  Oracle (Glassfish, WebLogic), TIBCO ESB,
  WSO2 Carbon, Fuse ESB…
Who’s doing frameworks?
• Hitachi provides a complete OSGi solution yet with standards
  compliant and potentially independent elements (only vendor
  with all 4 elements):
   1.       JVM Options (to insure broadest availability of ported JVMs and
            optimized JVMs):
        •      SuperJEngine (optimized CVM) (better performance, less memory, non-
               open source)
        •      or Oracle Binary solutions: CDC JVM or JavaSE Embedded (reduce risk; add
               value)
   2.       SuperJFramework (client software) (performance, less memory,
            not open source)
        •      SuperJManagement Agent (links to SJDMS) (meets SPs authentication &
               security)
   3.       SuperJDMS (Management Server) (manage clients/bundles/apps
            in device; large scale)
   4.       SuperJTools (SDK development tools for 3rd party apps) (Eclipse
            based)

Weitere ähnliche Inhalte

Was ist angesagt?

Travelling Light for the Long Haul - Ian Robinson
Travelling Light for the Long Haul -  Ian RobinsonTravelling Light for the Long Haul -  Ian Robinson
Travelling Light for the Long Haul - Ian Robinson
mfrancis
 
Going Native With The OSGi Service Layer - Sascha Zelzer
Going Native With The OSGi Service Layer - Sascha ZelzerGoing Native With The OSGi Service Layer - Sascha Zelzer
Going Native With The OSGi Service Layer - Sascha Zelzer
mfrancis
 

Was ist angesagt? (19)

OSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worldsOSGi & Java EE in GlassFish - Best of both worlds
OSGi & Java EE in GlassFish - Best of both worlds
 
OSGi introduction
OSGi introductionOSGi introduction
OSGi introduction
 
Travelling Light for the Long Haul - Ian Robinson
Travelling Light for the Long Haul -  Ian RobinsonTravelling Light for the Long Haul -  Ian Robinson
Travelling Light for the Long Haul - Ian Robinson
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache Karaf
 
All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice Frameworks
 
OpenSolaris Introduction
OpenSolaris IntroductionOpenSolaris Introduction
OpenSolaris Introduction
 
Jug Poitou Charentes - Apache, OSGi and Karaf
Jug Poitou Charentes -  Apache, OSGi and KarafJug Poitou Charentes -  Apache, OSGi and Karaf
Jug Poitou Charentes - Apache, OSGi and Karaf
 
Liferay (DXP) 7 Tech Meetup for Developers
Liferay (DXP) 7 Tech Meetup for DevelopersLiferay (DXP) 7 Tech Meetup for Developers
Liferay (DXP) 7 Tech Meetup for Developers
 
OSGi & Java EE in GlassFish
OSGi & Java EE in GlassFishOSGi & Java EE in GlassFish
OSGi & Java EE in GlassFish
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
 
OSGi Blueprint Services
OSGi Blueprint ServicesOSGi Blueprint Services
OSGi Blueprint Services
 
OSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 IndiaOSGi and Java EE in GlassFish - Tech Days 2010 India
OSGi and Java EE in GlassFish - Tech Days 2010 India
 
OSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFishOSGi-enabled Java EE applications in GlassFish
OSGi-enabled Java EE applications in GlassFish
 
Going Native With The OSGi Service Layer - Sascha Zelzer
Going Native With The OSGi Service Layer - Sascha ZelzerGoing Native With The OSGi Service Layer - Sascha Zelzer
Going Native With The OSGi Service Layer - Sascha Zelzer
 
A 30-minute Introduction to NETCONF and YANG
A 30-minute Introduction to NETCONF and YANGA 30-minute Introduction to NETCONF and YANG
A 30-minute Introduction to NETCONF and YANG
 
OSGi & Blueprint
OSGi & BlueprintOSGi & Blueprint
OSGi & Blueprint
 
Best Practices for (Enterprise) OSGi applications - Tim Ward
Best Practices for (Enterprise) OSGi applications - Tim WardBest Practices for (Enterprise) OSGi applications - Tim Ward
Best Practices for (Enterprise) OSGi applications - Tim Ward
 
OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...
OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...
OSAmI-Commons – an OSGi based platform supporting Open Ambient Intelligence f...
 
JEE 8, A Big Overview
JEE 8, A Big OverviewJEE 8, A Big Overview
JEE 8, A Big Overview
 

Ähnlich wie OSGi User Forum US DC Metro

OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
IndicThreads
 
Enabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDMEnabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDM
mukulobject
 
OSGi Best Practices – Learn how to prevent common mistakes and build robust, ...
OSGi Best Practices – Learn how to prevent common mistakes and build robust, ...OSGi Best Practices – Learn how to prevent common mistakes and build robust, ...
OSGi Best Practices – Learn how to prevent common mistakes and build robust, ...
mfrancis
 
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Martin Toshev
 
Building a server platform with os gi
Building a server platform with os giBuilding a server platform with os gi
Building a server platform with os gi
Dileepa Jayakody
 
Osgi Webinar
Osgi WebinarOsgi Webinar
Osgi Webinar
WSO2
 

Ähnlich wie OSGi User Forum US DC Metro (20)

Osgi platform
Osgi platformOsgi platform
Osgi platform
 
OSGi
OSGiOSGi
OSGi
 
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
OSGi For Java Infrastructures [5th IndicThreads Conference On Java 2010, Pune...
 
OSGi
OSGiOSGi
OSGi
 
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
 
What is os gi and what does osgi
What is os gi and what does osgiWhat is os gi and what does osgi
What is os gi and what does osgi
 
Enabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDMEnabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDM
 
OSGi tech session
OSGi tech sessionOSGi tech session
OSGi tech session
 
Osgi
OsgiOsgi
Osgi
 
OSGi
OSGiOSGi
OSGi
 
OSGi Best Practices – Learn how to prevent common mistakes and build robust, ...
OSGi Best Practices – Learn how to prevent common mistakes and build robust, ...OSGi Best Practices – Learn how to prevent common mistakes and build robust, ...
OSGi Best Practices – Learn how to prevent common mistakes and build robust, ...
 
OSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixOSGi on Google Android using Apache Felix
OSGi on Google Android using Apache Felix
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in development
 
De leukste Bug
De leukste BugDe leukste Bug
De leukste Bug
 
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
 
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures EvolutionsPart 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
 
Open Services Gateway Initiative (OSGI)
Open Services Gateway Initiative (OSGI)Open Services Gateway Initiative (OSGI)
Open Services Gateway Initiative (OSGI)
 
Frankenstein's IDE: NetBeans and OSGi
Frankenstein's IDE: NetBeans and OSGiFrankenstein's IDE: NetBeans and OSGi
Frankenstein's IDE: NetBeans and OSGi
 
Building a server platform with os gi
Building a server platform with os giBuilding a server platform with os gi
Building a server platform with os gi
 
Osgi Webinar
Osgi WebinarOsgi Webinar
Osgi Webinar
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

OSGi User Forum US DC Metro

  • 1. OSGi Users’ Forum DC Metro Inaugural Meeting 27th October 2011
  • 2. Agenda • Introduction to the OSGi User’s User Form – What is the forum all about? – What is the OSGi Alliance? – OSGi Alliance – Alliance and Forum Relationship – OSGi Users’ Forum US DC Metro Charter – Who we are – What we offer – Getting Involved • News and Announcements • Introduction to OSGi
  • 3. What is the forum all about? • Members only community – Not OSGi Alliance Membership • Membership is free • Open to end user organizations, individuals, academic institutions and vendors based in the US • Exchange information, knowledge and ideas around OSGi technology in the US • Approved by the OSGi Alliance
  • 4. What is the OSGi Alliance? • OSGi™ - The Dynamic Module System for Java™ • Independent non-profit corporation comprised of worldwide consortium of technology innovators & developers • Focused on interoperability of applications & services based on its Module System • Founded in 1998 by IBM, Ericsson, Nortel, Sybase, Sun, Motorola, Oracle, Nokia, and many others • Originally was JSR8 • Goal was to develop a standard for home automation • The Alliance provides specifications, reference implementations, test suites and certification
  • 5. OSGI Alliance • Alliance members represent diverse markets including SmartHome, automotive electronics, mobile and enterprise • 3 levels of membership – Full, – Adopter Associate, – Supporter (Free!) • Further details on OSGi Alliance Membership at http://www.osgi.org/About/Join
  • 6. Alliance & Forum Relationship • You don’t have to be an OSGi Alliance Member to become a member of the OSGi Users’ DC Metro Forum • Can join either or both • OSGi Users’ DC Metro Forum does not represent the OSGi Alliance • OSGi Users’ DC Metro Forum is not a legal entity • OSGi Users’ Forum is governed by OSGi Alliance Trademark Agreement • OSGi Alliance sets Charter for Worldwide Users’ Forums
  • 7. OSGi Users’ DC Metro Forum Charter • Set by the OSGi Alliance 1. Promote the OSGi service platform 2. Share experiences of OSGi deployments 3. Encourage business collaboration
  • 8. Who We Are • Chairman – Paul Hadrosek (iNovex) • Secretary – Jack Rodriguez (APT) • Founding Members – Sam Chance (iNovex) – Stan Moyer (Telcordia Technologies) – Eddie Lee (PTFS) • It’s all of US! It’s up to everyone to participate
  • 9. What we offer • Forum for interaction between peers interested in OSGi • Mail list • Face to Face meetings – every 3 to 4 months/location • Announcing interesting OSGi activities – Conferences – Meetings – Training – Relevant News
  • 10. Thanks for getting involved • Open Floor later • We want your input: – What do you want from the Forum? – What meeting topics would you like covered? – Any suggestions?
  • 11. News & Announcements • OSGi DevCon 2012 – March 26-29, 2012 – Reston, VA • Users’ Forum DC Metro Meeting at OSGi DevCon 2012 – March 27, 2012 – 7:00 – Reston, VA – Free to members • OSGi Training Course - TBA
  • 12. OSGi DevCon • For more information : http://www.osgi.org/DevCon2012/HomePage
  • 14. What does OSGi stand for? • Open Services Gateway initiative – This abbreviation is no longer used • “The Dynamic Module System for Java” – Designed to be light weight and dynamic – Allows to partition a system into a number of modules (a.k.a. bundles) – Strict visibility rules (similar to private and protected) – Resolution of dependencies and versioning – Dynamic Modules can be installed, started, stopped, uninstalled and updated - all at runtime
  • 15. What is the OSGi Service Platform • A Java framework for developing remotely deployed service applications, that require: – Reliability – Large scale distribution – Wide range of devices – Collaborative • Created through collaboration of industry leaders • Spec 4.0+ publicly available at www.osgi.org
  • 16. OSGi Environment Bundle Bundle Bundle = service interface exported and imported Bundle (Application/Service) by bundles OSGi •Open standard and based on Java •Sits on top of the operating system (thus is OS independent) Java VM •Not device or CPU specific. •Client-server software Operating System architecture Driver Driver Driver Hardware
  • 17. OSGi Framework • Allows applications to share a single Java VM • Manages applications – Life cycle, Java Packages, Security, Dependencies between applications • Service registry for collaboration • Extensive notification mechanism
  • 18. OSGi Bundles • OSGi specification defines the OSGi as the unit of modularization • A bundle is – Cohesive – Self-contained unit • Defines dependencies to other modules/services • Explicitly defines its external API (interface) – A jar file with additional meta information stored in the MANIFEST.MF file
  • 19. MANIFEST.MF File Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Popup Plug-in Bundle-SymbolicName: de.vogella.rcp.intro.commands.popup; singleton:=true Bundle-Version: 1.0.0 Bundle-Activator: de.vogella.rcp.intro.commands.popup.Activator Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.6
  • 20. Cooperative Model • Bundles can cooperate through: – service objects – package sharing • A dynamic registry allows a bundle to find and track service objects • Framework fully manages this cooperation – Dependencies, security
  • 21. Service Specifics • A service is an object registered with the Framework by a bundle to be used by other bundles service • The semantics and syntax of a service are specified in a Java interface
  • 22. Services & Java Interfaces public interface Log { public void log(String s); } Gets from Framework interface (with query) Bundle Log public class SimpleLog implements Log { public void log(String s) { System.out.println( s ); implements } } Simple IBM Motorola Log Log Log
  • 23. Dependencies • The Framework manages the dependencies between bundles • Bundles that are installed and started will register services • Framework will automatically unregister services when a bundle stops • Event notifications for all important events
  • 24. Dependencies Install A Framework start Bundle A {} Bundle B {} events: install = service, java interface Bundle C {}
  • 25. Dependencies Framework Uninstall stop Bundle A {} Bundle B events: {} unregister events: uninstall = service, java interface Bundle C {}
  • 26. The Classpath in OSGi • Each bundle has its own class loader • Bundles can only shares packages when: – Import and export clauses in the manifest match – Have permission to do so for those packages • The framework manages the overall CLASSPATH for bundles • Assures that all bundles use the same class (of the same version) • Tracks shared usage of packages between bundles
  • 27. Key OSGi Features • Modularization • Dynamic Runtime • Service Orientation
  • 28. What problems does OSGi solve? • Visibility By default, a bundle is a black box. It's completely protected and you can't see inside it, not even with reflection or any other classloading trickery. Only exported packages are visible outside of the exporting bundle. This stops unintended coupling between modules, enables independent development, faster development cycles and security.
  • 29. What problems does OSGi solve? • Operational Control An OSGi container allows you to see all modules and their status - using the OSGi console or JMX. You can get information on wiring, install new bundles, activate bundles (and publish services), deactivate bundles (and unregister services), refresh bundles, stop bundles and uninstall bundles. The beauty? You can do all of this without stopping or restarting the application!
  • 30. Who doing OSGi containers? • Open-source implementations: Equinox, Felix (Apache), Knopflerfish • Significant Enterprise usage: Eclipse, Netbeans, IBM (WebSphere), Red (Jboss), Oracle (Glassfish, WebLogic), TIBCO ESB, WSO2 Carbon, Fuse ESB…
  • 31. Who’s doing frameworks? • Hitachi provides a complete OSGi solution yet with standards compliant and potentially independent elements (only vendor with all 4 elements): 1. JVM Options (to insure broadest availability of ported JVMs and optimized JVMs): • SuperJEngine (optimized CVM) (better performance, less memory, non- open source) • or Oracle Binary solutions: CDC JVM or JavaSE Embedded (reduce risk; add value) 2. SuperJFramework (client software) (performance, less memory, not open source) • SuperJManagement Agent (links to SJDMS) (meets SPs authentication & security) 3. SuperJDMS (Management Server) (manage clients/bundles/apps in device; large scale) 4. SuperJTools (SDK development tools for 3rd party apps) (Eclipse based)