INTRODUCCIÓN
La tecnología responsable de que el intercambio
se realice de forma equilibrada y predecible se denomina
procesamiento de transacciones. Las transacciones garantizan que
los recursos orientados a datos no se actualicen permanentemente
salvo que todas las operaciones de la unidad transaccional se
completen de forma satisfactoria. Mediante la combinación
de un conjunto de operaciones relacionadas en una unidad que se
completa de forma satisfactoria o de forma incorrecta, se puede
simplificar la recuperación de errores y proporcionar a la
aplicación una mayor confiabilidad.
Los sistemas de procesamiento de transacciones
están formados por hardware informático y software
que aloja una aplicación orientada a transacciones que
ejecuta las transacciones habituales necesarias para realizar
operaciones comerciales. Entre los ejemplos se incluyen sistemas
que administran entradas de órdenes de ventas, reservas de
billetes de avión, nóminas, registros de empleados,
fabricación y transporte.
DEFINICIÓN
DE TRANSACCIONES. DISTINTOS ENFOQUES.
Transacción. Órdenes de compra,
ventas, cambios, altas y bajas con ejemplos de transacciones que
se registran en un entorno de información de negocios. Las
consultas y demás solicitudes son también
transacciones para la computadora, pero normalmente se las
procesa sin registrarlas en el sistema. El volumen de
transacciones es un factor preponderante en la
determinación del tamaño y la velocidad de un
sistema informático.
Transacciones. En su definición más
simple se puede decir que una transacción es un conjunto
de eventos que deben ser llevados a cabo como una unidad
indivisible de trabajo, en la que todos y cada uno de ellos
tienen éxito o todos y cada uno de ellos son
rechazados.
En términos de procesamiento, las transacciones
se confirman o se anulan. Para que una transacción se
confirme, todos los participantes deben garantizar la permanencia
de los cambios efectuados en los datos. Los cambios deben
conservarse aunque el sistema se bloquee o tengan lugar otros
eventos imprevistos. Basta con que un solo participante no pueda
garantizar este punto para que la transacción falle en su
totalidad. Todos los cambios efectuados en datos dentro del
ámbito de la transacción se deshacen hasta un punto
específico establecido. Las transacciones pueden ser
externas, como el pago de una factura a un proveedor, o internas,
como el envío de material desde el almacén al
área de fabricación.
Como esta definición se ajusta a un gran
número de actividades cotidianas, se ha convertido en una
verdadera filosofía de diseño aplicable a
innumerables áreas, especialmente en el mundo de los
negocios y eventos financieros que implican transferencias de
dinero. Este solo hecho hace que las transacciones tengan que
realizarse rápidamente y con mínimos
riesgos.
Un ejemplo típico. Es el de la
transferencia de fondos entre dos cuentas corrientes de un banco.
Si queremos transferir, pongamos 5000Bs de la cuenta corriente de
Armando a la de Benito (A y B a partir de ahora) y las cuentas
tienen, respectivamente, 20000Bs y 0Bs de saldo los pasos
lógicos serían:
1. Comprobar si en la cuenta A hay dinero
suficiente.
2. Restar 5000Bs de la cuenta de A, con lo
que su saldo pasa a ser de 15000Bs
3. Sumar 5000Bs a la cuenta de B, con lo
que los saldos quedan A=15000Bs y
B=5000Bs
Ahora bien, si entre el paso 2 y el 3 el sistema sufre
una parada o error inesperado las cuentas quedarían como
A=15000 y B=0 con lo cual… Se han volatilizado 5000Bs y
presumiblemente ni Armando ni Benito estarán contentos, y
hubiesen preferido que la transacción nunca hubiese sido
iniciada.
Este ejemplo ilustra porqué las transacciones
tienen un comportamiento deseado de Todo o nada, o se realiza
completamente o no debe tener ningún efecto.
Transacciones. Un suceso externo que involucra el
traslado de algo de valor entre dos o más entidades. Las
transacciones pueden ser:
a. Recíprocas. Intercambios en los que
cada participante recibe y sacrifica un valor. Por ejemplo,
adquisiciones o ventas de bienes o servicios.
b. No recíprocas. Transacciones en las que
una entidad incurre en un pasivo o transfiere un activo a otra
entidad (o recibe un activo o a la cancelación de un
pasivo), sin recibir (o entregar) directamente un valor a cambio
del otro.
PASOS DE UNA
TRANSACCIÓN
Ø Captura
Ø Validación
Ø
Actualización/consulta
Ø Salida
TIPOS DE ACCIONES
EJECUTABLES EN UNA TRANSACCIÓN.
1. Transacciones
complementarias.
2. Transacciones no
complementarias.
1. Transacciones no complementarias. Llamadas
también transacciones cruzadas, se producen cuando las
líneas del estimulo y respuesta no son paralelas. Entonces
el supervisor trata al empleado mediante una transacción
de adulto con adulto.
2. Transacciones complementarias. Son cuando los
estados del ego del emisor y receptor durante la
transacción inicial simplemente se invierten en la
respuesta. También podemos decir que cuando el
patrón entre los estados se describe en forma
gráfica las líneas son paralelas, en el cual el
supervisor habla el empleado como lo hace un padre con su
hijo.
DEFINICIÓN ANÁLISIS
TRANSACCIONAL. DISTINTOS ENFOQUES.
Análisis Transaccional. Cuando la gente
interactúa en formas asertivas y no asertivas, se dan una
transacción en que una persona responde a otra. El estudio
de esas transacciones recibe el nombre de análisis
transaccional (AT). Este análisis fue desarrollado en la
década de 1950 por Eric Berne para aplicarlo en la
psicoterapia. Su aplicación a las interacciones ordinarias
se hizo evidente muy pronto y fue divulgado por el libro de Berne
Games People Play (1964), así como por las obras de
Harris, Jongeward y otros. El objetivo del análisis
transaccional es lograr una mejor comprensión de
cómo las personas se relacionan entre sí, de modo
que mejoren la comunicación y las relaciones
humanas.
CARACTERÍSTICAS DE LAS TRANSACCIONES
(ACID)
Para llevar a cabo de mejor forma su
función es deseable que una transacción tenga las
siguientes características:
1. Atomicidad. Una transacción debe ser
atómica. A pesar de que una transacción está
compuesta por un número cualquiera de eventos, el sistema
las debe considerar como una única operación, la
cual puede tener éxito; en tal caso se hacen permanentes
los cambios generados por cada evento componente de la
transacción; o fracaso, en este caso el sistema queda en
el mismo estado, como si la transacción nunca hubiera
ocurrido.
2. Consistencia. Todos los cambios provocados por
la transacción deben dejar al sistema en un estado
correcto. El sistema es llevado desde un estado válido a
otro estado válido, producto de la acción de una
transacción.
3. Aislamiento. Las transacciones que se ejecutan
concurrentemente no se ven afectadas unas con otras. Si una
transacción A cambia un sistema de un estado E1 a un
estado
E2, una transacción B siempre
verá al sistema en un estado E1 o E2, pero nunca en un
estado intermedio.
4. Durabilidad. Si una
transacción es terminada en forma exitosa los efectos
serán permanentes.
ALCANCE DE LAS
TRANSACCIONES.
La filosofía de crear sistemas cliente/servidor
bajo el concepto de transacciones con propiedades ACID brinda a
los desarrolladores una gran simplicidad, y actualmente
están presente en la casi totalidad de las aplicaciones
cliente/servidor de la actual generación de sistemas
transaccionales.
Su principal espectro de aplicación resulta ser
en aquellas actividades de naturaleza breves,
históricamente el desarrollo de transacciones se
debió a su utilidad para aplicaciones
bancarias, por lo que resultan inadecuadas para el manejo
de transacciones de negocios que se extienden a través de
prolongados periodos. Tampoco es un modelo apto para labores por
lotes (procesos batch), ya que una transacción no debe
durar más allá de tres segundos tanto por la
necesidad de obtener respuestas rápidas, como por la
conveniencia de no monopolizar recursos críticos del
sistema en general.
En cuanto a las limitaciones de las transacciones
éstas vienen por el lado de la característica de
todo o nada de las mismas, considerando que hay situaciones de la
vida real en las cuales se requiere una mayor flexibilidad. Es el
caso en que alguna de las acciones realizadas por una
transacción sería deseable que se hiciesen
persistentes aún cuando una de ellas no halla tenido
éxito, pero dada la filosofía de que una mezcla de
éxito y fracaso no es posible, esto no puede ser llevado a
cabo. Pero esto se resuelve mediante la utilización de
múltiples transacciones simples para simular una
transacción compuesta (transacciones anidadas o
encadenadas), lo que se traduce por supuesto en una mayor carga
de trabajo en la etapa de programación.
Relacionado al punto anterior (ya se dijo que los
sistemas transaccionales no están orientados a trabajos
por lotes) se debe considerar el hecho de que una
transacción voluminosa, entendiendo como tal a una
transacción que requiere actualizar una gran cantidad de
registros; o bien puede monopolizar por mucho tiempo algún
recurso crítico del sistema, lo que no es deseable para el
resto de los procesos clientes (usuarios impacientes), o bien
después de procesar por un largo periodo de tiempo se
deben abortar (rollback) todas las acciones realizadas durante
ese periodo, lo que implica la necesidad de repetir todo el
proceso nuevamente, porque solo una de las actualizaciones
falló.
Como se puede concluir, el problema es
básicamente el mismo y se trata de considerar en base a
algún criterio durante la etapa de análisis y
diseño si se van a generar transacciones que abarquen un
gran número de eventos y actualizaciones, con el riesgo de
que fallen muchas acciones dentro de un marco funcional dado, o
generar transacciones más pequeñas cuyos eventuales
fallos sean más puntuales y reducidos.
Normalmente la utilización del concepto de
transacciones está enmarcado en un ambiente de desarrollo,
o por lo menos debiera estarlo, de tal forma que el equipo de
desarrollo sólo se concentre en resolver los problemas
asociados a la lógica de negocios, y no tener la
preocupación de cada vez tener que resolver los problemas
asociados al desarrollo de transacciones con propiedades ACID.
Esto quiere decir que el desarrollador debiera contar
con un marco de programación, bajo alguna estructura
o esqueleto para algún lenguaje (estándar o
propietario), que comprenda un espacio de codificación
delimitado por un inicio de transacción y una
grabación de transacción, límites entre los
cuales se deben validar todas las causa de fallo de la
transacción mediante alguna instrucción de aborto.
Este esquema está relacionado con la administración
de transacciones y la implementación de los monitores de
transacciones.
MONITORES DE
TRANSACCIÓN.
Un monitor de transacciones es un conjunto de uno o
más componentes (no necesariamente en el sentido de
componentes de objetos) que brindan el soporte para el
diseño, desarrollo, configuración y
operación de confiables aplicaciones de transacciones
distribuidas. Esto significa que de alguna manera se debe
garantizar las propiedades ACID para las aplicaciones, y
también incluye la puesta en marcha de los procesos
servidores, la canalización de los mensajes de
solicitud/respuesta y algún tipo de supervisión y
equilibrio de cargas.
Un monitor de transacciones puede ser concebido como una
estructura preconstruida que ayuda desarrollar y administrar una
aplicación cliente/servidor, y su principal función
es garantizar las propiedades ACID, mientras que al mismo tiempo
debe colaborar para mantener un alto rendimiento
SISTEMAS
TRANSACCIONALES
Sus principales características
son:
Ø A través de éstos suelen lograrse
ahorros significativos de mano de obra, debido a que automatizan
tareas operativas de la organización.
Ø Con frecuencia son el primer tipo de Sistemas
de Información que se implanta en las organizaciones. Se
empieza apoyando las tareas a nivel operativo de la
organización para continuar con los mandos intermedios y
posteriormente con la alta administración conforme
evolucionan.
Ø Son intensivos en entrada y salida de
información; sus cálculos y procesos suelen ser
simples y poco sofisticados. Estos sistemas requieren mucho
manejo de datos para poder realizar sus operaciones y como
resultado generan también grandes volúmenes de
información.
Ø Tienen la propiedad de ser recolectores de
información, es decir, a través de estos sistemas
se cargan las grandes bases de información para su
explotación posterior. Estos sistemas son los encargados
de integrar gran cantidad de la información que se maneja
en la organización, la cual será utilizada
posteriormente para apoyar a los mandos intermedios y
altos.
Ø Son fáciles de justificar ante la
dirección general, ya que sus beneficios son visibles y
palpables. El proceso de justificación puede realizarse
enfrentando ingresos y costos. Esto se debe a que en el corto
plazo se pueden evaluar los resultados y las ventajas que se
derivan del uso de este tipo de sistemas. Entre las ventajas que
pueden medirse se encuentra el ahorro de trabajo
manual.
Ø Son fácilmente adaptables a paquetes de
aplicación que se encuentran en el mercado, ya que
automatizan los procesos básicos que por lo general son
similares o iguales en otras organizaciones. Ejemplos de este
tipo de sistemas son la facturación, nóminas,
cuentas por cobrar, cuentas por pagar, contabilidad general,
conciliaciones bancarias, inventarios,
etcétera.
Ø Los sistemas transaccionales no sólo
colaboran en la captura de la información transaccional,
también ayudan a que las transacciones se realicen (e
incluso llegan a automatizarlas) controlando los flujos de
información y datos necesarios y, en su caso, emitiendo la
documentación necesaria.
Ø El procesamiento de transacciones (o datos)
consiste en la manipulación o transformación de
símbolos como números y letras al objeto de
aumentar su utilidad. Esta manipulación se concreta en
cuatro procesos principales: captura de datos,
manipulación de datos (clasificación,
distribución, cálculo y resumen), almacenamiento y
preparación de documentos.
EL PRESENTE TEXTO ES SOLO UNA SELECCION DEL TRABAJO
ORIGINAL.
PARA CONSULTAR LA MONOGRAFIA COMPLETA SELECCIONAR LA OPCION
DESCARGAR DEL MENU SUPERIOR.