Sanggu's blog




최상단 광고 코드

 추천 사이트

 애자일 이야기 : http://agile.egloos.com
 서명덕 기자의 인터넷 : http://itviewpoint.com
 비지니스 뉴스 : http://www.ciobiz.co.kr
 MOCOMSYS : http://www.mocomsys.com
 Apache Software : http://www.apache.org
 소프트웨어 기술경력관리: http://career.sw.or.kr
 한이음 (지식경제부): http://www.hanium.or.kr
 IT 기술 뉴스: http://www.bloter.net/
 IBM 티볼리 까페: http://cafe.naver.com/tivolitool.cafe
 JAVA jar 검색 : http://www.findjar.com
 VM Ware 가상화: http://www.vmware.com

2009년 10월 7일 수요일

JBI - componenet framework

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 됩니다.

댓글 없음:

댓글 쓰기