3. What is OSGi
• Open Service Gateway initiative
• OSGi Alliance 에서
동적인 플랫폼을 만들기 위해 시작
• Dynamic Module System for Java
• 동적인 컴포넌트 모델을 지원하는 프레임워크
4. What is OSGi
• 번들(Bundle)라는 모듈 단위를 기반으로 동작
• 여러 개의 번들로 애플리케이션 구성
• 동적으로 프레임워크 상에 설치, 실행, 업데이트,
중단, 제거
• 라이프 사이클 모델을 지원
5. OSGi Feature
• 자바 플랫폼 위에, 번들이라 불리는 작고 재사용
가능한 컴포넌트로부터 조립
• 시스템의 재시작 없이 연결구조를 동적으로 변경
• 번들이 동적으로 추가/삭제되고 서로 간에 호출
• Service Registry에 서비스를 등록
서비스를 export / import
13. 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~");
}
}
14. Example
• 사전 서비스
- 번들의 결합을 보여주고 서비스를 등록하며 서비스를 찾아 서비스
를 이용하는 예제
• DEMO_OSGi_DICTIONARY
: 사전 서비스의 구현 인터페이스
• DEMO_OSGi_DICTIONARY_KOREA
: 한국어 사전 서비스
• DEMO_OSGi_DICTIONARY_JAPAN
:일본어 사전 서비스
• DEMO_OSGi_DICTIONARY_RUN
:사전 메인
Notas do Editor
OSGi Alliance라는 비영리 단체에서 시작 되었습니다.
OSGi Alliance는 처음에는 홈 네트워크를 지원하는 플랫폼을 만들었고
자바 플랫폼이 지원하지 못하는 동적인 플랫폼을 만들기 위해 시작됩니다.
OSGi는 몇가지 특징을 갖고 있습니다.
..조립하여 하나의 애플리케이션을 만듭니다.
비유를 들면 레고를 들 수 있는데, 레고의 조각들을 모아서 성을 만들고 차를 만드는 방법과 같습니다.
프레임워크가 재시작없이 동적으로 동작할 수 있도록 라이프 사이클을 제공합니다.
번들들은 서비스 형태로 만들어 질 수 있습니다.
서비스 인터페이스를 구현해서 서비스 객체를 만들고 이를 서비스 레지스트리에 등록을 합니다.
그리고 서비스가 필요한 번들은 서비스 레지스트리에를 통해서 등록된 서비스를 찾아 인터렉트를 하게 됩니다.
나플러 피시
보시면 펠릭스랑 카라프는 아파치에서 만들어진 거고.
이퀴녹스랑 버고는 이클립스 쪽에서 만들어 진겁니다.
카라프는 펠릭스를 확장한 것으로 SSH로 접속하거나 웹 관리가 가능하고 많은 명령어를 지원하므로써 관리에 용이하도록 만들어진 프레임 워크 입니다.
버고는 OSGi 프레임워크는 아니고 이퀴녹스 위에 올라가 동작하는 엔터프라이즈 애플리케이션 서버입니다.
스프링이 발전되면서 요즘 많이 대두 되고 있길래 넣어 봤습니다.
이중에 사용해본것은..