|
Comments
|
Today's Top SOA Links
Features Migrating Legacy Client/Server PowerBuilder Apps
Migrating Legacy Client/Server PowerBuilder Apps to Web-Enabled PowerBuilder Applications
Aug. 19, 2009 09:00 PM
In today's competitive IT environment, organizations are reducing development and maintenance costs, and improving the accessibility of their legacy applications. With the growth in technology and demand for n-tier architecture-based applications, corporations now have an opportunity to transform their "legacy" client/server PowerBuilder applications to Web-enabled PowerBuilder applications by migrating to PowerBuilder 11.0. PowerBuilder 11.0 provides the functionality to transform PowerBuilder client/server apps to Web-enabled .NET PowerBuilder applications with minor redevelopment, instead of rewriting the PowerBuilder application in J2EE or a .NET Framework, which can be an expensive proposition. The initiative to migrate legacy PowerBuilder applications to Web-enable PowerBuilder 11.0 applications, allows corporations to maintain pervasive, efficient, and cost-effective methods of accessing the data and functionalities that were provided in large and complex PowerBuilder applications. The process of migrating a mission-critical PowerBuilder application can be complex, risky, expensive, and time-consuming, if the migration and We recently migrated several legacy applications, which were developed in PowerBuilder 8.0, 9.0, and 10.0 to .NET PowerBuilder 11.0. In this article, we'll focus on the best practices and the steps we took during the migration of an application from a PowerBuilder 8 (or higher) to a Web-enabled N-tier .NET PowerBuilder 11 application. The Migration Process
The next step is to analyze the existing legacy PowerBuilder application and understand the requirements for Web-enabling it. The analysis phase includes meeting the stakeholders, understanding their application and the business and technical requirements that are to be met by Web-enabling the application. The following are some of the items to be considered during the requirements analysis phase:
In our recent migration project, to transform a legacy application to a Web-enabled application, we used a two-phase approach (see Figure 1). The first phase was to upgrade the legacy application to a client/server PowerBuilder 11 application. The second phase was to migrate the client/server PowerBuilder 11 application to a Web-enabled N-tier PowerBuilder 11 application. Phase 1 - Migrate the PowerBuilder 8 Application to PowerBuilder 11 Application Step 1: We started the migration process by making a backup of the existing system. It's very important to make a backup of the existing PowerBuilder code (PBLs). During the migration process, PowerBuilder 11 replaces the old code with new code. As a result, a user can't fix the bugs in the legacy application if the old code has been replaced with the new code. Step 2: Develop the unit and integrated test cases for the legacy application so that once it's migrated to PowerBuilder 11, the migrated application can be tested for accuracy. First test the application using the developed test cases in the PowerBuilder 8 environment. Then store the results. Once the application is migrated, test the PowerBuilder 11 application again to compare the results. Step 3: Set up a development environment with the appropriate database connections and programming tools. It includes the following:
Step 4: Before starting the actual application migration process, we used PowerBuilder's Migration Assistant Tool, provided by Sybase, to help identify potential problems that may arise during the actual migration process. The Migration Assistant Tool scans the legacy libraries (PBLs) and highlights all the obsolete functions and events used in the legacy application. PowerBuilder makes it very easy to use the Migration Assistant Tool. Just start PowerBuilder 11 and select New Option in the File menu. This opens up a new window. In the new window, select the Migration Assistant Tool in the Tools Tab, which brings up the Search for Syntax of Type window. To get a list of all the PowerBuilder functionalities used in the legacy application that are no longer supported by PowerBuilder from versions 8, 9 , 10, 10.5, select the option PowerScript New, Obsolete or Removed Syntax in The Search for Syntax of Type window. Next, select the libraries needed to migrate from the legacy application to PowerBuilder11 and click on the Finish button. This starts generating a list of all the obsolete functionalities used in the legacy application and are no longer supported in PowerBuilder 11. After the Migration Assistant process is complete, the tool generates a Migration Report with a list of the obsolete syntax found in the application. The report lists the exact location, the object name, the function/event name, and the line number in the code where the obsolete syntax was found in the library (PBL), similar to the one shown in Figure 2. Step 5. The next step is to share the report generated by the Migration Assistant with the stakeholders and identify the fixes for each of the issues listed. We found it useful to log the bugs identified by the Migration Assistant tool with the relevant information, such as who modified the code, when the modifications were added, and the reason in case it was necessary to undo our changes. Step 6. Once all the issues listed in the Migration Report are resolved in the legacy application, the next step is to actually migrate the application to PowerBuilder11 using the following steps:
Note: If an application uses the PFC framework then all the PFC libraries need to be migrated to the latest version. The PFC application workspace alone can be migrated, or the old PFC libraries can be replaced with the new libraries. The latest versions of the PFC libraries are here. Step 7: Once the application is migrated to a client/server PowerBuilder 11 application, use the test cases to test it. We did both unit level testing and integrated level testing. Note: As a best practice it's a good idea to maintain a log of the issues faced during the migration process and the resolutions used to resolve any issues. If there are any roadblocks faced during the migration process, work with the stakeholder, provide a possible work around, and put together a plan to overcome the blockages. Based on our experience in PowerBuilder legacy application migrations, we found that 80% of the functionalities in the legacy application could be migrated using PowerBuilder 11, without facing any major roadblocks. The other 20% of the functionality can be migrated efficiently and effectively with proper planning (see Figure 4). At this stage, we have a fully tested and functional client/server PowerBuilder 11 application. The next step is to move to Phase 2 and convert the client/server PowerBuilder 11 app to a Web-enabled .NET PowerBuilder 11 application once all the anomalies are addressed. Note: Before moving to Phase 2, it's a good practice to make the sure the application is well tested by the end users and that the stakeholders have signed off on Phase 1 acceptance. Phase 2: Migrating from a Client/Server PowerBuilder 11 Application to a Web-Enabled PowerBuilder 11 Application Setting Up the Web Server
Creating a .NET Web Form Target To start the .NET Web Forms Application Wizard, we started PowerBuilder 11 and selected the New option in the File menu. In the New window, the target tab provided the .NET Web Forms Application wizard. We clicked on the wizard and then clicked the OK button to start the Web Forms conversion process. Since we were migrating an existing application, we selected the "Use an existing library and application" option in the Create the Application Window. Next, we selected the library that needed to be migrated to a New WebForm application simply by specifying the target and the project name for our Web application. Then we provided the Web application name, the location for the resource files (.PBR files), images used in application, DLLs/API calls (if used in the application), and JavaScript (if used in application) to be deployed on the Web server. After the wizard completed the deployment process, the following components were created on the Web server:
At the end of the deployment process, the .NET Web Forms Application Wizard provided a list of all the features and functionalities that weren't supported by the Web-based application (see Figure 5). We then had to develop the unsupported functionalities in .NET. Note: Some of examples of unsupported features include the Property ‘Title' of the DataWindow, Copy/Past feature, use of the Oval/Rectangle, and OLE controls. The PowerBuilder 11 Help Manual provides a complete list of unsupported functionalities. Once the application was successfully deployed on the Web server, the application was available to the user through the browser. Conclusion Reader Feedback: Page 1 of 1
Your Feedback
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
|||||||||||||||||||||||||||||||||