Native Apps At The Client & Cloud

Srinivasan Sundara Rajan

Subscribe to Srinivasan Sundara Rajan: eMailAlertsEmail Alerts
Get Srinivasan Sundara Rajan: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Cloud Computing, Cloud Data Analytics, Big Data on Ulitzer

Article

COBOL in Big Data Analytics

The Future of the Most Popular Business Language

The Future of the Most Popular Business Language
Considering the important position COBOL still holds in the enterprise more people are looking for future directions on COBOL. Last time we analyzed couple of options in COBOL to Cloud Computing; these options are mostly targeted at Platform as a Service options on COBOL, whereby newer platforms from vendors enable COBOL to run on Cloud platforms like Windows Azure or Amazon EC2.

Continuing this thought process, let's analyze the future options for COBOL in 2012 from different angles.

  • Private Cloud Appliances For COBOL
  • COBOL for Big Data Analytics

These options look at the future usage of COBOL, while the existing data center usage in large enterprises continue where they are today.

Private Cloud Appliances for COBOL
While enterprises adopt different strategies in their journey to the cloud, private cloud appliances in which a prebuilt server with cloud tenants such as elasticity, rapid provisioning, automation, self-service provide a quicker path toward the adoption of cloud. Most larger server providers have various options for building / buying private cloud appliances.

As part of its zEnterprise System offerings IBM has introduced the z196, z114 systems, which are capable of running the z/OS operating system as a guest as well as the native operating system. This option provides a path for existing COBOL applications to move to private Cloud and utilize the attributes as supported by the appliance. There is a lot of documentation on the IBM site about this and their fitment in running COBOL workloads.

COBOL for Big Data Analytics
Traditionally COBOL has been very good at handling raw operating system files. Various kinds of file operations on VSAM and other PDS files are typical of COBOL batch programs.

With the advent of RDBMS and SQL-based processing in the past two decades the traditional file handling needs for enterprises have diminished. However, today's big data analytics have brought the need to file handle back to enterprise batch processing systems.

The COBOL language has also evolved over time with more robust features to support big data analytics; for example, the following are documented features of Enterprise COBOL:

  • 3GL stored procedures and the ability to call web services have improved the string manipulation and analytical scope of COBOL programs
  • You can now parse XML documents with validation against an XML Schema using the VALIDATING phrase of the XML PARSE statement
  • Increased support of large ARRAYS, increased size limit for working storage variable fields have all lent their support towards big data processing

Why COBOL Fits Big Data Analytics

  • With the migration of most of the front-end work in CICS, IMS/DC to Rich Internet Platforms, there is spare capacity on the already purchased mainframe that can be utilized for big data analytics
  • Huge file system needs for big data analytics can fit well with the existing batch infrastructure supported for COBOL programs
  • Most of the tutorials on big data analytics may have a word count as an example function to search in a set of log files; however, future real-world big data analytics may well need to integrate with some of the complex algorithms that may currently be a part of existing COBOL programs.
  • For example, if a bank needs to perform a fraud detection analytics on various usage patterns, they may still need to invoke some algorithms of spend patterns from their existing banking databases
  • Traditional needs of big data analytics like scheduling a large job into multiple smaller jobs and managing them are natively supported in Job control language (JCL) for COBOL. This can be extended for big data analytics too.

What Is Needed for COBOL Big Data Analytics

  • There are not many out-of-the-box job scheduling and management agents for COBOL programs to manage big data. While this may be possible with the existing JCL and other options, this needs to be extended.
  • Frameworks like Hadoop are not currently supporting COBOL programs for their map and reduce functionality.
  • While the COBOL language is good for raw text and XML parsing, it's not currently good for binary file processing like images or video. However, with the help of 3GL stored procedures and web services extension, this can still be achieved.

Summary
The purpose of analyzing COBOL for some of the future enterprise needs is not to go back to old times. But the whole point of the cloud platform is about choice and freedom to enterprises which means that enterprises can make their own decision in this regard. Considering the natural fitment of COBOL language in file processing and the batch processing and with the new supporting features like private Clouds, we can consider this a worthy option. Moreover considering the large installed code base and a lot of business-critical logic exist in COBOL, this analysis has more meaning than any other legacy programming language.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).