▶ OSGi (Open Services Gateway Initiative)
OSGi 기술은 java에서 동적 컴포넌트 시스템을 정의한 스펙이다.
The OSGi technology is a set of specifications that define a dynamic component system for Java.
컴포넌트 모듈을 만들고 이들을 추가하면 동적으로 반영되고 상호 모듈끼리 통신하여 대화할 수 있도록 만들어 주는 부분이 필요하다. 이를 위하여 OSGi는 어떤 Layer를 가지고 있나 보자
참조 http://www.osgi.org/Technology/WhatIsOSGi
위의 관계를 간단히 보면 다음과 같다
- 자바 인터페이스와 실제 구현 개체를 Service로 만든다 - Services Layer
- 서비스를 제공하기 위한 기능적 배포단위로 Bundle을 만든다 (Jar 파일롤 묶음. MANIFEST 파일 포함) - Module Layer
- 번들의 생명주기 관리는 Bundle Context가 해준다 (번들의 설치, 실행, 정지, 삭제 생명주기관리) - Life Cycle Layer
- Installed -> Resolved -> Start -> Active -> Stop -> Resolved -> Uninstalled
- 개발자입장에서 큰규모의 분산환경 구현 및 배포를 컴포넌트 기반으로 하기 때문에 이에대한 복잡성을 제거하여 단순화 해준다. (Eclipse, JBoss, Spring등에 쓰이고 있다)
- 사업면에서는 운영비용을 줄여주고 네트워크환경의 멀티디바이스 통합을 손쉽게 해준다
- 또다른 이점은 http://www.osgi.org/Technology/WhyOSGi 여길 참조하자. 좋은 점은 다가졌다는 이야기
'Middleware, Cloud > OSGi' 카테고리의 다른 글
[Eclipse Virgo] 사용하기 (0) | 2012.11.03 |
---|---|
[OSGi] 서비스 Layer 만들기 (0) | 2012.10.30 |
[OSGi] BundleContext에 의한 LifeCycle 관리 (0) | 2012.10.30 |
[OSGi] manifest.mf 파일 설정 (0) | 2012.10.30 |
[OSGi] Felix 설치 사용하기 (0) | 2012.10.29 |