OSGI ?

Yoon·2022년 7월 22일
0

OSGi(Open Sevice Gateway Initiative)란?


  • OSGI는 운영체제, 플랫폼에 독립적으로 운영되는 미들웨어 프레임워크이다.

  • OSGI는 컨테이너 안에서 효율적으로 사용할 수 있는 모듈러 자바 컴포넌트(번들)를 만들고 관리를 용이하게 한다.

  • 개발자로서, 하나 혹은 많은 번들을 만들기 위해 OSGI specification과 도구를 사용한다.

  • OSGI는 이러한 번들의 생명주기를 정의(혹은 규정)한다.

  • 또한, 컨테이너 안에 번들들의 상호작용을 도와주고 관리한다.

요약하자면
OSGI는 번들을 관리하고 편리하게 사용하기 위한 것 이라고 볼 수 있다.


개념

  1. OSGI는 서비스 지향 구조(SOA)이다.

  2. 서비스는 모두 번틀(Bundle)이라 부르는 물리적 묶음에 포함된다.
    복수개의 OSGI 서비스가 하나의 번들에 포함될 수도 있으며, 번들은 배포와 관리 기본 단위를 형성합니다. 이 번들들을 관리해 주는 것이 바로 프레임워크이다.

  3. 프레임워크는 서비스에 대한 등록/관리기를 가지고 있어서 서비스에 대한 등록/조회/실행/삭제 등을 수행한다.
    또한 이벤트와 그에 따른 이벤트 탐지 및 대응 처리도 하게 된다.

  4. OSGI는 프로그램을 만들 때 하나의 큰 프로그램으로 만들지 않고 여러 가지의 작은 프로그램을 만든 후 이것을 하나로 묶는 개념이다.

  5. OSGI는 하나의 프로그램을 개발하는데 여러 개발자들이 참여하고 또한 이 개발자들이 바뀌고 하다보면 프로그램이 점점 얽히고 이해하기 어려워 지기 때문에 나온 방법이다.


특징 및 장점

  • OSGI는 한개의 번들 또는 여러 개의 번들로 이루어진 애플리케이션을 재시작(restart) 없이 언제든지 동적으로 프레임워크 상에 설치, 실행, 업데이트, 중단, 제거하는 것을 가능하게 하는 매우 유연한 라이프 사이클(Life Cycle, 생명주기)모델을 지원

  • OSGI는 전체시스템에 버전이 각각 다른 모듈을 동시에 사용 할 수 있다.

  • OSGI는 각 묘듈간에 의존성을 관리 한다.

  • OSGI는 SOA처럼 각 모듈을 서비스 레지스터리에 등록하여 필요한 곳에서 가져다 쉽게 재사용 할 수 있다.

  • 각각의 번들이 완전히 분리되어 있으므로 다른 개발자가 개발한 모듈의 코드를 신경쓸 필요가 없다.


profile
나의 공부 일기

0개의 댓글