㈜유미테크2㈜유미테크 Yeoman
• OpenService Gateway initiative
• OSGi Alliance에서 동적인 플랫폼을 만들기 위해 시작
• Dynamic Module System for Java
• 동적인 컴포넌트 모델을 지원하는 프레임워크
What is OSGi
3.
㈜유미테크3㈜유미테크 Yeoman
• 번들(Bundle)라는모듈 단위를 기반으로 동작
• 여러 개의 번들로 애플리케이션 구성
• 동적으로 프레임워크 상에 설치, 실행, 업데이트, 중단,
제거
• 라이프 사이클 모델을 지원
What is OSGi
4.
㈜유미테크4㈜유미테크 Yeoman
• 자바플랫폼 위에, 번들이라 불리는 작고 재사용 가능한
컴포넌트로부터 조립
• 시스템의 재시작 없이 연결구조를 동적으로 변경
• 번들이 동적으로 추가/삭제되고 서로 간에 호출
• Service Registry에 서비스를 등록
서비스를 export / import
OSGi Feature
㈜유미테크12㈜유미테크 Yeoman
Getting started
packagecom.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.
㈜유미테크13㈜유미테크 Yeoman
Example
• 사전서비스
- 번들의 결합을 보여주고 서비스를 등록하며 서비스를 찾아 서비스
를 이용하는 예제
- DEMO_OSGi_DICTIONARY
: 사전 서비스의 구현 인터페이스
- DEMO_OSGi_DICTIONARY_KOREA
: 한국어 사전 서비스
- DEMO_OSGi_DICTIONARY_JAPAN
:일본어 사전 서비스
- DEMO_OSGi_DICTIONARY_RUN
:사전 메인