#Services

Software modernization 

 

Home 9 Services 9 Software modernization

What is software modernization?

Modernization is a technical process in which we transfer the logic of an existing application into a modern, state-of-the-art environment.

Modernization always has the goal of reducing costs. One of the major diseases of today’s legacy software is complexity. Any plan to reduce the complexity of legacy systems and legacy software by using modern components (e.g., by using web interfaces) tends to increase it.

Why are we modernizing?

We modernize because systems work inefficiently. Systems that work inefficiently mean high costs.

Modernization is not software development.

Modernization is not maintenance and further development of existing systems. Modernization requires a different approach and a different paradigm than conventional software development. It is a niche that can only be carried out with an enormously high level of effort and risk without highly specialized and well-trained specialists.

Do you have question?

Our experts from all areas will support you and provide you with advice and assistance in all matters.

What are the methods to successfully modernize legacy software?

There are three approaches to software modernization:

Rewrite an application

Transfer the functionalities into a standard software

Technology-based transformation

Digital Creek Software Services’ unique Application Understanding methodology can be used for any of these three concepts. The results of the Application Understanding process can be used with all three concepts.

With the help of Business Flow Suite, a technology-based transformation of old legacy software applications can be performed. We also advocate, from our experience, only this procedure.

Converting a legacy system and application involves the following steps:

Database (file system) transformation
Environment transformation including operation
Data transformation
Code transformation

We offer you a unique process. Our paradigm is simple: After abstracting the existing overall system, the new system, with its consistent and coherent properties, is created through a transformation process and enriched with the abstracted business logic.
The starting point is always the concrete: the source code.

The premise “The source code is the truth” applies.
It is important to know that the source code alone is not sufficient to describe the entire system. For the abstraction we need the technical information and the business logic from the code, as well as the meta information from the business departments.
Business logic and technical information are stored
in a central repository. This process is done by one or more parsers and by different engines. The repository is enriched by the meta information.

After the transformation arises:

Maintainable code
New and modern environmental standards
Conforming structures that correspond to the structures of modern architecture
Smooth interaction between the legacy data and the application (keyword: character set, sort)
An application and infrastructure that is modern and therefore maintainable
A technological environment that requires far fewer resources than the legacy system

You get a system that is modern and therefore easy to maintain, both from the point of view of architecture and technological basis.

Your software will be faster due to the new structure.

The old infrastructure components can be exchanged for new ones.

Resource requirements and maintenance efforts decrease. Your computing capacities are reduced, and the resource requirements for your hardware are reduced.

You have a modern code without having limited your applications in their business functions.

Your system becomes easily maintainable

Hardware resource requirements decrease

Your software becomes faster

Technical but also human capacities are released

Our software modernisation project process

1. Assessment

We familiarise ourselves with your systems and analyse them. The assessment is the basis of every successful project. This step must be carried out with the utmost care.

A
Checking the application and system documentation, if available
B
Interviews with the application users and the application owners
C
Importing the source code into our Application Understanding analysis tool (also possible on site for critical applications and secure source code)
D
Analysing the source code. Analysing the data access layer and the DB schema
E
The creation of reports

2. Concept

A concept is created in the next step. Individual elements are already transformed here. The adaptation and finalisation of the planning takes place in this phase. The following elements are worked out in a concept:

A
Target architecture
B
Transformation method (Bing Bang or Step by Step)
C
Data transformation
D
Application transformation
E
Interfaces (interfaces /API - concepts for the interfaces and for interface communication)
F
Test concept

3. Proof of Concept

Risks and showstoppers are identified and localised in the POC. We create a prototype based on the application and the programmes, which is used to convert further individual fragments of the application. Once the POC has been successfully implemented and accepted by the customer, the next transformation steps follow.

4. Data transformation (iterative cycle)

During data transformation, the database elements are transformed. The following elements and steps are taken into account and carried out:

A
The DB schemas are created
B
Tables, views, indexes, constraints, partitions, procedures and triggers are transformed
C
CTL files are created
D
Data loading/transfer/verifying transformation is performed
E
Functional tests are carried out
F
On-site and off-site support are defined (we are available off-site and on-site in the event of problems)

5. application transformation (iterative cycle) with the Business Flow Suite

The application transformation consists of the following steps:

A
The completeness of the source codes is checked
B
Parsing
C
Analysing the results
D
Conversion/transformation of the source code
E
Carrying out functional tests

6. Tests (Iterative Cycle)

In addition to the separate tests in the individual project phases, extensive application and programme tests are carried out before the project is completed.

7. Transfer/Takeover

The customer accepts the project based on the required specifications.

Do you have any questions?

Our experts from all areas will support you and provide you with advice and assistance in all matters.

Or take a look at our references.