CICS의 이벤트 생성 보증 방식

동기 생성 모드 및 적합한 트랜잭션 모드로 EP 어댑터를 사용하여 이벤트 생성을 보증할 수 있습니다. 동기 생성에서는 이벤트 형식화 및 생성 처리가 캡처 트랜잭션 작업 단위 내에서 동기적으로 완료됩니다. 이벤트가 생성되는 경우에만 작업 단위가 완료됩니다. EP 어댑터는 애플리케이션 태스크에서 링크됩니다. 즉, EP 디스패처 스레드 또는 별도의 EP 어댑터 태스크에 의한 비동기 처리를 위해 이벤트를 큐에 넣지 않습니다.

시스템 캡처 지점에 대해서는 동기 이벤트 생성이 지원되지 않으므로 시스템 이벤트 생성을 보증할 수 없습니다.

동기 이벤트는 트랜잭션 또는 트랜잭션이 아닐 수 있지만, 각 사례에서 전송 복구 가능성을 올바르게 설정해야 합니다.

동기 트랜잭션이 아닌 이벤트
작업 단위가 실패할 경우 이벤트가 취소되지 않도록 EP 어댑터는 이벤트를 복구 불가능한 방식으로 전송에 생성해야 합니다.
동기 트랜잭션 이벤트
작업 단위가 실패할 경우 트랜잭션 이벤트가 취소되도록 EP 어댑터는 이벤트를 복구 가능한 방식으로 전송에 생성해야 합니다.

모든 EP 어댑터가 TRANSMODE의 모든 조합에서 동기 생성을 지원하는 것은 아닙니다. 자세한 정보는 이벤트 처리 어댑터를 참조하십시오.

이벤트 생성에 실패하면 EP 어댑터가 이벤트에 대한 정보와 이벤트가 생성되지 못한 이유를 제공하고, 관련된 이벤트 통계를 증가시키고, 캡처 트랜잭션의 작업 단위를 취소시킵니다.

계획 고려사항

동기 이벤트 생성의 작동 방식을 알면 이 기능을 유용하게 사용하는 방법을 이해하는 데 도움이 됩니다. 동기 이벤트 생성을 사용할 때 고려해야 하는 몇 가지 사항으로, 보안, 성능, 전송, 애플리케이션에 대한 영향 등이 있습니다.

동기 생성의 경우 이벤트 캡처 트랜잭션에 이벤트 생성 전송(예: WebSphere® MQ EP 어댑터에 대한 WebSphere MQ 큐)에 대한 쓰기 권한이 있어야 합니다. 비동기 생성의 경우 이벤트를 생성하는 EP 디스패처 또는 어댑터 태스크에 쓰기 권한이 있어야 합니다.

동기, 트랜잭션 이벤트 생성은 복구 가능합니다. CICS WebSphere MQ EP 어댑터를 사용하는 경우, 이벤트가 동기점 아래의 WebSphere MQ 이벤트 큐에 놓입니다. 따라서 WebSphere MQ 로그 데이터 세트 공간 할당을 검토해야 합니다. CICS TSQ EP 어댑터를 사용하는 경우 복구 가능한 TS 큐 사용이 증가하므로 CICS 로그 스트림 크기 및 속성을 검토해야 합니다. 동기점을 사용하지 않고 장시간 실행되는 태스크를 포함한 동기 트랜잭션 이벤트를 사용하면 로그가 오버플로우될 수 있습니다.

동기 생성을 사용할 경우, 사용자 정의 EP 어댑터가 DFHEP.ADAPTPARM 컨테이너에서 EPAP_RECOVER 플래그를 준수해야 합니다. 자세한 정보는 사용자 정의 EP 어댑터를 참조하십시오.

이벤트 생성 보증은 비즈니스 주요 이벤트 기반의 애플리케이션을 구축하고 안전한 방법으로 기존의 애플리케이션을 확장하는 기회를 제공합니다. 반면에 이벤트 생성을 보증하는 데 필수적인 동기 처리가 애플리케이션 응답 시간에 영향을 줄 수 있습니다. 동기 이벤트 생성을 주의하여 사용해야 애플리케이션 영향이 줄어듭니다. 이벤트 생성 보증 시 성능 고려사항에 대한 자세한 정보는 이벤트 처리 성능을 참조하십시오.

단일 작업 단위로 여러 이벤트를 생성할 수 있습니다. 이때 일부 이벤트는 트랜잭션이고 일부 이벤트는 트랜잭션이 아닙니다. 캡처 트랜잭션이 동기 이벤트를 생성하는 데 실패하면 작업 단위가 캡처한 트랜잭션 이벤트와 함께 취소됩니다. 트랜잭션이 아닌 이벤트는 여전히 생성할 수 있습니다.

캡처 트랜잭션이 실패하지 않도록 하려면 EP 어댑터, 해당 자원(예: WebSphere MQ 큐) 및 이벤트 이용자가 생성될 이벤트의 예상 최대 볼륨을 처리하기에 충분한 용량으로 구성되어야 합니다.

동기 생성을 사용하는 경우를 결정하는 데 도움이 되도록 여기서는 동기 생성 및 비동기 생성에 대한 몇 가지 고려사항을 비교하여 보여줍니다.

비동기 이벤트 생성을 사용할 경우 다음 특성을 고려하십시오.
  • CICS® 프로그램에서 이벤트가 생성되는 순서가 캡처된 순서와 다를 수 있습니다.
  • 이벤트 실행 CICS 프로그램을 실행할 때마다 이벤트 생성 순서가 다를 수 있습니다.
  • 이벤트 생성이 보증되지 않습니다. 이벤트가 진행 중인 상태에서 CICS가 비정상적으로 종료되면 이벤트가 손상될 수 있습니다. 이벤트를 캡처한 이후 이벤트가 생성되기 이전에 CICS 시스템 오류가 발생하면 이벤트 바인딩의 EP 어댑터가 이벤트를 트랜잭션이도록 지정하는지 여부에 상관없이 이벤트가 완전히 생성되지 않을 수 있습니다.
  • 이벤트의 형식화 및 생성 비용이 이벤트 처리 스레드 또는 별도의 트랜잭션에 오프로드됩니다.
  • 캡처 트랜잭션에는 최소한의 영향만 미칩니다.
  • 애플리케이션 코드를 변경할 필요가 없습니다.
동기 이벤트 생성을 사용할 경우 다음 특성을 고려하십시오.
  • 이벤트를 캡처한 순서대로 CICS 프로그램에서 이벤트가 생성됩니다.
  • 캡처 트랜잭션이 완료되면 이벤트 생성이 보증됩니다.
  • 이벤트를 비즈니스 주요 데이터를 위한 애플리케이션 확장기능으로 고려할 수 있습니다.
  • WebSphere MQ EP 어댑터와 함께 동기 생성을 사용할 경우, 이벤트 전달을 보증할 수 있습니다.
  • 이벤트의 형식화 및 생성 비용이 애플리케이션 스레드에 추가됩니다.
  • 캡처 트랜잭션에 큰 영향을 미칩니다. 애플리케이션 스레드에 생성된 이벤트의 경우, 이벤트 생성이 실패하면 애플리케이션이 취소됩니다. 캡처 트랜잭션 구성 및 전체 시스템 자원 이용에 대한 영향을 고려하십시오.