Abstract
Modernization of monolithic “legacy” mainframe COBOL applications to enable them for modern service- and cloud-centric environments is one of the ongoing challenges in the context of digital transformation for many organizations. This challenge has been addressed for many years by different approaches. However, the possibility of using a pure Open Source Software (OSS)-based approach to run existing transactional COBOL code as part of Java EE-based web applications has just recently been demonstrated by the author. Therefore, in this paper, an overview of the previously proposed Quick Web-Based Interactive COBOL Service (QWICS) is given and its new extension to run message-processing COBOL applications via JMS is described. QWICS runs on Un*x-like operating systems such as Linux, and therefore on most platforms, but in particular on the mainframe itself. This enables a mainframe-to-mainframe re-hosting, preserving the unique features of the mainframe platform like superior availability and security.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
- Web services
- Message processing
- Transaction processing COBOL
- Java EE
- Open Source Software
- Mainframe computing
1 Introduction
In the recent and ongoing discussions about digital transformation and its impact for companies, in particular in the banking and financial service industries, it has been recently pointed out by various authors that the mainframe is by no means an outdated technology and probably will remain an important part of the entrprise IT landscape for a long time [16, 28, 42].
However, the traditional monolithic “legacy” COBOL enterprise applications are too inflexible and not open enough to fulfill the requirements of the digital age [1, 38]. And despite its age, COBOL still plays a major role in enterprise application development on the mainframe [1, 20, 40] (with “mainframe” in this paper denoting IBM’s S/390 platform and its descendants) and will continue to do so for a long time due to various reasons [1, 9, 18, 30, 36].
Therefore, the challenge of modernizing the existing COBOL applications is to convert them into service-oriented backends with well-defined APIs and using open technologies [17, 19] while preserving their inherent value, making them accessible for cloud-based “Systems of Engagement” like mobile apps and web frontends [12] or distributed big data processing applications [27, 39].
Migrating to Open Source Software (OSS) has recently been suggested as one approach for the banking industry to reach this goal [11]. Therefore, the recently proposed Quick Web-Based Interactive COBOL Service (QWICS) [6] discussed in this paper follows this direction. It is built on top of well-established, enterprise-ready OSS components such as e.g. the PostgreSQL relational databaseFootnote 1 [15].
Most of these legacy mainframe COBOL programs are online transaction-processing (OLTP) applications, which require a so-called transaction processing monitor (TPM) middleware to run in, like e.g. IBM’s CICSFootnote 2 [25] or Fujitsu’s openUTMFootnote 3. Therefore, any modernization approach needs to take into account the inherent dependency of the transactional COBOL code on these TPM environments [6].
Most previous approaches [6] thus focus either on adding modern features such as RESTful APIs or Java EE support to the mainframe TPM middleware itselve, thus making use of the unique features of modern mainframes [9, 30, 40], or on providing a complete (mostly proprietary) replacement or emulation for the traditional mainframe TPM on other, non-mainframe platformsFootnote 4 [37, 41].
In contrast, QWICS adopts another perspective on modernizing transactional COBOL applications, as it provides an open framework to run COBOL code in the context of any modern Java Enterprise Edition (EE) application serverFootnote 5, using the latter to provide the TPM functionality [6]. QWICS is built using established OSS components and runs on Un*x and Linux derivates, in particular on the mainframe itself. Therefore, it combines the unique features of the modern mainframe with the platform independence and openess of Linux and OSS [6].
To further extend the capabilities of QWICS, in this paper its extension to support transactional message-processing COBOL programs is described. This is an important feature, as asynchronous, message-oriented data processing is an important concept for many enterprise applications [4]. Consistent with the original idea of QWICS, this is achieved by using the Java Message Service (JMS)Footnote 6 functionality of the Java EE application server.
The rest of this paper is organized as follows: In Sect. 2 the related work is analyzed in detail, while the software architecture of QWICS proposed in [6] is summarized in Sect. 3. Section 4 describes its new extension to support message-oriented transaction processing in COBOL using JMS. The experimental evaluation of QWICS and its results are illustrated in Sect. 5. We conclude with a summary of our findings.
2 Related Work
As described in [6], over the years the challenge of modernizing transactional “legacy” COBOL applications by modularization and encapsulation [31] has been addressed by numerous approaches, which my be classified into three major categories:
-
Modernization on the mainframe itself [32]: Making use of new technologies such as web services and Java EE supported by the current versions of the “classical” mainframe TPM products to wrap COBOL transaction programs by web service facades or web user interfaces [19, 22, 35] and integrate them into service-oriented architectures [7, 10, 26, 29]. This is well supported by various software tools from the mainframe vendors [3] as well as by third parties, and allows to make use of the unique features of modern mainframes such as extremely high availability and outstanding transaction throughput [9, 40].
-
Migration to non-mainframe platforms (including cloud services) [17, 21]: Usually driven by the expectation to reduce the perceived high operating costs of the mainframe platform and the related vendor lock-in [17, 21], this typically requires to use either the original mainframe TPM middleware [25] on these non-mainframe platforms (which is the case for the major mainframe TPM products) or an emulation mimicking the functionality of the TPM [2, 37]. In particular, the latter has been addressed over the years by various hobbyist approachesFootnote 7 as well as professional commercial offerings (See footnote 4). However, these approaches have different drawbacks, since they frequently do not achieve the same transactional throughput as the original mainframes, rely on on proprietary emulation techniques (thereby creating a new vendor lock-in) or may suffer from patent-related and licensing issues [2, 23, 37, 41].
-
Conversion of the program code to other languages and platforms: This involves either the (automatic) conversion of the COBOL code to other, more modern programming languages and/or the extraction of the business rules and logic from the existing code (e.g. by using special analysis tools) and their subsequent re-implementation (either manually or by code generators) using other languages and platforms [5, 8, 13, 21, 24, 34,35,36, 43]. Being closely related to model-driven development, this approach has gained wide interest in the scientific community on legacy systems modernization, but has been rarely used in practice since it may be too expensive or riskful for companies in many cases [36].
Despite numerous attempts for re-writing [14] or re-hosting mainframe “legacy” applications on other platforms, mainframe-based organizations after various failed migration projects [1, 9, 40] realized that the mainframe platform offers unique features like the support for high availability, vertical scalability and security [40], which could not always be recovered on other platforms [28, 42]. Therefore, to enable the digital transformation [38], in the last years the focus shifted again to the first approach, namely the modernization on the mainframe itself [42].
Since Java has overtaken the role of COBOL in enterprise application development to a large extend, Java Enterprise Edition (EE)Footnote 8 application servers for the Enterprise Java Bean (EJB) components provide functionalities similar to those classical TPM middleware does for COBOL [3, 21]. These includes support for distributed transactions and the 2-phase-commit (2PC) protocol through the Java Transaction API (JTA)Footnote 9 as well as transactional message processing via Message-driven Beans (MDB) and JMS.
Due to this analogy between Java EE application servers and classical TPM middleware, the previously proposed QWICS framework [6] demonstrated an approach to execute transactional COBOL programs integrated in a Java EE application server as part of a JTA transaction, such that the required TPM functions (such as transaction handling, resource access, access to message queues, user interfaces, etc.) are realized by the Java EE application server out of the box.
QWICS has been implemented as pure OSS, built using mature, enterprise-ready OSS components, since openess and OSS have been identified recently as cornerstones for enterprise application modernization in the age of digital transformation [11, 15]. Since QWICS adds only a thin “glue component layer” to the established OSS components to manage the native COBOL execution for the Java EE application server [6], it is fully portable among various Un*x- and Linux derivatives, with a strong focus on “re-hosting” COBOL applications to Linux on the mainframe itself using OSSFootnote 10 [6].
While the feasibility of this approach has been demonstrated already in [6], QWICS so far lacked the support for transactional message-processing. Since this is an important feature [4], in this paper together with a summary of its previously described architecture and functionality the question is addressed, how an extension of QWICS to support message processing in COBOL via JMS could be designed and implemented.
3 Design of the Software Architecture
Figure 1 shows an overview of the software architecture of QWICS, which has been presented in [6] and will be summarized in this section. Its full source code is available as OSS on GitHubFootnote 11.
As described in [6], QWICS is based on well-established, mature and enterprise-ready OSS components selected following a “best of breed” strategy: GnuCOBOLFootnote 12 for compiling the COBOL sources on the respective target platform, the PostgreSQL relational database system (See footnote 1) replacing the original mainframe DBMS and the JBoss WildFly application serverFootnote 13 as the Java EE runtime. Here, in particular PostgreSQL has a wide recognition by practitioners as a reliable, scalable enterprise-quality OSS database management system [15].
To execute the transactional COBOL programs in the context of the Java EE container, as the core concept the integration by a special Java Database Connectivity(JDBC)Footnote 14-compliant driver is used. This QWICS JDBC driver provides Non-XA and XA datasources to handle distributed transactions. It acts as a TCP client for the COBOL Transaction Server, which actually loads and executes the COBOL binary programs, the so-called load modules. Thus, the execution of these COBOL programs is invoked and controlled from the Java code (e.g. from an EJB) by special callable statements and result sets implemented by the QWICS JDBC driver. Thus, in QWICS always a Java EE application (e.g. consisting of EJB, servlets, JPA, Web Services, ...) is needed to call the COBOL programs via the JDBC driver [6].
The COBOL Transaction Server itself is a separate program implemented in C, which dynamically loads and executes the COBOL load modules created by the GnuCOBOL compiler. It also serves as a client for the PostgreSQL database to execute SQL statements embedded in the COBOL programs as well as those directly send from the Java side via the JDBC driver, being able to mix both in one transaction. The transaction server uses a slightly modified version of GnuCOBOL’s libcob library, which has an intercept added to handle special DISPLAY statements of the form DISPLAY "TPMI:... and call a function in the transaction server for these. The necessary modification is shown in Fig. 2. This mechanism allows to handle the original EXEC ... END-EXEC macros in the code [25], which therefore have to be converted to these special DISPLAY statements in a subsequent preprocessing step [6].
To keep track of the state of all running transactions, a TPM needs to handle all input/output (I/O) operations performed by the programs it executes. Therefore, transactional COBOL programs running inside a TPM may not use the normal COBOL I/O statements. Instead, all necessary I/O operations (like e.g. executing SQL statements, sending or receiving data from the screen, etc.) are usually coded in COBOL (or that of any other supported language) by using TPM- and SQL-specific EXEC ... END-EXEC macros. These macros are then translated into TPM API calls in an additional preprocessing step before actually compiling the COBOL code [25]. In addition, the terminal UI screen definitions (so-called maps) referenced by these macros also need to be translated to stored COBOL code fragments (called copybooks) containing the necessary variable declarations. These copybooks are then inserted in the COBOL code during preprocessing as well [6].
This preprocessing needs to be mimicked by QWICS to allow to re-use the unmodified COBOL source codes. In Fig. 3, the overall process implemented in QWICS by two preprocessors written in C, cobprep for COBOL and mapprep for the map definitions, is illustrated. After the preprocessing, the resulting COBOL code is compiled to an executable load module using the GnuCOBOL compiler [6].
Last but not least a JavaScript Library has been implemented for QWICS, which supports the (optional) implementation of web user interfaces by converting the original TPM’s map defintions [25] to JavaScript Object Notation (JSON) structures beforehand using the preprocessor [6].
4 Extension to Transactional Message-Processing
Asynchronous, transactional message-processing is an important concept of large-scale enterprise applications [4]. In traditional mainframe applications this functionality is typically provided by a message-oriented middleware invoked from COBOL programs running in a TPM. A similar concept exists for Java EE application servers through the Java Message Service (JMS).
Following the general approach of QWICS, transactional message-processing was therefore implemented by using JMS from the COBOL code by extending the QWICS JDBC driver. To do so, the COBOL program calls for getting and putting messages from and into queues or topics [4] need to be intercepted by the QWICS transaction server. Therefore, again a patch has been added to the GnuCOBOL libcob library to intercept and redirect the respective CALL statements to corresponding C functions provided by the transaction server. Figure 4 shows the respective modification to the libcob library.
The transaction server communicates with the QWICS JDBC driver to send and receive messages via JMS. Figure 5 shows a conceptual overview of the interplay between the components involved in this process. Since JDBC datasource management, JTA and JMS are independent subsystems of Java EE, a JDBC driver should not depend on any JMS API or call it directly. Therefore, the integration of COBOL with JMS requires a custom Java EE application using message-driven beans (MDB).
While the JDBC driver only offers interfaces representing abstract wrappers for queues or topics (QueueWrapper) and a factory for creating them (QueueManager), the Java EE application implements these interfaces to actually access the JMS functionality. It registers a QueueManager implementation with the JDBC driver, so the latter could create instances of these classes. The UML class diagram in Fig. 6 illustrates the relevant Java classes of the JDBC driver and the example Java EE application and there relations.
For every JMS queue or topic for which messages should be processed within a transaction by a COBOL program, a corresponding MDB needs to be implemented, for which the example QwicsMDB may serve as a blueprint. When such a MDB receives a message, its method onMessage(Message message) is invoked by the EJB container, wrapped into a distributed JTA transaction. This method now uses the QWICS JDBC driver via a XA datasource to trigger the respective COBOL program.
Figure 7 shows an excerpt from the source code of the example QwicsMDB to illustrate this. The COBOL program invoked here is a demo program called QPUBCBL. By the statement maps.updateObject(“QMGR”, this);, the MDB registers itself as the QueueManager implementation with the JDBC driver.
The invoked COBOL load module now may access the JMS queues itself by executing CALL statements to the (emulated) routines “MQOPEN”, “MQCLOSE”, “MQGET” and “MQPUT”. Intercepted by the transaction server as described above, these calls are forwarded to the JDBC driver, which again uses the implementation classes QwicsTopic or QwicsQueue provided by the Java EE application to access the respective JMS artifacts.
With this mechanism, analogous to the previously described QWICS functionality, COBOL programs will be triggered by JMS messages are able to send and receive messages via JMS.
5 Experimental Evaluation
To evaluate the functionality and usefulness of QWICS, in a first step an existing transactional COBOL application was ported to the QWICS evironment [6]. To avoid a bias, a representative COBOL application written for training purposes using the IBM CICS TPM a consulting company was used for this [33], since its developers are not related or known to the author [6].
The original sources were passed through the preprocessors as described above, compiled using GnuCOBOL and then run in the QWICS environment. The screenshot shown in Fig. 8 illustrates how this COBOL application running in QWICS may appear to user in a web browser window. This original evaluation was repeated two times, first on an Apple MacBook Air laptop running MacOS X 10.11.6 (thus, a BSD Un*x- derivative), and second on a IBM zBC12 mainframe computer running Linux on Z. Both tests worked smoothly, delivered identical results regarding the functionality and thus demonstrate the feasibilty of the approach in principle [6].
Subsequent to the original publication of these evaluation results [6], in a second step a public community website (https://qwics.org) including a free demonstration and testing environment for QWICS has been set up, to further evaluate the QWICS framework and move it towards production readiness.
This website provides further information on QWICS, links to the source code repository and after a free online registration offers everyone the possibilty to run a personal QWICS environment in a Virtual Machine (VM) based on a Docker containerFootnote 15. Besides the actual QWICS framework, this environment offers the user a web-based administration console for the PostgreSQL database (using the OSS phpPgAdminFootnote 16) and a web-based source code editor to write COBOL code and edit UI screens online (using the Codiad IDEFootnote 17). Figure 9 shows screenshots of the dashboard and the online code editor of this environment. As can also be seen from the screenshot, the QWICS online environment currently still runs on an Intel x86-based server running Ubuntu Linux. It is planned also to provide a demo running on the mainframe under Linux on Z in the future.
The QWICS server VM offered on https://qwics.org to the public already contains a simple but ready-to-run transactional COBOL example written by the author for demonstration purposes, in the form of a small guestbook web app. This online version of QWICS not only allows to demonstrate and explore the framework, but also may serve as an easy to use and free opportunity to learn and practice transactional COBOL programming online.
The availability of this QWICS online trial has been promoted via a press release and internationally via social media so far. Until now, a small number of interested persons from different countries have registered, but it is yet too early to obtain results from the analysis of user feedback.
It has been pointed out before that QWICS is different from other mainframe modernization approaches with respect to its focus on using OSS to integrate existing COBOL code into Java EE applications to use modern web technologies with COBOL [6]. Therefore, it requires a partial adaption and recompilation of the existing sources instead of achieving full binaryFootnote 18 or source-level compatibilty [2, 37] on other (commodity), non-mainframe platforms [6]. Instead, it enables customers to modernize transactional COBOL applications on the mainframe itself using Linux.
The next research steps will focus on evaluating the potentials of QWICS in real-world case studies, on the one hand by an extended Proof-of-Concept using a real “legacy” COBOL application in a company, on the other hand by further exploring the use of the QWICS online platform for COBOL programming education. The first will also need include an extended analysis of the performance and scalability of the approach compared to the original mainframe TPM. As described in [6], there definitely will be a performance tradeoff due to the design of the used OSS components, but it remains an open issue how big it will be in practice.
6 Conclusion
In conclusion, in this paper the previously proposed Quick Web-Based Interactive COBOL Service (QWICS) [6] was presented and its extension to support asynchronous, transactional, message-oriented communication in COBOL via the Java Message Service (JMS) API was introduced. The latter is in particular important for building large-scale enterprise applications.
Therefore, QWICS now allows to run the most relevant types of transactional COBOL applications (synchronous and asynchronous) within the context of a Java EE application server using a pure OSS stack. Therefore, it allows to mix COBOL and Java code for extending and converting “legacy” applications into web services. Its pure OSS stack runs on most Un*x and Linux platforms, allowing in particular to modernize “legacy” applications on the mainframe itself using Linux.
The feasibility of the approach has already been evaluated by porting a semi-realistic third-party COBOL application to QWICS [6], as well as by making it available for public use via an online demonstration and testing environment at https://qwics.org. Also, meanwhile the community feedback received via the GitHub source code repository of QWICS (See footnote 12) has been taken into account as far as possible.
However, since QWICS is still a proof-of-concept implementation and thus not feature-complete, or its production readiness further extensions and adaptations may be necessary, which should be detected and addressed during migration of a real-world application. Therefore, further research is needed to explore the approach in a real industry case study.
Notes
- 1.
- 2.
- 3.
- 4.
See e.g. https://www.lzlabs.com/.
- 5.
In this paper, for convenience still the term Java EE is used, despite it has been officially re-labeled recently to Jakarta EE (see https://jakarta.ee/about/).
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
References
Abbany, Z.: Fail by design: banking’s legacy of dark code. https://m.dw.com/en/fail-by-design-bankings-legacy-of-dark-code/a-43645522 (2018). Accessed 05 Jan 2019
Apte, A., et al.: Method and apparatus for migration of application source code, US Patent App. 15/397,473 (2017)
Bainbridge, A., Colgrave, J., Colyer, A., Normington, G.: CICS and Enterprise JavaBeans. IBM Syst. J. 40(1), 46–67 (2001)
Banavar, G., Chandra, T., Strom, R., Sturman, D.: A case for message oriented middleware. In: Jayanti, P. (ed.) DISC 1999. LNCS, vol. 1693, pp. 1–17. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48169-9_1
Bodhuin, T., Guardabascio, E., Tortorella, M.: Migrating COBOL systems to the WEB by using the MVC design pattern. In: Proceedings of the Ninth Working Conference on Reverse Engineering, 2002, pp. 329–338. IEEE (2002)
Brune, P.: A hybrid approach to re-host and mix transactional cobol and java code in java ee web applications using open source software. In: Proceedings of the 14th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, pp. 239–246. INSTICC, SciTePress (2018)
Calladine, J.: Giving legs to the legacy–web services integration within the enterprise. BT Technol. J. 22(1), 87–98 (2004)
El Beggar, O., Bousetta, B., Gadi, T.: Getting objects methods and interactions by extracting business rules from legacy systems. J. Syst. Integr. 5(3), 32 (2014)
Farmer, E.: The reality of rehosting: understanding the value of your mainframe (2013)
Ferguson, D.F., Stockton, M.L.: Service-oriented architecture: programming model and product architecture. IBM Syst. J. 44(4), 753–780 (2005)
FinTech Futures: How open will your bank become?. https://www.bankingtech.com/2018/11/how-open-will-your-bank-become/ (2018). Accessed 05 Jan 2019
Hashem, I.A.T., Yaqoob, I., Anuar, N.B., Mokhtar, S., Gani, A., Khan, S.U.: The rise of “big data” on cloud computing: review and open research issues. Inf. Syst. 47, 98–115 (2015)
Huang, H., Tsai, W.T., Bhattacharya, S., Chen, X., Wang, Y., Sun, J.: Business rule extraction techniques for COBOL programs. J. Softw.: Evol. Process 10(1), 3–35 (1998)
Kanter, H.A., Muscarello, T.J.: Reuse versus rewrite: an empirical study of alternative software development methods for web-enabling mission-critical COBOL/CICS legacy applications. Fujitsu Software, CICS Legacy Applications (2005)
Karremans, J.: Postgres in the enterprise: real world reasons for adoption. https://www.enterprisedb.com/blog/postgres-enterprise-real-world-reasons-adoption (2018). Accessed 05 Jan 2019
Khadka, R., Batlajery, B.V., Saeidi, A.M., Jansen, S., Hage, J.: How do professionals perceive legacy systems and software modernization? In: Proceedings of the 36th International Conference on Software Engineering. pp. 36–47. ACM (2014)
Khadka, R., et al.: Does software modernization deliver what it aimed for? a post modernization analysis of five software modernization case studies. In: 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 477–486. IEEE (2015)
Kiefer, C.: COBOL as a modern language. https://digitalcommons.northgeorgia.edu/honors_theses/17/ (2017). Accessed 27 July 2018
Knoche, H., Hasselbring, W.: Using microservices for legacy software modernization. IEEE Softw. 35(3), 44–49 (2018)
Lämmel, R., De Schutter, K.: What does aspect-oriented programming mean to COBOL? In: Proceedings of the 4th International Conference on Aspect-Oriented Software Development, pp. 99–110. ACM (2005)
Lancia, M., Puccinelli, R., Lombardi, F.: Feasibility and benefits of migrating towards JEE: a real life case. In: Proceedings of the 5th International Symposium on Principles and Practice Of Programming in Java, pp. 13–20. ACM (2007)
Lee, M.S., Shin, S.G., Yang, Y.J.: The design and implementation of Enterprise JavaBean (EJB) wrapper for legacy system. In: 2001 IEEE International Conference on Systems, Man, and Cybernetics, vol. 3, pp. 1988–1992. IEEE (2001)
Lymer, S.F., Starkey, M., Stephenson, J.W.: System for automated interface generation for computer programs operating in different environments, US Patent 6,230,117, 8 May 2001
Mainetti, L., Paiano, R., Pandurino, A.: MIGROS: a model-driven transformation approach of the user experience of legacy applications. In: Brambilla, M., Tokuda, T., Tolksdorf, R. (eds.) ICWE 2012. LNCS, vol. 7387, pp. 490–493. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31753-8_51
Malaika, S., Park, H.: A tale of a transaction monitor. IEEE Data Eng. Bull. 17(1), 3–9 (1994)
Mateos, C., Zunino, A., Misra, S., Anabalon, D., Flores, A.: Migration from COBOL to SOA: measuring the impact on web services interfaces complexity. In: Damaševičius, R., Mikašytė, V. (eds.) ICIST 2017. CCIS, vol. 756, pp. 266–279. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67642-5_22
Moore, G.: Systems of engagement and the future of enterprise IT: a sea change in enterprise IT. AIIM Whitepaper (2011)
Nelson, J.: Why banks didn’t ‘rip and replace’ their mainframes. https://www.networkworld.com/article/3305745/hardware/why-banks-didnt-rip-and-replace-their-mainframes.html (2018). Accessed 05 Jan 2019
Rodriguez, J.M., Crasso, M., Mateos, C., Zunino, A., Campo, M.: Bottom-up and top-down cobol system migration to web services. IEEE Internet Comput. 17(2), 44–51 (2013)
Sagers, G., Ball, K., Hosack, B., Twitchell, D., Wallace, D.: The mainframe is dead. Long live the mainframe!. AIS Trans. Enterp. Syst. 4, 4–10 (2013)
Sellink, A., Sneed, H., Verhoef, C.: Restructuring of COBOL/CICS legacy systems. In: Proceedings of the Third European Conference on Software Maintenance and Reengineering, 1999, pp. 72–82. IEEE (1999)
Sellink, A., Sneed, H., Verhoef, C.: Restructuring of COBOL/CICS legacy systems. Sci. Comput. Program. 45(2–3), 193–243 (2002)
SimoTime Technologies and Services: The CICS connection, sample programs for CICS. http://www.simotime.com/indexcic.htm. Accessed 21 Feb 2018
Sneed, H.M.: Migration of procedurally oriented COBOL programs in an object-oriented architecture. In: Proceerdings of the Conference on Software Maintenance, 1992, pp. 105–116. IEEE (1992)
Sneed, H.M.: Wrapping legacy COBOL programs behind an XML-interface. In: Proceedings of the Eighth Working Conference on Reverse Engineering, 2001, pp. 189–197. IEEE (2001)
Suganuma, T., Yasue, T., Onodera, T., Nakatani, T.: Performance pitfalls in large-scale java applications translated from COBOL. In: Companion to the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications, pp. 685–696. ACM (2008)
Talati, K., Lackie, C.W.: Virtual software machine for enabling CICS application software to run on UNIX based computer systems, uS Patent 6,006,277, 21 December 1999
The Financial Brand: The four pillars of digital transformation in banking. https://thefinancialbrand.com/71733/four-pillars-of-digital-transformation-banking-strategy/ (2018). Accessed 05 Jan 2019
Tommy, R., Ravi, U., Mohan, D., Luke, J., Krishna, A.S., Subramaniam, G.: Internet of Things (IoT) expanding the horizons of mainframes. In: 2015 5th International Conference on IT Convergence and Security (ICITCS), pp. 1–4. IEEE (2015)
Vinaja, R.: 50th aniversary of the mainframe computer: a reflective analysis. J. Comput. Sci. Coll. 30(2), 116–124 (2014)
White, J.W.: Portable and dynamic distributed transaction management method, US Patent 6,115,710, 5 September 2000
Wilkes, A.: The mainframe evolution: banking still needs workhorse tech. https://www.finextra.com/blogposting/16067/the-mainframe-evolution-banking-still-needs-workhorse-tech (2018). Accessed 05 Jan 2019
Zhou, N., Zhang, L.J., Chee, Y.M., Chen, L.: Legacy asset analysis and integration in model-driven SOA solution. In: 2010 IEEE International Conference on Services Computing (SCC), pp. 554–561. IEEE (2010)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Brune, P. (2019). An Open Source Approach for Modernizing Message-Processing and Transactional COBOL Applications by Integration in Java EE Application Servers. In: Escalona, M., Domínguez Mayo, F., Majchrzak, T., Monfort, V. (eds) Web Information Systems and Technologies. WEBIST 2018. Lecture Notes in Business Information Processing, vol 372. Springer, Cham. https://doi.org/10.1007/978-3-030-35330-8_12
Download citation
DOI: https://doi.org/10.1007/978-3-030-35330-8_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-35329-2
Online ISBN: 978-3-030-35330-8
eBook Packages: Computer ScienceComputer Science (R0)