The Data Monster Under my bed : Migrating Cobol to the cloud -Part 1: Brief Preface

What to expect from this series

Hi, My name is Radoslav Sandov, you can call me Rado.

I am a Solution Architect with more than 5 years (not much, bit also not little I guess) behind me migrating heavy enterprise mammoth monster solutions also creating new exciting enterprise solutions in more friendly and understandable premise, environments and languages (So a long statement for a simple “I solve problems with fancy title”).

In this series I will write for one special to me language “COBOL” that I really find myself in “love-hate” relationship scenario every time I have to do migration or resolve an issue that touches this language or just practicing one of my hobbies (data management :D)

So here it is, the first (of many I hope) brief small introductory article

The Language

Developed in 50s of the last century COBOL (COmmon Business Oriented Language) is a high-level programming language that was primarily developed for administrative, business and needs in the financial sector.

Ever since its creation it transformed 4 times from the very draft and initial ISO version from 1968, adding features in 1974, features and statements addition in 1985 up until 2002, where introduced object-orientation.

The objectives that COBOl fulfils are:

  • Business logic oriented development – typically by gravitating around file-oriented applications data store.
  • Main usage to be around companies and government offices business critical needs and operations.
  • Simplicity by design with no pointers, no user defined functions, no user defined types and with a limited scope of function, and freedom in their interpretation.

The environment

Based on the usage, execution and business case, COBOL programs can be divided in two main types:

  • Program driven, no manual invocation/intervention executed by series of programs (jobs) Batch programs, running detached from the terminal executed by JCL (JOB CONTROL LANGUAGE), that does not exclude combinations of languages (COBOL + DB2, VSAM, IMS DB, SQL Server, MySQL, etc…)
  • Data driven, depending on the user Input, initiated/executed from the terminal Online programs, that contain contain COBOL+CICS (Customer Information Control System) but also in combination with other programs and database management systems.

Brief Pros & Cons

The Pros that are clear (only few so you won’t get bored):

  • The performance it has is almost unbeatable (performant financial systems take up to 1.5-2 million every second of every day agains the almost 70-100 thousand google searches every second)
  • It is a language that is here for the past 60 years, and most probably will be here for the next 60-70 to come easy to understand from the Business, designed to fulfil the business needs as expected
  • COBOL is by far unbeatable in its natural habitat of high-volume data processing

The cons that are clear (also few):

  • Because of its origin and usage as a general-purpose language, COBOL is outdated due to the wide adoption by critical services, administration and businesses
  • The market for COBOL engineers is struggling every day, due to its outdated and limited knowledge base and popularity (excluding 2020)
  • Newly acquired Human resources are unwilling to use it as it introduces issues with their expectations for service oriented architecture, because of the heavy and expensive licenses and trainings and limited/closed trainings (even now in 2020, when corporate started initiatives in teaching COBOL, still there are gaps that are covered by rather expensive and heavy closed/specialised trainings without public knowledge base).

So…

In general if you are starting new endeavour – you can easily skip the step of using COBOL until you find yourself into situation that is suitable for it (preferably new standard will come and deprecate also some of the non-productive functionalities as well introduce more at least cloud-ready solutions in the market), making this series ideal for ramp up in the language, or at least guidance of what works.

But if you are rather a company that already has COBOL in place with its kilometres/miles of PROCEDURE DIVISIONS, that has to cope with human resources out from retirement for just another rollout/fix/feature promotion, struggling with the market and loosing positions because of this slow moving dimension (in a manner of adding new functionalities), then this series are ideal for you.

… To Be Continued …