BPEL-오류 처리 사용

오류 처리를 사용하는 방법을 이해하려면 Oracle SOA Suite에서 서비스 조합의 기본 아키텍처를 배워야합니다.

  • Service components− BPEL 프로세스, 비즈니스 규칙, 휴먼 태스크, 중재자. 이들은 SOA 복합 애플리케이션을 구성하는 데 사용됩니다.

  • Binding components − SOA 컴포지트와 외부 세계 간의 연결을 설정합니다.

  • Services − SOA 복합 애플리케이션에 대한 진입 점을 제공합니다.

  • Binding − SOAP / HTTP, JCA 어댑터 등과 같은 서비스와 통신하는 프로토콜을 정의합니다.

  • WSDL − 웹 서비스의 서비스 정의를 정의합니다.

  • References − SOA 복합 애플리케이션이 외부 서비스에 메시지를 보낼 수 있도록합니다.

  • Wires − 서비스 구성 요소 간의 연결을 활성화합니다.

결함 유형

이제 다양한 유형의 결함을 살펴 보겠습니다.

비즈니스 결함

애플리케이션이 THROW 활동을 실행하거나 INVOKE가 응답으로 오류를 수신 할 때 발생합니다. 결함 이름은 BPEL 프로세스 서비스 구성 요소에 의해 지정됩니다. 결함 이름과 결함 변수를 사용하는 결함 핸들러는이 결함을 포착합니다.

런타임 오류

이것은 시스템에 의해 발생합니다. 이러한 결함은RunTimeFaultMessage 에 포함되어 있습니다.

http://schemas.oracle.com/bpel/extensionnamespace.

오류 처리 방법

이 섹션에서는 다양한 오류 처리 방법에 대해 알아 봅니다.

활동 던지기

Throw 활동은 명시 적으로 오류를 throw합니다. catch 블록은이 오류를 포착하고 이에 따라 해당 작업이 실행됩니다.

  • throw 활동을 사용하면 비즈니스 오류를 throw 할 수 있으며 생성 된 범위 내에서이 오류를 포착하고 조치를 취하기 위해 호출자 (소비자)에게 리디렉션 할 수 있습니다.

  • 위의 접근 방식 대신 생성 된 범위의 catch 활동에서 잡힌 동일한 오류를 발생시킵니다. 기본 범위에서 catchall 활동을 사용하여이 결함을 포착 할 수 있습니다.

오류 처리기 프레임 워크 (EHF)

EHF에서 사용되는 2 개의 주요 파일은 다음과 같습니다.

  • Fault-Policy.xml
  • Fault-Bindings.xml

BPEL 프로세스에서 오류가 발생할 때마다 EHF는 오류가 Fault-Bindings.xml 파일에 있는지 여부를 확인합니다. 그렇다면 Fault-Policy.xml 파일의 작업이 수행됩니다. 조치가 발견되지 않으면 결함이 발생하고 catch 블록에서 처리됩니다.

오류 관리 프레임 워크 (Fault-Policy.xml 및 Fault-Bindings.xml)는 SOA 조합 내에 유지됩니다.

catch 및 catchall과 같은 결함 처리기는 모든 결함을 포착하기 위해 BPEL 내부에 있지만 fault policies will only be executed when an invoke activity fails.