Visionet’s CodeMiner PowerBuilder to .Net migration program uses proprietary innovation in architectural transformations to create a seamless migration of PowerBuilder applications to .NET or Java platforms.
Using a combination of innovative parsing and compiler technologies in concert with automated architectural analysis and transformation, CodeMiner PowerBuilder Edition offers a seamless and automated way of converting 2-tiered client sever PowerBuilder applications to 3-tiered web based applications on the Microsoft .Net or Java platforms.
Trend suggests that legacy PowerBuilder applications lack the essential elements of software scalability and modernization in design and architecture which are now required to meet the demands of the current technology infrastructure. This lack of advancement poses a market competitive challenge and an opportunity for converting the PowerBuilder applications to a newer technology that helps to trim down on the cost, time and effort for future enhancements and maintenance.
CodeMiner PowerBuilder Edition helps to address these challenges by focusing on major aspects of the PowerBuilder to .Net application migration process and help you in your decision making for converting the PowerBuilder based applications:
Following figure illustrates the phases involved during the migration process:
Visionet’s PowerBuilder to .Net Conversion Framework includes services that are common to other related components during the migration process. The list of services includes but not limited to the following:
Figure below helps to explain the internal architecture of CodeMiner:
Depending upon your need and requirements, any enhancements or modifications required in the converted application will be taken up and managed as a separate project after the migration is complete.
CodeMiner PowerBuilder parser identifies the programming object types in the PowerBuilder Library (PBL) files, extracts the source code objects and uses the relevant parsers for that type of object, such as DataWindow etc. to generate the output. The parser output is the CodeDOM that is stored in XML format in the database for later usage by other tools in the CodeMiner toolkit.
VRE constructs higher-level models and artifacts from the code. By using VRE, CodeDOM is fed to Code Mining component which generates flow charts, function call hierarchy and finding references and other intelligence features to understand business logic. This utility allows the user to:
CodeMiner Architecture Analyzer (AA) automatically analyzes architectural structure and code dependencies in the legacy application. It generates comprehensive maps of source code and structures including interdependencies. Based on this information and standard architectural refactoring transformations, the AA will guide the Translator modules with the help of heuristics to convert the code to the target platform. Same is also illustrated in the diagram below,
The Semantic Analyzer analyzes the CodeDOM for each object’s source code and makes decisions on the translation approach that will be executed by the Translator modules. The SA also utilizes proprietary heuristic algorithm designed by Visionet.
The SA can also be customized to meet the customer’s specific requirements. For example if the user wished to replace a particular field in all the screens as a drop down list box that information is fed to the SA.
The output of HTML5 Generator is used by C# and Java Translators to integrate the presentation layer to server side business logic using REST adaptors.
The C# Translator is responsible for automated generation of the C# code. The outputs from the Architecture Analyzer and Semantic Analyzer modules are used to drive the process used by the C# Translator and the translation decisions made. However it must be said that there are always situations where manual intervention will be required, the C# Translator will mark up the generated code with comments to highlight areas that need manual intervention.
The C# Translator upon completion bundles up all the generated code inside a Microsoft Visual Studio solution file.
The Java Translator works similar to the C# Translator and utilizes the output from the AA and SA to automate the generation of Java code. Similar to the C# Translator Java Translator will mark up the generated code with comments to highlight areas that need manual intervention.
The Java Translator upon completion bundles up all the generated code inside an Eclipse Workspace.
Binder is a component of the Translator and its purpose is to link up the various generated code components with their corresponding PowerBuilder code objects. This facilitates the developers in the manual editing of the code to be able to reference the original PowerBuilder code and also verify the completeness of the translation.