Upload
brian-wright
View
215
Download
0
Tags:
Embed Size (px)
Citation preview
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