비즈니스 활동
지원을 사용하는 애플리케이션 컴포넌트를
작성하려면 관련 애플리케이션 컴포넌트의
배치 디스크립터에서 비즈니스
활동 범위 내에서 EJB 메소드 실행을
설정해야 하며 필요한 경우 오류 발생 시
애플리케이션이 사용할 보상 핸들러를
작성하고 지정해야 합니다. 그런 다음
애플리케이션에 컴포넌트를 빌드하고
비즈니스 활동 지원을 사용할 수 있는 서버에
애플리케이션을 배치합니다. 애플리케이션
컴포넌트는 엔터프라이즈 Bean 또는
엔터프라이즈 Bean으로 구현되는 웹 서비스일 수 있습니다.
시작하기 전에
Rational® Application
Developer를 사용한 배치 디스크립터 편집에 대한 정보는
Rational Application Developer
정보를 참조하십시오.
이 태스크 정보
비즈니스
활동 사용 서버에서 실행되는 애플리케이션에 이
태스크를 완료하면 런타임에 비즈니스 활동 지원을
사용할 수 있으며 보상 핸들러가 나중에 보상할 수 있는 작업을 수행할 수 있습니다. 비즈니스
활동 범위가 종료될 때 애플리케이션에
보상이 필요한 경우, 애플리케이션은
비즈니스 활동 API를 사용하여 보상
프로세스에 필요한 데이터를 보상 핸들러에
간접적으로 전달합니다. 보상
프로세스에 필요한 데이터는 직렬화
가능한 오브젝트 또는 서비스
데이터 오브젝트(SDO) 양식일 수 있습니다.
프로시저
- 비즈니스
활동 지원이 필요한 애플리케이션 컴포넌트를
디자인하십시오. 특히 보상 및 닫기
활동에 대한 애플리케이션 컴포넌트
요구사항을 정의하십시오. 애플리케이션
컴포넌트에 보상이 필요한 경우
애플리케이션 컴포넌트가 보상 핸들러로
전달하는 SDO 또는 직렬화 가능 오브젝트에서
데이터의 네이처를 정의하십시오.
- 필요한 경우 애플리케이션 디자인의
정보를 사용하여 애플리케이션 컴포넌트에
대한 보상 핸들러를 작성하십시오. 이 핸들러는 애플리케이션
컴포넌트를 통해 핸들러가
추가된 비즈니스 활동 범위가
완료될 때 실행되는 닫기 및 보상 로직을
정의합니다.
- 선택한 WebSphere® Application Server 어셈블리
도구를 여십시오.
- 보상
프로세스에서 필요한 데이터의 형식에 따라
적절한 인터페이스를 구현하는 새 Java™
클래스를
작성하십시오.
- 직렬화 가능 오브젝트의
경우 com.ibm.websphere.wsba.serializable.CompensationHandler
인터페이스를 구현하십시오.
- SDO의 경우 com.ibm.websphere.wsba.CompensationHandler
인터페이스를 구현하십시오.
- 새 보상 핸들러 오브젝트에 대한 close
및 compensate
메소드를 구현하여 호출 시 핸들러로 전달되는
직렬화 가능 또는 SDO 데이터에 따라 적절한 조치를
수행하십시오.
이제
참조할 애플리케이션 컴포넌트와 애플리케이션으로의
어셈블리에 보상 핸들러 클래스를 사용할 수 있습니다.
- 어셈블리 도구에서 애플리케이션 컴포넌트를 여십시오.
- 배치 디스크립터
뷰어에서 애플리케이션 컴포넌트의 배치 디스크립터를
여십시오.
- 보상 섹션으로 스크롤하고
비즈니스 활동 범위에서 EJB 메소드 실행
선택란을 선택하십시오.
- 보상
핸들러 클래스 텍스트
필드에 이전에 작성한 보상 핸들러
클래스의 완전한 클래스 이름을
입력하십시오.
- 배치 디스크립터를 저장하십시오.
- 애플리케이션
컴포넌트와 보상 핸들러를 둘 다 포함하여
애플리케이션을 빌드하십시오. 애플리케이션이
웹 서비스인 경우 애플리케이션은
JSR(Java
Specification Request) 109 표준을 준수해야 합니다.
- 비즈니스
활동을 사용하는 애플리케이션 서버에 애플리케이션을 배치하십시오.
결과
이제 애플리케이션이
비즈니스 활동을 사용할 수 있으며
런타임에 비즈니스 활동 API를 통해 비즈니스
활동 지원을 사용할 수 있습니다. 애플리케이션
컴포넌트에 연관된 보상
핸들러가 있으므로 런타임에
setCompensationDataImmediate 및 setCompensationDataAtCommit
메소드를 호출하여 비즈니스
활동 범위에 보상 핸들러를 추가할 수 있습니다. 이 메소드에 대한 자세한
정보는 비즈니스 활동 API에 대한 주제를
참조하십시오. 비즈니스 활동
범위가 연관된 작업 단위가 실패하면
보상 핸들러가 오류를 보상하기 위한 조치를
수행합니다.
다음에 수행할 작업
보상 핸들러
클래스가 WebSphere Application
Server 런타임 환경에 대한 애플리케이션 클래스 경로에 있는지
확인하십시오.