■ OSGi(Open Services Gateway Initiative - Dynamic Module for Java)
- 한개의 번들 또는 여러 개의 번들로 이루어진 애플리케이션 자체를 언제든지 동적으로 프레임워크상에 설치, 실행, 업데이트, 중단, 제거하는 것을 가능하게 하는 매우 유연한 라이프 사이클모델을 지원하는 프레임워크
- JSR-291 : Dynamic Component Support for Java
- JSR-277 : Java Module System
■ OSGi History
- OSGi Alliance(http://www.osgi.org) 1999년 3월 IBM, Sun, NOKIA, Samsung
- 홈네트워크를 지원하기 위한 플랫폼으로 개발
■ OSGi 특징
- 각 애플리케이션이 번들이라고 불리는 작고 재사용 가능한 컴포넌트로부터 조립될수 있도록 도와준다
- 여러개의 번들로부터 조합된 애플리케이션들은 OSGi 프레임워크가 설치된 곳은 어디든지 배포될 수 있다.
- 조합된 어플리케이션들은 시스템의 재시작없이 컴포넌트의 연결 구조를 동적으로 변경할 수 있다.
■ OSGi의 사용처
- 이클립스 : 포함된 equinox가 OSGi의 구현체로 번들로 구성된다.
- 프린터 및 복합기 : Canon MEAP, Ricoh OSA
- WAS
IBM Websphere, Oracle WebLogic, Redhat JBoss, SpringSource Application Platform, Sun GlassFish Enterprise Server
■ OSGi의 구현체
- OSGi는 Specification만이 존재하므로 여러 구현체가 있게 된다. 이 구현체의 목록은 아래와 같다.
구현 Spec |
License |
URL | |
Eclipse Equinox | R4 |
EPL |
|
Apache Felix |
R4 | APACHE | |
Knopflerfish | R4&R3 | BSD | http://www.knopflerfish.org |
Concierge |
R3 | BSD | |
ProSyst mBedded Server | R4 |
EPL&Professional Edition |
http://www.prosyst.com |
■ OSGi 의 특징 2
- 여러개의 번들로부터 조합된 애플리케이션들은 OSGi 프레임워크가 설치괸 곳은 어디든지 배포 가능
- 애플리케이션들은 시스템의 재시작 없이 컴포넌트의 연결구조를 동적으로 변경할 수 있다.
- 동적으로 변경하기 위해 OSGi는 서비스 지향 아키텍처(SOA)를 사용
- OSGi에서 제공하는 Service Registry에 자신의 서비스를 등록하여 OSGi를 통해 서비스를 import/export 가능
※ SOA - 소프트웨어를 구축할 때, 각각의 컴포넌트에 의해 처리되는 작업들을 잘 정의된 인터페이스를 가지는 서비스들로 도출한 후, 이를 연동/조합하여 시스템을 구축하는 형식
즉 '서비스'와 '이를 조합하여 하나의 어플리케이션을 구축하는 것'이 중심
■ OSGi API - 구현체인 관계로 API는 동일하며 OSGi Alliance(http://www.osgi.org/Release5/Javadoc) 에서 서비스 한다. 현재 버전 5
[펌] : http://pirrip.tistory.com/122
http://cafe.naver.com/eclipseplugin/2278'언어&플랫폼 > Eclipse RCP&RAP' 카테고리의 다른 글
[Eclipse RCP] 패키지, 배포 - 펌 (0) | 2013.01.16 |
---|---|
[Eclipse RCP] export와 import (0) | 2013.01.16 |
Eclipse RCP,RAP 개발환경 구축 (2) | 2013.01.04 |
rcp 관련 주소 (0) | 2012.12.27 |
[링크] Rich client platform 설명 및 배우기 참고 (0) | 2012.11.22 |