SlideShare a Scribd company logo
1 of 16
OSGi
SOFTWARE ENGINEERING SEMINAR
Overview
•What is OSGi?
•Architecture
•Module Layer
•Lifecycle Layer
•Service Layer
•OSGi Specifications
•OSGi Framework Implementation
•Projects using OSGi
•Pros and Cons
12/27/2014 - © Damascus University 2
What is OSGi?
•First appeared in 1999.
•OSGi is a group of standards for writing modular applications on top of the JVM.
•You develop your application as set of modules.
•These units are then deployed into the runtime.
•Your application, if written in a reasonable way, may be extendable by other modules.
•OSGi provides a service oriented development model allowing for SoA within a virtual machine.
•As a simple example – Eclipse is an OSGi based application.
12/27/2014 - © Damascus University 3
Architecture
•Bundles: Normal jar components with extra manifest headers.
•Services: The services layer connects bundles in a dynamic way.
•Services Registry: The application programming interface for service management.
•Life-Cycle: (install, start, stop, update, and uninstall) for bundles.
•Modules: The layer that defines encapsulation and declaration of dependencies.
•Security: The layer that handles the security aspects by limiting bundle functionality to pre-
defined capabilities.
•Execution Environment: Defines what methods and classes are available in a specific platform.
12/27/2014 - © Damascus University 4
Architecture
12/27/2014 - © Damascus University 5
Module Layer
•OSGi module definition is the bundle.
•OSGi’s core component is the Bundle.
•Bundles are structurally similar to a JAR with additional metadata.
•Modules promote code reuse.
•Modules promote high cohesion.
•Modules enforce logical boundaries for code location.
12/27/2014 - © Damascus University 6
Lifecycle Layer
•Provides the ability to dynamically install and manage bundles on the OSGi framework.
•Provides the interaction between bundles by allowing bundles to register with the framework
and gain access to the execution environment.
•Provides flexibility to architect a system with the knowledge that components can be updated,
removed or plugged-in without experiencing a system outage.
•OSGi containers implement the lifecycle specification.
•Containers provide command line and web based interfaces for administration of the container.
12/27/2014 - © Damascus University 7
Lifecycle Layer
•Installing Bundles:
•Bundle Installed.
•Bundle dependencies are resolved (remain in installed state
if missing dependencies)
•Bundle can be refreshed.
•Bundle uninstalled.
12/27/2014 - © Damascus University 8
Lifecycle Layer
•Starting Bundles:
•Once a bundle has resolved its
dependencies it is ready to start.
•A Bundle will be “activated” and
transition to an active state.
•An installed bundle cannot
become active if it depends on
another bundle that cannot resolve.
12/27/2014 - © Damascus University 9
Service Layer
•OSGi services enable a single-JVM service oriented architecture.
•OSGi services follow a publish, find and bind paradigm:
•Services are published to the service registry.
•Clients search the registry for needed/available services depending on the need.
• A service embodies a contract between a provider and a caller.
•Promotes loose coupling and code reuse.
•In OSGi a service can be an interface or a superclass, but the preferred methodology is to code
to an interface.
•Services provide a reliable way for bundles to communicate.
12/27/2014 - © Damascus University 10
Service Layer
12/27/2014 - © Damascus University 11
Service Layer
•Publishing/Registering Services:
• Services are described and published through interfaces.
• Services are registered by a bundle in order to make the API of the service available.
• Registration done through a simple method call.
•Finding and using services:
• OSGi provides the ServiceReferences interface that defines two methods:
• getRegisteredServices: Returns a list of services.
• getServicesInUse: Gets services being utilized by other bundles.
• OSGi provides the ServiceTracker class, a dynamic class that gets services based on events during
runtime.
12/27/2014 - © Damascus University 12
OSGi Specifications
•Core specification: Module Layer, Life Cycle Layer, Resource API, …
•Compendium Specification: HTTP Service, Log Service, User Admin, Wire Admin, …
•Enterprise Specification: Remote Services, JDBC
•Mobile Specification: Metatype Service, Foreign Applications Access
12/27/2014 - © Damascus University 13
OSGi Framework Implementations
•Apache Felix
•Concierge
•Eclipse Equinox
•Eclipse Gemini
•Hitachi Super J Engine
•Knopflerfish
•ProSyst
12/27/2014 - © Damascus University 14
Projects using OSGi
•Dotcms
•Eclipse
•Netbeans
•GlassFish
•Intellij
12/27/2014 - © Damascus University 15
Pros and Cons
•Reuse components to build and manage your highly complex systems.
•Make code easier to write, test and reuse.
•Detect bugs earlier.
•Deploy remotely.
•Detect and solve problems you might not be aware of right now.
•Developing with OSGi is a bit more complex.
•You need to think more about how you design your system.
12/27/2014 - © Damascus University 16

More Related Content

What's hot

How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon WSO2
 
Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform  Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform WSO2
 
Log management system for Microservices
Log management system for MicroservicesLog management system for Microservices
Log management system for MicroservicesVõ Duy Tuấn
 
Implementing advanced integration patterns with WSO2 ESB
Implementing advanced integration patterns with WSO2 ESBImplementing advanced integration patterns with WSO2 ESB
Implementing advanced integration patterns with WSO2 ESBWSO2
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationKasun Indrasiri
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slidesWSO2
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBWSO2
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-oldF K
 
Enterprise Integration made easy with WSO2 ESB
Enterprise Integration made easy with WSO2 ESBEnterprise Integration made easy with WSO2 ESB
Enterprise Integration made easy with WSO2 ESBWSO2
 
Security Patterns with WSO2 ESB
Security Patterns with WSO2 ESBSecurity Patterns with WSO2 ESB
Security Patterns with WSO2 ESBWSO2
 
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 IndiaArun Gupta
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Kasun Indrasiri
 
Mule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh gMule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh gMuthu Guru Rathinesh G
 
What is Mule ESB
What is Mule ESB What is Mule ESB
What is Mule ESB Nam Le Dinh
 
Citrix XenApp & XenDesktop 7.15 LTSR course syllabus
Citrix XenApp & XenDesktop 7.15 LTSR course syllabusCitrix XenApp & XenDesktop 7.15 LTSR course syllabus
Citrix XenApp & XenDesktop 7.15 LTSR course syllabusMuhammadMustafha
 

What's hot (20)

How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon
 
WSO2 Gateway
WSO2 GatewayWSO2 Gateway
WSO2 Gateway
 
Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform  Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform
 
Log management system for Microservices
Log management system for MicroservicesLog management system for Microservices
Log management system for Microservices
 
Implementing advanced integration patterns with WSO2 ESB
Implementing advanced integration patterns with WSO2 ESBImplementing advanced integration patterns with WSO2 ESB
Implementing advanced integration patterns with WSO2 ESB
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise Integration
 
Wso2 tutorial
Wso2 tutorialWso2 tutorial
Wso2 tutorial
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slides
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESB
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
 
Enterprise Integration made easy with WSO2 ESB
Enterprise Integration made easy with WSO2 ESBEnterprise Integration made easy with WSO2 ESB
Enterprise Integration made easy with WSO2 ESB
 
Security Patterns with WSO2 ESB
Security Patterns with WSO2 ESBSecurity Patterns with WSO2 ESB
Security Patterns with WSO2 ESB
 
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
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0
 
Mule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh gMule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh g
 
What is Mule ESB
What is Mule ESB What is Mule ESB
What is Mule ESB
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Soa
SoaSoa
Soa
 
Citrix XenApp & XenDesktop 7.15 LTSR course syllabus
Citrix XenApp & XenDesktop 7.15 LTSR course syllabusCitrix XenApp & XenDesktop 7.15 LTSR course syllabus
Citrix XenApp & XenDesktop 7.15 LTSR course syllabus
 

Similar to OSGi

OSGi User Forum US DC Metro
OSGi User Forum US DC MetroOSGi User Forum US DC Metro
OSGi User Forum US DC MetropjhInovex
 
OSGi user forum dc metro v1
OSGi user forum dc metro v1OSGi user forum dc metro v1
OSGi user forum dc metro v1pjhInovex
 
OSGi in Action Chapter 1 and 2
OSGi in Action Chapter 1 and 2OSGi in Action Chapter 1 and 2
OSGi in Action Chapter 1 and 2pjhInovex
 
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...Florian Feldhaus
 
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 giDileepa Jayakody
 
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentOSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentSanjeeb Sahoo
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to MicroservicesDavid Currie
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceJack-Junjie Cai
 
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 FelixMarcel Offermans
 
Cloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsCloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsFlorian Feldhaus
 
The EGI Federated Cloud
The EGI Federated CloudThe EGI Federated Cloud
The EGI Federated CloudDavid Wallom
 
08 hopex v next service fabric
08 hopex v next   service fabric08 hopex v next   service fabric
08 hopex v next service fabricMichel Bruchet
 
Subsystems in the Wild - G Charters
Subsystems in the Wild - G ChartersSubsystems in the Wild - G Charters
Subsystems in the Wild - G Chartersmfrancis
 
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...mfrancis
 
Introducing Apricot, The Eclipse Content Management Platform
Introducing Apricot, The Eclipse Content Management PlatformIntroducing Apricot, The Eclipse Content Management Platform
Introducing Apricot, The Eclipse Content Management PlatformNuxeo
 
Eclipse Apricot
Eclipse ApricotEclipse Apricot
Eclipse ApricotNuxeo
 
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
 
TransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSTransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSLana Kalashnyk
 
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld
 

Similar to OSGi (20)

OSGi User Forum US DC Metro
OSGi User Forum US DC MetroOSGi User Forum US DC Metro
OSGi User Forum US DC Metro
 
OSGi user forum dc metro v1
OSGi user forum dc metro v1OSGi user forum dc metro v1
OSGi user forum dc metro v1
 
OSGi in Action Chapter 1 and 2
OSGi in Action Chapter 1 and 2OSGi in Action Chapter 1 and 2
OSGi in Action Chapter 1 and 2
 
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
OGF Cloud Standards: Current status and ongoing interoperability efforts wi...
 
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 and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application DevelopmentOSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
OSGi and Java EE: A Hybrid Approach to Enterprise Java Application Development
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to MicroserviceDeveloping Enterprise Applications for the Cloud, from Monolith to Microservice
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
 
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
 
OSGi & Blueprint
OSGi & BlueprintOSGi & Blueprint
OSGi & Blueprint
 
Cloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsCloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementations
 
The EGI Federated Cloud
The EGI Federated CloudThe EGI Federated Cloud
The EGI Federated Cloud
 
08 hopex v next service fabric
08 hopex v next   service fabric08 hopex v next   service fabric
08 hopex v next service fabric
 
Subsystems in the Wild - G Charters
Subsystems in the Wild - G ChartersSubsystems in the Wild - G Charters
Subsystems in the Wild - G Charters
 
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...
 
Introducing Apricot, The Eclipse Content Management Platform
Introducing Apricot, The Eclipse Content Management PlatformIntroducing Apricot, The Eclipse Content Management Platform
Introducing Apricot, The Eclipse Content Management Platform
 
Eclipse Apricot
Eclipse ApricotEclipse Apricot
Eclipse Apricot
 
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...
 
TransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MSTransitioningToMicroServonDocker_MS
TransitioningToMicroServonDocker_MS
 
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
VMworld 2013: Best Practices for Application Lifecycle Management with vCloud...
 

Recently uploaded

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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 DevelopmentsTrustArc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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...Drew Madelung
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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...Martijn de Jong
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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...Enterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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 slidevu2urc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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 2024Rafal Los
 
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 textsMaria Levchenko
 
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...Miguel Araújo
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
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
 
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...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

OSGi

  • 2. Overview •What is OSGi? •Architecture •Module Layer •Lifecycle Layer •Service Layer •OSGi Specifications •OSGi Framework Implementation •Projects using OSGi •Pros and Cons 12/27/2014 - © Damascus University 2
  • 3. What is OSGi? •First appeared in 1999. •OSGi is a group of standards for writing modular applications on top of the JVM. •You develop your application as set of modules. •These units are then deployed into the runtime. •Your application, if written in a reasonable way, may be extendable by other modules. •OSGi provides a service oriented development model allowing for SoA within a virtual machine. •As a simple example – Eclipse is an OSGi based application. 12/27/2014 - © Damascus University 3
  • 4. Architecture •Bundles: Normal jar components with extra manifest headers. •Services: The services layer connects bundles in a dynamic way. •Services Registry: The application programming interface for service management. •Life-Cycle: (install, start, stop, update, and uninstall) for bundles. •Modules: The layer that defines encapsulation and declaration of dependencies. •Security: The layer that handles the security aspects by limiting bundle functionality to pre- defined capabilities. •Execution Environment: Defines what methods and classes are available in a specific platform. 12/27/2014 - © Damascus University 4
  • 5. Architecture 12/27/2014 - © Damascus University 5
  • 6. Module Layer •OSGi module definition is the bundle. •OSGi’s core component is the Bundle. •Bundles are structurally similar to a JAR with additional metadata. •Modules promote code reuse. •Modules promote high cohesion. •Modules enforce logical boundaries for code location. 12/27/2014 - © Damascus University 6
  • 7. Lifecycle Layer •Provides the ability to dynamically install and manage bundles on the OSGi framework. •Provides the interaction between bundles by allowing bundles to register with the framework and gain access to the execution environment. •Provides flexibility to architect a system with the knowledge that components can be updated, removed or plugged-in without experiencing a system outage. •OSGi containers implement the lifecycle specification. •Containers provide command line and web based interfaces for administration of the container. 12/27/2014 - © Damascus University 7
  • 8. Lifecycle Layer •Installing Bundles: •Bundle Installed. •Bundle dependencies are resolved (remain in installed state if missing dependencies) •Bundle can be refreshed. •Bundle uninstalled. 12/27/2014 - © Damascus University 8
  • 9. Lifecycle Layer •Starting Bundles: •Once a bundle has resolved its dependencies it is ready to start. •A Bundle will be “activated” and transition to an active state. •An installed bundle cannot become active if it depends on another bundle that cannot resolve. 12/27/2014 - © Damascus University 9
  • 10. Service Layer •OSGi services enable a single-JVM service oriented architecture. •OSGi services follow a publish, find and bind paradigm: •Services are published to the service registry. •Clients search the registry for needed/available services depending on the need. • A service embodies a contract between a provider and a caller. •Promotes loose coupling and code reuse. •In OSGi a service can be an interface or a superclass, but the preferred methodology is to code to an interface. •Services provide a reliable way for bundles to communicate. 12/27/2014 - © Damascus University 10
  • 11. Service Layer 12/27/2014 - © Damascus University 11
  • 12. Service Layer •Publishing/Registering Services: • Services are described and published through interfaces. • Services are registered by a bundle in order to make the API of the service available. • Registration done through a simple method call. •Finding and using services: • OSGi provides the ServiceReferences interface that defines two methods: • getRegisteredServices: Returns a list of services. • getServicesInUse: Gets services being utilized by other bundles. • OSGi provides the ServiceTracker class, a dynamic class that gets services based on events during runtime. 12/27/2014 - © Damascus University 12
  • 13. OSGi Specifications •Core specification: Module Layer, Life Cycle Layer, Resource API, … •Compendium Specification: HTTP Service, Log Service, User Admin, Wire Admin, … •Enterprise Specification: Remote Services, JDBC •Mobile Specification: Metatype Service, Foreign Applications Access 12/27/2014 - © Damascus University 13
  • 14. OSGi Framework Implementations •Apache Felix •Concierge •Eclipse Equinox •Eclipse Gemini •Hitachi Super J Engine •Knopflerfish •ProSyst 12/27/2014 - © Damascus University 14
  • 16. Pros and Cons •Reuse components to build and manage your highly complex systems. •Make code easier to write, test and reuse. •Detect bugs earlier. •Deploy remotely. •Detect and solve problems you might not be aware of right now. •Developing with OSGi is a bit more complex. •You need to think more about how you design your system. 12/27/2014 - © Damascus University 16