JBI - component framework.
1. overview.
JBI의 component요소(Sevice Engine, Binding component)를 JBI 환경과 인터페이스에 install/uninstall, life cycle 그리고 error 지시를 제공하는 것입니다.
JBI framework은 아래의 항목 반드시 제공하여야 합니다.
- Component installation context. - component를 install/unistall시에 access ,자원 및 정보 제공을 해야 함.
- Component context. - component를 초기(init())화 할시에 access, 자원 및 정보제공.
- Class Loading. - Class Loader시에 (즉, compoenet instance 생성시) component에 대해, bootstrap과 실행시간을 제공해야 함.
component에게 JBI library로는 표준 class loader계층, component access, 공유를 제공해야 함.
- Error indication. - JBI spec의 구성에 맞추어 개발시 에러에 관해서는 Exception class를 제공하게 되는데, 여러가지 error type을 제공해야 한다.
JBI는 특정 인터페이스를 구현하기 위해 다음과 같은 기능을 제공 :
- Bootstrap - JBI의 관리 기능으로서, install/uninstall에 대해 제공.
- Component - JBI의 구성요소 서비스 단위(SE, BC)
- Component life cycle - component life cycle.
- Service unit manager. - service 단위의 구성요소에 depoly에 관한 제어. (선택적 사항)
2. Component의 관리 기능
[1] Bootstrapper.
- componentdml install/uninstall은 JBI의 관리시스템에 의해 실행.
- component는 bootstrap interface스를 구현하는 class의 이름으로 제공되야 한다.
(방식 - Bootstrap.init() )
[2]. Component Interface
- 각 componenet는 반드시 component interface에 대해서 구현이 되어야 함.
- implementation class 이름은 관리 시스템의 install description을 제공해야 함.
- 그리고 componenet interface는 아래와 같은 access에 대한 제공을 해줘야 함.
1) component의 life cycle.
2) component의 service unit manager
3. Component Life cycle
- 각 component들은 componentLifeCycle interface에 의해 구현되어야 한다.
그로인해 component interface를 통해 액세스를 하게된다.
- life cycle은 ComponentLifeCycleMBean으로 구현되며 필요한 component 상태를 변경할 수 있도록
ComponentLifeCycle interface를 사용한다.
4. Service Unit Manager
- 각 component들은 선택적으로 service manager unit을 제공할 수 있다.
serviceUnintManager interface를 통해 구현 가능.
JBI 공급 환경 특징 (요소)
1. Component Context
- component를 초기화 할시에 자원 또는 정보 제공은 아래와 같습니다.
- Component Name
- installation Root
- Workspace Root
- MBean Name service (JMX MBean object name)
- MBean Server
- Naming context
- Delivery channel.
- Endpoint Activation/deactivation
2. Installation (Bootstrap)
- Component name.
- Component class name.
- Class path elements
- Component context. (init() 을 위해 access 제공)
* getComponentName (), getInstallRoot (), getMBeanNames (), getMBeanServer (),
getNamingContext (), getTransactionManager (), getWorkspaceRoot ()
- Installation root directory
- Component installation descriptor.
3. Logger.
Java.util.logging.Logger 사용.
Class Loading
component instance를 생성하는데 사용되는 클래스 로더 제공. ( Installation time, Execution time)
(예를 들면, jvm class loading 될때, Bootstrap loading --> extension loading --> System class loading)
[1]. Class and Resource Loading Styles and Loader Ordering
1) Initialing loader 생성
2) shared library class loader search
3) component's shared library loader as a single parent.
4) Each shared library loader
5) JBI 상위 클래스 loader로서, shared class 사용.
6) 그 외의 library loader.
[2]. Shared Libraries
일반적으로 둘 이상의 JBI 구성 요소에서 공유되는 Java 클래스를
[3]. Execution Class Loader
1) Class Loading Ordering Rules
2) Delegation Style
3) Installation and Uninstallation of Shared Libraries
4) Component Viewpoint
[4]. Bootstrap Class Loader
1) Class Loading Ordering Rules
2) Delegation Style
Error Indication
기본적으로 Java exception을 사용.
1) DeploymentException
- administrative tool을 사용하여deployment 실패시. 상세정보를 나타낸다.
2) MessagingException.
- NMR에 의하여 생성, 조작, 전송 및 교환 및 메시지를 수신할때 throw 됩니다.
댓글 없음:
댓글 쓰기