OSGi 일괄처리 애플리케이션 배치
기존 일괄처리 애플리케이션을 OSGi 애플리케이션으로 패키지할 수 있습니다. 그런 다음 일괄처리 아티팩트를 서비스로 노출할 수 있도록 패키지를 배치하여 일괄처리 컨테이너에 아티팩트를 표시할 수 있습니다.
이 태스크 정보
OSGi 일괄처리 애플리케이션을 패키지하고 일괄처리 아티팩트를 서비스로 설명하도록 Blueprint XML 파일을 수정하고 OSGi 일괄처리 애플리케이션을 EBA(Enterprise Bundle Archive)로 내보내십시오. 그런 다음 xJCL을 작성하십시오. 끝으로, OSGi 일괄처리 애플리케이션을 배치하십시오.
프로시저
- OSGi 일괄처리 애플리케이션을 패키지하십시오.
OSGi 일괄처리 애플리케이션을 EBA로 패키지하십시오. EBA는 Blueprint 번들인 일괄처리 번들을 하나 이상 포함합니다. API 번들과 디스패처 번들은 이전에 내부 번들 저장소에 설치되었습니다.
클라이언트 번들 작성에 대한 주제를 읽은 다음 해당 단계에 따라 OSGi 애플리케이션을 패키지하십시오.
- Blueprint XML을 작성하십시오.
스케줄러가 호출할 수 있도록 작업 단계와 일괄처리 데이터 스트림을 서비스로 선언해야 합니다. OSGi 일괄처리 애플리케이션이 체크포인트 정책 알고리즘 또는 결과 알고리즘을 구현하는 경우에는 애플리케이션이 구현하는 각 알고리즘도 서비스로 선언해야 합니다.
- 각 작업 단계를 Blueprint 서비스로 선언하십시오.
- interface 속성을 설정하십시오.
- 단계가 계산 중심 단계인 경우, 속성을 com.ibm.websphere.ci.CIWork로 설정하십시오.
- 단계가 트랜잭션 일괄처리 단계인 경우, 속성을 com.ibm.websphere.batch.BatchJobStepInterface로 설정하십시오.
- ref 속성을 단계 Bean을 선언하는 Bean ID로 설정하십시오.
- xjcl:classname 키와 단계를 구현하는 Java™ 클래스 값으로 특성을 선언하십시오.
- 단계를 구현하는 Java 클래스를 위한 Bean을 선언하십시오.
- scope 속성을 prototype으로 설정하십시오.
계산 중심 단계 예:
<bean id="IVTStep1" class="com.ibm.websphere.batch.samples.tests.steps.GenerateDataStep" scope="prototype"/> <service ref="IVTStep1" interface="com.ibm.websphere.ci.CIWork" id="step1"> <service-properties> <entry key="xjcl:classname" value="com.ibm.websphere.batch.samples.tests.steps.GenerateDataStep"/> </service-properties> </service>
트랜잭션 일괄처리 단계 예:
<bean id="EchoStep2" class="com.ibm.websphere.batch.samples.tests.steps.TestBatchJobStep" scope="prototype"/> <service ref="EchoStep2" interface="com.ibm.websphere.batch.BatchJobStepInterface" id="echostep1"> <service-properties> <entry key="xjcl:classname" value="com.ibm.websphere.batch.samples.tests.steps.TestBatchJobStep"/> </service-properties> </service>
- interface 속성을 설정하십시오.
- 각 일괄처리 데이터 스트림을 Blueprint 서비스로 선언하십시오.
- interface 속성을 com.ibm.websphere.batch.BatchDataStream으로 설정하십시오.
- ref 속성을 일괄처리 데이터 스트림 Bean을 선언하는 Bean ID로 설정하십시오.
- xjcl:classname 키와 일괄처리 데이터 스트림을 구현하는 Java 클래스 값으로 특성을 선언하십시오.
- 일괄처리 데이터 스트림을 구현하는 Java 클래스를 위한 Bean을 선언하십시오.
- scope 속성을 prototype으로 설정하십시오.
일괄처리 데이터 스트림 예:
<bean id="output" class="com.ibm.websphere.batch.samples.tests.bds.TestOutputBatchDataStream" scope="prototype"/> <service ref="output" interface="com.ibm.websphere.batch.BatchDataStream" id="out1"> <service-properties> <entry key="xjcl:impl-class" value="com.ibm.websphere.batch.samples.tests.bds.TestOutputBatchDataStream"/> </service-properties> </service>
- 체크포인트 정책 알고리즘을 Blueprint 서비스로 선언하십시오.
OSGi 일괄처리 애플리케이션이 체크포인트 정책 알고리즘을 구현하는 경우, 알고리즘을 Blueprint 서비스로 선언하십시오. 그렇지 않으면 이 단계를 건너뛰십시오.
- interface 속성을 com.ibm.wsspi.batch.CheckpointPolicyAlgorithm으로 설정하십시오.
- ref 속성을 체크포인트 Bean을 선언하는 Bean ID로 설정하십시오.
- xjcl:classname 키와 체크포인트 정책 알고리즘을 구현하는 Java 클래스 값으로 특성을 선언하십시오.
- 체크포인트 정책 알고리즘을 구현하는 Java 클래스를 위한 Bean을 선언하십시오.
- scope 속성을 prototype으로 설정하십시오.
체크포인트 정책 알고리즘 예:
<bean id="chkpt" class="com.ibm.websphere.batch.samples.MyCheckpointAlgorithm" scope="prototype"/> <service ref="chkpt" interface="com.ibm.wsspi.batch.CheckpointPolicyAlgorithm" id="ck1"> <service-properties> <entry key="xjcl:impl-class" value="com.ibm.websphere.batch.samples.MyCheckpointAlgorithm"/> </service-properties> </service>
- 결과 알고리즘을 Blueprint 서비스로 선언하십시오.
OSGi 일괄처리 애플리케이션이 결과 알고리즘을 구현하는 경우, 알고리즘을 Blueprint 서비스로 선언하십시오. 그렇지 않으면 이 단계를 건너뛰십시오.
- interface 속성을 com.ibm.wsspi.batch.ResultsAlgorithm으로 설정하십시오.
- ref 속성을 결과 알고리즘 Bean을 선언하는 Bean ID로 설정하십시오.
- xjcl:classname 키와 결과 알고리즘을 구현하는 Java 클래스 값으로 특성을 선언하십시오.
- 결과 알고리즘을 구현하는 Java 클래스를 위한 Bean을 선언하십시오.
- scope 속성을 prototype으로 설정하십시오.
결과 알고리즘 예:
<bean id="myres" class="com.ibm.websphere.batch.samples.MyResultsAlgorithm" scope="prototype"/> <service ref="myres" interface="com.ibm.wsspi.batch.ResultsAlgorithm" id="r1"> <service-properties> <entry key="xjcl:impl-class" value="com.ibm.websphere.batch.samples.MyResultsAlgorithm"/> </service-properties> </service>
- 각 작업 단계를 Blueprint 서비스로 선언하십시오.
- OSGi 일괄처리 애플리케이션을 EBA로 내보내십시오.
- xJCL을 작성하십시오. 원하는 경우 다른 일괄처리 애플리케이션에 대해 다음과 같은 몇 가지 차이점이 있는 xJCL을 작성하십시오.
- 작업 단계의 application-name 속성을 배치된 자산 이름으로 만드십시오. 배치된 자산은 컴포지션 단위입니다.
- 단계의 클래스 이름 하위 요소를 단계 서비스의 xjcl:classname 특성과
일치하도록 만드십시오. 다음 예는 이 프로시저에서 이전에 나열된 트랜잭션 일괄처리 단계 예에 있는 com.ibm.websphere.batch.samples.tests.steps.TestBatchJobStep의 xjcl:classname 특성을 사용합니다.
<step id=”step1”> <classname> com.ibm.websphere.batch.samples.tests.steps.TestBatchJobStep</classname> </step>
- OSGi 일괄처리 애플리케이션을 배치하십시오.
OSGi 애플리케이션을 비즈니스 레벨 애플리케이션으로 배치에 대한 주제를 읽고 해당 단계를 수행하십시오.
결과
OSGi 일괄처리 애플리케이션을 패키지했으며 일괄처리 아티팩트를 서비스로 설명하도록 Blueprint XML을 수정했고 OSGi 일괄처리 애플리케이션을 EBA(Enterprise Bundle Archive)로 내보냈습니다. 그런 다음 xJCL을 작성했습니다. 마지막으로 OSGi 일괄처리 애플리케이션을 배치했습니다.
하위 주제
OSGi 일괄처리 애플리케이션
OSGI 일괄처리 애플리케이션은 일괄처리 아티팩트를 서비스로 표시할 수 있도록 OSGI 애플리케이션으로 패키징하고 배치할 수 있는 일괄처리 애플리케이션입니다.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tgrid_cgbatchosgi
파일 이름:tgrid_cgbatchosgi.html