Está en la página 1de 15

SERVICIOS WEB

Mg. Ing. Milenka Rojas Parraga


Comportamiento de los Servicios
Objetivos
• Definir los conceptos y características de comportamientos de servicios.
• Desarrollar Casos Prácticos usando Atributos de Servicios.
Contenido Temático
• Comportamiento de los Servicios.
• Casos Prácticos usando Atributos de Servicios.
2. Comportamiento de los Servicios WCF
• Concurrency
• Muestra cómo utilizar ServiceBehaviorAttribute con la enumeración de objetos
ConcurrencyMode, que controla si una instancia de un servicio procesa los mensajes
secuencial o simultáneamente.

• Comportamiento de servicio predeterminado


• Muestra cómo se pueden configurar los valores del comportamiento del servicio.

• Creación de instancias
• Muestra la configuración del comportamiento de creación de instancias, que controla
cómo se crean las instancias de una clase de servicio en respuesta a las solicitudes de
cliente.

• Comportamiento de publicación de metadatos


• Muestra cómo controlar las características de publicación de metadatos de un
servicio.
2. Comportamiento de los Servicios WCF
• Comportamiento de transacción de servicio
• Muestra el uso de una transacción coordinada en el cliente y la configuración de los
objetos ServiceBehaviorAttribute y OperationBehaviorAttribute para controlar el
comportamiento de la transacción del servicio.

• Comportamiento de depuración de servicio


• Muestra cómo se pueden configurar los valores del comportamiento de depuración
del servicio.

• Limitaciones
• Muestra el uso de controles de limitación de peticiones.

• Seguridad de comportamiento
• Muestra cómo se configura la seguridad del comportamiento del servicio.
3. Atributo ServiceBehavior
• WCF define dos tipos de comportamientos declarativos del lado del servicio, gobernados
por dos atributos correspondientes.

• El atributo ServiceBehavior se usa para configurar el servicio comportamientos; es


decir, comportamientos que afectan a todos los puntos finales (todos los contratos y
operaciones) de el servicio.

• Aplique el atributo ServiceBehavior directamente en la clase de implementación del


servicio.

• En WCF, el nivel de aislamiento es un comportamiento de servicio, por lo que todas


las operaciones de servicio usan el mismo nivel de aislamiento configurado.

• El aislamiento se configura mediante la propiedad TransactionIsolationLevel del


atributo ServiceBehavior.
3. Atributo ServiceBehavior

Atributo
ServiceBehavior

• Solo puede establecer la propiedad TransactionIsolationLevel si el servicio tiene al


menos una operación configurada con TransactionScopeRequired establecida en true.

• No hay forma de configurar el nivel de aislamiento en el archivo de configuración del


host.
3. Atributo ServiceBehavior
• El siguiente ejemplo muestra un archivo de configuración de la aplicación de host donde
ambos servicios alojados hacen referencia a una sección de comportamiento
personalizado que permite la publicación de metadatos a través de HTTP-GET.
3. Atributo OperationBehavior
• Utilice el atributo OperationBehavior para configurar comportamientos de operación; es
decir, comportamientos que afectan solo la implementación de una operación en
particular.

• El atributo OperationBehavior se puede aplicar solo en un método que implementa una


operación de contrato, nunca en la definición de operación en el contrato mismo.

• Cada descripción de operación tiene una colección de comportamientos de operación del


tipo IOperationBehavior:
3. Atributo OperationBehavior
• Demuestra qué transacción usa un servicio WCF como producto de la configuración de
enlace, la operación del contrato y el atributo de comportamiento de la operación local.
3. Atributo OperationBehavior
• En la figura, un cliente no transaccional llama al Servicio 1.

• El contrato de operación está configurado con TransactionFlowOption.Allowed.

• Aunque el flujo de transacciones está habilitado en el enlace, dado que el cliente no tiene
ninguna transacción, no se propaga ninguna transacción.

• El comportamiento de la operación en el Servicio 1 está configurado para requerir un


alcance de transacción.

• Como resultado, WCF crea una nueva transacción para el Servicio 1 (Transacción A en la
Figura).

• El servicio 1 luego llama a otros tres servicios, cada uno configurado de manera diferente.

• El enlace utilizado para el Servicio 2 tiene habilitado el flujo de transacciones y el contrato


de operación exige el flujo de la transacción del cliente.
3. Atributo OperationBehavior
• Dado que el comportamiento de la operación está configurado para requerir el alcance de
la transacción, WCF establece la Transacción A como la transacción ambiental para el
Servicio 2.

• La llamada al Servicio 3 tiene la vinculación y el contrato de operación no permite el flujo


de transacciones.

• Sin embargo, dado que el servicio 3 tiene su comportamiento de operación que requiere
un alcance de transacción, WCF crea una nueva transacción para el servicio 3 (transacción
B) y la establece como la transacción ambiental para el servicio 3.

• Similar al servicio 3, la llamada al servicio 4 tiene el enlace y el contrato de operación no


permite el flujo de transacciones.

• Pero dado que el Servicio 4 no requiere un alcance de transacción, no tiene una


transacción ambiental.
4. Casos Prácticos usando Atributos de Servicios
• Desarrollar casos prácticos usando atributos de servicios en C# con base de datos.
GRACIAS

También podría gustarte