legacy application modernization platform
ModPaaS is a purpose-built, customizable cloud solution that allows for highly collaborative participation throughout the journey of a legacy application modernization project. ModPaaS provides access to Modern Systems-developed modernization solutions “as a service” in a secure cloud-based environment. ModPaaS allows you to move through the modernization journey at your own pace in a completely self-service manner, with assistance from Modern Systems modernization specialists, or in a fully managed approach (similar to a traditional project engagement).
ModPaaS is now available for customers looking to analyze mainframe legacy code, understand interrelationships, complexity, dependencies and mine business rules. These are essential activities in order to successfully plan for any complex modernization project.
Having access to ModPaaS allows you to:
- Perform a comprehensive assessment of your existing legacy applications, including asset count and asset type categorization, missing and unreferenced components, program flows, impact and code path analysis, reporting and documentation, and more.
- Categorize objects and applications to determine disposition options (e.g. rehost, automatically convert, reengineer, replace, etc.), and drive ongoing modernization initiatives with different levels of assistance.
- Trace and isolate COBOL-based business rules which can be reused for reengineering initiatives.
- Develop a strategic modernization plan which includes recommendations and estimates that best suit your individual technical and business needs.
- Select and extract code to be modernized. As an example, you can select code specific to the UI layer or data access objects to aid microservices development efforts.
Using ModPaaS for an application assessment
At the heart of ModPaaS is the Modern Systems Enterprise Application Viewer (eav), an automated assessment solution that has been used to process millions of lines of legacy code. The following image represents the ModPaaS assessment process, and the numbers in green represent each step in the process and correspond to the related text that follows.
ModPaaS assessment process overview
- Within your cloud provider account, launch a Windows-based ModPaaS instance.
- Populate the eav asset repository with legacy source code and data definitions.
- Automatically parse assets, produce asset counts, categorize types, perform impact analysis and code path analysis, generate program flows, dependencies, and create numerous reports and documentation. Steps 2 and 3 are an iterative process, performed until all assets reported as being missing are resolved.
- Collaboratively analyze results and further categorize assets into specific application groups based on possible disposition strategies. Discuss modernization options and associated migration tasks, service levels and pricing, define statements of work (SOW), with Modern Systems (MDSY).
Post Assessment modernization options
Modern Systems supports multiple modernization options post-assessment which map to the different disposition options and categories identified, including:
- Rehosting COBOL and Natural applications to cloud-based platforms.
- Automatically converting COBOL and Natural-based applications to Java or C#, and modernizing legacy data stores to standard relational or cloud-specific databases. Different levels of application refactoring and optimization can be applied to achieve the desired level of elasticity and availability.
- Reengineering selected business functions or application groups to support a cloud-native architecture such as microservices. This option can be driven from ModPaaS with different levels of support from Modern Systems.
- Determining specific functionality to be retired or replaced with a packaged application. Similar to reengineering options, this can be driven from ModPaaS with different levels of support from Modern Systems.
You can obtain estimates from Modern Systems for each different modernization option and the related service tasks – and can decide on the required level of engagement for both parties.
The following image represents the end-to-end modernization approach with ModPaaS. Steps 1 through 4 are specific to using ModPaaS during an assessment and are described previously. Steps 5 through 9 relate to post-assessment modernization activities, where identified COBOL source code is extracted, analyzed further to determine fixed-bid conversion pricing, and automatically converted to Java or C#.
ModPaaS end-to-end modernization process overview
Steps for conversion of identified COBOL source code or business rules to Java or C#
- Identify select assets to be analyzed and converted, and export them from ModPaaS into a Modern Systems GitLab SCM repository.
- Extract assets from GitLab into a ModPaaS conversion system running in a Modern Systems cloud provider account. Analyze code to determine conversion effort and delivery options with fixed-bid pricing. When ready to proceed, execute the code conversion process, returning code to a level of completeness based on the selected delivery option, ranging from clean compile through to conversion with functional equivalence. The next release of the ModPaaS solution will support a completely automated and dynamic conversion delivering code with default customization options. Slated to be available later in 2018, this version will not require services or support.
- Export and populate the converted code into a target GitLab SCM repository, ready for continued modernization
- Optionally create a continuous integration workflow for the converted code – either on separate system, or existing ModPaaS system.
- Manage converted code in preferred development environment and continue modernization efforts.
Ongoing development of converted code using ModPaaS
Converted Java or C# code is fully maintainable, following object oriented concepts and paradigms such as encapsulation, abstraction, modularization and loose coupling. Code is populated into a target GitLab SCM repository, and can then be optionally integrated with a continuous integration workflow. We can support you in building a default continuous integration workflow with ModPaaS based on our experience with solutions we use internally, e.g. Jenkins, Gradle, SonarQube, Selenium, etc. This can obviously be customized depending on your own preferences. The workflow is completely independent of any Modern Systems specific solutions once the code is in the target repository. The focus becomes on configuring the workflow to extract code based on a specific trigger (e.g. SCM update), then automatically running the code through select solutions to support features such as:
Code quality measurement
We can supply an initial set of SonarQube rules with some limitations related to the original application. For example, with automated code conversion it’s not possible to reduce the cognitive complexity of a program. Depending on the selected code conversion service level, we can also improve the quality of the converted code by incorporating your suggested changes, even from code coming as-is from the COBOL program. In addition to analyzing and measuring code quality against defined SonarQube rules, we also recommend using an additional open source static code analyzer solution such as FindBugs to detect possible bugs in Java programs.
Automated test execution
We use Selenium as part of the continuous build cycle to support the execution of created test cases. Since Selenium test cases need to be created after the application is running, the tests won’t trigger on the initial translation. Once created though they can be added to the build cycle, and Jenkins will trigger the build using a solution such as Gradle. The Gradle build project packaging will include specific JUnit (for Java) or NUnit (for C#) test cases to support batch job testing and “headless” screen testing, in addition to the Selenium test cases to be triggered. This is a process that Modern Systems development teams utilize internally today.
Leveraging a target IDE
Converted code can be exported from the target SCM and managed in your preferred IDE, e.g. Eclipse, Microsoft Visual Studio, ItelliJ IDEA, etc. You’re responsible for installing and configuring third party solutions such as an IDE – and if applicable, for supplying required licenses.
Ongoing ModPaaS Development
An extensive help system is available via the eav interface that contains details on every screen and feature within the system. Classroom-based training is also available, both onsite and via a webinar - however most clients find that using the eav tool suite provides the best form of training. A getting started guide is supplied which demonstrates how to setup your first project and load source code into eav in a few simple steps.
Modern Systems migration specialist consultants are also available to provide support. Code conversion training will be provided based on the selected service level agreement.
Learn More About Your Cloud Options