Regarding (legacy system packaging) this technical job that sounds quite professional and very difficult. Many friends who work in IT, especially those technicians who have been in old companies, have some confusion and confusion? In fact, to put it bluntly, it is those old systems that have been used for many years, may have a relatively old technical architecture, but the data and business logic inside are particularly critical and cannot be thrown away. For example, some companies are still using COBOL systems more than ten years ago, or applications developed based on old versions of Java that are difficult to maintain… These systems are like old houses, and they are inconvenient to live in, but after demolishing them, they are worried that the old objects inside – that is, those important data and business processes – will be damaged, so packaging has become a very important solution.

The core meaning is that it does not directly touch the internal code and structure of the old system, but adds a layer of "protective cover" or "translator" outside it so that it can "communicate" smoothly with new systems and new technology platforms, right? The biggest benefit of doing this is that it can protect the data integrity and vital business logic in the system from being destroyed, and at the same time, it can enable the functions of these old systems to be called by new applications and services, without spending so much money or taking such a big risk to rewrite the entire system. In terms of cost and security, it is a very cost-effective approach! Provide global procurement services for weak current intelligent products!

To do it well, there are several key steps and points, and I think it needs to be carefully considered:

1. Comprehensive systematic evaluation stage : Before starting the packaging, you must conduct a very detailed and thorough survey of the existing ones, including what technology stack it uses? For example, is it an underlying module written in C++? Or is it a VB interface? What interfaces does it have externally, what protocols do these interfaces use, and is it easy to use? How many data tables are there in the system? Are the relationships between data tables complicated? How much data does the system process every day and what are the most critical core business processes? All of these have to be clarified, otherwise it will be like a blind man touching an elephant, hitting walls everywhere

2. Encapsulation policy selection process : Based on the results of the previous evaluation, you have to choose a suitable encapsulation policy. Common strategies include API encapsulation – that is, to package the original functions into standard REST APIs or SOAPs, so that the new system can use the functions of the old system by calling the API; and also service encapsulation, which means to package a series of related operations into an independent service unit to provide services to the outside world; or data encapsulation, focusing on the integration of the data level, such as setting up a data warehouse, data mart, etc., extracting and organizing the data of the old system to facilitate access to the new system… Different strategies have different applicable scenarios, and you have to carefully select them!

3. Interface design and development operation : This interface is like a "bridge" between new and old systems. Whether it is designed well is directly related to the success or failure of the packaging effect! Therefore, when designing, you must consider the ease of use. Can developers of new systems easily understand and use these interfaces? We also need to consider the stability of Legacy system encapsulation. The interface cannot change at any time, and no one can stand it when changing; there is also security. We must control access rights and not allow people who should not access to access key data, right? During development, you can use some mature middleware or frameworks to help simplify development work and improve the quality of interfaces.

4. Data conversion and protocol adaptation issues : The data format and communication protocol of old systems are often different from new products. For example, in the past, some custom binary format data might have been used, or particularly old message queue protocols? Therefore, the encapsulation layer must also undertake the task of data conversion and protocol adaptation, converting the data sent by old into JSON format, XML format, etc. that can be understood by new, and at the same time converting requests sent by the new system into instructions that the old system can understand… In this conversion process, it is necessary to ensure the accuracy and completeness of the data.

5. Comprehensive testing and continuous optimization work project : After the packaging is completed, everything will not be fine. A large number of rigorous testing must be carried out! Functional testing must be done to see if the encapsulated interface has the expected functions. Performance testing is also indispensable. In the case of high concurrency, can the packaging layer withstand and how is the response speed? Compatibility test and security test must also be arranged… If you find problems during the test, you must fix it quickly, and then continuously adjust the encapsulation layer according to the actual operation, so that it can run smoother and smoother.

During the implementation process, you will definitely encounter various questions and difficulties. Here I will choose a few comparative questions to briefly answer:

Q: Can you only choose one packaging strategy? Can't we mix several strategies together?

Answer: Of course you can use it in a mixed way! In many complex scenarios in reality, a single strategy often cannot meet all needs, so a variety of packaging strategies will be flexibly combined according to different module characteristics and integration goals, such as one piece of encapsulated with API, and another piece of critical data will be encapsulated with data, so the effect may be better!

Q: After packaging, will the old system be solved once and for all and no longer care about it?

Answer: This may not be dear! Encapsulation is just a short-term or medium-term solution, right? The encapsulation layer itself also needs someone to maintain and update, and if it is still operating and generating data, it still needs basic maintenance work. It cannot be said that it will be completely left alone after the encapsulation is completed! If the company has money and business conditions are ripe in the future, slowly replacing the whole old may be the final solution.

I personally think that it is indeed a work that has a high technical content and requires careful and patient care. It is not something that can be solved in one go, but it needs to be gradually and coordinated! Only by choosing the right method and doing a good job in designing – realizing – testing – optimizing the entire process can we truly play the positive role of packaging in protecting assets, promoting systems, and supporting systems, and helping enterprises to smoothly overcome this painful period of system replacement and renewal! Anyway, this thing needs to be practiced more and summed up more experience, and it will gradually become more and more convenient!

Posted in

Leave a Reply

Your email address will not be published. Required fields are marked *