슬라이드 1

Download Report

Transcript 슬라이드 1

OSGi Service Platform
Choon Oh Lee
Today’s Content
• About OSGi Service Platform
• What it is,
• Where it is used,
• What features it provides are
Before we start…
• OSGi is not a middleware, but a specifications for technology.
• Different industries can develop their own the OSGi
technology based middleware.
Introduction
• 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…
Uses cases
• 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.
Key Features of the OSGi
• Software Component Management
• Remote Component Management
• Secure Execution Environment
• Cooperation Between Applications
• Simplified Deployment
• Dynamic Nature
Software Component Management
• 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
Remote Component Management
• Remote management of application
• OSGi provides higher level of abstraction of protocols like...
–
–
–
–
–
–
OMA-DM
SNMP
CMISE
CIM
Telnet/ssh
Etc…
(유무선 단말기 관리)
(네트워크 관리, 라우터나 허브에 사용)
(공동 정보 시스템의 제어)
(생산 관리)
Secure Execution Environment
• 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
Cooperation Between Applications
• 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.
Simplified Deployment
• 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