WS-AtomicTransaction

WS-AtomicTransaction (WS-AT) es un protocolo de transacción interoperable. Permite el flujo de transacciones distribuidas mediante el uso de mensajes de servicios web y coordina de una manera interoperable entre infraestructuras de transacción heterogéneas. WS-AT utiliza el protocolo de ejecución en dos fases para crear un resultado atómico entre aplicaciones distribuidas, administradores de transacciones y administradores de recursos.

La implementación proporcionada de WS-AT en Windows Communication Foundation (WCF) incluye un servicio de protocolo incorporado en el administrador de transacciones del Coordinador de transacciones distribuidas de Microsoft (MSDTC). Las aplicaciones WCF pueden tener flujos de transacciones a otras aplicaciones mediante WS-AT, incluyendo servicios Web interoperables creados utilizando la tecnología de terceros. 

Cuando circula una transacción entre una aplicación cliente y una aplicación de servidor, el protocolo de transacción utilizado es determinado por el binding que expone el servidor en el endpoint del cliente seleccionado. Algunos Binding proporcionados para WCF por defecto especifican el protocolo OleTransactions como el formato de propagación de transacción, mientras que otros por defecto la especificación WS-AT. También mediante programación puede modificar la elección del Protocolo de transacción dentro de un binding determinado.

La elección del protocolo influencia en:

  • El formato de los encabezados de mensaje utilizados para el flujo de la transacción del cliente al servidor.
  • El protocolo de red utilizado para ejecutar el protocolo de ejecución en dos fases entre el administrador de transacciones del cliente y la transacción del servidor, con el fin de resolver el resultado de la transacción. 

Si el servidor y el cliente son escritos utilizando WCF, no se necesita utilizar WS-AT. Por el contrario, se puede utilizar la configuración predeterminada de NetTcpBinding con el atributo TransactionFlow activado, la cual utilizará el protocolo OleTransactions en su lugar.

Esta especificación define los siguientes protocolos para transacciones atómicas.

Completion: El protocolo de terminación inicia proceso el de compromiso. Basado en los participantes inscritos de cada protocolo, el Coordinador inicia con 2PC volátil luego procede a través de 2PC Durable. El resultado final es señalado al iniciador.

Two-Phase Commit (2PC): El protocolo 2PC coordina participantes registrados para alcanzar una decision de commit o abort, y asegura qur todos los participantes sean informados del resultado final. El protocolo 2PC tiene 2 variantes:

  • Volatile 2PC: los participantes gestionan recursos volátiles tales como una memoria caché debe registrarse para este protocolo.
  • Durable 2PC: los participantes gestionar recursos durables tales como una base de datos debe registrarse para este protocolo.

 Un participante puede inscribirse en más de uno de estos protocolos enviando múltiples mensajes de registro.

About justindeveloper

I am MCP (Microsoft Certified Professional). MCTS (Microsoft Certified Technology Specialist) and MCPD (Microsoft Certified Professional Developer), also I am SAP Business One Certified!! Desarrollando desde el IDE de Visual Studio NET 2003 hasta ahora con el Visual Studio NET 2010. Desde Microsoft SQL Server 2000 hasta ahora con el Microsoft SQL Server 2008 R2 y tambien con SharePoint, desde WSS 3.0 y MOSS 2007 y ahora familirizandome con el Sharepoint Foundation 2010 & Sharepoint Server 2010. The software development will follow being every time more wonderful!
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s