Cutting complexity with Java
Fiducia & GAD worked closely with IBM developers in a multi-year project to optimize a common runtime for Java constructs within mission-critical IMS production environments. This common runtime is available as standard within the latest release of IMS, rather than being specific to Fiducia & GAD. Today, with Java and COBOL interoperable within IMS, Fiducia & GAD has modernized and revitalized its core banking systems without impacting their performance or reliability.
There are two major focal areas for Java on z Systems at Fiducia & GAD: first, the organization is building hybrid Java-COBOL applications for classic IMS processing and batch workloads; and second, it migrates native Java code from the distributed environment to z Systems whenever this approach makes more sense.
“Many of our batch jobs were spread across multiple platforms on both z Systems and the distributed environment, with different schedulers that we needed to coordinate,” says Pascal Meyer. “This approach also required data exchange and/or data sharing. Today, by executing Java jobs directly on z Systems, we need only a single scheduler so there is less complexity. We also achieve better performance because there is no need to move or convert data, and because the Java code sits right next to its data rather than needing to access it over a network.”
Fiducia & GAD is building a set of generic services in Java that can be exposed as APIs to developers of front-end applications running in its distributed environment. For example, a developer could use an API to call up the current balance of a particular customer’s checking account in order to display it in a mobile app.
Today, approximately 160 out of 350 categories of IMS transactions are Java-enabled at Fiducia & GAD. The organization expects ultimately to Java-enable 80 to 90 percent of the total; the 160 already achieved represents approximately 70 percent of the total workload, as many of the remaining transactions are called less frequently.
“Developers in the distributed world will not know if they are calling Java services or original IMS transactions,” says Pascal Meyer. “Everything will be accessed in the same easy and consistent manner, making it faster and simpler to build new front-end applications that call the robust underlying transactions on z Systems. This supports our banking clients as they look to reach out to their employees and customers with innovative services delivered through web, mobile and whatever new channels may emerge in the future.”
“Adding Java to our z Systems environment makes it easier to present new services based on existing functionality,” says Thomas Bauer. “It also gives us the option to migrate our older COBOL code, though in practice we are only doing so in cases where we are building new business logic. There is no pressure to modernize just for the sake of modernization. We continue to value the performance and robustness of COBOL and IMS at the back-end, and we continue to plug those technologies into graphical front-ends running on distributed systems, as we have done for more than 20 years. In this way, the z Systems platform running IMS continues to be the focal point for business logic, feeding directly into a variety of different channels for the consumption of that business logic: teller applications, ATM systems, customer-facing web applications and mobile apps.”
Faster, simpler, more sustainable
By combining COBOL and Java code in IMS, Fiducia & GAD is reducing complexity and thereby increasing the efficiency and performance of end-to-end business transactions. Before, enterprise batch processing was handed by a spread of multiple platforms. In contrast, now all processing—regardless of the language—can simply be integrated into a single batch step by combining COBOL and Java.
Pascal Meyer comments: “In addition to reducing the complexity, we are achieving higher throughput by minimizing input/output—after all, the best I/O is no I/O! We also benefit from moving workload from GP to zIIP specialty processors, on which the licensing fees are lower. So although there is an increase in the total MIPS required—because Java consumes more resources than COBOL—the overall cost is lower.”
The introduction of Java on z Systems also provides development efficiencies thanks to its rich libraries, which enable programmers to avoid writing their own custom code for common functions such as compressing and decompressing data. Similarly, it is now possible for Fiducia & GAD to integrate third-party Java software into its z Systems environment, potentially enabling it to avoid in-house development altogether where a commercial solution already exists.
Additionally, Fiducia & GAD can easily port Java code across its distributed and z Systems environments, supporting best delivery by enabling it to choose the most appropriate platform according to price-performance considerations. As new hardware-based cryptographic, compression or networking features become available on the z Systems platform, Java for z Systems will support these enhancements immediately—enabling applications to leverage the new capabilities transparently.
Thanks to the pioneering cooperation between IBM and Fiducia & GAD, Java is now an established, production-ready component of the z Systems toolbox. At Fiducia & GAD, this significantly refreshes the IMS environment, preserving its traditional qualities of performance and robustness while enabling faster development using more widely available programming skills. It also allows the organization to enrich and modernize existing core banking functionality in a seamless, low-risk manner.
“As a provider of core banking systems to more than 1,000 banks with tens of millions of end users, we cannot afford to compromise on performance and reliability,” says Pascal Meyer. “Neither can we afford to introduce risk in the development practices. The z Systems platform running IMS remains our strategic choice because it is the most secure and reliable platform that we know of, and because it offers exceptional performance for our core banking systems. With Java in IMS, we have the best of both worlds.”
Thomas Bauer adds: “By introducing Java directly into the IMS environment alongside COBOL, we are bringing the back-end closer to the front-end of the core banking systems—which run on Java on distributed platforms—and improving both efficiency and performance by reducing the architectural complexity. We also gain access to a larger pool of skilled developers, in particular among more recent graduates, so we reduce our long-term risk around the sustainability of code.”
Carsten Pfläging, member of the board and CIO of Fiducia & GAD, comments: “Combining IMS, Java and COBOL technologies is an effective strategic way of modernizing existing mainframe applications with minimal disruption, operational risk and costs.”
By revitalizing the z Systems environment and making it more accessible to new developers, Java is helping Fiducia & GAD to retain and add to the embedded value of decades of past development work. Existing functions can be extended through the addition of Java code alongside COBOL code, and presented to developers as APIs that make it easier to call common transactions from new applications.
Pascal Meyer concludes: “We see Java on z Systems as a key technology in driving competitive advantage for our clients. With easier development and re-use of existing components, it enables us to deliver new functionality at higher speed and lower cost, supporting our banking clients as they seek to bring new services to market more rapidly.”