 | |
REDESII | | |
El modelo de operaciones en MTS
Bien, hemos dicho que nuestro objetivo es crear una aplicación que se ubique en un servidor (o varios
colaborando entre
ellos) y que sea accedida por clientes que van a consultar, actualizar o gestionar los datos que conforman
el estado de la
citada aplicación. Las operaciones sobre el estado de la aplicación, la lógica de negocio, van a implementarse
con
componentes COM cuyos aspectos transaccionales van a ser controlados y gestionados por Microsoft Transaction
Server.
Los componentes MTS
Cada uno de los componentes de la aplicación, que en principio es un componente COM cualquiera, se convierte
en un
componente MTS. Un componente MTS es un componente COM constituido como una DLL, y que se ejecuta en
el
entorno de Transaction Server.
Del mismo modo que una instancia de un componente COM es un objeto COM, toda instancia de un componente
MTS es
un objeto MTS. Cuando creamos un ejemplar de un componente MTS el servidor crea automáticamente un objeto
asociado
de contexto (Context Object) que contiene información sobre quién originó la creación del objeto y cómo
se está
ejecutando, principalmente desde el punto de vista de las transacciones en las que el objeto está inmerso.
Cada uno de estos objetos será accedido por los clientes, y él a su vez realizará solicitudes a otros
componentes o a los
recursos (esencialmente datos) que desee manejar.
Los dispensadores y gestores de recursos
Los recursos de los que hablamos son básicamente los datos, que se ubican en uno o varios servidores,
pongamos como
ejemplo, y para centrar ideas, SQL Server. Cada uno de estos datos, que conforman el estado de nuestra
aplicación, es
controlado por un gestor de recursos (Resource Manager). SQL Server es un ejemplo de gestor de recursos
que puede
atender a transacciones distribuidas.
Los gestores de recursos son consultados y tomados bajo su ámbito de acción por MTS para asegurar que
las
transacciones que operan sobre los citados datos son llevadas a cabo correctamente.
Los componentes MTS no acceden directamente a los gestores de recursos, sino que lo hacen a través de
un módulo
intermedio (el dispensador de recursos Resource Dispenser) que permite la independencia de la llamada
a los gestores de
recursos, con lo que diferentes componentes podrán llamar a diferentes gestores de recursos sin variar
significativamente la
tarea de programación. Este enredo quedará claro inmediatamente si ponemos un ejemplo de cada uno de
estos elementos.
Si SQL Server es un gestor de recursos, ODBC es un dispensador para él.
El explorador de Transaction Server
Microsoft Transaction Server nos proporciona una herramienta, el explorador de Transaction Server, que
nos permite ver
qué es lo que está sucediendo con un conjunto de componentes MTS que están ejecutándose en el ámbito
de Microsoft
Transaction Server.

Los componentes en el explorador se agrupan en paquetes (packages). Un paquete es un conjunto de componentes
COM
que se agrupan para su gestión conjunta con Transaction Server. Normalmente se agrupan aquellos componentes
que llevan
a cabo tareas relacionadas en la aplicación. Los componentes de un paquete se ejecutan en el ámbito
de un mismo proceso
en el servidor.
El explorador presenta los componentes precisamente estructurados en paquetes según una cierta estructura
jerárquica Los
paquetes están asociados a una máquina y contienen un conjunto de componentes. Cada uno de estos componentes
tiene
asociado interfaces y métodos. Cada una de estas entidades corresponde a un nodo del árbol jerárquico
del explorador.
|