Vous êtes sur la page 1sur 22

Instituto Superior Privado Peruano de Sistemas

SERVICIOS WEB
Sesin 16

Ing. R. Tom Higa

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

CONTENIDO
Introduccin
Transaccionalidad de Servicios WCF
ACID
ATOMIC
CONSISTENT
ISOLATED
DURABLE

Transaccionalidad System.ServiceModel

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

INTRODUCCIN
Una transaccin se puede definir como un grupo

de una o ms operaciones ejecutadas como un


todo.
Es decir, las transacciones nos permite agrupar

procesos unitarios como si fuesen uno solo.


Un buen ejemplo de transaccin es la transferencia

de fondos de una cuenta bancaria a otra.

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

INTRODUCCIN
En este caso, hay que retirar los fondos de la

primera cuenta e ingresarlos en la segunda para


que se pueda considerar que la operacin se ha
realizado correctamente.
Si se retiran correctamente los fondos, pero no se

consigue realizar el ingreso, habr que deshacer la


retirada de fondos de la primera cuenta para dejar
las dos cuentas en un estado correcto y coherente.

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

INTRODUCCIN
La solucin para esto es incluir ambas operaciones

en una nica unidad de ejecucin llamada


transaccin. La transaccin provocar que si
falla alguna de las operaciones, fallarn toda.
Es decir, si se retiran fondos de una cuenta y

cuando se van a ingresar en la cuenta destino falla


el proceso, ambas operaciones ser marcadas
como falladas y todos los cambios realizados sern
deshechos
Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

ACID
Detrs de

este acrnimo se descubren las cuatro


caractersticas, en ingls, que debe poseer una
transaccin pura
Atomic
Consistent
Isolated
Durable

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

ACID
ATOMIC
Atmico, del latn atomum, tiene como significado: la

parte ms pequea e indivisible, que no se puede dividir


en ms partes.
Las transacciones deben ser atmicas, es
decir que todas las operaciones incluidas en la
transaccin se ejecutan correctamente o si
fallan, fallarn todas.
Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

ACID
CONSISTENT
Significa que el resultado de salida ser exactamente el

que se espera.
Es decir, en el ejemplo de la transferencia de fondos, si

en la cuenta de origen hay 1000 soles y transferimos 250,


lo esperado cuando finalice con xito la transaccin es
que en la cuenta de origen el saldo ser de 750 soles.
Habindose incrementado el saldo de la cuenta de

destino en 250 soles


Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

ACID
ISOLATED
Las transacciones estn aisladas del resto, son privadas

en definitiva, es decir, nada tiene constancia de la


transaccin hasta que esta ha sido terminada.
Siguiendo con el ejemplo de la transferencia de fondos, si
mientras se est realizando la transferencia de los 250
soles a la cuenta destino hacemos una consulta del saldo
en la cuenta de origen, el saldo ser de 1000 soles hasta
que la transaccin no se haya completado.
Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

ACID
DURABLE
Las transacciones sern durables, es decir, deben ser

resistentes a fallos.
Si ocurre un error grave, la transaccin mantendr el
estado.

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

Transacciones en System.ServiceModel
System.Transactions es el namespace necesario para

poder soportar transacciones.


Fue incluido con la versin 2.0 de la framework de .NET.

Este namespace es el utilizado por Windows


Communication Foundation para proveerse de todo lo
necesario a la hora de construir servicios WCF y
aplicaciones clientes que soporten transacciones

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

Transacciones en System.ServiceModel
El Atributo [ServiceBehavior]
El atributo [ServiceBehavior] se aplica directamente sobre

la clase que implementa el servicio.


Las

siguientes propiedades hacen referencia


comportamiento transaccional de un servicio:

al

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

Transacciones en System.ServiceModel
TransactionAutoCompleteOnSessionClose
Especifica cuando las transacciones pendientes son

completadas cuando la sesin actual es cerrada.


TransactionIsolationLevel
Determina el nivel de aislamiento de la transaccin.
TransactionTimeout
Especifica el periodo que tiene la transaccin para

completarse

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

Transacciones en System.ServiceModel
El Atributo [OperationBehavior]
El atributo [OperationBehavior] se aplica directamente

sobre un mtodo de la clase que implementa el servicio.


Las

siguientes propiedades hacen referencia


comportamiento transaccional de la operacin.

al

TransactionAutoComplete Especifica que la transaccin


se auto completar si no ocurre ninguna excepcin.
TransactionScopeRequired Especifica cuando el mtodo
asociado requiere una transaccin.
Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

Transacciones en System.ServiceModel
El Atributo [TransactionFlow]
Mediante este atributo se especifica a qu nivel de

respuesta ante una situacin con transacciones en la


operacin donde se aplica.
Los valores que admite este atributo vienen del
enumerador TransactionFlowOption
Allowed
La operacin se puede o no usar en una transaccin
Mandatory
Solamente se podr utilizar la operacin en una transaccin
NotAllowed
Nunca se podr usar la operacin en una transaccin.
Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

A continuacin se muestra un ejemplo de uso de este

atributo

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

Docente: Ing. R. Tom Higa.

Instituto Superior Privado Peruano de Sistemas

.
s
a
i
c
a
r
G

Docente: Ing. R. Tom Higa.

Vous aimerez peut-être aussi