Presentation on theme: "Sybase PowerBuilder Applications Modernization. 11 October 20142 About the Company Founded in 2002 Unites high-level information technology and organization."— Presentation transcript:
Sybase PowerBuilder Applications Modernization
11 October 20142 About the Company Founded in 2002 Unites high-level information technology and organization architecture professionals. Areas of specialization: –Legacy modernization from Oracle Rally to Java (Enterprise Edition) environment –Legacy modernization from Sybase PowerBuilder to JEE or.NET environments –Borland Delphi modernization to JEE environment –Oracle PL/SQL to Java modernization –Legacy environments –Architecture, Foundations, Database and Application development in Java and.NET environments
11 October 20143 Relevant Projects A large U. S. power corporation A large U.S. government agency A large Israel government agency
11 October 20144 Partners
11 October 20145 Managing the future of your legacy applications??? Modernization
11 October 20146 Rewriting from scratch Very expensive and cost- ineffective Long “time-to-production” cycle Wasting of resources for maintaining of the existing application during the long development of the new one. Risky in terms of budget, time and functionality "Legacy code" often differs from its suggested alternative by actually working and scaling. Bjarne Stroustrup, the father of C++
11 October 20147 Conversion or Face Lifting? Face LiftingConversion Modernization project cost Relatively low costMay go up to 1/3 of the complete rewriting cost Modernization project duration A couple of monthsGenerally from 5 to 12 months Maintenance personnel The legacy team (which may be problematic to have), and in addition new personnel is required. Regular developers knowing how to work in the modern environment – easy to be found Maintenance costsHigh costs: development in the legacy environment, face lifting tool licensing, regular “micro-modernization” projects for face lifting, face-lift environment maintenance etc. Regular development costs in the modern environment Development environment Development of the new features in the old legacy environment with all the problems Development of the new features in the modern environment with all the benefits Time to marketFace-lifting cycle prevents new features from fast deployment New versions can be produced faster
11 October 20148 Automated Modernization The existing application logic is automatically preserved Low risks in terms of the project scope and schedule Easier deployment and shorter end-user learning curve You always can go back Maximum use of the existing manpower
PowerBuilder Modernization Process: Architecture Change 11 October 20149
10 Legacy Thick Client Architecture
11 October 201411 Modern Thin Client Architecture Microsoft.NET 4.0
11 October 201412 Modern Thin Client Architecture Java Enterprise Edition Any Servlet/JSP Container Database Server JSP Business Logic, Data Access
PowerBuilder Modernization Process: Steps 11 October 201413
11 October 201414 1. Learning the Application and the Environment Objective Understanding the application and its environment. Process Learning the application. Obtaining the source code. Identifying exceptions. Mapping external resources (images, help files, INI files, XML and text files, registry keys etc.) and interfaces (DLLs, applications etc.). Understanding the target environment. Schedule About three weeks for a medium-size application Deliverables Draft version of the System-Wide Standard (S.W.S.) for the application. Application sizing and modernization project estimations Target platform and “modernization feasibility” recommendations
11 October 201415 2. Integrity Check Objective Preparation of the original application for the conversion. Process System integrity checks. Building walkthrough scenarios (by the client) - scenarios “how an end- user works with the application”. Identifying failures. Application fixing (if required), or documenting for after-conversion fixes. Schedule About a month, depending on the application and the client availability. Deliverables Cleaned application Bug report + fixes plan Walkthrough scenarios (by the client), approved by MainTrend
11 October 201416 3. PowerBuilder Objects Export Objective Extracting of all the PowerBuilder objects from the application libraries to text files. Process Libraries consolidation. Duplicates identifying. Export of all the PowerBuilder objects to text files. Schedule Less than a week. Deliverables Plain text source files for all the PowerBuilder objects (correct versions).
11 October 201417 4. Reverse Engineering Objective Preparation of the intermediate files, required for the code generation step Process Parsing of the code of all the PowerBuilder objects and building the abstract syntax tree and the dictionary for the application. Managing relationships and inheritances. Deleting unnecessary objects. Schedule From a week to two weeks. Deliverables Abstract syntax tree for the application (xml files) Application dictionary (xml file) The second version of the S.W.S. document
11 October 201418 5. Code generation Objective Producing of the code according to the target environment. Process Automatic generation of the destination code. First fixes according to the S.W.S. Manual completion for exceptional objects (e.g. OLE). Schedule Defined in the S.W.S. depending on the size and complexity of the application. Deliverables Application code migrated to the target environment. A third version of the document S.W.S.
11 October 201419 6. Unit Test (UT) Objective UT environment building. Performing of the unit tests. Process Preparation of the UT environment at the customer premises (servers, required software, test database etc.). Linking the unit test application to the test database. Installation of the UT application in the UT environment. Performing of the unit tests. Schedule Defined in the S.W.S. depending on the size and complexity of the application, and on the availability of the customer. Deliverables UT environment installed at the customer premises UT report
11 October 201420 7. Database Migration Objective In case the database platform is changed – to have the production database migrated to the new platform. Process Database metadata and database data migration. Building reports for the application changes required in response of the database changes Preparation of production servers and related software. Tests and the database fine tuning. Schedule Defined in the S.W.S. depending on the size and complexity of the application, and on the availability of the customer. Deliverables Complete and working database. Report of the performed database changes.
11 October 201421 8. Integration Objective Building of interfaces and links to external systems. Integration of all the application parts. Process Changes to match the new database structure. Adjustments to the operating system. Building interfaces to external systems. Building and linking of external objects. Making the integration of all the parts of the system Schedule Defined in the S.W.S. depending on the size and complexity of the application, and on the availability of the customer. Deliverables Customized application connected to external objects.
11 October 201422 9. Integration Test Objective Integration tests including end-users involvement. Process Performed as a “Test and fix” cycle. Performed in cooperation with the customer’s end-users according to the walkthrough scenarios prepared in the second step. Schedule Defined in the S.W.S. depending on the size and complexity of the application, and on the availability of the customer. Deliverables Verified customized application connected to external objects.
11 October 201423 10. Web-environment adaptation Objective Making adjustments to the thin-client browser-based environment. Process Adjustment of the web forms according to S.W.S. Adjustment to the size limits to get the desired response times. Fixes and adjustments which are found needed during the process. Schedule Defined in the S.W.S. depending on the size and complexity of the application, about a month for a medium-size application. Deliverables The application ready for the user acceptance test.
11 October 201424 11. Implementation to Production Objective Acceptance and moving to production. Process User acceptance tests. Finishing of all the needed installations in the production environment. Moving to production. Training for the end-users. Training for the client’s developers. Schedule Defined in the S.W.S. depending on the size and complexity of the application, and on the availability of the customer. Deliverables The modernized application working in the production environment.
Legacy Software Migration Case Study
11 October 201426 The customer: DLF - Family Department of the Commonwealth of Puerto Rico Government (a large U.S. government agency). More then 3000 users in more than 100 local offices. The legacy application: supported almost all DLF’s activities. More than 150,000 lines of code. More than 30 man-years of investment. Case Study (1)
11 October 201427 A joint team (Hewlett Packard of Puerto Rico as an integrator, MainTrend as a conversion subcontractor). The core of the migration was the automatic conversion The entire migration took less than 7 months from the project start to the new converted application working in production Costs about one third of the estimated budget of a full rewrite. The resulting application is now maintained by the department’s own developers. Case Study (2)
11 October 201428 No loss in business knowledge. A significant reduction in client maintenance (browser- based solution). Low assimilation efforts. Much easier to find development personnel. The more flexible programming environment reduces the “maintenance cost per change”. The new technology allows application enhancements to increase business productivity. Paul Segarra, the DLF’s project manager: “The system is working great and everyone is highly impressed on how quickly and accurately the conversion went!” Case Study (3)
Thank You! For additional information: Site: http://maintrend.net/http://maintrend.net/ Email: email@example.com@maintrend.net