SlideShare a Scribd company logo
1 of 23
Download to read offline
PUBLIC1
REMOTE MANAGEMENT AND MONITORING
OF DISTRIBUTED OSGI APPLICATIONS
TIMVERBELEN
Senior Researcher
imec – Ghent University
JAN S. RELLERMEYER
Assistant Professor
TU Delft
PUBLIC
REMOTE MANAGEMENT AND MONITORING
▪ On-site management too expensive
▪ The device has no screen or input devices
▪ The device is unreachable
▪ There are too many devices
▪ …
2
FROM IOT TO CLOUD
PUBLIC
OSGI – MODULARITY FOR THE JVM
• Modular Software Management
• Can be managed individually
• Understand versioning
• The implementation of modularity for the JVM
▪ is the Bundle
• Dynamism
• Well-defined life-cycle
• Lose coupling
• Complex systems are inherently dynamic
Module A
Module B
Module C
PUBLIC
OSGI –THE PLATFORM FOR LONG-RUNNING DEVICES
▪ Dynamic Module System for the Java Runtime
▪ Original domain: Home Gateway
▪ Multiple software packages need to co-exist on the same machine
▪ Long-running software
▪ Periodic maintenance and updates requires
▪ Ideally with minimal downtime and no interruption of unrelated software packages
4
• Java on the Embedded Device
• Pros:
• bridges heterogeneity
• can run the same code in the cloud or on the device
• Cons:
• updates and maintenance
PUBLIC
REMOTE MANAGEMENT IS NOT NEW (IN OSGI)
▪ TR-069 is a remote management protocol specified by the Broadband Forum
▪ Specifies a bi-directional protocol based on SOAP 1.1 over HTTP
▪ For managing “Customer-Premise Equipment (CPE)”
▪ Designed for routers, gateways, set-op boxes,…
5
TR-069 CONNECTOR SERVICE SPECIFICATION
PUBLIC
REMOTE MANAGEMENT IS NOT NEW (IN OSGI)
▪ A logical view of manageable entities
implemented by plugins and structured in a
tree with named nodes
▪ One generic API to hide a multitude of
remote management protocols
▪ Used in IoT space (i.e. Bosch SI)
6
DEVICE MANAGEMENTTREE (DMT)
PUBLIC
REMOTE MANAGEMENT OVER REST
▪ RESTful interface
▪ Exposing the framework and its internal state as resources
▪ Bundles
▪ Services
▪ Easy management of OSGi deployments through REST
▪ Command line tools
▪ Web interfaces
▪ Application-level
▪ REST service implementation ships with Concierge 5.1
PUBLIC
REST SERVICE ARCHITECTURE
▪ framework
▪ framework/state
▪ framework/startlevel
▪ framework/bundles
▪ framework/bundles/representations
▪ framework/bundle/{bundleid}
▪ framework/bundle/{bundleid}/state
▪ framework/bundle/{bundleid}/startlevel
▪ framework/bundle/{bundleid}/header
▪ framework/services
▪ framework/services/representations
▪ framework/service/{serviceid}
8
PUBLIC
REST SERVICE ARCHITECTURE
▪ framework
▪ framework/state
▪ framework/startlevel
▪ framework/bundles
▪ framework/bundles/representations
▪ framework/bundle/{bundleid}
▪ framework/bundle/{bundleid}/state
▪ framework/bundle/{bundleid}/startlevel
▪ framework/bundle/{bundleid}/header
▪ framework/services
▪ framework/services/representations
▪ framework/service/{serviceid}
9
PUBLIC
REST SERVICE ARCHITECTURE
▪ framework
▪ framework/state
▪ framework/startlevel
▪ framework/bundles
▪ framework/bundles/representations
▪ framework/bundle/{bundleid}
▪ framework/bundle/{bundleid}/state
▪ framework/bundle/{bundleid}/startlevel
▪ framework/bundle/{bundleid}/header
▪ framework/services
▪ framework/services/representations
▪ framework/service/{serviceid}
10
PUBLIC
REST CLIENT
▪ RestClientFactory
public interface RestClientFactory {
RestClient createRestClient(URI uri);
}
▪ RestClient
public interface RestClient {
…
FrameworkStartLevelDTO getFrameworkStartLevel() throws Exception;
void setFrameworkStartLevel(FrameworkStartLevelDTO startLevel) throws Exception;
…
}
11
PUBLIC
REST CLIENT IN .JS
var client = new OSGiRestClient('http://localhost:8080/restendpoint’);
client.installBundle(bundle, {
success : function(res) {
// Start the bundle once the install has finished
client.startBundle(res.id);
}, failure : function(httpCode, res) {
// handle failure
}
});
12
PUBLIC
REST CLIENT IN .JS
var client = new OSGiRestClient('http://localhost:8080/restendpoint’);
client.installBundle(bundle, {
success : function(res) {
// Start the bundle once the install has finished
client.startBundle(res.id);
}, failure : function(httpCode, res) {
// handle failure
}
});
13
PUBLIC
REMOTE MANAGEMENT OVER REST
14
DEMO
PUBLIC
REST SPEC LIMITATIONS
▪ Requires a REST server on the device to manage
▪ Why not use the OSGi service layer? And OSGi Remote Services?
▪ Limited to a single OSGi framework
▪ Why not manage a cluster of OSGi frameworks?
▪ Limited to OSGi-specific information (i.e. bundles, services, etc)
▪ Why no metrics on the underlying (hardware?) platform?
15
PUBLIC
CLUSTER INFORMATION SPECIFICATION
16
THE NEW KID INTOWN
PUBLIC
FRAMEWORK NODE STATUS
17
CLUSTER INFORMATION SPECIFICATION
▪ Presence services indicating a framework / node is there
▪ Service properties exposing node metadata
▪ Unique identifier (and parent)
▪ Location information (country, region, zone, …)
▪ Endpoints (private and public)
▪ Tags (application-specific)
PUBLIC
FRAMEWORK NODE STATUS (2)
18
CLUSTER INFORMATION SPECIFICATION
▪ HashMap<String, String> metrics(String… keys)
▪ Provides implementation-specific metrics about the node
▪ Typically things that change over time (i.e. resource usage)
▪ Integrated with Remote Service Admin specification
▪ *NodeStatus exported as remote service
▪ Remote services automatically shared within cluster
PUBLIC
FRAMEWORK MANAGER
19
CLUSTER INFORMATION SPECIFICATION
▪ Managing of an OSGi framework
▪ Similar API as the REST specification, but now as remote service
▪ List / inspect bundles and services
▪ Install / start / update bundles
PUBLIC
CLUSTER INFORMATION SPECIFICATION
20
DEMO
PUBLIC
ECLIPSE CONCIERGE
▪ Full OSGi core R5 compatibility
▪ R6 almost done
▪ R7 to come
▪ Keep a small footprint to work well on embedded devices
▪ 250kiB without debug symbols
▪ 330kiB with debug symbols
▪ Remain “readable”
▪ Currently 9 classes
▪ Remain backwards-compatible
▪ Java 5
21
Gateway
PUBLIC
CONCLUSIONS
▪ Concierge is an OSGi framework
optimized for embedded devices and
the Internet ofThings
▪ It hosts the reference implementations
for the REST service and the Cluster
Information specifications.
▪ Check them out to ease the remote
management of your OSGi
deployments.
22
http://eclipse.org/concierge
https://github.com/eclipse/concierge
Project
Homepage
Clone it
from here
Evaluate the Sessions
-1 0 +1
Sign in and vote at eclipsecon.org

More Related Content

What's hot

Why the WSO2 ESB should be part of your SOA infrastructure
Why the WSO2 ESB should be part of your SOA infrastructureWhy the WSO2 ESB should be part of your SOA infrastructure
Why the WSO2 ESB should be part of your SOA infrastructure
WSO2
 

What's hot (20)

Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankAlfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European Bank
 
Guided overview of software frameworks qt framework
Guided overview of software frameworks   qt frameworkGuided overview of software frameworks   qt framework
Guided overview of software frameworks qt framework
 
OSGi Enterprise Expert Group (OSGi Users Forum Germany)
OSGi Enterprise Expert Group (OSGi Users Forum Germany)OSGi Enterprise Expert Group (OSGi Users Forum Germany)
OSGi Enterprise Expert Group (OSGi Users Forum Germany)
 
Why the WSO2 ESB should be part of your SOA infrastructure
Why the WSO2 ESB should be part of your SOA infrastructureWhy the WSO2 ESB should be part of your SOA infrastructure
Why the WSO2 ESB should be part of your SOA infrastructure
 
Vertx in production
Vertx in productionVertx in production
Vertx in production
 
Dependency management in Xcode 11
Dependency management in Xcode 11Dependency management in Xcode 11
Dependency management in Xcode 11
 
Production ready Vert.x
Production ready Vert.xProduction ready Vert.x
Production ready Vert.x
 
Saltstack for Ansible users
Saltstack for Ansible usersSaltstack for Ansible users
Saltstack for Ansible users
 
Kvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storageKvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storage
 
Oslo Vancouver Project Update
Oslo Vancouver Project UpdateOslo Vancouver Project Update
Oslo Vancouver Project Update
 
Surviving a Plane Crash, a NU.nl case-study
Surviving a Plane Crash, a NU.nl case-studySurviving a Plane Crash, a NU.nl case-study
Surviving a Plane Crash, a NU.nl case-study
 
São Paulo MuleSoft Meetup - Deployments Models
São Paulo MuleSoft Meetup - Deployments ModelsSão Paulo MuleSoft Meetup - Deployments Models
São Paulo MuleSoft Meetup - Deployments Models
 
oVirt – open your virtual datacenter
oVirt – open your virtual datacenteroVirt – open your virtual datacenter
oVirt – open your virtual datacenter
 
OpenNebulaConf 2016 - OpenNebula 5.0 Highlights and Beyond by Ruben S. Monter...
OpenNebulaConf 2016 - OpenNebula 5.0 Highlights and Beyond by Ruben S. Monter...OpenNebulaConf 2016 - OpenNebula 5.0 Highlights and Beyond by Ruben S. Monter...
OpenNebulaConf 2016 - OpenNebula 5.0 Highlights and Beyond by Ruben S. Monter...
 
BKK16-205 RDK-B IoT
BKK16-205 RDK-B IoTBKK16-205 RDK-B IoT
BKK16-205 RDK-B IoT
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
OpenIndiana Hipster project progress review
OpenIndiana Hipster project progress reviewOpenIndiana Hipster project progress review
OpenIndiana Hipster project progress review
 
Adopting OpenTelemetry
Adopting OpenTelemetryAdopting OpenTelemetry
Adopting OpenTelemetry
 
20171027 モニタリング勉強会
20171027 モニタリング勉強会20171027 モニタリング勉強会
20171027 モニタリング勉強会
 
The current state of OpenIndiana Hipster project
The current state of OpenIndiana Hipster projectThe current state of OpenIndiana Hipster project
The current state of OpenIndiana Hipster project
 

Similar to Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbelen (imec) & Jan S. Rellermeyer (TU Delft)

Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile Manufacturer
VMware Tanzu
 
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Cisco Canada
 

Similar to Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbelen (imec) & Jan S. Rellermeyer (TU Delft) (20)

Automated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge CloudsAutomated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge Clouds
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile Manufacturer
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile Manufacturer
 
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
 
Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0
 
Enterprise Deployments: The Real World of Best Practices
Enterprise Deployments: The Real World of Best PracticesEnterprise Deployments: The Real World of Best Practices
Enterprise Deployments: The Real World of Best Practices
 
Community Session: Strategic Private Cloud in SKY UK
Community Session: Strategic Private Cloud in SKY UKCommunity Session: Strategic Private Cloud in SKY UK
Community Session: Strategic Private Cloud in SKY UK
 
Enterprise Node - Securing Your Environment
Enterprise Node - Securing Your EnvironmentEnterprise Node - Securing Your Environment
Enterprise Node - Securing Your Environment
 
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
 
Building a CI/CD driven infrastructure for managing kubernetes clusters on ba...
Building a CI/CD driven infrastructure for managing kubernetes clusters on ba...Building a CI/CD driven infrastructure for managing kubernetes clusters on ba...
Building a CI/CD driven infrastructure for managing kubernetes clusters on ba...
 
SDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkSDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual Network
 
AGILE software, devices and wider ecosystem
AGILE software, devices and wider ecosystemAGILE software, devices and wider ecosystem
AGILE software, devices and wider ecosystem
 
PLNOG14: The benefits of "OPEN" in networking for operators - Joerg Ammon, Br...
PLNOG14: The benefits of "OPEN" in networking for operators - Joerg Ammon, Br...PLNOG14: The benefits of "OPEN" in networking for operators - Joerg Ammon, Br...
PLNOG14: The benefits of "OPEN" in networking for operators - Joerg Ammon, Br...
 
Design and Deploy Secure Clouds for Financial Services Use Cases
Design and Deploy Secure Clouds for Financial Services Use CasesDesign and Deploy Secure Clouds for Financial Services Use Cases
Design and Deploy Secure Clouds for Financial Services Use Cases
 
Collaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled CloudCollaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled Cloud
 
Stratos Open PaaS OSCON 2011
Stratos Open PaaS OSCON 2011Stratos Open PaaS OSCON 2011
Stratos Open PaaS OSCON 2011
 
Sap webinar-briefing-sep-2013-final
Sap webinar-briefing-sep-2013-finalSap webinar-briefing-sep-2013-final
Sap webinar-briefing-sep-2013-final
 
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
Creating Polyglot Communication Between Kubernetes Clusters and Legacy System...
 
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFIRTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
 
Puppet - Configuration Management Made Eas(ier)
Puppet - Configuration Management Made Eas(ier)Puppet - Configuration Management Made Eas(ier)
Puppet - Configuration Management Made Eas(ier)
 

More from mfrancis

Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
mfrancis
 
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
mfrancis
 

More from mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
 
Turtles all the Way Up – From OSGi bundles to Fog Computing - Tim Ward (Paremus)
Turtles all the Way Up – From OSGi bundles to Fog Computing - Tim Ward (Paremus)Turtles all the Way Up – From OSGi bundles to Fog Computing - Tim Ward (Paremus)
Turtles all the Way Up – From OSGi bundles to Fog Computing - Tim Ward (Paremus)
 
OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...
OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...
OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...
 
Software AG Application Modularity - OSGi and JPMS (Jigsaw)
Software AG Application Modularity - OSGi and JPMS (Jigsaw)Software AG Application Modularity - OSGi and JPMS (Jigsaw)
Software AG Application Modularity - OSGi and JPMS (Jigsaw)
 

Recently uploaded

Recently uploaded (20)

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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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?
 
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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbelen (imec) & Jan S. Rellermeyer (TU Delft)

  • 1. PUBLIC1 REMOTE MANAGEMENT AND MONITORING OF DISTRIBUTED OSGI APPLICATIONS TIMVERBELEN Senior Researcher imec – Ghent University JAN S. RELLERMEYER Assistant Professor TU Delft
  • 2. PUBLIC REMOTE MANAGEMENT AND MONITORING ▪ On-site management too expensive ▪ The device has no screen or input devices ▪ The device is unreachable ▪ There are too many devices ▪ … 2 FROM IOT TO CLOUD
  • 3. PUBLIC OSGI – MODULARITY FOR THE JVM • Modular Software Management • Can be managed individually • Understand versioning • The implementation of modularity for the JVM ▪ is the Bundle • Dynamism • Well-defined life-cycle • Lose coupling • Complex systems are inherently dynamic Module A Module B Module C
  • 4. PUBLIC OSGI –THE PLATFORM FOR LONG-RUNNING DEVICES ▪ Dynamic Module System for the Java Runtime ▪ Original domain: Home Gateway ▪ Multiple software packages need to co-exist on the same machine ▪ Long-running software ▪ Periodic maintenance and updates requires ▪ Ideally with minimal downtime and no interruption of unrelated software packages 4 • Java on the Embedded Device • Pros: • bridges heterogeneity • can run the same code in the cloud or on the device • Cons: • updates and maintenance
  • 5. PUBLIC REMOTE MANAGEMENT IS NOT NEW (IN OSGI) ▪ TR-069 is a remote management protocol specified by the Broadband Forum ▪ Specifies a bi-directional protocol based on SOAP 1.1 over HTTP ▪ For managing “Customer-Premise Equipment (CPE)” ▪ Designed for routers, gateways, set-op boxes,… 5 TR-069 CONNECTOR SERVICE SPECIFICATION
  • 6. PUBLIC REMOTE MANAGEMENT IS NOT NEW (IN OSGI) ▪ A logical view of manageable entities implemented by plugins and structured in a tree with named nodes ▪ One generic API to hide a multitude of remote management protocols ▪ Used in IoT space (i.e. Bosch SI) 6 DEVICE MANAGEMENTTREE (DMT)
  • 7. PUBLIC REMOTE MANAGEMENT OVER REST ▪ RESTful interface ▪ Exposing the framework and its internal state as resources ▪ Bundles ▪ Services ▪ Easy management of OSGi deployments through REST ▪ Command line tools ▪ Web interfaces ▪ Application-level ▪ REST service implementation ships with Concierge 5.1
  • 8. PUBLIC REST SERVICE ARCHITECTURE ▪ framework ▪ framework/state ▪ framework/startlevel ▪ framework/bundles ▪ framework/bundles/representations ▪ framework/bundle/{bundleid} ▪ framework/bundle/{bundleid}/state ▪ framework/bundle/{bundleid}/startlevel ▪ framework/bundle/{bundleid}/header ▪ framework/services ▪ framework/services/representations ▪ framework/service/{serviceid} 8
  • 9. PUBLIC REST SERVICE ARCHITECTURE ▪ framework ▪ framework/state ▪ framework/startlevel ▪ framework/bundles ▪ framework/bundles/representations ▪ framework/bundle/{bundleid} ▪ framework/bundle/{bundleid}/state ▪ framework/bundle/{bundleid}/startlevel ▪ framework/bundle/{bundleid}/header ▪ framework/services ▪ framework/services/representations ▪ framework/service/{serviceid} 9
  • 10. PUBLIC REST SERVICE ARCHITECTURE ▪ framework ▪ framework/state ▪ framework/startlevel ▪ framework/bundles ▪ framework/bundles/representations ▪ framework/bundle/{bundleid} ▪ framework/bundle/{bundleid}/state ▪ framework/bundle/{bundleid}/startlevel ▪ framework/bundle/{bundleid}/header ▪ framework/services ▪ framework/services/representations ▪ framework/service/{serviceid} 10
  • 11. PUBLIC REST CLIENT ▪ RestClientFactory public interface RestClientFactory { RestClient createRestClient(URI uri); } ▪ RestClient public interface RestClient { … FrameworkStartLevelDTO getFrameworkStartLevel() throws Exception; void setFrameworkStartLevel(FrameworkStartLevelDTO startLevel) throws Exception; … } 11
  • 12. PUBLIC REST CLIENT IN .JS var client = new OSGiRestClient('http://localhost:8080/restendpoint’); client.installBundle(bundle, { success : function(res) { // Start the bundle once the install has finished client.startBundle(res.id); }, failure : function(httpCode, res) { // handle failure } }); 12
  • 13. PUBLIC REST CLIENT IN .JS var client = new OSGiRestClient('http://localhost:8080/restendpoint’); client.installBundle(bundle, { success : function(res) { // Start the bundle once the install has finished client.startBundle(res.id); }, failure : function(httpCode, res) { // handle failure } }); 13
  • 15. PUBLIC REST SPEC LIMITATIONS ▪ Requires a REST server on the device to manage ▪ Why not use the OSGi service layer? And OSGi Remote Services? ▪ Limited to a single OSGi framework ▪ Why not manage a cluster of OSGi frameworks? ▪ Limited to OSGi-specific information (i.e. bundles, services, etc) ▪ Why no metrics on the underlying (hardware?) platform? 15
  • 17. PUBLIC FRAMEWORK NODE STATUS 17 CLUSTER INFORMATION SPECIFICATION ▪ Presence services indicating a framework / node is there ▪ Service properties exposing node metadata ▪ Unique identifier (and parent) ▪ Location information (country, region, zone, …) ▪ Endpoints (private and public) ▪ Tags (application-specific)
  • 18. PUBLIC FRAMEWORK NODE STATUS (2) 18 CLUSTER INFORMATION SPECIFICATION ▪ HashMap<String, String> metrics(String… keys) ▪ Provides implementation-specific metrics about the node ▪ Typically things that change over time (i.e. resource usage) ▪ Integrated with Remote Service Admin specification ▪ *NodeStatus exported as remote service ▪ Remote services automatically shared within cluster
  • 19. PUBLIC FRAMEWORK MANAGER 19 CLUSTER INFORMATION SPECIFICATION ▪ Managing of an OSGi framework ▪ Similar API as the REST specification, but now as remote service ▪ List / inspect bundles and services ▪ Install / start / update bundles
  • 21. PUBLIC ECLIPSE CONCIERGE ▪ Full OSGi core R5 compatibility ▪ R6 almost done ▪ R7 to come ▪ Keep a small footprint to work well on embedded devices ▪ 250kiB without debug symbols ▪ 330kiB with debug symbols ▪ Remain “readable” ▪ Currently 9 classes ▪ Remain backwards-compatible ▪ Java 5 21 Gateway
  • 22. PUBLIC CONCLUSIONS ▪ Concierge is an OSGi framework optimized for embedded devices and the Internet ofThings ▪ It hosts the reference implementations for the REST service and the Cluster Information specifications. ▪ Check them out to ease the remote management of your OSGi deployments. 22 http://eclipse.org/concierge https://github.com/eclipse/concierge Project Homepage Clone it from here
  • 23. Evaluate the Sessions -1 0 +1 Sign in and vote at eclipsecon.org