Issuu on Google+

Introducción:

Los sistemas transaccionales son diseñados para recolectar, almacenar, modificar y recuperar información de un negocio. Una transacción es un evento o proceso que genera o modifica la información que se encuentra eventualmente almacenada en un sistema de información, pueden enfocarse a ayudar en cualquier área de las organizaciones. Algunas de sus funciones concretas son controlar las transacciones para mantener la seguridad y consistencia de los datos involucrados, debe ser capaz de enmendar cualquier error ocurrido durante una transacción, pudiendo deshacer las operaciones realizadas, manteniendo los datos a su estado inicial, o mínimo, a como estaban antes de cometer el error. Finalmente, deben poder controlar y administrar múltiples transacciones, determinando prioridades, como al momento de reservar un vuelo, el asiento seleccionado debe ser bloqueado temporalmente hasta que se concrete la transacción.


Sistemas de Información Transaccionales: es un tipo de sistema de información que recolecta, almacena, modifica y recupera toda la información generada por las transacciones producidas en una organización. Una transacción es un evento que genera o modifica los datos que se encuentran eventualmente almacenados en un sistema de información. Para que un sistema informático pueda ser considerado como un TPS, este debe superar el test ACID (Atomicity, Consistency, Isolation, Durability o, en español, Atomicidad, Consistencia, Aislamiento y Durabilidad). En informática, ACID es un conjunto de características o propiedades que garantizan que las transacciones en una base de datos sean fiables; para que un TPS supere el Test ACID deberá procurar: 

Respuesta rápida: En este tipo de sistemas resulta crítico que exista un rendimiento elevado con tiempos de respuesta cortos. Un negocio no puede permitirse tener clientes esperando por una respuesta del TPS; el tiempo total transcurrido desde que se inicia la transacción hasta que se produce la salida correspondiente debe ser del orden de unos pocos segundos o menos. Fiabilidad: Muchas organizaciones basan su fiabilidad en los TPS; un fallo en un TPS afectará negativamente a las operaciones o incluso parará totalmente el negocio. Para que un TPS sea efectivo, su tasa de fallos debe ser muy baja. En caso de fallo de un TPS, debe existir algún mecanismo que permita una recuperación rápida y precisa del sistema. Esto convierte en esencial la existencia procedimientos de copia de seguridad y de recuperación ante fallos correctamente diseñados. Inflexibilidad: Un TPS requiere que todas las transacciones sean procesadas exactamente de la misma forma, independientemente del usuario, el cliente o la hora del día. Si los TPS fuesen flexibles, habría entonces demasiadas posibilidades de ejecutar operaciones no estándar. Por ejemplo, una aerolínea comercial necesita aceptar de forma consistente reservas de vuelos realizadas por un gran número de agencias de viaje distintas; aceptar distintos datos de transacción de cada agencia de viajes supondría un problema. Procesamiento controlado: El procesamiento en un TPS debe apoyar las operaciones de la organización. Por ejemplo, si una organización establece roles y responsabilidades para determinados empleados, el TPS debe entonces mantener y reforzar este requisito.


Desde un punto de vista técnico, un TPS monitoriza los programas transaccionales. La base de un programa transaccional está en que gestiona los datos de forma que estos deben ser siempre consistentes. Si bien este tipo de integridad es que debe presentar cualquier operación de procesamiento de transacciones por lotes, es particularmente importante para el procesamiento de transacciones en línea (on-line), por ejemplo: un sistema de reserva de boletos de una línea aérea es utilizado simultáneamente por varios operadores, tras encontrar un asiento vacío, los datos sobre la reserva de dicho asiento deben ser bloqueados hast a que la reserva se realice, de no ser así, otro operador podría tener la impresión de que dicho asiento está libre cuando en realidad está siendo reservado en ese mismo instante; sin las debidas precauciones, en una transacción podría ocurrir una reserva doble. Otra función de los monitores de transacciones es la detección y resolución de interbloqueos (deadlock), y cortar transacciones para recuperar el sistema en caso de fallos masivos. Su Objetivo: es lograr la automatización de procesos operativos, o bien, alcanzar un control automático en el transcurso de una operación; Por ejemplo, un cliente transfiere dinero de una cuenta a otra cuenta dentro de un mismo banco; la cantidad de dinero que se descuenta de la cuenta emisora debe ser igual a la que se suma en la cuenta receptora, de no ser así, la transacción no se realiza y este sistema deberá registrar e informar cuál ha sido la falla. Características y beneficios de los Sistemas Transaccionales:          

Automatizan tareas operativas en una organización, permitiendo ahorrar en personal. Suelen dirigirse especialmente al área de ventas, finanzas, mercadotecnia, administración y recursos humanos. Suelen ser los primeros sistemas de información que se implementan en una organización. Sus cálculos y procesos suelen ser simples. Se suelen utilizar para cargar grandes bases de datos. Los beneficios de este tipo de sistemas en una organización son rápidamente visibles. Estos sistemas son optimizados para almacenar grandes volúmenes de datos, pero no para analizar los mismos. Permite entrelazar varias operaciones como una sola transacción indivisible. Garantiza que todas las operaciones finalizan sin errores o con errores, pero ninguna se queda a mitad del proceso. Todas las transacciones se procesan en orden cronológico.


Las transacciones más comunes dentro de la empresa incluyen las siguientes operaciones:

Mayores Funciones del Sistema

Mayores Aplicaciones del Sistema

Ventas y Mercadeo Gerencia de ventas Investigación Investigación de mercados Promociones

Manufactura y Producción Programación

Finanzas y Contabilidad Presupuestos

Recursos Humanos Registro de personal

Otros, ejemplo: Universidades Admisiones

Compras

Contabilidad

Beneficios

Registro de grados Registro de cursos

Precios Nuevos productos Sistema de información de ventas

Ingeniería Operaciones Sistema de planificación de recursos materiales

Contabilidad de costos Contabilidad

Relaciones laborales Entrenamiento Rol de pagos Sistema de registros

Sistema de investigación de mercados Sistema de precios

Sistema de órdenes de compra

Cuentas por cobrar y por pagar

Registro de empleados

Sistema de transcripciones

Presupuestos

Sistemas de beneficios

Control de clases

Sistema de carreras y planificación del personal

Sistema de benefactores de alumnos

Despacho/Recepción Facturación

Sistema de ingeniería Sistemas de control de calidad

Manejo de inversiones de fondo

Compensación

La empresa debe poseer un sistema eficiente para relacionar todas las transacciones, y evitar demoras y/o errores que puedan hacernos perder clientes, o incurrir en problemas de tesorería.


Las actividades que debemos realizar para procesar las transacciones son las siguientes:    

Cálculos analíticos. Clasificación y ordenamiento según su importancia. Almacenamiento y recuperación de la información, para situarla donde se necesite. Generación de resúmenes, para comprobar rápidamente el estado de la empresa.

Estas actividades operacionales están presentes en cualquier organización de forma reiterada, y poseen todas ellas unas características comunes, como son:    

Hay un gran volumen de transacciones repetitivas. Hay gran similitud entre dichas transacciones. Los procedimientos para el procesamiento de estas transacciones, está bien definido y se puede describir con detalle. Existen muy pocas excepciones a los procedimientos normales.

Estas características permiten establecer rutas para el manejo de las transacciones, indicando qué debe buscar y qué se debe hacer cuando se presente una irregularidad. Los procedimientos para el proceso de transacciones se denominan "procedimientos de operación estándar".


 Por ejemplo: Las rutinas asociadas con transacciones bancarias, caracterizan el empleo de procedimientos de operaciones estándar para el manejo de depósito y retiradas de capital, pago de cheques, y otros procesos, el sistema utilizado en las cajas de los bancos es similar al utilizado por los cajeros automáticos, pues el software utilizado en ambos casos, es el encargado de asegurar que se sigue el procedimiento adecuado.

ACTIVIDAD DEL CLIENTE Proporcionar el nº de cuenta

ACTIVIDAD DEL SISTEMA Verificar la validez del nº (introducción de la tarjeta) de la cuenta

Proporcionar contraseña

Verificar que la contraseña corresponda con el nº de la cuenta

Proporcionar el monto del retiro

Verificar que el monto se encuentre

Retirar el dinero

dentro de los límites establecidos.

dentro del saldo de la cuenta

Registrar la transacción en los archivos  Entregar el dinero 

Expedir el comprobante

Cerrar y prepararse para la próxima operación

Estas actividades se repiten varias veces al día de forma rutinaria, por lo que es una operación que se puede delegar de forma eficiente y eficaz para procesar los datos de una transacción, y recoger las excepciones en ventanilla, agilizando las operaciones. Los TPS brindan velocidad y exactitud, y se pueden programar en las decisiones bien estructuradas y definidas, para seguir una rutina sin que existan variaciones o errores.


Sistemas que detectan un buen o mal funcionamiento durante un proceso transaccional y que combaten la falla y resguardan las transacciones sin fallas: 1. Si algunas operaciones finalizaron correctamente pero otras no, el gestor inicia el proceso de retorno (rollback) de todas las operaciones implicadas (incluso de aquellas que finalizaron correctamente), eliminando todo rastro de la transacción y devolviendo la base de datos a un estado consistente como lo estaba antes de empezar a procesar la transacción. 

Rollback: En tecnologías de base de datos, es una operación que devuelve a la base de datos a algún estado previo. Los Rollbacks son importantes para la integridad de la base de datos, a causa de que significan que la base de datos puede ser restaurada a una copia limpia incluso después de que se han realizado operaciones erróneas. Son cruciales para la recuperación de fallas (crashes) de un servidor de base de datos; realizando rollback cualquier transacción que estuviera activa en el tiempo del fallo, la base de datos es restaurada a un estado consistente.  En SQL, ROLLBACK es un comando que causa que todos los cambios de datos desde la última sentencia BEGIN WORK, o START TRANSACTION sean descartados por el sistema de gestión de base de datos relacional (RDBMS), para que el estado de los datos sea "rolled back"(devuelto) a la forma en que estaba antes de que aquellos cambios tuvieran lugar.

SQL: (Structured Query Language, es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas.  Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin de recuperar de forma sencilla información de interés de bases de datos, así como hacer cambios en ella.  Una sentencia ROLLBACK también publicará cualquier savepoint dentro de un sistema gestor de base de datos relacional indicando un punto dentro de una transacción de base de datos que puede ser "rolled back" (devuelta) sin afectar a cualquier trabajo realizado en la transacción antes de que el punto de recuperación fuera creado. Varios savepoints pueden existir dentro de una transacción individual. 

Savepoint: en español, punto de recuperación, es una forma de implementar subtransacciones (también conocidas como transacciones anidadas)


 Los Savepoints son útiles para implementar recuperación de errores complejos en aplicaciones de base de datos — si ocurre un error en el medio de una transacción de múltiples sentencias, la aplicación puede ser capaz de recuperarse del error (devolviendo, "roll back", hasta un savepoint) sin necesidad de abortar la transacción completa.  Un savepoint puede estar declarado emitiendo una sentencia SAVEPOINT name. Todos los cambios realizados después de un savepoint han sido declarados que pueden ser deshechos emitiendo un comando ROLLBACK TO SAVEPOINT name command. Emitiendo RELEASE SAVEPOINT name causará que el savepoint concreto sea descartado, pero no afectará a nada más. Emitiendo los comandos ROLLBACK o COMMIT también descartará cualesquiera savepoints creados desde el inicio de la transacción principal.  Los savepoints son soportados de alguna u otra forma en sistemas de bases de datos tales como PostgreSQL, Oracle, Microsoft SQL Server, MySQL, DB2, y Firebird. Los Savepoints están también definidos en el estándar SQL, existente que pudiera estar en uso. En muchos dialectos de SQL, Rollbacks son específicos de la conexión. Esto significa que si se hicieron dos conexiones a la misma base de datos, un Rollback hecho sobre una conexión no afectará a cualesquiera otras conexiones. Esto es vital para el buen funcionamiento de la Concurrencia. 2. Si todas las operaciones de la transacción finalizaron correctamente, la transacción realiza commit a los cambios realizados en la base de datos. Una vez se ha hecho commit los datos de esa transacción queda consolidados y la transacción no puede hacer rollback de los cambios. 

Commit: En el contexto de la Ciencia de la computación y la gestión de datos, commit (acción de comprometer) se refiere a la idea de consignar un conjunto de cambios "tentativos, o no permanentes". Un uso popular es al final de una transacción de base de datos.  Una sentencia COMMIT en SQL finaliza una transacción de base de datos dentro de un sistema gestor de base de datos relacional (RDBMS) y pone visibles todos los cambios a otros usuarios. El formato general es emitir una sentencia BEGIN WORK, una o más sentencias SQL, y entonces la sentencia COMMIT. Alternativamente, una sentencia ROLLBACK se puede emitir, la cual deshace todo el trabajo


realizado desde que se emitió BEGIN WORK. Una sentencia COMMIT publicará cualquiera de los savepoints (puntos de recuperación) existentes que puedan estar en uso. En términos de transacciones, lo opuesto de commit para descartar los cambios "en tentativa" de una transacción, es un rollback. Los principios básicos de cualquier sistema transaccional son los mismos. Sin embargo, la terminología puede variar de un sistema a otro, los términos utilizados aquí no tienen porque ser universales. 

Rollforward: También es posible mantener una copia (llamada after image) de todas aquellas modificaciones realizadas sobre una base de datos. No es necesario para hacer rollback de las transacciones que finalizaron incorrectamente, pero sí es útil para actualizar la base de datos en un escenario de una recuperación. Si la base de datos falla estrepitosamente, la restauración se debe iniciar desde la copia de seguridad más reciente, aunque no reflejará aquellos cambios posteriores a la copia. Sin embargo, una vez se ha restablecido la copia de seguridad se aplica la copia after image que contendrá todas las modificaciones entre la copia de seguridad y el fallo de la base de datos. Desgraciadamente, esta copia también contiene todas aquellas modificaciones que estaban en vuelo en el momento del fallo. Por ello, es necesario aplicar la copia before image que hará rollback de las transacciones con un estado intermedio, devolviendo la base de datos a un estado seguro y consistente.

Bloqueos mutuos: En algunos casos, dos transacciones pueden en el transcurso de su ejecución, competir por dos recursos al mismo tiempo de tal manera que impide seguir con su ejecución. Un bloqueo mutuo (o interbloqueo, deadlock en inglés) ocurre, por ejemplo, cuando la transacción A intenta acceder al área X de la base de datos mientras la transacción B intenta acceder al área Y de la base de datos. Si, en algún punto intermedio, la transacción A intenta acceder al área Y mientras al mismo tiempo la transacción B intenta acceder al área X se genera un bloqueo mutuo que impide a ambas transacciones progresar. Los sistemas transacciones están diseñados para detectar este tipo de bloqueos cuando ocurren y actuar en concordancia. O bien ambas transacciones son canceladas y el sistema hace rollback de todos los cambios para luego volver a ejecutarlas automáticamente en diferente orden de tal forma que no se vuelva a formar otro bloqueo mutuo, o bien cancelar y hacer rollback de una de ellas y volverla a lanzar después de una pequeña espera.


Conclusiones:

         

Los sistemas transaccionales no a agilizan la búsqueda de datos de clientes, de ventas, estudiantes, entre otros, dependiendo el área en que se apliquen. Nos ayudan a tomar decisiones ante un fallo imprevisto. Son fiables ya que cuentan con una esencial existencia de procedimientos de copia de seguridad y de recuperación ante fallos. Son inflexibles porque su manera de operar debe ligar unos datos con otros para brindar un buen servicio. Cuentan con sistemas de respaldo ante fallas. Almacenan una gran cantidad de información Cuentan con sistemas de recuperación de información perdida. Cuenta con sistemas de bloqueos que evitan el traslape de una información con otra. Pueden ser usados en control de ventas, recursos humanos, mercadotecnia, finanzas, producción, entre otros. Aparte de ser los primeros sistemas que se instalan en una organización, son fáciles de implementar.


Sistemas transaccionales