for COBOL
Transcription
for COBOL
for COBOL w w w . f a i r c o m . c o m c-treeACE for COBOL Other company and product names are registered trademarks or trademarks of their respective owners. © 2012 FairCom Corporation FairCom DATABASE TECHNOLOGY c-treeACE for COBOL Overview Features FairCom’s c-treeACE for COBOL is a sophisticated file system designed as a replacement for the default file systems available with COBOL. • Supports ACUCOBOL-GT Version 6.1.0 or later. The basic functionality provided by many of the default COBOL file systems is in some cases unable to satisfy modern application needs. Often developers are forced to migrate to complex and expensive relational systems. These systems may place a heavy impact on the COBOL application both in terms of performance and code modifications. The FairCom solution maintains the simplicity of the standard COBOL file system interface while offering COBOL developers high-end database technology and additional features such as transaction processing and a client/server model. Existing applications integrate with c-treeACE for COBOL without the need to recompile. In fact, c-treeACE for COBOL has been implemented to fit ACUCOBOL-GT’s file system and Micro Focus ExtFH architectures, providing an easy replacement to the default file system. Developers have the flexibility to choose which file system to use on a file by file basis. In addition, c-treeACE for COBOL transparently allows access to data from your COBOL application through SQL and other FairCom interfaces such as ODBC, JDBC, and ADO .NET drivers. Drop Dr D rop rop p IIn n Solu So luttiiio on on Solution Enhance Enh E En nha hanc nce Your Yourr Yo App Ap App pllic ca attio on Application No code cha change ange C L O B O Transaction Tra ansaction Processing & Client/Server L BO CO r o f SQ SQL QL Access Acce Ac cce ess ss COBOL CO C OB BO OL Data Data Da ta Page 2 IISAM IS SAM AM Speed Spe peed d SQL Power SQ QL P Po owe wer er • Supports Micro Focus COBOL and other COBOL dialects through the standard Callable File Handler interface (ExtFH). • Developed according to the ACUCOBOL-GT specifications and does not have any limitations with respect to the Vision file system. The "I$IO" call is fully supported. • No need to recompile your application. • Integrated as an additional file system. The file and path management is transparent for both Vision and c-treeACE files. The details for handling c-treeACE files are specified in the c-treeACE configuration file. • c-treeACE and other file handlers co-exist in the same application allowing applications to convert data on-thefly from one file system to the other. • Supports READ-ONLY file access for applications storing data on CD-ROM (demo, etc.) • Provides a “ctutil” utility that implements the same functionalities as the well-known vutil utility of Vision. ctutil capabilities are directly accessible to the Cobol runtime without the need of a SYSTEM call. • Native COBOL record support (no DCI related record buffer conversion which can slow down COBOL applications) • SQL support on native COBOL records -- even with tables that have multiple schema definitions (redefined fields) in the same table. • The cross-platform nature of the c-treeACE engine makes it easy to provide client/server support across multiple platforms including Windows, Linux, Solaris, Mac OS X, AIX, HP-UX and others • The c-treeACE engine includes industrial quality on-line transaction processing (OLTP) features that guarantee ACID (atomicity, consistency, isolation, durability) properties of transactions that are transparently (to the application) activated on any table. FAIRCOM CORPORATION COBOL Applications COBOL Runtime c-treeACE ISAM Client Standard ISAM ISAM Clients & Tools OR Less Network Traffic ISAM API COBOL API SQL Clients & Tools Data SQL APII SQL API LA ODBC, JDBC, .Net... ® c-treeACE Engine Multi-Threaded Core Technology The COBOL & SQL Challenge Do you need simultaneous access to data using standard COBOL file IO routines and SQL? The nature of COBOL data and record definitions (that may have redefines) do not fit into a traditional RDBMS (SQL based) table and record definitions model and pose a unique and difficult challenge. The FairCom engineering team has elegantly solved this dilemma. Other solutions dynamically re-map COBOL records into SQL records with the benefit that the actual tables and records are native SQL. However, a major drawback of this approach is that the interface is required to convert data for every access performed by the COBOL application and imposes many limitations on COBOL programmers. In many such implementations, the programmer provides a nonSQL solution for the COBOL application and is forced to systematically batch copy records into a relational database, resulting in duplicate and out of sync data. The FairCom approach is different. Our experienced engineering team implemented the required ACUCOBOL-GT and ExtFH interfaces through our ISAM technology that directly parallel the standard COBOL approach to indexed files without the complications of SQL table remapping. Hence, from a pure COBOL point of view, c-treeACE for COBOL is a more advanced “native COBOL” file system imposing no limitations for the COBOL programmer. In addition, the direct interface between the c-treeACE SQL engine and the native COBOL data allows immediate available access through standard SQL. The advantage of this architecture is that the COBOL implementation is direct with no added complexity. Furthermore, while there is some data conversion required for SQL access, the nature of SQL query optimizations along with the expectation that the number of conversions will be quite low makes the FairCom SQL approach far simpler and more efficient than the remapping required by other implementations. Other company and product names are registered trademarks or trademarks of their respective owners. ©2012 FairCom Corporation Page 3 FairCom DATABASE TECHNOLOGY c-treeACE for COBOL File system details By design, the COBOL runtime interfaces with any file system storing and retrieving record buffers and taking advantage, when requested, of indexes over those record buffers. The c-treeACE ISAM interface excels at this task. Therefore, it was natural to implement the required interfaces via the c-treeACE ISAM API thereby giving COBOL direct c-tree access. The c-treeACE for COBOL file system links directly into the COBOL runtime, giving existing applications (without need of recompilation) immediate access to c-treeACE database technology. The COBOL runtime configuration, in addition to configuration details that are specific to c-treeACE for COBOL, allows the user to map files directly into the c-treeACE file system, activating specific FairCom features such as transaction processing, COBOL application paths, etc. The c-treeACE for COBOL interface takes advantage of the c-treeACE database engine and its many server-based technology features. With a client/server architecture, an important consideration factor is the time spent in client/server communication (in contrast to the direct disk access of other file-systems). With this in mind, FairCom's engineers customized a special edition of the c-treeACE database engine, c-treeACE for COBOL, incorporating the functionality required of the file system by the COBOL runtime into the server. The code linked into the runtime is a thin client sending requests directly to the server, reducing, as much as possible, network traffic and time spent in communication. Through configuration, it is also possible to use a non-customized c-treeACE database engine in which the logic uses the standard c-treeACE client approach where any of the interfaces provided to the COBOL runtime use c-treeACE ISAM calls to the server (with the result that one COBOL operation may result in multiple calls to the server). Due to the client/server nature of c-treeACE for COBOL, some file maintenance operations that the COBOL programmer typically performed directly from the COBOL application, such as copying a file from one location to Page 4 another, could be difficult, if not impossible, as the COBOL application may run on a remote machine. With a client/server architecture, clients only have access to the remote file system through the c-treeACE database engine. To solve these maintenance operation challenges, FairCom introduced a new concept, the COBOL Command Channel. COBOL Applications COBOL Runtime c-treeACE Client c-treeACE Engine Default File System c-treeACE File System Additional Functionality • • • • • • • • • • • Transaction Processing Client Server Architecture Multi-User Performance Cross Platform/Multi-Platform Portability Dynamic Backups Granular cache support Memory files Partitioned files Minimal Resource Requirements Developer to developer support No DBA FAIRCOM CORPORATION COBOL Command Channel The Cobol Command Channel is a mechanism to send remote commands (from a predefined list) to the c-treeACE Server in order to directly execute maintenance operations. A pre-defined file exists that a COBOL application can open (configurable in the c-treeACE for COBOL configuration file). Writing to this file sends commands to execute. Reading from the file retrieves command output. c-treeACE for COBOL SQL Access. The advantages of c-treeACE for COBOL compared with other non-SQL based file systems are due to the nature of the c-treeACE client/server database engine and can be summarized as better performance, improved stability, and enhanced features. In addition, the developer gains efficient and complete SQL access to their data that no other non-SQL solution offers. In fact, c-treeACE SQL allows simultaneous access to data through both SQL and ISAM APIs, on files created through any of the available interfaces. Hence, it was natural to implement the data conversion/mapping of COBOL types into SQL types (and vice versa) allowing c-treeACE SQL to directly access files created and used by a COBOL application. Any operation performed through SQL, as well as COBOL, takes advantage of and maintains existing indexes for the best performance. Because of the nature of some COBOL types encoding, an index may not sort as an end user may expect. c-treeACE SQL can still take advantage of these indexes to retrieve records, while not using them for sorting. This is an architectural limitation, however, in practice does not have significant impact as the SQL engine is able to build temporary index files on the fly when necessary and use dynamic index techniques. A common habit for COBOL programmers is to use redefines so that, depending on some criteria, data are interpreted using a particular schema. The XDD file contains information about the different available schemas and their criteria. SQL takes advantage of this information presenting each schema as a separate table (named as defined in the XDD file). Select statement on one of these tables display only records matching the COBOL criteria. Inserts into these tables are checked for matching criteria. COBOL Source The COBOL runtime does not provide information to the file system about the record structure, however, SQL requires this record definition. To this end, the COBOL compiler can be instructed to generate XFD files which define the record structure(s). FairCom provides a command line switch to the “ctutil” utility to convert XFD files into XDD (eXtended Data Definition) which is an XML format. This file contains information about the data and index structures such as index definitions, record schemas, default field values, null field handling (an undefined concept in COBOL), behavior of data conversion errors, and other c-treeACE related information. COBOL Compiler COBOL App CTUTIL XDD File During the conversion from XFD to XDD, ctutil also accepts a “rule file” that contains instructions to customize the generated XDD file for specific needs or to add information that the XFD does not contain (such as default values for fields). The information contained in the XDD files is vital for the SQL engine to properly operate on COBOL data. As such, FairCom has chosen to store this information directly in the data file itself (with no effect on COBOL access to the data). The newly created XDD file is thus embedded into the data file with the ctutil command line “sqlinfo” switch. After adding the XDD information to the data file, the ctutil switch "sqllink” is used to inform the SQL runtime about the file and make it immediately accessible through SQL. XFD File SQL Dictionary Physical File For more information on c-treeACE visit: www.faircom.com Other company and product names are registered trademarks or trademarks of their respective owners. ©2012 FairCom Corporation Page 5 www.faircom.com FairCom Corporation 6300 W. Sugar Creek Drive Columbia, MO 65203-9052 USA Tel: 573.445.6833 Fax: 573.445.9698 FairCom Europe S.r.l. Via Caduti di Superga n.1 24025 Gazzaniga (BG) Italy Tel: +39.035.721.321 Fax: +39.035.721.314 FairCom Brazil Av. Professor Alfonso Bovero, 1057, cj 38 São Paulo, SP 05019-011 Brasil Tel: +55.11.3872.9802 Fax: +55.11.3875.1309 FairCom Japan COI Akasaka 5 Chrome BLDG 7F 5-4-9 Minato-Ku Akasaka Tokyo 107-0052 Japan Tel: +81.3.4520.5417 Fax: +81.3.4520.5501 Entire contents Copyright 2012 FairCom Corporation. All rights reserved. Reproduction in whole or in part without permission is prohibited. 120807
Similar documents
c-treeRTG COBOL Edition
Trademarks c-treeACE, c-treeRTG, c-treeAMS, c-tree Plus, c-tree, r-tree, FairCom and FairCom’s circular disc logo are trademarks of FairCom, registered in the United States and other countries. The...
More information