The Informationstechnikzentrum (ITZBund) is the IT service provider of the German Federal Government. The digitalisation of the public administration in Germany is of great importance. The ITZBund has been commissioned by the Federal Government to support the administration with modern IT and to get them prepared for the digital future.
The effect of cold beer or other stimulating drinks is something that everyone knows. We had an entirely different experience in this field over the past year. However, for us it had nothing to do with any treat to drinks but hard work involving the tool-based migration from BS2000 to Linux of a complex software project to manage alcoholic beverages. As usual, a series of new challenges arose from this. This report presents knowledge and experience gained from the cooperation between Informationstechnikzentrum Bund (ITZBund) and us.
New BIBER and ZEBRA Enclosures
ITZBund is the IT service provider of the Federal Government. About 2,400 employees advise, support and ensure the ongoing operation as well as provision of information technology and specially developed IT solutions. Two IT solutions (so-called procedures) assessment and collection of beer or alcohol taxes are expected to be migrated in the project. The procedures BIBER (beer tax calculation) and ZEBRA (centralisation of distilling under licence) have been historically evolved and in service for more than 30 years. They produce approximately 220,000 tax assessments with a tax revenue of 740 million euros every year. They were handled on BS2000 while using typical BS2000 tools. In terms of technology, both procedures consist of 60 interactive online programs (IFG masks) controlled by the transaction monitor UTM and of 300 batch programs (COBOL), and for the control and administration of which about 200 SDF jobs were used. The entire data is managed in approx. 220 SAM, ISAM and LEASY files.
What you can do today…
We have an in-house developed toolbox named pecBOX (pro et con – Toolbox for Software Migration). All necessary migration paths of the project could be supported with this toolbox. The following table shows these paths and the migration tools used.
Legacy system (BS2000) | Target system (Linux) | Migration tool |
---|---|---|
COBOL | Java | CoJaC |
JCL (SDF) | Perl | S2P |
Masks (IFG) | HTML, JavaScript | MaTriX |
Files (SAM) | Linux-Files | FiRe |
Files (ISAM, LEASY) | Oracle | FiRe |
Middleware (UTM) | MidaS | – |
The fact that qualitatively good migration tools shorten the project duration and trim the budget is nothing new. The project could only so be executed within the specified, tightly scheduled timeframe. Even the popular saying “ready-to-use tools don’t exist” was found to be true. As it happened, CoJaC and FiRe, for example, had to learn “backward reading” of LEASY files. We favour an extension of our tools over a manual adjustment of the source code for these adaptations. In the early stages of the project, it cannot be estimated why and how often already converted programs must be converted all over again. A manual
adaptation would have to be repeated each time. Since all tools are based on descriptive models and meta tools, they can be adapted within an acceptable timeframe. In addition, pecBOX includes system components for the target system. MidaS (Middleware as a Service) is an example of this. This tool developed by us replaces the BS2000 transaction monitor UTM in the target system. An early load test demonstrated that the performance of MidaS meets the practical requirements and thus the use of paid standard software is not necessary.
Knowledge is Power
The first phase of a migration project implies a tool-based reverse engineering with our tool Flow Graph Manipulator. In that regard, special attention is paid to those aspects which bear risks for the migration. In the present case, these mainly occurred in data repository. According to the defined migration path, the ISAM and LEASY files were expected to be migrated to Oracle tables by FiRe. During the analysis, one distinctive feature was identified: during program execution, the dynamic contents of the files are enriched by static contents (constants) from the programs and then output by a printer interface. The encoding of data and source texts (including constants) had to be unified even before the migration. This point did not only apply to an adaptation of FiRe but it also encompassed further aspects of the migration. The sooner such supposedly minor aspects are recognised, the lower is the effort to remedy them since a configuration of the migration tools may alone be sufficient.
Practice makes perfect
Following a detailed analysis and equipped with a full toolbox, one should assume that the real migration can be started straightaway. Our experience proved otherwise. The combination of tools and customer requirements for the first time posed unknown challenges. For this reason, a pilot migration was carried out before the overall project and that provided a vertical section through the application (mask(s), program(s), jobs, data). This enabled us to once go through all migration paths and to use the tools and technologies (at least partly). This procedure turned out to be useful since we gained important insight into many complexities. Thus, for example, we decided to outsource printing to a separate tool and not to map it via solutions existing in the runtime systems. These would have not been sufficient for the customer-specific requirements. As a result of this procedure, additional requirements were identified and implemented before the real migration. This reduced the risk of having to carry out adaptation of the tools besides the task of the migration.
Divide et impera
The challenge of a migration project that reflects all facets of legacy systems is to reduce the complexity of the migration and test processes. This was taken into account in the present project by our partner ITZBund by dividing the application into individual packages. This division was based on (business) processes which were meaningfully grouped into packages. The thus possible parallelisation of migration and test offered many benefits in the project. An essential element was also the communication with the ITZBund experts. They know their processes and could provide valid test data. This data and the defined processes also offered the possibility of automation. For this, the processes and the suitable data were standardised and transferred to test cases which enormously reduced the effort required for the test. The division into individual packages led to the fact that migration and test were manageable at any time and that an overview of the project progress was always available.
You live and learn
The project was switched into productive operations on 22 August 2016. This project again proved that the tool-based approach practised by us works well. This applies in particular to automated language conversion from COBOL to Java with the CoJaC tool. Technologies and tools can be as fully developed and tested as you like, every migration project brings in new challenges. This also means a not at all insignificant effort for our project partner that ITZBund provided through expertise and active cooperation – what could be an example for many others. Only such a close collaboration can lead migration projects to great success.