애플리케이션 Manifest 파일

애플리케이션 Manifest 파일은 OSGi 프레임워크에서 번들의 모듈 측면을 처리할 수 있도록 하는 메타데이타를 포함합니다.

다음 코드는 애플리케이션 Manifest 파일의 컨텐츠에 대한 예제입니다.
Manifest-Version: 1.0
Application-Name: OSGi Blog Application
Application-SymbolicName: com.ibm.ws.eba.example.blog.app
Application-Version: 1.0.0
Application-Content: com.ibm.ws.eba.example.blog.api;version=1.0.0,
 com.ibm.ws.eba.example.blog.persistence;version=1.0.0,
 com.ibm.ws.eba.example.blog.web;version=1.0.0,
 com.ibm.ws.eba.example.blog;version=1.0.0,
 com.ibm.json.java;version="1.0.0"
Application-ManifestVersion: 1.0
Application-ImportService: com.ibm.ws.eba.counter.Greet
Application-ExportService: com.ibm.ws.eba.example.blog.api.BloggingService
애플리케이션 Manifest에 포함될 수 있는 헤더는 다음과 같습니다.
Application-SymbolicName

Java™와 유사한 패키지 표기법을 사용하는, OSGi 애플리케이션의 고유한 기호 이름입니다.

Application-Version

번들 버전에 대한 OSGi 구문을 사용하는 애플리케이션 버전입니다.

Application-Name

애플리케이션 이름.

Application-ImportService

번들 분석을 위해 OSGi 프레임워크에서 사용하는 번들의 외부 종속성을 선언합니다. 각 서비스의 특정 버전 또는 버전 범위를 선언할 수 있습니다.

애플리케이션이 이용하는 외부 서비스에 대한 필터 세트입니다. 애플리케이션 Manifest는 서비스에 필요한 클래스를 포함해야 합니다. 이 헤더가 지정되지 않으면 필수 서비스는 가져오지 않습니다.

쉼표로 구분된 목록에서 서비스 인터페이스 이름 뒤에 속성 또는 지시문이 나오는, 필수 서비스를 지정합니다.
<service identifier>;<directives>;<attributes>
예를 들어, 다음과 같습니다.
test.it;filter="some_filter"
Application-ImportService 헤더에는 다음 속성이 포함됩니다.
filter
OSGi 서비스 필터입니다.
Application-ExportService

번들 외부에서 볼 수 있는 서비스를 선언합니다. 여기에 선언되지 않은 서비스는 번들에서만 볼 수 있습니다.

애플리케이션이 생성하는 외부 서비스에 대한 필터 세트입니다. 헤더가 지정되지 않으면 필수 서비스는 내보내지 않습니다.

쉼표로 구분된 목록에서 서비스 인터페이스 이름 뒤에 속성 또는 지시문이 나오는, 내보낸 서비스를 지정합니다.
<service identifier>;<directives>;<attributes>
예를 들어, 다음과 같습니다.
test.it;filter="some_filter"
Application-ExportService 헤더에는 다음 속성이 포함됩니다.
filter
OSGi 서비스 필터입니다.
Use-Bundle

적어도 하나의 패키지를 애플리케이션 번들에 제공하는 공유 번들입니다.

Application-Content 목록에서 번들의 패키지 종속성을 충족시키는 데 사용할 번들 또는 컴포지트 번들 목록입니다. Use-Bundle 목록에 있는 각 번들 또는 컴포지트 번들은 Application-Content 목록에 있는 하나 이상의 번들에 하나 이상의 패키지를 제공해야 합니다. 이러한 번들은 런타임에 공유 번들 공간으로 프로비저닝됩니다.

보통 Use-Bundle 헤더가 필요하지 않지만 유용한 경우도 있습니다. 이는 공유가 가능한 레벨을 제한하는 데 사용할 수 있습니다. 예를 들어, 애플리케이션이 테스트하는 패키지 가져오기에 동일한 번들을 사용하는지 확인할 수 있습니다. 또는 두 애플리케이션이 패키지 가져오기에 동일한 번들을 사용하는지 확인할 수 있습니다. 애플리케이션 레벨에서 제한사항을 설정하여 번들의 유연성을 유지할 수 있습니다.

Application-WebModules

애플리케이션에 포함된 비OSGi 동적 웹 프로젝트의 목록입니다.

이 헤더는 OSGi 표준에 속하지 않습니다.

Application-Content
애플리케이션에 포함된 OSGi 버전 스펙의 허용 범위에서 컴포지트 번들, 번들 단편, 번들로 구성된 목록입니다.
팁: Application-Content 목록에서 번들 단편을 포함하는 경우 단편에 대한 호스트 번들을 포함해야 합니다.
형식은 쉼표로 구분된 모듈 선언 목록입니다. 여기서, 각 모듈 선언에서 사용하는 형식은 다음과 같습니다.
<module identifier>;<directives>;<attributes>

일반적으로 모듈 ID는 번들의 기호 이름입니다. 번들이 아닌 자원을 참조하기 위해 모듈 ID는 OSGi 애플리케이션 루트에 상대적인 경로입니다.

Application-Content 헤더에는 다음 속성이 포함됩니다.
version
모듈 버전은 버전 범위에 대한 OSGi 구문을 사용하여 지정됩니다. 애플리케이션의 최소 버전과 뒤에 애플리케이션을 업그레이드할 수 있는 최대 버전을 지정합니다. 예를 들어 "[1.0.0,2.0.0)"은 버전 1.0.0 및 버전 2.0.0까지의 모든 이후 버전(단, 버전 2.0.0 제외)을 의미합니다.

Application-Content 헤더에는 비즈니스 서비스를 구성하는 중요한 애플리케이션만 정의되어 있고, 애플리케이션에 포함된 전체 번들 목록은 정의되어 있지 않습니다. 컨텐츠에 나열된 번들이 애플리케이션에 포함되지 않은 패키지를 사용하는 경우 종속성 분석이 수행되고 누락된 번들이 포함됩니다. 이러한 번들은 애플리케이션에 대한 외부에 존재하는 서비스를 제공할 수 없으며 이에 보안을 적용할 수 없습니다. 이 메커니즘을 사용하여 포함된 번들이 공유됩니다.

주제 유형을 표시하는 아이콘 개념 주제
Information Center의 이용 약관 | 피드백

시간소인 아이콘 마지막 업데이트 날짜: 2014-05-22

파일 이름: capplicationmf.html