아키텍처

Liberty는 구성도가 높은 동적 런타임 환경입니다. OSGi 서비스는 컴포넌트 라이프사이클, 종속 항목과 구성의 삽입을 관리하는 데 사용됩니다. 서버 프로세스는 단일 JVM, Liberty 커널 및 다수의 선택적 기능으로 구성됩니다. 기능 코드 및 대다수의 커널 코드는 OSGi 프레임워크 내에서 OSGi 번들로 실행됩니다. 기능은 애플리케이션에 필요한 프로그래밍 모델 및 서비스를 제공합니다.

그림 1. Liberty 아키텍처
런타임 환경은 커널, JVM 및 다수의
Liberty 기능이 포함된 OSGi 프레임워크입니다.

커널 실행기는 시스템을 부트스트랩하고 OSGi 프레임워크를 시작합니다. 구성을 구문 분석한 다음 구성된 기능을 기능 관리자가 로드합니다. 커널은 OSGi 서비스를 광범위하게 사용하여 아주 동적인 런타임 환경을 제공합니다. OSGi 구성 관리 서비스는 시스템 구성을 관리하며 OSGi 선언 서비스(DS) 컴포넌트는 시스템 서비스의 라이프사이클을 관리합니다. 파일 모니터 서비스는 애플리케이션 및 구성 파일 변경을 발견하며, 로깅 서비스는 메시지 및 디버그 정보를 로컬 파일 시스템에 작성합니다.

그림 2. Liberty 커널
 커널은 선언 서비스에서의 작동 및 구성 관리를 위해
기능 관리자, 파일 모니터, 로깅 서비스, OSGi 자원을 포함합니다.

기능은 server.xml 파일 및 기타 포함된 파일인 시스템 구성 파일에 지정됩니다. 서버 구성 파일은 OSGi 구성 관리 서비스를 채우는 데 사용되며, OSGi 구성 관리 서비스에서는 기능 구성을 기능 관리자 서비스에 삽입합니다. 기능 관리자는 각 기능 이름을 기능을 제공하는 번들 목록에 맵핑합니다. 번들은 OSGi 프레임워크로 설치되어 시작됩니다. 기능 관리자는 서버 실행 동안 기능을 동적으로 추가하고 제거하여 구성 변경에 응답합니다.

그림 3. 기능 관리
OSGi 구성 관리 서비스는 server.xml 파일에서 구성을 읽으며
기능 구성을 기능 관리자로 삽입합니다. 기능 관리자는
각 기능을 제공하는 번들로부터 번들 목록을 읽은 다음,
이 번들을 OSGi 프레임워크에 설치하고 시작합니다.

런타임 서비스는 구성 기본 설정을 제공하여 사용자가 지정해야 하는 구성이 최소값으로 유지되도록 합니다. server.xml 파일에서 추가와 함께 필요한 기능을 지정하거나 시스템 기본 설정으로 대체합니다. "include" 구문을 사용하여 상위 server.xml 파일에 링크된 별도의 여러 파일로 구성하도록 선택할 수 있습니다. 서버 시작 시 또는 사용자 구성 파일이 변경된 경우, 커널 구성 관리는 구성을 구문 분석하며 시스템 기본 설정에 해당 값을 적용합니다. 구성이 업데이트될 때마다 각 서비스에 속하는 구성 특성 세트가 서비스에 삽입됩니다.

그림 4. 구성 관리
 구성 관리자는 커널의 번들에서 기본 구성을 읽고,
사용자가 지정한 구성을 이 기본 구성에 적용한 다음,
병합된 구성을 기능 번들에 삽입합니다.

OSGi 선언 서비스(DS) 컴포넌트가 사용되어 필요한 경우에만 활성화되는 별개 서비스로 기능을 분해할 수 있습니다. 이렇게 하면 공간을 작게 유지하고 시작을 빠르게 하면서 런타임 환경을 "느리게 지연되도록" 할 수 있습니다. 선언 서비스(DS)는 OSGi 서비스 레지스트리에 추가되며, 서비스 사이의 종속 항목은 구현 클래스를 로드하지 않고 해결될 수 있습니다. 서비스 참조가 확인된 경우 서비스가 실제로 사용될 때까지 서비스 활성화를 지연시킬 수 있습니다. 서비스가 활성화될 때 각 서비스에 대한 구성이 삽입되며, 구성이 나중에 수정된 경우 다시 삽입됩니다.


주제의 유형을 표시하는 아이콘 개념 주제

파일 이름: cwlp_arch.html