WS-AtomicTransaction – 모바일 애플리케이션, 웹 서비스, SOA 아키텍처 개발 - 기술
콘텐츠로 건너뛰기

WS-AtomicTransaction – 모바일 애플리케이션, 웹 서비스, SOA 아키텍처 개발

광고

WS-AtomicTransaction(WS-AT)은 상호 운용 가능한 트랜잭션 프로토콜입니다. 이는 웹 서비스 메시징을 사용하여 분산 트랜잭션 흐름을 가능하게 하고 이기종 트랜잭션 인프라 전반에서 상호 운용 가능하게 조정합니다. WS-AT는 2단계 실행 프로토콜을 사용하여 분산 애플리케이션, 트랜잭션 관리자 및 리소스 관리자 간에 원자성 결과를 생성합니다.

WCF(Windows Communication Foundation)에서 제공되는 WS-AT 구현에는 MSDTC(Microsoft Distributed Transaction Coordinator) 트랜잭션 관리자와 통합된 프로토콜 서비스가 포함되어 있습니다. WCF 응용 프로그램은 타사 기술을 사용하여 구축된 상호 운용 가능한 웹 서비스를 포함하여 WS-AT를 통해 다른 응용 프로그램에 트랜잭션을 전송할 수 있습니다.

클라이언트 애플리케이션과 서버 애플리케이션 간에 트랜잭션이 흐를 때 사용되는 트랜잭션 프로토콜은 서버가 선택한 클라이언트 엔드포인트에 노출하는 바인딩에 의해 결정됩니다. 기본적으로 WCF에 제공되는 일부 바인딩은 OleTransactions 프로토콜을 트랜잭션 전파 형식으로 지정하고 다른 바인딩은 기본적으로 WS-AT 사양을 지정합니다. 특정 연결 내에서 트랜잭션 프로토콜 선택을 프로그래밍 방식으로 수정할 수도 있습니다.

프로토콜 선택은 다음 사항에 영향을 미칩니다.

  • 클라이언트에서 서버로 트랜잭션을 전달하는 데 사용되는 메시지 헤더의 형식입니다.
  • 트랜잭션 결과를 해결하기 위해 클라이언트 트랜잭션 관리자와 서버 트랜잭션 간의 2단계 실행 프로토콜을 실행하는 데 사용되는 네트워크 프로토콜입니다.

서버와 클라이언트가 WCF를 사용하여 작성된 경우 WS-AT를 사용할 필요가 없습니다. 대신 OleTransactions 프로토콜을 사용하는 TransactionFlow 특성이 활성화된 기본 NetTcpBinding 구성을 사용할 수 있습니다.

이 사양은 원자성 트랜잭션을 위한 다음 프로토콜을 정의합니다.

결론: 종료 프로토콜이 확인 프로세스를 시작합니다. 코디네이터는 각 프로토콜에 등록된 참가자를 기준으로 2PC Volatile로 시작하여 최대 2PC Durable로 진행됩니다. 최종 결과는 개시자에게 신호로 전달됩니다.

2단계 약속(2PC): 2PC 프로토콜은 등록된 참가자를 조정하여 확인 또는 취소 결정을 내리고 모든 참가자에게 최종 결과를 알립니다. 2PC 프로토콜에는 두 가지 변형이 있습니다.

  • 휘발성 2PC: 그만큼 캐시와 같은 휘발성 자원을 관리하는 참가자는 이 프로토콜에 등록해야 합니다.
  • 내구성이 뛰어난 2PC: 데이터베이스 등 지속형 자원을 관리하는 참여자는 본 프로토콜에 등록해야 합니다.

참가자는 여러 등록 메시지를 보내 이러한 프로토콜 중 하나 이상에 등록할 수 있습니다.