SlideShare una empresa de Scribd logo
1 de 60
Descargar para leer sin conexión
Warum OSGi
      Christian Baranowski
Willkommen
•   Christian Baranowski

•   Software Qualitätssicherung @ SEITENBAU Gmbh Konstanz (DE)

        •   Custom Software Solutions

        •   E-Government Solutions

        •   Identity Management and SSO Solutions

        •   www.seitenbau.de

•   Vorstand OSGi Users' Forum Germany

    •   Co-lead (mit Jochen Hiller) German Enterprise Working Group.

    •   OSGi Code Camp
OSGi
OSGi




Modularity
 Modules
OSGi




Modularity
 Modules     Lifecycle
OSGi

                            A




                                Service
                            B
Modularity
 Modules     Lifecycle   Services
OSGi

                            A




                                Service
                            B
Modularity
 Modules     Lifecycle   Services
              Security
OSGi
             ist
 ein
 offener
 Standard
 der
 


                                                                                                                                                                                                                     A




                                                                                                                                                                                                                         Service
                                                                                                                                                                                                                     B
Modularity
 Modules                                                                       Lifecycle                                                                                                                          Services
                                                                                        Security
Warum   OSGi?
Erweiterbarkeit / Plugins
Erweiterbarkeit / Plugins


Firefox                Eclipse             Maven




          Spring Roo             Jenkins
Bundle



  JAR
Bundle
Private
 Packages




                  JAR
Bundle
Private
 Packages

                                                    Exported
 
                                                    Packages


                  JAR
Bundle
                                             Private
 Packages

Imported
                                                        Exported
 
Packages                                                                                         Packages


                                                               JAR
Modul Level

Funktionen   Klassen   Packages
Modul Level

Funktionen   Klassen   Packages   Bundles
Bundles
Bundles
                A
Provider
 Bundle
Bundles
                            A
            Provider
 Bundle




Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: A
Bundle-Version: 1.0.1
Export-Package:
 echo.api;version=1.0.0,
 echo.sysout;version=1.0.0
Bundles
                            A                                                                B
            Provider
 Bundle             Consumer
 Bundle




Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: A
Bundle-Version: 1.0.1
Export-Package:
 echo.api;version=1.0.0,
 echo.sysout;version=1.0.0
Bundles
                            A                                                                B
            Provider
 Bundle             Consumer
 Bundle




Manifest-Version: 1.0                                              Manifest-Version: 1.0
Bundle-ManifestVersion: 2                                          Bundle-ManifestVersion: 2
Bundle-SymbolicName: A                                             Bundle-SymbolicName: B
Bundle-Version: 1.0.1                                              Bundle-Version: 1.0.0
Export-Package:                                                    Import-Package:
 echo.api;version=1.0.0,                                          echo.api;version=[1.0,2),
 echo.sysout;version=1.0.0                                        echo.sysout;version=[1.0,2)
Demo Modularity / Lifecycle

                 Extender       World        Desktop


             Box
                                           API
          Arch

                            Provisioning
OSGi Services
OSGi Services



          API
 Bundle




  Manifest-Version: 1.0
  Bundle-ManifestVersion: 2
  Bundle-SymbolicName: api
  Bundle-Version: 2.0.0
  Export-Package:
    echo.api;version=1.0.0
OSGi Services
                 Provider
 Bundle                   Service




Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: A
Bundle-Version: 1.0.1
                                                                            API
 Bundle
Import-Package:
	   echo.api;version=[1.0,2)
Service-Component:
	   OSGI-INF/EchoProvider.xml



                                                                    Manifest-Version: 1.0
                                                                    Bundle-ManifestVersion: 2
                                                                    Bundle-SymbolicName: api
                                                                    Bundle-Version: 2.0.0
                                                                    Export-Package:
                                                                      echo.api;version=1.0.0
OSGi Services
                 Provider
 Bundle                                                         Consumer
 Bundle
                                                                                    Service




Manifest-Version: 1.0                                                                                                     Manifest-Version: 1.0
Bundle-ManifestVersion: 2                                                                                                 Bundle-ManifestVersion: 2
Bundle-SymbolicName: A                                                                                                    Bundle-SymbolicName: B
Bundle-Version: 1.0.1                                                                                                     Bundle-Version: 1.0.0
                                                                            API
 Bundle   Import-Package:
Import-Package:
	   echo.api;version=[1.0,2)                                                                                            	   echo.api;version=[1.0,2)
Service-Component:                                                                                                        Service-Component:
	   OSGI-INF/EchoProvider.xml                                                                                             	   OSGI-INF/EchoClient.xml



                                                                    Manifest-Version: 1.0
                                                                    Bundle-ManifestVersion: 2
                                                                    Bundle-SymbolicName: api
                                                                    Bundle-Version: 2.0.0
                                                                    Export-Package:
                                                                      echo.api;version=1.0.0
OSGi Services
                 Provider
 Bundle                                                                 Consumer
 Bundle
                                                                                            Service



                                                                      Instance
 Coupling
Manifest-Version: 1.0                                                                                                             Manifest-Version: 1.0
Bundle-ManifestVersion: 2                                                                                                         Bundle-ManifestVersion: 2
Bundle-SymbolicName: A                                                                                                            Bundle-SymbolicName: B
Bundle-Version: 1.0.1                                                                                                             Bundle-Version: 1.0.0
                                                                                    API
 Bundle   Import-Package:
Import-Package:
	   echo.api;version=[1.0,2)                                                                                                    	   echo.api;version=[1.0,2)
Service-Component:                                                                                                                Service-Component:
	   OSGI-INF/EchoProvider.xml                                                                                                     	   OSGI-INF/EchoClient.xml



                                                                    Manifest-Version: 1.0
                                                                    Bundle-ManifestVersion: 2
                                                                    Bundle-SymbolicName: api
                                                                    Bundle-Version: 2.0.0
                                                                    Export-Package:
                                                                      echo.api;version=1.0.0
Service Registry

        Provider



                                                    Name          Value
                                                     type        api.Echo
               - register                         availavility       5
               - unregister
                                                                            Consumer
  Name          Value                            - get
                                                 - listen
   type        api.Echo
availavility       5          Service Registry
     ...           ...
OSGi Services Demo

                World             Desktop



                             API
 Wall


                        Sensor
        Robot
                        devices
OSGi Declarative Services



           API
 Bundle
OSGi Declarative Services
                    Provider

Más contenido relacionado

Similar a Warum OSGi?

Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily Jiang
JAX London
 
Os gi introduction made by Ly MInh Phuong-SOC team
Os gi introduction made by Ly MInh Phuong-SOC teamOs gi introduction made by Ly MInh Phuong-SOC team
Os gi introduction made by Ly MInh Phuong-SOC team
Thuy_Dang
 
Best Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily JiangBest Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily Jiang
mfrancis
 
Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)
njbartlett
 
Brada -semantic-versioning-tool
Brada -semantic-versioning-toolBrada -semantic-versioning-tool
Brada -semantic-versioning-tool
Premek Brada
 
Osgi Webinar
Osgi WebinarOsgi Webinar
Osgi Webinar
WSO2
 
Enabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDMEnabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDM
mukulobject
 

Similar a Warum OSGi? (20)

OSGi Mars World in Action
OSGi Mars World in ActionOSGi Mars World in Action
OSGi Mars World in Action
 
Practical OSGi
Practical OSGiPractical OSGi
Practical OSGi
 
Java Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily JiangJava Tech & Tools | OSGi Best Practices | Emily Jiang
Java Tech & Tools | OSGi Best Practices | Emily Jiang
 
OSGi tech session
OSGi tech sessionOSGi tech session
OSGi tech session
 
Os gi introduction made by Ly MInh Phuong-SOC team
Os gi introduction made by Ly MInh Phuong-SOC teamOs gi introduction made by Ly MInh Phuong-SOC team
Os gi introduction made by Ly MInh Phuong-SOC team
 
Beyond OSGi Software Architecture
Beyond OSGi Software ArchitectureBeyond OSGi Software Architecture
Beyond OSGi Software Architecture
 
Managing Change
Managing ChangeManaging Change
Managing Change
 
Moved to https://slidr.io/azzazzel/leveraging-osgi-to-create-extensible-plugi...
Moved to https://slidr.io/azzazzel/leveraging-osgi-to-create-extensible-plugi...Moved to https://slidr.io/azzazzel/leveraging-osgi-to-create-extensible-plugi...
Moved to https://slidr.io/azzazzel/leveraging-osgi-to-create-extensible-plugi...
 
OSGi Community Updates 2012
OSGi Community Updates 2012OSGi Community Updates 2012
OSGi Community Updates 2012
 
Open Services Gateway Initiative (OSGI)
Open Services Gateway Initiative (OSGI)Open Services Gateway Initiative (OSGI)
Open Services Gateway Initiative (OSGI)
 
Best Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily JiangBest Practices for Enterprise OSGi Applications - Emily Jiang
Best Practices for Enterprise OSGi Applications - Emily Jiang
 
OSGi Remote Services With Sca
OSGi Remote Services With ScaOSGi Remote Services With Sca
OSGi Remote Services With Sca
 
Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)Introduction to OSGi (Tokyo JUG)
Introduction to OSGi (Tokyo JUG)
 
Brada -semantic-versioning-tool
Brada -semantic-versioning-toolBrada -semantic-versioning-tool
Brada -semantic-versioning-tool
 
Osgi Webinar
Osgi WebinarOsgi Webinar
Osgi Webinar
 
Getting modular with OSGI
Getting modular with OSGIGetting modular with OSGI
Getting modular with OSGI
 
An Empirical Evaluation of OSGi Dependencies Best Practices
An Empirical Evaluation of OSGi Dependencies Best PracticesAn Empirical Evaluation of OSGi Dependencies Best Practices
An Empirical Evaluation of OSGi Dependencies Best Practices
 
OSGi in 5 minutes
OSGi in 5 minutesOSGi in 5 minutes
OSGi in 5 minutes
 
Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGi
 
Enabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDMEnabling modularization through OSGi and SpringDM
Enabling modularization through OSGi and SpringDM
 

Más de Christian Baranowski

Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
Christian Baranowski
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
Christian Baranowski
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software Entwicklung
Christian Baranowski
 
Software Testing und Qualitätssicherung
Software Testing und QualitätssicherungSoftware Testing und Qualitätssicherung
Software Testing und Qualitätssicherung
Christian Baranowski
 
Einführung Software Testing und Qualitätssicherung
Einführung Software Testing und QualitätssicherungEinführung Software Testing und Qualitätssicherung
Einführung Software Testing und Qualitätssicherung
Christian Baranowski
 
Datenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence ApiDatenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence Api
Christian Baranowski
 
HTTP und Java Servlets Programmierung
HTTP und Java Servlets ProgrammierungHTTP und Java Servlets Programmierung
HTTP und Java Servlets Programmierung
Christian Baranowski
 

Más de Christian Baranowski (20)

Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application Development
 
BDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
BDD - Behavior Driven Development Webapps mit Groovy Spock und GebBDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
BDD - Behavior Driven Development Webapps mit Groovy Spock und Geb
 
Komponententests und Testabdeckung
Komponententests und TestabdeckungKomponententests und Testabdeckung
Komponententests und Testabdeckung
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
 
OSGi Web Development in Action
OSGi Web Development in ActionOSGi Web Development in Action
OSGi Web Development in Action
 
Spock and Geb in Action
Spock and Geb in ActionSpock and Geb in Action
Spock and Geb in Action
 
Continuous Delivery in Action
Continuous Delivery in ActionContinuous Delivery in Action
Continuous Delivery in Action
 
Gradle and Continuous Delivery
Gradle and Continuous DeliveryGradle and Continuous Delivery
Gradle and Continuous Delivery
 
Spock and Geb
Spock and GebSpock and Geb
Spock and Geb
 
Semantic Versioning
Semantic VersioningSemantic Versioning
Semantic Versioning
 
Top10- Software Engineering Books
Top10- Software Engineering BooksTop10- Software Engineering Books
Top10- Software Engineering Books
 
Domain Driven Design - 10min
Domain Driven Design - 10minDomain Driven Design - 10min
Domain Driven Design - 10min
 
SDC - Einführung in Scala
SDC - Einführung in ScalaSDC - Einführung in Scala
SDC - Einführung in Scala
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software Entwicklung
 
Software Testing und Qualitätssicherung
Software Testing und QualitätssicherungSoftware Testing und Qualitätssicherung
Software Testing und Qualitätssicherung
 
Einführung Software Testing und Qualitätssicherung
Einführung Software Testing und QualitätssicherungEinführung Software Testing und Qualitätssicherung
Einführung Software Testing und Qualitätssicherung
 
Datenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence ApiDatenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence Api
 
Java Servlets und AJAX
Java Servlets und AJAX Java Servlets und AJAX
Java Servlets und AJAX
 
HTTP und Java Servlets Programmierung
HTTP und Java Servlets ProgrammierungHTTP und Java Servlets Programmierung
HTTP und Java Servlets Programmierung
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Warum OSGi?