11.2.7.2. Web Services-Atomic Transaction Process

원자 트랜잭션(AT)은 ACID 의미 체계가 적절한 단기적 상호 작용을 지원하도록 설계되었습니다. AT 범위에서 웹 서비스는 일반적으로 브리징을 사용하여 WS-T의 제어 하에 데이터베이스 및 메시지 큐와 같은 XA 리소스에 액세스합니다. 트랜잭션이 종료되면 참가자는 AT의 결과를 XA 리소스에 전파하고 적절한 커밋 또는 롤백 작업이 각 참가자가 수행합니다.

11.2.7.2.1. 원자적 트랜잭션 프로세스
  1. 클라이언트 애플리케이션은 AT를 시작하기 위해 먼저 WS-T를 지원하는 WS-C Activation Coordinator 웹 서비스를 찾습니다.
  2. 클라이언트는 WS-C CreateCoordinationContext 메시지를 서비스에 전송하여 http://schemas.xmlsoap.org/ws/2004/10/wsat 를 조정 유형으로 지정합니다.
  3. 클라이언트는 활성화 서비스에서 적절한 WS-T 컨텍스트를 받습니다.
  4. CreateCoordinationContext 메시지에 대한 응답인 트랜잭션 컨텍스트의 CoordinationType 요소에는 WS-AT 네임스페이스 http://schemas.xmlsoap.org/ws/2004/10/wsat 설정된 CoordinationType 요소가 있습니다. 또한 참가자를 등록할 수 있는 원자 트랜잭션 코디네이터 엔드포인트인 WS-C Registration Service에 대한 참조가 포함되어 있습니다.
  5. 일반적으로 클라이언트는 웹 서비스를 호출하고 웹 서비스의 모든 변경 사항을 커밋하거나 다시 롤백하여 트랜잭션을 완료합니다. 이 완료를 촉진하기 위해 클라이언트는 조정 컨텍스트에서 엔드포인트가 반환된 등록 서비스에 레지스터 메시지를 전송하여 완료 프로토콜의 참가자로 등록해야 합니다.
  6. 완료를 위해 등록한 다음 클라이언트 애플리케이션은 웹 서비스와 상호 작용하여 비즈니스 수준 작업을 수행합니다. 비즈니스 웹 서비스를 호출할 때마다 클라이언트는 트랜잭션 컨텍스트를 SOAP 헤더 블록에 삽입하여 각 호출의 범위를 암시적으로 트랜잭션으로 지정합니다. WS-AT 인식 웹 서비스를 지원하는 툴킷은 SOAP 헤더 블록에 있는 컨텍스트와 백엔드 작업을 연결하는 기능을 제공합니다. 이렇게 하면 웹 서비스에서 수정한 내용이 클라이언트와 동일한 트랜잭션 범위 내에서 수행되고 트랜잭션 코디네이터가 커밋 또는 롤백할 수 있습니다.
  7. 필요한 모든 애플리케이션 작업이 완료되면 클라이언트는 서비스 상태를 영구적으로 변경하기 위해 트랜잭션을 종료할 수 있습니다. 완료 참가자는 코디네이터에 트랜잭션을 커밋하거나 롤백하도록 지시합니다. 커밋 또는 롤백 작업이 완료되면 상태가 참가자에게 반환되어 트랜잭션 결과를 나타냅니다.

자세한 내용은 Naryana 프로젝트 문서의 WS-Coordination 을 참조하십시오.