Choon Oh Lee OSGi Service Platform. About OSGi Service Platform What it is, Where it is used, What...

Post on 27-Dec-2015

213 views 0 download

Tags:

transcript

Choon Oh Lee

OSGi Service Platform

• About OSGi Service Platform

• What it is, • Where it is used, • What features it provides are

Today’s Content

• OSGi is not a middleware, but a specifications for technology.

• Different industries can develop their own the OSGi technology based middleware.

Before we start…

• The OSGi Service Platform is…– the optimal Java based application server for networked

devices.

• It’s scope is– standard non-proprietary software component framework.– powerful model for co-existence of components in a single JVM.– flexible deployment API that controls the life-cycle of

applications.– secure environment that executes applications in a sandbox.– cooperative model where applications can discover and use

services.– Flexible remote management architecture.– Number of standardized, optional services: HTTP, XML, IO, etc…

Introduction

• Smart Phones (Nokia)– enables to extend platform features after

manufacturing.– New application or API can be installed on mobile

devices over air.

– new business model of client middleware.

• Smart Home (Siemens)– Central gateway for home automation.– Drivers(interfaces) and scenarios can be updated after

initial sale.

Uses cases

• Eclipse (IBM)– Plugins installation without restart– New version 3.1 is built upon a OSGi Service Platform

• Telematics (BMW)– Centralized service platform for automobile applications– Save costs by sharing platform– Dynamic updates of features.

Uses cases

• Software Component Management

• Remote Component Management

• Secure Execution Environment

• Cooperation Between Applications

• Simplified Deployment

• Dynamic Nature

Key Features of the OSGi

• Life-cycle management of applications– JAR packaging of bundle (software component)– Install bundle– Start/stop bundle– Update and Uninstall bundle

• Advantage– Not fixed functionality from factory,– But capability to manage the code afterwards to

customize device

Software Component Management

• Remote management of application

• OSGi provides higher level of abstraction of protocols like...– OMA-DM ( 유무선 단말기 관리 )– SNMP ( 네트워크 관리 , 라우터나 허브에 사용 )– CMISE ( 공동 정보 시스템의 제어 )– CIM ( 생산 관리 )– Telnet/ssh– Etc…

Remote Component Management

• 1st level, VM security– Garbage collection– Exceptions

• 2nd level, Java Language– Access modifiers for software components– Java 2 code based security: Permission for resources

• 3rd level, OSGi Framework– Loosely coupled bundles

Secure Execution Environment

• Existed application servers– MIDP(J2ME), J2EE, Avalon(Apache), PicoContainer, JMX,

etc…– Closed container.– Application runs in isolation

• OSGi– Bundles contribute ‘code’ to others as well as ‘service’.– Allows to use other bundles like using libraries.– Service registry provided.– Even among different vendors.

Cooperation Between Applications

• Java program is difficult to install– VM version, configurations, class-paths, parameters…– Hart to monitor applications

• In OSGi, deployment process is simplified– Just using JAR– Deployment is performed hiding underlying differences.

• Dynamic deployment on single JVM– Doesn’t need restart of JVM

Simplified Deployment