X-2E Modernize - Fresche Legacy
Transcription
X-2E Modernize - Fresche Legacy
X-2E Modernize Automated Conversion of CA 2E (SYNON) Applications to Java or RPG Free using Fresche Legacy’s X-2E Modernize What’s Inside A description of X-2E Modernize, the heart of the X-Analysis CA 2E Modernization Module. X-2E Modernize works directly from the Synon model to automatically convert your application to Java or RPG Free. X-2E Modernize X-2E Modernize X-2E Modernize: The complete, automated solution for conversion to CA 2E (Synon) applications can easily be converted to Java or RPG Free using X-2E Modernize X-2E Modernize Since its introduction, CA 2E (Synon) has become the most suc- for modernizing any CA 2E application. X-2E Modernize Some Highlights: cessful 4GL tool on the IBM i platform. The CA 2E development automatically re-factors and generates an MVC Web environment combines a rich and precise model of designs application using OO methods in Java or RPG Free (Flex & and specifications with powerful code generation capabilities. Silverlight UI soon to be added). Fresche’s X-2E Modernize takes Even with this powerful set of features, many companies now advantage of CA 2E application architecture to automatically face real pressure to modernize their business applications convert applications. Since CA 2E forces users to organize beyond the scope and capability of what CA 2E can offer. The code into screen designs, action diagrams, business logic and challenge is to move forward without discarding decades database components, X-2E of investment in design, evolution and fine tuning stored in 2E model to extract design information in a structure that the CA 2E model. Fresche’s X-2E Modernize is the solution maps cleanly into a modern MVC/OO/RESTful architecture. Modernize uses this internal Modernize Modernize DDL Database Web UI as: Angular JS JSF ASPx 5250/OA Re-Usable Modules as Free Format RPG & SQLLE Event Driven, Business Logic Modules as Free Format RPG Java or RPG Free ff Creates MVC Design Model from recovered interactive program legacy designs in CA 2E Model ff Screens/Functions ff Data Layer/Internal Routines ff Business logic/Action Diagrams ff Generates MVC code from recovered CA 2E designs as RPGLE-Free, Java JSF/Angular JS, Hibernate, Spring, DAO ff Works over user-defined application areas or individual programs ff Compares Original and Recovered code ff Transforms RPG batch logic into Java or RPGLE-Free Analysis Data Model Diagrams Data Flows DDL/XML/UML Screen Designs & Data Mapping Screen Actions Business Rules Graphical Documentation & Impact Analysis Business Rules Analysis & Graphical Structure Charts ff Creates Hibernate configuration files and JPA package from recovered relational model ff Fully automates and integrates documentation with X-Analysis CA 2E Entities & Relationships Functions Internal Routines Action Diagrams ff Creates platform-independent UI/ViewController meta-data (functions) from 2E Functions ff Builds Java data migration package from legacy data model Fresche Legacy: X-2E Modernize Share this information: IT Can Make You Smile X-2E Modernize Why start from the CA 2E (Synon) Model? Design Recovery: The basis for modernization It is only possible to convert CA 2E (Synon) Whatever the approach to modernization, design recovery is the first applications by working from the CA 2E step. With this understanding, developers can quickly identify the model into the target architecture and business rules and reusable designs embedded in core business code. Conversion processes that attempt processes. They can also to translate the 2E-generated RPG code restructure code, remove dead code and create reusable components that Documentation X-Analysis Word/Open Office/Excel Recovered Design can be enabled as services within a service-oriented architecture (SOA) or any modern application architecture. unrecognizable and unmaintainable code. In automated reengineering projects, the 2E information (and not the RPG) is parsed Extracted Functions/UI by X-2E Modernize to recover knowledge UML XML DDL Refactored Action Diagrams or Business Logic chunks and reassemble them into a new system. Several reasons why you should not attempt to directly convert the 2E-generated Design Recovery is very valuable for documen- will result in volumes of unnecessary, Current Potential Java RPG Free LANSA Oracle ADF Silverlight RPG code: ff You will be converting approximately Data Model tation and application support purposes, but the real benefits come 10 times more code ff The new code will not follow a modern architecture design when the recovered ff No one will recognize the new code and design can be used to modernize or re-develop a system. Reusing existing designs programmat- it will be extremely difficult to maintain ically can provide a dramatic productivity gain in rebuilding an application. ff You are likely to have difficulty with scaling and performance ff Generating from the RPG is not a viable long term investment Fresche Legacy: X-2E Modernize Share this information: IT Can Make You Smile X-2E Modernize Modernization Process Database Modernization DDS to DDL Conversion Data Quality Analysis ORM Framework Gen-(Hibernate) OO VO layer with Web service wrapper Business Logic Rebuild Re-factor into event-driven model OO mapping Business rules database Business Logic Model generated as Java, RPG Free Web Service Layer UI/Print Functions Screen formats/layouts/fields/files/attributes Screen actions flow ORM mapped to UI Conditional field/UI/flow logic The X-2E modernization process includes two stages: Component Generation and Application Generation. COMPONENT GENERATION The Component Generation stage includes: 1. Database Modernization; 2. Business Logic Rebuild; 3. UI/Print Functions. Components are summarized at right, and described below. 1. Database Modernization The data model for a legacy application as deduced by X-2E can be used to modernize the database and database access as well as provide valuable information for analysis and documentation. Once you have a modernized database, you gain a number of advantages: ff Openness/Standards compliance: Using industry-standard SQL means that many different tools and applications on multiple platforms can easily access and use your modernized database. ff Data Integrity: Journaling is available for SQL access just as it has always ff Portability: Because the database is defined in purely SQL terms rather than in been for file-based access. Constraints and referential integrity can be a proprietary file format, it becomes portable — i.e., it is now viable to consider implemented directly at the database level where they are unavoidable moving the database to another platform. rather than at the program level. Database triggers allow code to be run ff Improved performance: IBM’s data retrieval efforts have been concentrated on SQL access rather than file-based access for many years. of enforcing compliance, audits, validations and applying business rules. ff Ability to use modern Object Relational Mapping (ORM) software such as Hibernate for rapid application development in Java and other modern languages. ff Reduced dependency on System i-specific skills such as DDS, which may lead to cost savings and reduced risk. Fresche Legacy: X-2E Modernize before or after records are added, updated or deleted, providing an easy way ff Database modernization also uses the advanced design extraction directly from the CA 2E model, making use of long field names, constraint logic and all relevant database abstractions, either kept on IBM i or migrated onto other DBMS systems. Share this information: IT Can Make You Smile X-2E Modernize Modernization Process - Cont’d. View the business rule summary at a glance 2. Business Logic Rebuild After recovering the Data Model, the next step is to extract the logic that gives the application its particular characteristics. The generic term for such logic is Business Rules. The challenge is to extract or “harvest” these rules from the legacy code. Once harvested, these rules need to be narrated and indexed, thus providing critical information for any analyst, architect or developer charged with rebuilding a legacy application. The task of harvesting business rules manually is a highly skilled, labor-intensive, and costly exercise for any organization. X-2E Modernize accomplishes this task by automatically scanning the RPG and COBOL programs and the 2E model programmatically. It then separates out rule code from the body of the application and identifies, indexes, narrates, and stores business rule logic code into a structured, usable repository. In the final part of the process, it supplies appropriate textual narratives to describe these harvested rules. Once the rules are derived, they can be viewed in summary form, as shown above at right. The business rule repository can then be used programmatically to Generate new code from the business rule repository, or use the built-in documentation (including full cross-referencing and annotated capabilities) to create new specs. generate new code (migrated logic - see at right). At the same time, the built-in documentation, which cross references where-used objects and annotates capabilities, may be used by new developers as the necessary input for re-specification exercises, whether for new applications or for modifications to the current system. Fresche Legacy: X-2E Modernize Share this information: IT Can Make You Smile X-2E Modernize Modernization Process - Cont’d. 3. UI/Print Functions The screens of a legacy application are a classic example where the design is useful in a modernization context, and the code is not. The sheer number of screens in a legacy application presents a logistical problem in recreating them manually. X-2E Modernize lets you see what the legacy screen looked like without having to run the application, which is a great time saver for people not involved with the original application. View individual screens without running the application View the code at any time Design new screens in a GUI designer Fresche Legacy: X-2E Modernize Share this information: IT Can Make You Smile X-2E Modernize Modernization Process - Cont’d. 3. UI/Print Functions - Cont’d. Screen designs of legacy applications are not just about look and feel; there are ff Fields/Files/Attributes - What fields are on what screens, and where the data comes attributes and embedded logic that are relevant no matter what technology is used from is a requirement in any system development. Attributes of a field can also to implement them in a modernized system. Among these attributes are: help determine what type of controls might be used in a modern UI. For example, ff Formats/Layouts - Some screens may benefit from amalgamation or redesign, a Boolean type might be implemented with a check box, a date with a date prompt. but table edits and non-transaction type screens will largely remain the same, Again, these are simple enough to edit in modern IDEs, but the volume associated even if not identical in layout. with any large legacy application modernization can make this work prohibitive. ff Actions - Whether from sub-file options, command keys, or default enter actions, ff Data Model Mapping - Validations and prompting mechanisms that ensure these often represent an important part of the usefulness of an application referential integrity in legacy applications can also be vital to extract. This is both design. The mechanisms used to offer or invoke these calls may change, but to implement referential integrity and to provide design information for building where they go logically and what parameters they pass will largely remain modern prompt or selection controls such as drop-downs or lists. consistent. Rebuilding the UI X-2E Modernize extracts User Interface design information as described above and stores it as metadata in the X-2E repository. This is used as reference documentation for rebuilding UIs manually or for programmatically regenerating new View and Controller artifacts in the new technology. X-Analysis currently generates a JSF / Facelets UI version or a newer AngularJS UI with RESTful Web Services. The design metadata can also be used to generate new interfaces. Why AngularJS? The oldest and most mature of all JS MVC frameworks, AngularJS is managed by Google and is best suited for thick client business Web applications. It is built around best design principles and supports scalability, maintainability and modularization. Fresche Legacy: X-2E Modernize Summary screen laid out in grid pattern Share this information: IT Can Make You Smile X-2E Modernize Modernization Process - Cont’d. APPLICATION GENERATION Rebuilding the UI - Cont’d. The modernized Web application based on MVC architecture can be generated after all the components X-2E Modernize helps you generate screens in the format that are available. X-2E Modernize generates the sort of application that would have been written by hand fits your workflow. by a professional application architect and team of coders without losing the essence of the original design or functional value. This is all done automatically into the IDEs of the language chosen by the user during generation. The new application is easier to enhance and maintain, and as such naturally attracts a wider, more-readily available resource pool for future development and maintenance. 2E Model X-2E Repository View Controller Function Action Diagrams Extracted Functions Extracted Business Logic Class Refactored Action Diagrams ORM Data Model Explicit Data Model Generic Data Base I/O Classes Modern Database Edit pop-up window Fresche Legacy: X-2E Modernize Share this information: IT Can Make You Smile X-2E Modernize Modern and Maintainable Code Base Because X-2E Modernize converts code by first converting the 2E model to RPG in an MVC/OO/RESTful pattern, this intermediate code can also be viewed and compared to aid in understanding how the conversion took place. The Java code is then generated from the intermediate code as MVC JEE JSF / AngularJS, Spring/Hibernate application code base using modern coding standards for optimum maintainability. Characteristics of the converted code X-2E Modernize lets you easily compare RPG and converted code side-by-side ff MVC design pattern – Model-View-Controller, as in a Model layer of components that contains business logic, a View layer that contains the outward presentation, and a Controller layer that handles events in the other layers and directs process flow. ff Object Orientation – organization of code into objects (classes), and those classes containing functions. The functions are either callable from other classes, or protected so they can only be called from within their own class. ff RESTful interaction – the most important point about REST is that server components have no inherent knowledge of session state. Session information that needs to be preserved between work flow activities (screens) is preserved and represented from client-side memory, or via session management functions within the application server software. Fresche Legacy: X-2E Modernize Share this information: IT Can Make You Smile At A Glance... X-2E Modernize Fresche Legacy: The complete, automated solution for conver- US: 9245 Laguna Springs Drive, Suite 200 Elk Grove, CA, 95758 Canada/Corporate Office: 995 Wellington, Suite 200 Montreal, CAN, H3C 1V3 Australia: 9/622 Ferntree Gully Road Wheelers Hill VIC 3150 Australia India: Atrauli, Gaurabagh, P.O. Gudumba, Kursi Road, Lucknow 226026 Uttar Pradesh, INDIA sion to Java or RPG Free. X-2E Modernize X-2E Modernize Summary of Functionality ff Creates MVC Design Model from recovered interactive program legacy designs in CA 2E Model ff Screens/Functions ff Compares Original and Recovered code ff Transforms RPG batch logic into Java or RPGLE-Free ff Data Layer/Internal Routines ff Creates Hibernate configuration files and JPA package from recovered relational model ff Business logic/Action Diagrams ff Fully automates and integrates documentation with X-Analysis ff Generates MVC code from recovered CA 2E designs as RPGLE-Free, Java JSF/AngularJS, Hibernate, Spring, DAO ff Creates Platform independent UI/View-Controller meta-data (functions) from 2E Functions ff Works over user defined application areas or individual programs ff Builds Java data migration package from legacy data model Fresche Legacy: X-2E Modernize Share this information: IT Can Make You Smile About Fresche Legacy As a leading expert in legacy management and modernization, Fresche Legacy helps enterprise organizations transform their business to improve financial performance, increase market competitiveness, remove risk and add business value. Our team of experts has successfully completed hundreds of transformation projects within the most complex enterprise environments, helping organizations future-proof their business by modernizing their business processes, technologies, infrastructure, and methodologies. Committed to 100 percent customer satisfaction, Fresche Legacy’s services and solutions span the complete legacy modernization spectrum from concept to maintenance, and include Discovery Services, Modernization Solutions, and Application Management Services & Transformation. For more information about our company, visit us on the Web at www.freschelegacy.com X-Analysis Professional is the foundation of the full X-Analysis toolset, a suite of productivity tools for your IBM i applications. Following is a brief description of the other modules in the suite: X-Analysis Professional: The foundation CA 2E Analysis: Everything required to analyze and tool, with all of the basic functionality. document CA 2E applications. Application Process Mapping: Business Application Modernization: RPG, COBOL rule and relational data model extraction and and CA 2E (Synon) automatically converted to documentation of application processes and Java. flows. Audit, Quality and Change Database Modernization: Automated Management: Auditing of core application conversion of DDS to DDL, including creation of functionality - including design, quality and constraints, long field names and views. complexity - to identify and change problematic areas in the application. Data and Test Management: Analysis of Open Systems Analysis: Cross-referencing data quality; data archiving, data subsetting and documentation of Java, C#, PHP, VB/VB.NET and data masking. Test data automation and and PowerBuilder. management. How to get on board: X-Analysis products are available as a complete package or as individual modules. At Fresche Legacy, we work closely with you to assess your needs and recommend the best solutions. To get started, contact us using the information below: Fresche Legacy: X-2E Modernize www.freschelegacy.com |info@freschelegacy.com | 1.800.361.6782 (US, Can) | 00 800 361 67 82 0 (Belgium, France Germany, UK) Share this information: IT Can Make You Smile FL-DS-XAnalysis-CA_2E_Mod-EN-04042016