Upload
ymtech
View
299
Download
1
Embed Size (px)
DESCRIPTION
OSGI(Open Service Gateway initiative) : 동적인 컴포넌트 모델을 지원하는 프레임워크
Citation preview
㈜유미테크
OSGI(Open Service Gateway initiative)
㈜유미테크2 ㈜유미테크 Yeoman
• Open Service Gateway initiative
• OSGi Alliance 에서 동적인 플랫폼을 만들기 위해 시작
• Dynamic Module System for Java
• 동적인 컴포넌트 모델을 지원하는 프레임워크
What is OSGi
㈜유미테크3 ㈜유미테크 Yeoman
• 번들 (Bundle) 라는 모듈 단위를 기반으로 동작
• 여러 개의 번들로 애플리케이션 구성
• 동적으로 프레임워크 상에 설치 , 실행 , 업데이트 , 중단 , 제거
• 라이프 사이클 모델을 지원
What is OSGi
㈜유미테크4 ㈜유미테크 Yeoman
• 자바 플랫폼 위에 , 번들이라 불리는 작고 재사용 가능한 컴포넌트로부터 조립
• 시스템의 재시작 없이 연결구조를 동적으로 변경
• 번들이 동적으로 추가 / 삭제되고 서로 간에 호출
• Service Registry 에 서비스를 등록서비스를 export / import
OSGi Feature
㈜유미테크5 ㈜유미테크 Yeoman
OSGi framework Architecture
㈜유미테크6 ㈜유미테크 Yeoman
• 번들 (Bundle) 이라는 모듈 단위를 기반으로 동작
• Bundle 구성 = resources + mainfest file + OSGI-OPT
Bundle
㈜유미테크7 ㈜유미테크 Yeoman
• manifest.mf : 20 가지 헤더 정보를 가짐
Bundle
+ Bundle-ManifestVersion :
1 = OSGi release 3, 2 = OSGi release 4
+ Bundle-Name : human-readable name
+ Bundle-SymbolicName : unique name
+ Bundle-Activator : BundleActivator 를 상속 .
start/stop 관련 + Import-Package : package 를 정의 . 사용할 번들 + Export-Package : package 를 정의 . 외부노출
㈜유미테크8 ㈜유미테크 Yeoman
Bundle
㈜유미테크9 ㈜유미테크 Yeoman
• OSGi 는 다이내믹 플랫폼으로 , 프레임워크가 동작하고 있는 도중에 번들을 설치 , 시작 , 업데이트 , 멈춤 , 제거 할 수 있다 .
Bundle Life Cycle
㈜유미테크10 ㈜유미테크 Yeoman
• 번들은 서비스 인터페이스를 구현하여 서비스 객체를 생성하며 , 프레임 워크 서비스 레지스트리에 등록한다 .
• 또한 서비스 레지스트리를 통해서 등록된 서비스를 찾고 In-teract 할 수 있다 .
Service
㈜유미테크11 ㈜유미테크 Yeoman
Framework
㈜유미테크12 ㈜유미테크 Yeoman
Getting started
package com.ymtech;
import org.osgi.framework.BundleActivator;import org.osgi.framework.BundleContext;
public class Activator implements BundleActivator {public void start(BundleContext context) throws Exception {
System.out.println("Hello!!");} public void stop(BundleContext context) throws Exception {
System.out.println(“byebye~");}
}
㈜유미테크13 ㈜유미테크 Yeoman
Example
• 사전 서비스- 번들의 결합을 보여주고 서비스를 등록하며 서비스를 찾아 서비스를
이용하는 예제
- DEMO_OSGi_DICTIONARY : 사전 서비스의 구현 인터페이스
- DEMO_OSGi_DICTIONARY_KOREA: 한국어 사전 서비스
- DEMO_OSGi_DICTIONARY_JAPAN: 일본어 사전 서비스
- DEMO_OSGi_DICTIONARY_RUN: 사전 메인