1.3. OSGi Framework
1.3.1. 개요
OSGi Alliance 는 OSGi Service Platform 릴리스 4 의 기능 및 기능을 정의하는 독립 조직입니다. OSGi Service Platform은 복잡한 소프트웨어 애플리케이션의 구축, 배포 및 관리를 단순화하는 오픈 사양 세트입니다.
OSGi 기술은 종종 Java용 동적 모듈 시스템이라고 합니다. OSGi는 번들을 사용하여 Java 구성 요소를 모듈식으로 배포하고 종속 항목, 버전 관리, 클래스 경로 제어 및 클래스 로드를 처리하는 Java용 프레임워크입니다. OSGi의 라이프사이클 관리를 사용하면 JVM을 종료하지 않고 번들을 로드, 시작 및 중지할 수 있습니다.
OSGi는 Java에 가장 적합한 런타임 플랫폼, 우수한 클래스 로드 아키텍처, 서비스 레지스트리를 제공합니다. 번들은 서비스를 내보내고, 프로세스를 실행하고, 종속성을 관리할 수 있습니다. 각 번들에는 OSGi 컨테이너에서 관리하는 요구 사항이 있을 수 있습니다.
Fuse는 Apache Felix 를 기본 OSGi 구현으로 사용합니다. 프레임워크 계층은 번들을 설치하는 컨테이너를 형성합니다. 프레임워크는 동적이고 확장 가능한 방식으로 번들 설치 및 업데이트를 관리하고 번들과 서비스 간의 종속성을 관리합니다.
1.3.2. OSGi 아키텍처
OSGi 프레임워크에는 다음이 포함됩니다.
- bundles - 애플리케이션을 구성하는 논리 모듈입니다. 1.5절. “OSGi 번들”을 참조하십시오.
- 서비스 계층 - 모듈과 포함된 구성 요소 간 통신을 제공합니다. 이 계층은 라이프사이클 계층과 긴밀하게 통합됩니다. 1.4절. “OSGi Services”을 참조하십시오.
- 라이프사이클 계층 - 기본 OSGi 프레임워크에 대한 액세스를 제공합니다. 이 계층은 개별 번들의 라이프사이클을 처리하므로 번들 시작 및 중지를 포함하여 애플리케이션을 동적으로 관리할 수 있습니다.
- 모듈 계층 - 번들 패키지, 종속성 확인 및 클래스 로드를 관리하는 API를 제공합니다.
- 실행 환경 - JVM 구성입니다. 이 환경에서는 번들이 작동할 수 있는 환경을 정의하는 프로필을 사용합니다.
- 보안 계층 - 추가 제약 조건 및 개선 사항이 포함된 Java 2 보안을 기반으로 하는 선택적 계층입니다.
프레임워크의 각 계층은 해당 계층에 따라 다릅니다. 예를 들어 라이프사이클 계층에는 모듈 계층이 필요합니다. 모듈 계층은 라이프사이클 및 서비스 계층 없이 사용할 수 있습니다.