Krajowa Izba Rozliczeniowa


KIR wanted to replace their Unisys Libra mainframe with one that would be more modern and flexible, perform better and be more cost-effective with no

loss of reliability. Because of the stringent requirements of the National Bank of Poland and of the user banks, this was a key requirement.

The chosen target environment was Linux running on VMware virtualized HP servers. The virtualization software allows for single system images to be presented even though the physical hardware was located in a primary and disaster recovery site several kilometers apart. Failover, in case of any system failure, is handled automatically. MSS used the migrate! series of products to transform the Linc system into a JEE Java application and to convert the Cobol file handling programs and the Algol technical libraries to Java.

A significant body of WFL job control code was also modernized to perl scripting to automate the daily operation. The DMSII database was ported to Oracle and code provided to load and access the Oracle data in the same way as the original. The performance of the database was optimized to give at least equivalent and in most cases better response than DMSII.

The migrate!LINC toolset was used to automatically modernize the Linc screen presentation to JSP supported by MSS’s WebManager software with business logic implemented as Java EJBs. For the batch system, freestanding Java programs, each running in its own JVM, were generated.

The Cobol programs at the heart of the operation were used to process files of transactions and sort and send on transaction records. migrate!COBOL was used to convert these programs to Java for compatibility with the migrated Linc. The resulting code was structured so as to be easily understood and maintained by the original programmers with minimal retraining in java.

The developers received training in the Eclipse Java IDE the use of which made them very productive in a short time. The files received from users are of a quite complicated format being a mixture of ebcdic, ascii and binary data with a digital signature calculated by Algol routines. These files have to be handled in a very efficient way since the time taken to process them is critical.

As well as processing the files, financial statistics must be gathered from them and reports made to the National Bank of Poland to strict time deadlines. All the Algol routines were converted to Java with no loss of efficiency. The scale of the modernization was moderate 350 Linc Ispecs and 510 Linc Reports, 30,000 lines of Cobol code and 26,000 lines of Algol code.

The complexity, however, was rather high centring on the complex file formats for which special Java routines had to be built. KIR makes use of many features of ROC to handle print files and these were all replaced with appropriate scripting and browser-based file viewing and control.


The Cobol programs handled very complex file formats using unusual mainframe file types and a mixture of ebcdic, ascii and binary data in various layouts. In addition the digital signature calculation required constructing an ebcdic image of each record even though the processing was done on ascii data.

An extensive library of Java routines was built to be able to cater for virtually any combination of character set and binary data. KIR use ROC extensively for controlling and viewing print files. The standard Linc to Java implementation allows for flexible naming and placement of files but KIR’s requirements went beyond this.

Configuration files were created to set defaults for file expiration and archive – current files kept in one directory and then moved to another after a certain time – and scripts created to action these. A browser-based print file viewer was implemented (based on the open-source sfm tool) and this is also used to control file expiration and archiving.

To aid system operation an ODT-like control system was developed so that the operations staff could quickly be notified of any issues with file processing and take action. The ODT facility handles MCP style messages and waiting entries.

Private Sector
Business Problem:

Krajowa Izba Rozliczeniowa S.A., or KIR as it is known, is the national clearings organization of Poland, one of the largest and most mature economies of the former Eastern Bloc. KIR’s main function is to act as a central point for receiving transactions (representing cheques) from banks and passing them to the appropriate destination banks. Because of the high usage of this method of payment in Poland the workload and necessary response time is extremely demanding. KIR used a Unisys Clearpath Libra 690 mainframe running a Linc and Cobol application with significant Algol and WFL programming. This was relatively expensive and inflexible. KIR wanted to move to a more modern platform that would be in line with current practice and provide more flexibility and better staff availability – abundant good programming resources are to be found in Poland but not in legacy languages. In addition, there was pressure to reduce cost of operation.

Business Solution:

KIR approached MSS requesting a proposal for a modernization from the Unisys mainframe and LINC/Cobol/DMSII to Java/Oracle on a Linux open source platform. The migration project proposal was accepted and the system went live in June 2009. The cut-over went smoothly and all of the performance goals were achieved. All of the original interfaces were reproduced exactly so that none of the large variety of users was affected.


The modernization project was completed in 13 months and went live in June 2009. The system ran well from the start and showed improved performance. KIR is extremely pleased to have the new system implemented in much cheaper commodity hardware but with the improved flexibility and resilience offered by the virtualized solution. Not only is the application running better and at less cost but the developers are more productive using Java and Eclipse and, after training and initial experience, completely comfortable with Java as a language.

Project Presentation:
About client: