Transaction processing system: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m +{{Authority control}} (1 ID from Wikidata); WP:GenFixes & cleanup on
 
(25 intermediate revisions by 21 users not shown)
Line 1: Line 1:
{{Short description|Computing system for indivisible operations}}
[[Transaction processing]] is a way of [[computing]] that divides work into individual, indivisible operations, called transactions.<ref>{{cite web|last=IBM Corporation|title=CICS Transaction Server for z/OS, Version 3.2 Transaction processing|url=http://publib.boulder.ibm.com/infocenter/cicsts/v3r2/index.jsp?topic=%2Fcom.ibm.cics.ts.productoverview.doc%2Fconcepts%2FTransactionProcessing.html|access-date=Nov 12, 2012}}</ref> A '''transaction processing system''' ('''TPS''') is a software system, or software/hardware combination, that supports transaction processing.
A '''transaction processing system''' ('''TPS''') is a [[computer software|software]] system, or software/[[computer hardware|hardware]] combination, that supports [[transaction processing]].


==History==
==History==
The first transaction processing system was [[Sabre (computer system)|SABRE]], made by IBM for American Airlines, which became operational in 1964<ref>{{Cite news|title=The Sabre Story|url=https://www.sabre.com/files/Sabre-History.pdf|url-status=live}}</ref>. Designed to process up to 83,000 transactions a day, the system ran on two [[IBM 7090]] computers. SABRE was migrated to [[IBM System/360]] computers in 1972, and became an IBM product first as ''[[IBM Airline Control Program|Airline control Program (ACP)]]'' and later as ''[[Transaction Processing Facility|Transaction Processing Facility (TPF)]]''. In addition to airlines TPF is used by large banks, credit card companies, and hotel chains.
The first transaction processing system was [[Sabre (computer system)|SABRE]], made by [[IBM]] for [[American Airlines]], which became operational in 1964.<ref>{{Cite web|title=The Sabre Story|url=https://www.sabre.com/files/Sabre-History.pdf|website=Sabre}}</ref> Designed to process up to 83,000 transactions a day, the system ran on two [[IBM 7090]] computers. SABRE was migrated to [[IBM System/360]] computers in 1972, and became an IBM product first as ''[[IBM Airline Control Program|Airline control Program (ACP)]]'' and later as ''[[Transaction Processing Facility|Transaction Processing Facility (TPF)]]''. In addition to airlines, TPF is used by large banks, credit card companies, and hotel chains.


The [[Hewlett-Packard]] [[NonStop (server computers)|NonStop]] system (formerly [[Tandem Computers|Tandem]] NonStop) was a hardware and software system designed for ''Online Transaction Processing (OLTP)'' introduced in 1976. The systems were designed for transaction processing and provided an extreme level of availability and data integrity.
The [[Hewlett Packard Enterprise]] [[NonStop (server computers)|NonStop]] system (formerly [[Tandem Computers|Tandem]] NonStop) is a hardware and software system designed for ''Online Transaction Processing (OLTP)'' introduced in 1976.<ref>{{Cite web |title=History of TANDEM COMPUTERS, INC. FundingUniverse |url=http://www.fundinguniverse.com/company-histories/tandem-computers-inc-history/ |access-date=2023-03-01 |website=www.fundinguniverse.com}}</ref> The system provides an extreme level of availability and data integrity.


==List of transaction processing systems==
==List of transaction processing systems==
* IBM [[Transaction Processing Facility]] (TPF) – 1960. At Amity Unlike most other transaction processing systems TPF is a dedicated operating system for transaction processing on [[IBM System z]] mainframes. Originally [[IBM Airline Control Program|Airline Control Program (ACP)]].
* IBM [[Transaction Processing Facility]] (TPF) – 1960. Unlike most other transaction processing systems TPF is a dedicated operating system for transaction processing on [[IBM System z]] mainframes. Originally [[IBM Airline Control Program|Airline Control Program (ACP)]].
* [[IBM Information Management System]] (IMS) – 1966. A joint hierarchical database and information management system with extensive transaction processing capabilities. Runs on [[OS/360 and successors]].
* [[IBM Information Management System]] (IMS) – 1966. A joint hierarchical database and information management system with extensive transaction processing capabilities. Runs on [[OS/360 and successors]].
* [[CICS|IBM Customer Information Control System]] (CICS) – 1969. A transaction manager designed for rapid, high-volume online processing, CICS originally used standard system datasets, but now has a connection to IBM's [[IBM DB2|DB/2]] relational database system. Runs on [[OS/360 and successors]] and [[DOS/360 and successors]], [[IBM AIX]], [[VM (operating system)|VM]], and [[OS/2]]. Non-mainframe versions are called ''[[IBM TXSeries|TXSeries]]''.
* [[CICS|IBM Customer Information Control System]] (CICS) – 1969. A transaction manager designed for rapid, high-volume online processing, CICS originally used standard system datasets, but now has a connection to the [[IBM Db2]] relational database system. Runs on [[OS/360 and successors]] and [[DOS/360 and successors]], [[IBM AIX]], [[VM (operating system)|VM]], and [[OS/2]]. Non-mainframe versions are called ''[[IBM TXSeries|TXSeries]]''.
* [[Tuxedo (software)|Tuxedo]] – 1980s. Transactions for Unix, Extended for Distributed Operations developed by [[AT&T Corporation]], now owned by [[Oracle Corporation]]. Tuxedo is a cross-platform TPS.
* [[Tuxedo (software)|Tuxedo]] – 1980s. Transactions for Unix, Extended for Distributed Operations developed by [[AT&T Corporation]], now owned by [[Oracle Corporation]]. Tuxedo is a cross-platform TPS.
* [[UNIVAC]] [[Transaction Interface Package]] (TIP) – 1970s. A transaction processing monitor for [[UNIVAC 1100/2200 series]] computers.<ref>{{cite news|title=Terminals Help Manage Aluminum Firm's Production|url=https://books.google.com/books?id=hYD3sny2NzEC&q=univac+tip&pg=PA39|access-date=November 14, 2012|newspaper=Computerworld|date=July 26, 1976}}</ref>
* [[UNIVAC]] [[Transaction Interface Package]] (TIP) – 1970s. A transaction processing monitor for [[UNIVAC 1100/2200 series]] computers.<ref>{{cite news|title=Terminals Help Manage Aluminum Firm's Production|url=https://books.google.com/books?id=hYD3sny2NzEC&q=univac+tip&pg=PA39|access-date=November 14, 2012|newspaper=Computerworld|date=July 26, 1976}}</ref>
* [[Burroughs Corporation]] supported transaction processing capabilities in its [[Burroughs MCP|MCP]] operating systems using GEMCOS (Generalized Message Control System of 1976). As of 2012 [[UNISYS]] [[Burroughs large systems|ClearPath Enterprise Servers]] include Transaction Server, "an extremely flexible, high-performance message and application control system."<ref>{{cite book|last=UNISYS Corporation|title=Transaction Server for ClearPath MCP Configuration Guide|year=2012|url=http://public.support.unisys.com/aseries/docs/clearpath-mcp-14.0/pdf/86000312-710.pdf}}</ref>
* [[Burroughs Corporation]] supported transaction processing capabilities in its [[Burroughs MCP|MCP]] operating systems using GEMCOS (Generalized Message Control System of 1976). As of 2012 [[UNISYS]] [[Burroughs large systems|ClearPath Enterprise Servers]] include Transaction Server, "an extremely flexible, high-performance message and application control system."<ref>{{cite book|last=UNISYS Corporation|title=Transaction Server for ClearPath MCP Configuration Guide|year=2012|url=http://public.support.unisys.com/aseries/docs/clearpath-mcp-14.0/pdf/86000312-710.pdf}}</ref>
* [[Digital Equipment Corporation]] (DEC) Application Control and Management System (ACMS) – 1985. "Provides an environment for creating and controlling online transaction processing (OLTP) applications on the VMS operating system."<ref>{{cite book|last=Digital Equipment Corporation|title=VAX ACMS Guide to Creating Transaction Processing Applications|year=1989|url=http://odl.sysworks.biz/disk$cddoc04jan11/decw$book/aa-lc14b-02__b01_b2.p5.decw$book#1}}</ref><ref>{{cite web|last=Bell|first=Gordon|title=Digital Computing Timeline (1985)|url=http://research.microsoft.com/en-us/um/people/gbell/Digital/timeline/1985-1.htm|access-date=November 15, 2012}}</ref> Runs on [[VAX]]/[[OpenVMS|VMS]] systems.
* [[Digital Equipment Corporation]] (DEC) Application Control and Management System (ACMS) – 1985. "Provides an environment for creating and controlling online transaction processing (OLTP) applications on the VMS operating system."<ref>{{cite book|last=Digital Equipment Corporation|title=VAX ACMS Guide to Creating Transaction Processing Applications|year=1989|url=http://odl.sysworks.biz/disk$cddoc04jan11/decw$book/aa-lc14b-02__b01_b2.p5.decw$book#1}}</ref><ref>{{cite web|last=Bell|first=Gordon|title=Digital Computing Timeline (1985)|url=http://research.microsoft.com/en-us/um/people/gbell/Digital/timeline/1985-1.htm|access-date=November 15, 2012}}</ref> Runs on [[VAX]]/[[OpenVMS|VMS]] systems.
* [[Digital Equipment Corporation]] (DEC) Message Control System (MCS-10) for [[PDP-10]] [[TOPS-10]] systems.
* [[Digital Equipment Corporation]] (DEC) Message Control System (MCS-10) for [[PDP-10]] [[TOPS-10]] systems.
* [[Honeywell]] [[Multics]] Transaction Processing. Feature (TP) – 1979.<ref>{{cite web|last=Van Vleck|first=Thomas|title=Multics Glossary -T-|url=http://www.multicians.org/mgt.html|access-date=November 15, 2012}}</ref>
* [[Honeywell]] [[Multics]] Transaction Processing. Feature (TP) – 1979.<ref>{{cite web|last=Van Vleck|first=Thomas|title=Multics Glossary -T-|url=http://www.multicians.org/mgt.html|access-date=November 15, 2012}}</ref>
* [[Transaction Management eXecutive]] (TMX) was [[NCR Corporation]]'s proprietary transaction processing system running on NCR Tower 5000-series systems. This system was used mainly by financial institutions in the 1980s and 1990s.
* [[Transaction Management eXecutive]] (TMX) was [[NCR Corporation]]'s proprietary transaction processing system running on NCR Tower 5000-series systems. This system was used mainly by financial institutions in the 1980s and 1990s.
* Hewlett-Packard [[NonStop (server computers)|NonStop]] system – 1976. NonStop is an integrated hardware and software system specifically designed for transaction processing. Originally from [[Tandem Computers]].
* Hewlett Packard Enterprise [[NonStop (server computers)|NonStop]] system – 1976. NonStop is an integrated hardware and software system specifically designed for transaction processing. Originally from [[Tandem Computers]].
* [[Transarc]] [[Encina (software)|Encina]] – 1991.<ref>{{cite web |last=Transarc |title=Corporate Overview |url=//www.transarc.com/Corporate/index.html |access-date=November 16, 2012 |url-status=dead |archive-url=https://web.archive.org/web/19990203093626/http://www.transarc.com/Corporate/index.html |archive-date=February 3, 1999 }}</ref> Transarc was purchased by IBM in 1994. Encina was discontinued as a product and folded into IBM's ''[[IBM TXSeries|TXSeries]]''.<ref>{{cite web|last=IBM Corporation|title=TXSeries for Multiplatforms|url=http://www-01.ibm.com/software/htp/cics/txseries/v51/|access-date=November 16, 2012}}</ref> Encina support was discontinued in 2006.
* [[Transarc]] [[Encina (software)|Encina]] – 1991.<ref>{{cite web |last=Transarc |title=Corporate Overview |url=//www.transarc.com/Corporate/index.html |access-date=November 16, 2012 |url-status=dead |archive-url=https://web.archive.org/web/19990203093626/http://www.transarc.com/Corporate/index.html |archive-date=February 3, 1999 }}</ref> Transarc was purchased by IBM in 1994. Encina was discontinued as a product and folded into IBM's ''[[IBM TXSeries|TXSeries]]''.<ref>{{cite web|last=IBM Corporation|title=TXSeries for Multiplatforms|url=http://www-01.ibm.com/software/htp/cics/txseries/v51/|access-date=November 16, 2012}}</ref> Encina support was discontinued in 2006.


==Processing types==
==Processing types==
Line 25: Line 26:
===Batch processing===
===Batch processing===
{{Main article|Batch processing}}
{{Main article|Batch processing}}
Batch processing is execution of a series of programs (''jobs'') on a computer without manual intervention. Several transactions, called a ''batch'' are collected and processed at the same time. The results of each transaction are not immediately available when the transaction is being entered;{{ref|HSC}} there is a time delay.
Batch processing is execution of a series of programs (''jobs'') on a computer without manual intervention. Several transactions, called a ''batch'' are collected and processed at the same time. The results of each transaction are not immediately available when the transaction is being entered;{{ref|HSC}} there is a time delay.


===Real-time processing===
===Real-time processing===
{{Main article|Real-time computing}}
{{Main article|Real-time computing}}
"Real time systems attempt to guarantee an appropriate response to a stimulus or request quickly enough to affect the conditions that caused the stimulus."<ref name=Schuster />
"Real time systems attempt to guarantee an appropriate response to a stimulus or request quickly enough to affect the conditions that caused the stimulus."<ref name=Schuster /> Each transaction in realtime processing is unique; it is not part of a group of transactions.
Each transaction in realtime processing is unique; it is not part of a group of transactions.


===Transaction processing===
===Transaction processing===
{{Main article|Transaction processing}}
{{Main article|Transaction processing}}
A Transaction Processing System (TPS) is a type of information system that collects, stores, modifies and retrieves the data transactions of an enterprise.
A Transaction Processing System (TPS) is an information system that collects, stores, modifies, and retrieves the data transactions of an enterprise. Transaction processing systems also attempt to provide predictable response times to requests, although this is not as critical as real-time systems. Rather than allowing the user to run arbitrary programs as time-sharing, transaction processing allows only predefined, structured transactions. Each transaction is usually short, and each transaction's processing activity is programmed in advance. It is an MIS model.
Transaction processing systems also attempt to provide predictable response times to requests, although this is not as critical as for real-time systems. Rather than allowing the user to run arbitrary programs as time-sharing, transaction processing allows only predefined, structured transactions. Each transaction is usually short duration and the processing activity for each transaction is programmed in advance.


==Transaction processing system features==
==Transaction processing system features==
Line 44: Line 43:


===Continuous availability===
===Continuous availability===
The system must be available during the time period when the users are entering transactions. Many organizations rely heavily on their TPS; a breakdown will disrupt operations or even stop the business.
The system must be available during the time period when the users are entering transactions. Many organizations rely heavily on their TPS; a breakdown will disrupt operations or even stop the business.


===Data integrity===
===Data integrity===
The system must be able to handle hardware or software problems without corrupting data. Multiple users must be protected from attempting to change the same piece of data at the same time, for example two operators cannot sell the same seat on an airplane.
The system must be able to handle hardware or software problems without corrupting data. Multiple users must be protected from attempting to change the same piece of data at the same time, for example two operators cannot sell the same seat on an airplane.


===Ease of use===
===Ease of use===
Often users of transaction processing systems are casual users. The system should be simple for them to understand, protect them from data-entry errors as much as possible, and allow them to easily correct their errors.
Often users of transaction processing systems are casual users. The system should be simple for them to understand, protect them from data-entry errors as much as possible, and allow them to easily correct their errors.


===Modular growth===
===Modular growth===
The system should be capable of growth at incremental costs, rather than requiring a complete replacement. It should be possible to add, replace, or update hardware and software components without shutting down the system.
The system should be capable of growth at incremental costs, rather than requiring a complete replacement. It should be possible to add, replace, or update hardware and software components without shutting down the system.


==Types of transaction processing==
==Types of transaction processing==


===Processing in a batch===
===Processing in a batch===
Transactions may be collected and processed as in batch processing. Transactions will be collected and later updated as a batch when it's convenient or economical to process them. Historically, this was the most common method as the [[information technology]] did not exist to allow real-time processing.
Transactions may be collected and processed as in batch processing. Transactions will be collected and later updated as a batch when it is convenient or economical to process them. Historically, this was the most common method as the [[information technology]] did not yet exist to allow real-time processing.


===Processing in real-time===
===Processing in real-time===
This is the immediate processing of data. It provides instant confirmation of a transaction. It may involve a large number of users who are simultaneously performing transactions which change data. Because of advances in technology (such as the increase in the speed of [[data transmission]] and larger [[Bandwidth (computing)|bandwidth]]), real-time updating is possible.
This is the immediate processing of data. It provides instant confirmation of a transaction. It may involve a large number of users who are simultaneously performing transactions which change data. Because of advances in technology (such as the increase in the speed of [[data transmission]] and larger systems and networking [[Bandwidth (computing)|bandwidth]]), real-time updating is possible.


==Databases for transaction processing==
==Databases for transaction processing==
{{Main article|Database}}
{{Main article|Database}}


A database is an organized collection of data. Databases offer fast retrieval times for non-structured requests as in a typical transaction processing application.
A database is an organized collection of data. Databases offer fast retrieval times for non-structured requests as in a typical transaction processing application.


Databases for transaction processing may be constructed using hierarchical, network, or relational structures.
Databases for transaction processing may be constructed using hierarchical, network, or relational structures.


* Hierarchical structure: organizes data in a series of levels. Its top-to-bottom-like structure consists of [[Node (computer science)|nodes]] and branches; each child node has branches and is only linked to one higher level parent node.
* Hierarchical structure: organizes data in a series of levels. Its top-to-bottom-like structure consists of [[Node (computer science)|nodes]] and branches; each child node has branches and is only linked to one higher level parent node.
* Network structure: network structures also organizes data using nodes and branches. But, unlike hierarchical, each child node can be linked to multiple, higher parent nodes.
* Network structure: network structures also organizes data using nodes and branches. Unlike hierarchical structure, each child node can be linked to multiple, higher parent nodes.
* Relational structure: a relational database organizes its data in a series of related tables. This gives flexibility as relationships between the tables are built.
* Relational structure: a relational database organizes its data in a series of related tables. This gives flexibility as relationships between the tables are built.


{|
{|
| valign="top" |
| valign="top" |
[[File:Hierachical-Diagram.PNG|left|frame|200px|A hierarchical structure.]]
[[File:Hierachical-Diagram.PNG|left|frame|A hierarchical structure]]
| valign="top" |
| valign="top" |
[[File:Network-Diagram.PNG|left|frame|200px|A network structure.]]
[[File:Network-Diagram.PNG|left|frame|A network structure]]
| valign="top" |
| valign="top" |
[[File:Relational-Diagram.PNG|left|frame|200px|A relational structure.]]
[[File:Relational-Diagram.PNG|left|frame|A relational structure]]
|}
|}


Line 89: Line 88:
* '''Real-time backup''': [[Backup]] should be scheduled between low times of activity to prevent lag of the server.
* '''Real-time backup''': [[Backup]] should be scheduled between low times of activity to prevent lag of the server.
* '''High [[Database normalization|normalization]]''': This lowers redundant information to increase the speed and improve concurrency, this also improves backups.
* '''High [[Database normalization|normalization]]''': This lowers redundant information to increase the speed and improve concurrency, this also improves backups.
* '''Archiving of historical data''': Uncommonly used data are moved into other databases or backed up tables. This keeps tables small and also improves backup times.
* '''Archiving of historical data''': Uncommonly used data are moved into other databases or backed up tables (files). This keeps tables small and also improves backup times.
* '''Good hardware configuration''': [[Computer hardware|Hardware]] must be able to handle many users and provide quick response times.
* '''Good hardware configuration''': [[Computer hardware|Hardware]] must be able to handle many users and provide quick response times.


==Backup procedures==
==Backup procedures==
{{Main article|Backup}}
{{Main article|Backup}}
[[File:Backup-DFD.png|thumb|200px|right|A Dataflow Diagram of backup and recovery procedures]]
[[File:Backup-DFD.png|thumb|246x246px|right|A Dataflow Diagram of backup and recovery procedures]]
Since business organizations have become very dependent on transaction processing, a breakdown may disrupt the business' regular routine and stop its operation for a certain amount of time. In order to prevent data loss and minimize disruptions there have to be well-designed [[backup]] and [[recovery procedure]]s. The recovery process can rebuild the system when it goes down.
Since business organizations have become very dependent on transaction processing, a breakdown may disrupt the business' regular routine and stop its operation for a certain amount of time. In order to prevent data loss and minimize disruptions well-designed [[backup]] and [[recovery procedure]]s must exist and be adhered to. The recovery process can rebuild the system when it goes down.


===Types of back-up procedures===
===Types of back-up procedures===
Line 101: Line 100:


====Grandfather-father-son====
====Grandfather-father-son====
This procedure involves taking complete backups of all data at regular intervals{{snd}} daily, weekly, monthly, or whatever is appropriate. Multiple generations of backup are retained, often three which gives rise to the name. The most recent backup is the son, the previous the father, and the oldest backup is the grandfather. This method is commonly used for a ''batch transaction processing system'' with a [[magnetic tape]]. If the system fails during a batch run, the master file is recreated by restoring the son backup and then restarting the batch. However, if the son backup fails, is corrupted or destroyed, then the previous generation of backup (the father) is used. Likewise, if that fails, then the generation of backup previous to the father (i.e. the grandfather) is required. Of course the older the generation, the more the data may be out of date. Organize only of records that have changed. For example, a full backup could be performed weekly, and partial backups taken nightly. Recovery using this scheme involves restoring the last full backup and then restoring all partial backups in order to produce an up-to-date database. This process is quicker than taking only complete backups, at the expense of longer recovery time.
This procedure involves taking complete backups of all data at regular intervals{{snd}}daily, weekly, monthly, or whatever is appropriate. Multiple generations of backup are retained, often three which gives rise to the name. The most recent backup is the son, the previous the father, and the oldest backup is the grandfather. This method is commonly used for a ''batch transaction processing system'' with a [[magnetic tape]] drive. If the system fails during a batch run, the master file is recreated by restoring the son backup and then restarting the batch. However, if the son backup fails, is corrupted or destroyed, then the previous generation of backup (the father) is used. Likewise, if that fails, then the generation of backup previous to the father (i.e. the grandfather) is required. Of course the older the generation, the more the data may be out of date.
'''Partial backups'''
Partial backups generally contain only records that have changed. For example, a full backup could be performed weekly, and then partial backups taken nightly. Recovery using this scheme involves restoring the last full backup and then restoring all partial backups in order to produce an up-to-date database. This process is quicker than taking only complete backups, at the expense of longer recovery time.


====Advantages====
====Advantages====


* Batch or real-time processing available.
* Batch or real-time processing available
* Reduction in processing time, lead time and order cycle time.
* Reduction in processing time, lead time and order cycle time
* Reduction in inventory, personnel and ordering costs.
* Reduction in inventory, personnel and ordering costs
* Increase in productivity and customer satisfaction.
* Increase in productivity and customer satisfaction


==See also==
==See also==
Line 121: Line 124:
==Further reading==
==Further reading==
* Gerhard Weikum, Gottfried Vossen, ''Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery'', Morgan Kaufmann, 2002, {{ISBN|1-55860-508-8}}
* Gerhard Weikum, Gottfried Vossen, ''Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery'', Morgan Kaufmann, 2002, {{ISBN|1-55860-508-8}}

{{Authority control}}


[[Category:Information systems]]
[[Category:Information systems]]

Latest revision as of 16:17, 30 October 2023

A transaction processing system (TPS) is a software system, or software/hardware combination, that supports transaction processing.

History[edit]

The first transaction processing system was SABRE, made by IBM for American Airlines, which became operational in 1964.[1] Designed to process up to 83,000 transactions a day, the system ran on two IBM 7090 computers. SABRE was migrated to IBM System/360 computers in 1972, and became an IBM product first as Airline control Program (ACP) and later as Transaction Processing Facility (TPF). In addition to airlines, TPF is used by large banks, credit card companies, and hotel chains.

The Hewlett Packard Enterprise NonStop system (formerly Tandem NonStop) is a hardware and software system designed for Online Transaction Processing (OLTP) introduced in 1976.[2] The system provides an extreme level of availability and data integrity.

List of transaction processing systems[edit]

Processing types[edit]

Transaction processing is distinct from and can be contrasted with other computer processing models, such as batch processing, time-sharing, and real-time processing.[10]

Batch processing[edit]

Batch processing is execution of a series of programs (jobs) on a computer without manual intervention. Several transactions, called a batch are collected and processed at the same time. The results of each transaction are not immediately available when the transaction is being entered;[1] there is a time delay.

Real-time processing[edit]

"Real time systems attempt to guarantee an appropriate response to a stimulus or request quickly enough to affect the conditions that caused the stimulus."[10] Each transaction in realtime processing is unique; it is not part of a group of transactions.

Transaction processing[edit]

A Transaction Processing System (TPS) is an information system that collects, stores, modifies, and retrieves the data transactions of an enterprise. Transaction processing systems also attempt to provide predictable response times to requests, although this is not as critical as real-time systems. Rather than allowing the user to run arbitrary programs as time-sharing, transaction processing allows only predefined, structured transactions. Each transaction is usually short, and each transaction's processing activity is programmed in advance. It is an MIS model.

Transaction processing system features[edit]

The following features are considered important in evaluating transaction processing systems.[10]

Performance[edit]

Fast performance with a rapid response time is critical. Transaction processing systems are usually measured by the number of transactions they can process in a given period of time.

Continuous availability[edit]

The system must be available during the time period when the users are entering transactions. Many organizations rely heavily on their TPS; a breakdown will disrupt operations or even stop the business.

Data integrity[edit]

The system must be able to handle hardware or software problems without corrupting data. Multiple users must be protected from attempting to change the same piece of data at the same time, for example two operators cannot sell the same seat on an airplane.

Ease of use[edit]

Often users of transaction processing systems are casual users. The system should be simple for them to understand, protect them from data-entry errors as much as possible, and allow them to easily correct their errors.

Modular growth[edit]

The system should be capable of growth at incremental costs, rather than requiring a complete replacement. It should be possible to add, replace, or update hardware and software components without shutting down the system.

Types of transaction processing[edit]

Processing in a batch[edit]

Transactions may be collected and processed as in batch processing. Transactions will be collected and later updated as a batch when it is convenient or economical to process them. Historically, this was the most common method as the information technology did not yet exist to allow real-time processing.

Processing in real-time[edit]

This is the immediate processing of data. It provides instant confirmation of a transaction. It may involve a large number of users who are simultaneously performing transactions which change data. Because of advances in technology (such as the increase in the speed of data transmission and larger systems and networking bandwidth), real-time updating is possible.

Databases for transaction processing[edit]

A database is an organized collection of data. Databases offer fast retrieval times for non-structured requests as in a typical transaction processing application.

Databases for transaction processing may be constructed using hierarchical, network, or relational structures.

  • Hierarchical structure: organizes data in a series of levels. Its top-to-bottom-like structure consists of nodes and branches; each child node has branches and is only linked to one higher level parent node.
  • Network structure: network structures also organizes data using nodes and branches. Unlike hierarchical structure, each child node can be linked to multiple, higher parent nodes.
  • Relational structure: a relational database organizes its data in a series of related tables. This gives flexibility as relationships between the tables are built.
A hierarchical structure
A network structure
A relational structure

The following features are desirable in a database system used in transaction processing systems:

  • Good data placement: The database should be designed to access patterns of data from many simultaneous users.
  • Short transactions: Short transactions enables quick processing. This avoids concurrency and paces the systems.
  • Real-time backup: Backup should be scheduled between low times of activity to prevent lag of the server.
  • High normalization: This lowers redundant information to increase the speed and improve concurrency, this also improves backups.
  • Archiving of historical data: Uncommonly used data are moved into other databases or backed up tables (files). This keeps tables small and also improves backup times.
  • Good hardware configuration: Hardware must be able to handle many users and provide quick response times.

Backup procedures[edit]

A Dataflow Diagram of backup and recovery procedures

Since business organizations have become very dependent on transaction processing, a breakdown may disrupt the business' regular routine and stop its operation for a certain amount of time. In order to prevent data loss and minimize disruptions well-designed backup and recovery procedures must exist and be adhered to. The recovery process can rebuild the system when it goes down.

Types of back-up procedures[edit]

There are two main types of back-up procedures: grandfather-father-son and partial backups:

Grandfather-father-son[edit]

This procedure involves taking complete backups of all data at regular intervals – daily, weekly, monthly, or whatever is appropriate. Multiple generations of backup are retained, often three which gives rise to the name. The most recent backup is the son, the previous the father, and the oldest backup is the grandfather. This method is commonly used for a batch transaction processing system with a magnetic tape drive. If the system fails during a batch run, the master file is recreated by restoring the son backup and then restarting the batch. However, if the son backup fails, is corrupted or destroyed, then the previous generation of backup (the father) is used. Likewise, if that fails, then the generation of backup previous to the father (i.e. the grandfather) is required. Of course the older the generation, the more the data may be out of date.

Partial backups

Partial backups generally contain only records that have changed. For example, a full backup could be performed weekly, and then partial backups taken nightly. Recovery using this scheme involves restoring the last full backup and then restoring all partial backups in order to produce an up-to-date database. This process is quicker than taking only complete backups, at the expense of longer recovery time.

Advantages[edit]

  • Batch or real-time processing available
  • Reduction in processing time, lead time and order cycle time
  • Reduction in inventory, personnel and ordering costs
  • Increase in productivity and customer satisfaction

See also[edit]

References[edit]

  1. ^ "The Sabre Story" (PDF). Sabre.
  2. ^ "History of TANDEM COMPUTERS, INC. – FundingUniverse". www.fundinguniverse.com. Retrieved 2023-03-01.
  3. ^ "Terminals Help Manage Aluminum Firm's Production". Computerworld. July 26, 1976. Retrieved November 14, 2012.
  4. ^ UNISYS Corporation (2012). Transaction Server for ClearPath MCP Configuration Guide (PDF).
  5. ^ Digital Equipment Corporation (1989). VAX ACMS Guide to Creating Transaction Processing Applications.
  6. ^ Bell, Gordon. "Digital Computing Timeline (1985)". Retrieved November 15, 2012.
  7. ^ Van Vleck, Thomas. "Multics Glossary -T-". Retrieved November 15, 2012.
  8. ^ Transarc. "Corporate Overview". Archived from the original on February 3, 1999. Retrieved November 16, 2012.
  9. ^ IBM Corporation. "TXSeries for Multiplatforms". Retrieved November 16, 2012.
  10. ^ a b c Schuster, Stewart A. (June 15, 1981). "In Depth: Relational Data Base Management". Computerworld. Retrieved November 16, 2012.

Further reading[edit]

  • Gerhard Weikum, Gottfried Vossen, Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery, Morgan Kaufmann, 2002, ISBN 1-55860-508-8