SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
First steps in OSGi
                             Andrea Chiodoni, 2009




martedì, 17 maggio 2011
Understand:
                what OSGi is, why OSGi
                a n d w h y it i s s o
                important to the Java
                community.

martedì, 17 maggio 2011
Agenda
                          Jar Hell problem
                          A definition of OSGi
                          Modularity and Java
                          Architecture
                          Versioning
                          Sample: Activator
                          Sample: Service
                          OSGi implementations
                          Tools for OSGi
                          Repositories
                          Advanced topics
                          What comes next...
martedì, 17 maggio 2011
Jar Hell problem
         Missing Module construct at              Bootstrap Class Loader
         runtime: JARs are only knows at       ${JAVA_HOME}/jre/lib/rt.jar
         build and deploy time
                                                              Delegate to
         Information hiding not properly          Extension Class Loader
         enforced                              ${JAVA_HOME}/jre/lib/ext/

         Version information not consumed                     Delegate to
         at runtime                                System Class Loader
                                                      ${CLASSPATH}
         Java SE/EE are subject to JAR Hell
                                                              Delegate to
         problem
                                               User-Defined Class Loader(s)
         JAR specification is too old for the
         time being (JARs are not modules)!


martedì, 17 maggio 2011
Modularity and Java 1/2
           JSR 277: Java Module System
                  A new module system for Java (JAR -> JAM)
                  Abandoned the 3.12.2008, proceed under Project
                  Jigsaw
           Project Jigsaw (OpenJDK)
                  Many discussions around “The massive, monolithic
                  JDK”
                  Low-level module system to modularise the JDK 7
                  Available for developers to use in their own code
                  Not an official part of the Java SE 7!
                  Interoperate with other module systems (OSGi)
                  Apache Harmony (based on OSGi core)
martedì, 17 maggio 2011
Modularity and Java 2/2
              Open Service Gateway initiative (OSGi)
                     from OSGi Alliance, founded 1999 (Ericsson, IBM,
                     Oracle,...)
                     The Dynamic Module System for Java
                     Target: embedded, client, server systems
                     Widely adopted: even by SUN (Glassfish v3)
                     R1 (JSR 8) in May 2000, R4.1 (JSR 291) in May 2007
                     (current release)
                     Will be closer to Java (language extensions), SUN-
                     OSGi Alliance effort (JSR 294)


martedì, 17 maggio 2011
What is OSGi

                              Extension of the JAR
                                Module = bundle
                               Naming + definition
                                   Versioning
                          ■   Gestione automatica delle dipendenze
                          ■   Gestione del ciclo di vita del codice (configurazione e distribuzione dinamica)




martedì, 17 maggio 2011
Layered architecture

                                              Services
                          Bundles




                                                            Security
                                            Life Cycle
                                            Modules
                                    Execution Environment
                                           Java VM
                                Native Operating System


martedì, 17 maggio 2011
Bundle states

                                 install               refresh
                                                       update

                                Installed                          Starting
                          resolve              refresh
                                               update      start

                                Resolved                            Active
                                                                          stop
                          uninstall        uninstall
                                                                   Stopped
                              Uninstalled
                                                                    Explicit transition
                                                                    Automatic transition




martedì, 17 maggio 2011
Service Registry

                             Service Registry


                  publish      Service           discover
                              Description


               Service Provider           Service Requester
                  <<bundle>>                 <<bundle>>
                                   bind

martedì, 17 maggio 2011
Sample:xx

           <<bundle>>                                 <<bundle>>
                                  <<service>>
                          A              S                B
                              register          get


                                                listen




martedì, 17 maggio 2011
Execution Environments

                          Eclipse Equinox
                             Eclipse
                             Spring DM Server
                             mBedded Server Equinox Edition
                          Apache Felix
                             ServiceMix Kernel
                          Knopflerfish




martedì, 17 maggio 2011
Development Tools

                          Eclipse

                          Maven Bundle Plugin (Apache Felix)

                          http://www.springsource.com/repository

                          Bundle Tool (BND), http://www.aqute.biz/
                          Code/Bnd




martedì, 17 maggio 2011
What comes next
                          Advanced OSGi
                             Standard Services
                             Whiteboard Pattern
                             Event Admin
                             Extender Model Building WEB applications
                             OSGi Bundle Repository (OBR, RFC 112)
                          Spring Dynamic Modules
                          Distributed OSGi Specification (RFC 119, OSGi
                          R4.2)
                          SCA and OSGi


martedì, 17 maggio 2011
References
                          http://www.osgi.org
                          http://neilbartlett.name/blog/osgibook
                          http://blogs.sun.com/mr
                          http://wiki.ops4j.org
                          http://www.eclipse.org/equinox
                          http://www.knopflerfish.org
                          http://felix.apache.org
                          http://www.prosyst.com
                          http://www.aqute.biz/Code/Bnd
                          http://www.springsource.com/repository

martedì, 17 maggio 2011

Contenu connexe

Similaire à An introduction to OSGi

Java EE Technical Keynote - JavaOne India 2011
Java EE Technical Keynote - JavaOne India 2011Java EE Technical Keynote - JavaOne India 2011
Java EE Technical Keynote - JavaOne India 2011Arun Gupta
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationArun Gupta
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011Arun Gupta
 
OSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishOSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishArun Gupta
 
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 GlassFishArun Gupta
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1Markus Eisele
 
Java 7 Dolphin manjula kollipara
Java 7 Dolphin manjula kolliparaJava 7 Dolphin manjula kollipara
Java 7 Dolphin manjula kolliparaManjula Kollipara
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overviewsbobde
 
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 worldsArun Gupta
 
Java 7 - State of the Enterprise
Java 7 - State of the EnterpriseJava 7 - State of the Enterprise
Java 7 - State of the EnterpriseMarkus Eisele
 
Modularity with OSGi
Modularity with OSGiModularity with OSGi
Modularity with OSGiPeter Kriens
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010Arun Gupta
 
Banking on Enterprise OSGi
Banking on Enterprise OSGiBanking on Enterprise OSGi
Banking on Enterprise OSGiGary Field
 
An introductionto mGAR (Dublin 2011)
An introductionto mGAR (Dublin 2011)An introductionto mGAR (Dublin 2011)
An introductionto mGAR (Dublin 2011)dmichelsen
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewEugene Bogaart
 
Zookeeper In Simple Words
Zookeeper In Simple WordsZookeeper In Simple Words
Zookeeper In Simple WordsFuqiang Wang
 
Liferay Module Framework
Liferay Module FrameworkLiferay Module Framework
Liferay Module FrameworkMiguel Pastor
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopArun Gupta
 

Similaire à An introduction to OSGi (20)

Java EE Technical Keynote - JavaOne India 2011
Java EE Technical Keynote - JavaOne India 2011Java EE Technical Keynote - JavaOne India 2011
Java EE Technical Keynote - JavaOne India 2011
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE Application
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
 
Secrets of the GWT
Secrets of the GWTSecrets of the GWT
Secrets of the GWT
 
OSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishOSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFish
 
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
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1
 
Java 7 Dolphin manjula kollipara
Java 7 Dolphin manjula kolliparaJava 7 Dolphin manjula kollipara
Java 7 Dolphin manjula kollipara
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overview
 
Groke
GrokeGroke
Groke
 
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
 
Java 7 - State of the Enterprise
Java 7 - State of the EnterpriseJava 7 - State of the Enterprise
Java 7 - State of the Enterprise
 
Modularity with OSGi
Modularity with OSGiModularity with OSGi
Modularity with OSGi
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
 
Banking on Enterprise OSGi
Banking on Enterprise OSGiBanking on Enterprise OSGi
Banking on Enterprise OSGi
 
An introductionto mGAR (Dublin 2011)
An introductionto mGAR (Dublin 2011)An introductionto mGAR (Dublin 2011)
An introductionto mGAR (Dublin 2011)
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
 
Zookeeper In Simple Words
Zookeeper In Simple WordsZookeeper In Simple Words
Zookeeper In Simple Words
 
Liferay Module Framework
Liferay Module FrameworkLiferay Module Framework
Liferay Module Framework
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 Workshop
 

Dernier

(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?Paolo Missier
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimaginedpanagenda
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Skynet Technologies
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxFIDO Alliance
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideStefan Dietze
 

Dernier (20)

(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 

An introduction to OSGi

  • 1. First steps in OSGi Andrea Chiodoni, 2009 martedì, 17 maggio 2011
  • 2. Understand: what OSGi is, why OSGi a n d w h y it i s s o important to the Java community. martedì, 17 maggio 2011
  • 3. Agenda Jar Hell problem A definition of OSGi Modularity and Java Architecture Versioning Sample: Activator Sample: Service OSGi implementations Tools for OSGi Repositories Advanced topics What comes next... martedì, 17 maggio 2011
  • 4. Jar Hell problem Missing Module construct at Bootstrap Class Loader runtime: JARs are only knows at ${JAVA_HOME}/jre/lib/rt.jar build and deploy time Delegate to Information hiding not properly Extension Class Loader enforced ${JAVA_HOME}/jre/lib/ext/ Version information not consumed Delegate to at runtime System Class Loader ${CLASSPATH} Java SE/EE are subject to JAR Hell Delegate to problem User-Defined Class Loader(s) JAR specification is too old for the time being (JARs are not modules)! martedì, 17 maggio 2011
  • 5. Modularity and Java 1/2 JSR 277: Java Module System A new module system for Java (JAR -> JAM) Abandoned the 3.12.2008, proceed under Project Jigsaw Project Jigsaw (OpenJDK) Many discussions around “The massive, monolithic JDK” Low-level module system to modularise the JDK 7 Available for developers to use in their own code Not an official part of the Java SE 7! Interoperate with other module systems (OSGi) Apache Harmony (based on OSGi core) martedì, 17 maggio 2011
  • 6. Modularity and Java 2/2 Open Service Gateway initiative (OSGi) from OSGi Alliance, founded 1999 (Ericsson, IBM, Oracle,...) The Dynamic Module System for Java Target: embedded, client, server systems Widely adopted: even by SUN (Glassfish v3) R1 (JSR 8) in May 2000, R4.1 (JSR 291) in May 2007 (current release) Will be closer to Java (language extensions), SUN- OSGi Alliance effort (JSR 294) martedì, 17 maggio 2011
  • 7. What is OSGi Extension of the JAR Module = bundle Naming + definition Versioning ■ Gestione automatica delle dipendenze ■ Gestione del ciclo di vita del codice (configurazione e distribuzione dinamica) martedì, 17 maggio 2011
  • 8. Layered architecture Services Bundles Security Life Cycle Modules Execution Environment Java VM Native Operating System martedì, 17 maggio 2011
  • 9. Bundle states install refresh update Installed Starting resolve refresh update start Resolved Active stop uninstall uninstall Stopped Uninstalled Explicit transition Automatic transition martedì, 17 maggio 2011
  • 10. Service Registry Service Registry publish Service discover Description Service Provider Service Requester <<bundle>> <<bundle>> bind martedì, 17 maggio 2011
  • 11. Sample:xx <<bundle>> <<bundle>> <<service>> A S B register get listen martedì, 17 maggio 2011
  • 12. Execution Environments Eclipse Equinox Eclipse Spring DM Server mBedded Server Equinox Edition Apache Felix ServiceMix Kernel Knopflerfish martedì, 17 maggio 2011
  • 13. Development Tools Eclipse Maven Bundle Plugin (Apache Felix) http://www.springsource.com/repository Bundle Tool (BND), http://www.aqute.biz/ Code/Bnd martedì, 17 maggio 2011
  • 14. What comes next Advanced OSGi Standard Services Whiteboard Pattern Event Admin Extender Model Building WEB applications OSGi Bundle Repository (OBR, RFC 112) Spring Dynamic Modules Distributed OSGi Specification (RFC 119, OSGi R4.2) SCA and OSGi martedì, 17 maggio 2011
  • 15. References http://www.osgi.org http://neilbartlett.name/blog/osgibook http://blogs.sun.com/mr http://wiki.ops4j.org http://www.eclipse.org/equinox http://www.knopflerfish.org http://felix.apache.org http://www.prosyst.com http://www.aqute.biz/Code/Bnd http://www.springsource.com/repository martedì, 17 maggio 2011