3. Transaction Processing Systems Transaction processing was one of the first business processes to be computerized, and without information systems, recording and processing business transactions would consume huge amounts of an organization’s resources. A transaction processing system also serves as the foundation for the other systems – management information systems, decision support systems and the expert systems – providing them with data to help them achieve their goals. Transaction processing systems are the backbone of an organization because they update constantly. At any given moment, someone may need an inventory balance, an account balance or the total current value of a financial portfolio. Every organization has manual and automated transaction processing systems (TPSs), which process the detailed data necessary to update records about the fundamental business operations of the organization. These systems include order entry, inventory, payroll, accounts payable, accounts receivable etc. The input to these systems includes basic business transactions such as customer orders, purchase orders, receipts, time cards, and invoices. A manual example of transaction processing would be that every time you purchased an item, you added the amount paid to a running total. With an automated system, it means that the database is updated as soon as a transaction is received. For eg., a sales order depletes inventory, a stock sale updates the last closing balance, a pledge adds to the fund raising balance. The result of processing business transactions is that the organization’s records are updated to reflect the status of the operation at the time of the last processed transaction. Automated TPSs consist of all the components of a computer based information system – databases, telecommunications, people, procedures, software, and hardware devices used to process transactions. For most organizations, TPSs support the routine, day-to-day activities that occur in the normal course of business. Transaction Processing Activities All TPSs perform a common set of basic data processing activities. TPSs capture and process data that describes fundamental business transactions. This data is used to update databases and to produce a variety of reports for use by people both within and outside the organization. The business data goes through a transaction processing cycle that includes data collection, data editing, data correction, data manipulation, data storage, and document production. 1 Data collection. The process of capturing and gathering all data necessary to complete transactions is called data collection. In some cases, this can be done manually, such as by collecting handwritten sales orders. In other cases, data collection is automated via special input devices like scanners and bar code readers. Data collection begins with a transaction (eg., taking a customer order) and results in the origination of data that is input to the TPS. In the source data automation approach to data collection, data is captured at its source so that it is recorded accurately, in a timely fashion, and with minimal manual effort and is in a form that can be directly entered to the computer rather than keying the data from some type of document. An example of source data automation is the use of scanning devices at the grocery checkout to read the bar code automatically. Reading the bar code is quicker and more accurate than having a cashier enter codes manually. The scanner reads the bar code for each item and the computer looks up the price of the item in the item database. The point-of-sale TPS uses the price data to determine the customer’s bill. The number of units of this item purchased, the date, the time, and the price are also used to update the store’s inventory database, as well as its database of detailed purchases. The inventory database is used to generate an exception report notifying the store manager to reorder items whose sales have reduced the stock below the reorder quantity. The detailed purchases database can be used by the store (or sold to market research firms or manufacturers) for detailed analysis of sales. Data editing. The majority of errors are introduced at data entry. An important step in processing transaction data is to perform data checks for verification and validity to detect any problems with the data that is entered. These checks are done before the data is processed, so that any errors in the data do not result in incorrect output. For example, quantity and cost data must be numeric and names must be alphabetic; otherwise, the data is not valid. Often the codes associated with an individual transaction are edited against a database containing valid codes. If any code entered (or scanned) is not present in the database, the transaction is rejected. 2 Validation checks Validation is about making sure that the data entered is reasonable and sensible – NOT accurate. The following are some examples of validation checks. Format checks – The input data is checked against an expected format. For instance, a product code may always consist of three letters followed by a / followed by 4 digits. Consistency checks – tests the data in two or more associated fields to ensure that their relationship is logical. For example, the value in a Date Joined field cannot be earlier than a value in the Birth Date field. Range Check – Input data is checked to be sure it falls in the correct range of values. A program that reads ages of students entering university might check to ensure that they are greater than 16 and less than 70. Alphabetic/Numeric Check – Input data is checked to ensure that the user has entered the data appropriate to the field. For instance, a person’s age would be numeric. Verification checks Whenever data is manually copied there is a chance that errors will be made. These copying errors are known as transcription errors. They can occur when the person involved misreads what is written or mishears what is said. Poor handwriting and unclear speech over the telephone are both likely to lead to transcription errors. Long codes made up of numbers or letters that have no particular meaning to the person keying in the data are particularly vulnerable to error. The skill and accuracy of the typing of the person inputting the data will have a major effect on the number of transcription errors made. When data is transcribed from one medium to another there is always a danger that errors will be introduced. The copy will not then be the same as the original. Verification is used to check that data is entered correctly and that there are no transcription errors. For example, the data can be re-entered by a different operator with the computer system checking for differences as the second copy is entered. Any differences must be the result of a transcription error by one of the two operators. In this case the transcribed versions can be checked manually against the source document and the error corrected. You have probably come across another example of verification when setting a new password - you are usually asked to key the password in a second time to ensure that you didn't make a keying error the first time. The main aim of verification is to trap transcription errors – errors in transferring the source data into the computer. 3 Verification cannot always guarantee 100% accuracy: - If the original data was incorrect the data will be entered wrongly - If the data was entered twice, it may have been entered twice incorrectly - If the data was being manually checked, mistakes can creep in. Data correction. It is not enough to reject invalid data. The system should provide error messages that alert those responsible for entering the data. These error messages must specify what problem is occurring, so that data corrections can be made. A data correction involves reentering miskeyed or mis-scanned data that was edited and found to be in error. For eg., a bar code that is scanned must be in a master table of valid bar codes. If the code is misread or does not exist in the table, the checkout clerk is given an instruction to rescan the item or key in the information manually. Data manipulation. This is the process of performing calculations related to the transactions. Data manipulation can include sorting data, performing calculations, and summarizing results. In a payroll TPS, for eg., data manipulation includes multiplying an employee’s hours worked by the hourly pay rate. Overtime calculations, tax withholdings, and other deductions are also performed. Data storage. Data storage involves updating one or more databases with new transactions. Once the update process is complete, this data can be further processed and manipulated by other systems so that it is available for management decision making. Thus, while transaction databases can be considered a ―by-product‖ of transactional processing, they have a pronounced effect on almost all other information systems and decision-making processes in an organization. Document production. TPSs produce important business documents. Document preparation involves generating output records and reports. These documents may be hard-copy paper reports or displayed on computer screens. Paychecks, for eg., are hard-copy documents produced by a payroll TPS, while an outstanding balance report for invoices might be a soft-copy report displayed by an accounts receivable TPS. Often, results from one TPS are passed as input to other systems (as in the figure), where the results of updating the inventory database are used to create the stock exception report of items whose inventory level is less than the reorder point. Other examples of reports produced by TPSs are a report showing current inventory or a report showing statements of tax withholding as required by government agencies. Methods of Transaction Processing When computerized transaction processing systems first evolved, only one method of processing was available. All transactions were collected in groups, called batches, and processed together. With batch processing systems, business transactions are accumulated over a period of time and prepared for processing as a single unit or batch. The time period during which transactions are accumulated is whatever length of time is needed to meet the needs of the users of that system. For example, it may be important to process invoices and customer payments for the accounts receivable system daily. On the other hand, the payroll system may receive time cards and process them biweekly to create checks and update employee earnings records. The essential characteristic of a batch processing system is that there is some delay between the occurrence of the event and the eventual processing of the related transaction to update the organization’s records. 4 Examples of Batch Transaction Processing systems include: CHEQUE CLEARANCE- A cheque is a written order asking the bank to pay an amount of money to a particular person. When one is issued to a person they deposit it into a bank account yet the money cannot be withdrawn until the cheque is cleared. This involves checking the that the cheque writer has enough money in their account to cover it usually taking 3 working days in which cheques are cleared in a group during a quiet period of the day. BILL GENERATION- Organisations develop a bill or invoice of services or products supplied to a customer. They usually generate a group of bills at a scheduled time as this enables the user to effectively manage time and results in less disruption to main database. CREDIT CARD TRANSACTIONS- Credit cards have become a method of paying for goods and services. In a credit slip system the retailer sends credit slips to the bank as a group. In POS terminal sales the transactions are stored for processing later. The customers may view their credit card transactions as real-time but the actual updating is batch. Today’s computer technology allows another processing method, called online, real time processing, or online transaction processing (OLTP). With this form of data processing, each transaction is processed immediately, without the delay of accumulating transactions into a batch. As soon as the input is available, a computer program performs the necessary processing and updates the records affected by that single transaction. Consequently, at any time, the data in an online system always reflects the current status. When you make an airline reservation, for instance, the transaction is processed, and all databases, such as seat occupancy and accounts receivable, are updated immediately. This type of processing is absolutely essential for businesses that require data quickly and update it often, such as airlines, ticket agencies, and stock investment firms. Many companies have found that OLTP helps them provide faster, more efficient service – one way to add value to their activities in the eyes of the customer. Online Transaction processing database applications are optimal for managing changing data, and usually have a large number of users who will be simultaneously performing transactions that change real-time data. Although individual requests by users for data tend to reference few records, many of these requests are being made at the same time. Examples of Real Time Transaction Processing systems include: RESERVATION SYSTEMS- involve setting aside a service or product for the customer to use at a future time. Commonly used for travelling such as in flight or train bookings and hotel reservations. Require an acceptable response time because transactions are made in presence of customers. POS TERMINALS- are used by retail stores to sell goods and services. They send inventory data to a central computer (usually mainframe) when sale is made which does the processing for the entire chain. 5 LIBRARY LOAN SYSTEM- is used to keep track of items borrowed from the library. When a book is borrowed the librarian scans the barcode on the person’s membership card and the book. This information and the date are immediately recorded on the library database. All in real-time. BANKING SYSTEM - When you make a withdrawal, either through ATM or at a teller, your account balance is updated in real time. The primary concerns in real time processing systems are concurrency and atomicity. Concurrency controls in a database system ensure that two users cannot change the same data, or that one user cannot change a piece of data before another user is done with it. For example, if you are talking to an airline ticket agent to reserve the last available seat on a flight and the agent begins the process of reserving the seat in your name, another agent should not be able to tell another passenger that the seat is available. Atomicity ensures that all of the steps involved in a transaction complete successfully as a group. If any step fails, no other steps should be completed. For example, a banking transaction may involve two steps: taking funds out of your checking account and placing them into your savings account. If the step that removes the funds from your checking account succeeds, you want to make sure that the funds are placed into your savings account or put back into your checking account. OLTP systems are often characterized by continuous operations (24 hours a day, 7 days a week) for which downtime is kept to an absolute minimum. Backup is usually scheduled to occur during times of low activity to minimize effects on users. Even though the technology exists to run TPS applications using online processing, it is not done for all applications. For many applications, batch processing is more appropriate and costeffective. Payroll transactions and billing are typically done via batch processing. Specific goals of the organization define the method of transaction processing best suited for the various applications of the company. Objectives of Transaction Processing Systems Because of the importance of transaction processing, organizations expect their TPSs to accomplish a number of specific objectives: Process data generated by and about transactions. The primary objectives of any TPS are to capture, process, and store transactions and to produce a variety of documents related to routine business activities. These business activities can be directly or indirectly related to selling products and services to customers. Processing orders, purchasing materials, controlling inventory, billing customers, and paying suppliers and employees are all business activities that are a result of customer orders. These activities result in transactions that are processed by the TPS. Maintain a high degree of accuracy. One objective of any TPS is error-free data input and processing. Recall that even before the introduction of computer technology, transaction processing systems existed in business. In these older, manual systems, employees visually inspected all documents and reports introduced into or produced by the TPS. Because humans 6 are not perfect, the resulting transactions were often inaccurate, resulting in wasted time and effort and requiring resources to correct them. Ensure data and information integrity. Data integrity identifies the quality of data. The more errors the data contains, the lower its integrity. Data integrity is important because computers and people use information to make decisions and take actions. An objective of a TPS is to ensure that all data and information stored in computerized databases are of high integrity. Data integrity implies accuracy and consistency of data. It must be reliable. Verification and validation are used to ensure data integrity as far as possible. As the volume of data being processed and stored increases, it becomes more difficult for individuals and machines to review all input data. Doing so is critical, however, because data and information generated by the TPS are often used by other information systems in an organization. Produce timely documents and reports. Manual transaction processing systems can take days to produce routine documents. Fortunately, the use of computerized transaction processing systems significantly reduces this response time. The ability to conduct business transactions in a timely way can be very important for the profitable operation of the organization. For instance, if bills (invoices) are sent out to customers a few days earlier than usual, payment may be received earlier. Because of electronic recording and transmission of sales information, transactions can be processed in seconds rather than overnight, thus improving companies’ cash flow. Increase labor efficiency and productivity. Before computers existed, manual business processes often required rooms full of clerks and equipment to process the necessary business transactions. Today, TPSs can substantially reduce clerical and other labor requirements, and increase the volume of transactions processed in a given time period. Help provide increased and enhanced services. Without question, we are quickly becoming a service-oriented economy. Companies realize the importance of providing superior customer service. One objective of any TPS is to assist the organization in providing this type of service. For example, overnight delivery companies such as Federal Express and UPS expect their TPSs to improve customer service. These systems can locate a client’s package at any time from initial pickup to final delivery. This improved customer information allows them to produce timely information and be more responsive to customer needs and queries. Help build and maintain customer loyalty. A firm’s TPSs are often the means for customers to communicate. It is important that the customer interaction with these systems keeps customers satisfied and returning. The Control and Management of Transaction Processing Systems Transaction processing systems are the backbone of any organization’s information systems. They support the capture and processing of facts about the fundamental business operations of the organization – facts without which orders cannot be shipped, customers cannot be invoiced, and employees and suppliers cannot be paid. In addition, the data captured by the TPSs of the organization ―flow downstream‖ to management information systems, decision support systems, and the other systems of the organization. Most organizations would grind to a screeching halt if their transaction processing systems failed. 7 Availability is the fraction of time a TP system is up and running and able to do useful work — that is, it isn't down due to hardware or software failures, operator errors, preventative maintenance, power failures, or the like. Availability is an important measure of the capability of a TP system because the TP application usually is offering a service that's "mission critical," one that's essential to the operation of the enterprise, such as airline reservations, managing checking accounts in a bank, processing stock transactions in a stock exchange, or offering a retail storefront on the Internet. Obviously, if this type of system is unavailable, the business stops operating. Therefore, the system must operate nearly all the time. Even an availability of 99% means that the system is down about 100 minutes per week (i.e., 7*24*60 – 99%*7*24*60). Many TP applications would find this unacceptable if it came in one 100minute period of unavailability. It might be tolerable, provided that it comes in short outages of just a few minutes at a time. But in many cases, even this may not be tolerable, for example in the operation of a stock exchange where short periods of downtime can produce big financial losses. Emergency Alternate Procedures The ongoing successful operation of an organization’s TPS is critical to ensure smooth business operations, preservation of cash flow and profitability. Thus, prudent organizations document a set of emergency alternate procedures to follow in the event that their most critical TPSs (order entry, payroll etc.) become unusable for any length of time. Emergency alternate procedures are procedures that enable the organization to continue processing key transactions. They may involve substituting manual procedures for automated ones, for eg., recording all information on specially designed forms so that data can be reentered when the system again becomes available. Disaster Recovery Planning Disaster recovery planning is the process of anticipating and providing for disasters. A disaster can range from a flood, fire, or an earthquake to labor unrest or erasure of an important file. Disaster recovery planning focuses primarily on 2 issues: maintaining the integrity of corporate information and keeping the information system running until normal operations can be resumed. Disaster recovery is the implementation of the disaster plan. Although companies have known about the importance of disaster planning and recovery for many decades, many do not adequately prepare. The primary tools used in disaster planning and recovery are backups for hardware, software and databases, telecommunications, and personnel. Hardware backup. One of the most important aspects of disaster recovery is to have a location from which the recovery can take place. This location is known as a backup site. In the event of a disaster, a backup site is where your data center will be recreated, and where you will operate from, for the length of the disaster. There are 2 main types of backup sites: Cold backup sites Hot backup sites Obviously these terms do not refer to the temperature of the backup site. Instead, they refer to the effort required to begin operations at the backup site in the event of a disaster. 8 A cold backup site, also called a shell, is little more than an appropriately configured space in a building. Everything required to restore service to your users must be procured and delivered to the site before the process of recovery can begin. As you can imagine, the delay going from a cold backup site to full operation can be substantial. Cold backup sites are the least expensive sites. Hot backup sites have a virtual mirror image of your current data center, with all systems configured and waiting only for the last backups of your user data from your off-site storage facility. A hot backup site can often be brought up to full production in no more than a few hours. A hot backup site is the most expensive approach to disaster recovery. Backup sites can come from three different sources: Companies specializing in providing disaster recovery services Other locations owned and operated by your organization A mutual agreement with another organization to share data center facilities in the event of a disaster Software and database backup and control. Software and databases can be backed up by making duplicate copies of all programs and data. At least two backup copies should be made. One backup copy can be kept in the information systems department in case of accidental destruction of the software. Another backup copy should be kept off-site in a safe, secure, fireproof, and temperature- and humidity-controlled environment in case of loss of the data processing facility. Service companies provide this type of backup environment. Backup is also essential for the data and programs on users’ desktop computers. Utility backup software can be used for desktop computers to copy data onto a storage device such as magnetic tape or disk or CD. Software and database control is needed to ensure that only authorized users have access to these resources. The database administrator is responsible for controlling who can access what data in the database. User authentication through the use of passwords and access control by assigning access rights make this possible. Good design practice dictates that software users be given access rights commensurate with their roles. Thus, different classes of users are given different levels of access (read,write) within the application. For example, one class of users may be able to view purchase orders but not change it. Software and database backup can be very difficult if an organization has a large amount of data. For some companies, making a full backup of the entire database could take many hours. As a result, some companies use selective backup, which consists of creating backup copies of only certain files. For example, only critical files might be copied every night for backup purposes. Another backup approach is to make a backup copy of all files changed during the last few days or the last week, a technique called incremental backup. Telecommunications backup and control. Some organizations use what are called fault-tolerant networks, where the most critical nodes on the network are backed up by duplicate components, so that it will not break down when one part of the network malfunctions. Telecommunication controls are needed to ensure accurate and secure data and information transfer among systems. Examples are encryption devices and sophisticated security systems that can be used to protect a network from unauthorized access. 9 Personnel backup and control. There should also be a backup for information systems personnel. This can be accomplished in a number of ways. One of the best approaches is to provide cross-training for IS and other personnel so that each individual can perform an alternate job if required. The company could also make an agreement with an outsourcing company to supply IS personnel if necessary. Personnel controls can be implemented to control access to secure areas where equipment is operating and/or data and software are stored. These safeguards reduce the possibility of someone intentionally causing damage or stealing confidential or private data. Combination locks or ID badge scanners, and access controls based on biometrics are used to secure these areas. 10