Abstract: A system and method for transforming a legacy applications into modern technology applications using a model driven development framework are disclosed. It includes extraction of GUI and business rules in a standard template format as an input specification and exporting the input specification to particular technology independent model specification in a model driven development framework. The model driven development framework is further configured such that the business rules may be modified before being mapped to screen events and business services automatically for their implementation in the target application. The target application is obtained by applying specific translators to these models and results in pixel perfect and responsive GUI for further extension. It provides rapid and seamless support for transformation to upcoming technology trends without rewriting the specifications. The legacy code in commented format may further be converted into code in the domain specific language using complex parsers.
DESC:
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention:
SYSTEM AND METHOD FOR LEGACY SOFTWARE MODERNIZATION
Applicant:
Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India
The following specification particularly describes the embodiments and the manner in which it is to be performed.
CROSS-REFERENCE TO RELATED APPLICATIONS AND PRIORITY
[0001] The present application claims priority to a Patent Application Serial Number 201621008437, filed before Indian Patent Office on March 10, 2016 and incorporates that application in its entirety.
TECHNICAL FIELD
[0002] The embodiments described herein generally relate to legacy modernization, and more particularly, relates to a system and method of legacy modernization using model driven development approach.
BACKGROUND
[0003] In today’s world most of the business critical application are still on legacy platforms such as COBOL, VB, PowerBuilder, Oracle Forms and the like. Most of the legacy applications are large in size and face significant financial and technical challenges for maintenance as well as for efficiently while serving the customers. Some of these challenges include high mainframe license costs, integration challenges, lack of scalability and shortage of staff skilled in legacy technologies.
[0004] Transformation from legacy applications to modern technology applications is a complex and extensive process that can take long duration to produce initial results and is prone to failure despite huge investment and technical expertise. Although Legacy modernization initiatives are highly recommended, these initiatives face significant risks for various reasons such as high cost, manual extraction and verification of business rule with coverage, dependency on technical experts till end of migration, lack of scalability i.e. high chances of rewriting in another language after some years.
[0005] In the existing works relating to legacy software modernization, facility to generate responsive applications of new age technologies from legacy applications with inherent and rapid support for adapting to future technologies is not available. Also, works that allow transformation to be achieved in a systematic manner while enabling users to visualize the application in the target technology and accordingly modify if required, before performing actual transformation are also not existing.
SUMMARY
[0006] The following presents a simplified summary of some embodiments of the disclosure in order to provide a basic understanding of the embodiments. This summary is not an extensive overview of the embodiments. It is not intended to identify key/critical elements of the embodiments or to delineate the scope of the embodiments. Its sole purpose is to present some embodiments in a simplified form as a prelude to the more detailed description that is presented below.
[0007] In view of the foregoing, the disclosure provides a method and system for transforming legacy software applications into a technology independent platform. The technology independent platform may be a responsive web application or mobile application or deployable jar or an executable of any type. According to the embodiments of the present disclosure, method and system for extraction and conversion of a Graphical user interface (GUI) and business rules of legacy software application from event driven programming languages such as VB, PowerBuilder, Oracle Forms to a technology independent format is illustrated. The specification in technology independent format may be termed as a high-level specification. The technology independent format is achieved in a Model Driven development framework. Further, the technology independent format may be compliant of UML standards and capable of generating any type of applications. The business rules of the legacy software application represented in textual format, as imported in the Model Driven development framework may be linked to the GUI and Business Component models of the technology independent format of the target application to ensure implementation of business rules in target application. Furthermore, the technology independent model specifications may be transformed to the code snippet related to the required technology using translators along with predefined legacy code in commented format provided along with the business rules specification. The legacy code in commented format may further be converted into code in the domain specific language (DSL) using complex parsers.
[0008] In an embodiment, user may implement the exact specification as obtained after the conversion for further transformation into the required technology. In another embodiment, users may modify the specifications as per the needs of the required technology by applying patterns and using handlers provided by the present disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The embodiments mentioned herein will be better understood from the following detailed description with reference to the drawings, in which:
[0010] Figure 1 illustrates an exemplary block diagram of system for legacy software application modernization in accordance with an embodiment of the present disclosure;
[0011] Figure 2 is an exemplary flow diagram illustrating a method for legacy application modernization/transformation in accordance with an embodiment of the present disclosure;
[0012] Figure 3 illustrates a step of importing of an input specification into the present model driven development framework of the present system in accordance with an embodiment of the present disclosure; and
[0013] Figure 4(a) and 4(b) illustrates the mapping of business rules to business services of the target application in accordance with an embodiment of the present disclosure.
[0014] It should be appreciated by those skilled in the art that any block diagram herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computing device or processor, whether or not such computing device or processor is explicitly shown.
DETAILED DESCRIPTION
[0015] The embodiments stated herein and the various features and advantageous details thereof are explained in detail with reference to non-limiting embodiments that are illustrated in accompanying drawings and detailed in following description. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments described herein may be practiced and to further enable those of skilled in the art to practice the embodiments described herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments described herein.
[0016] Referring Fig. 1, illustrates an exemplary block diagram of system 100 for transforming legacy applications in accordance with an embodiment of the present disclosure. In one embodiment, the system 100 may include at least one processor 102, an input/output (I/O) interface 104, and a memory 106. The at least one processor 102 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the at least one processor 102 is configured to fetch and execute computer-readable instructions or modules stored in the memory 106.
[0017] In the preferred embodiment, the I/O interface 104 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface 104 may allow the system 100 to interact with the user directly or through the user devices. Further, the I/O interface 104 may enable the system 100 to communicate with the computing devices, such as web servers and external data servers (not shown). The I/O interface 104 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The I/O interface 104 may include one or more ports for connecting a number of devices to one another or to another server.
[0018] In the preferred embodiment, the memory 106 may be a non-transitory, tangible medium which may include volatile or non-volatile memory (e.g. RAM, flash memory or a disk), other combination thereof or the like. The memory 106 may include modules 108 and data 116.
[0019] In the preferred embodiment, the modules 108 include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types. In one implementation, the modules 108 may include a receiving module 110, a parsing module 112, a specification conversion module 114, a transformation module 116, a traceability module 118 and an editing module 120.
[0020] In the preferred embodiment, the receiving module 110 is configured to receive atleast one legacy application in the form of instructions which are subjected to transform into the technology independent platform. The parsing module 112 parsed the received legacy application into one or more specifications of the legacy software application.
[0021] In the preferred embodiment, the specification conversion Module 114 is configured to receive an input specification associated with a source legacy software application and automatically converts the specification into a technology independent models. The converted technology independent model may have screen designs exactly similar to source application with responsive GUI. The specification conversion module 110 further facilitates automatic process of analysis on top of the technology independent model created so far. The analysis rules may ensure that the linkages within the specification are proper. For instance, portion of the specification where an event is linked with the clicking of button without any corresponding functionality, the portion of the specification corresponding to the event may be flagged for user review. Further, the imported model specification may be pixel perfect and provide responsive GUI canvas for further extension/enhancement, if any.
[0022] In the preferred embodiment, the transformation module 116 is configured to transform the parsed one or more platform independent models into atleast one preferred platform, wherein instructions of the one or more platform independent models are transformed into preferred platform semantics. The transformation module 116, technique for transformation is applied to convert the platform independent models in a platform specific code of the target application such as an enterprise web application or mobile application in any required format. The technique for transformation is implemented using translators where each translator is written specific for one particular platform or technology. Further, the same translator can be used to convert multiple legacy software applications into the technical platform corresponding to the translator.
[0023] In the preferred embodiment, the traceability module 118 is configured to provide complete traceability of input specifications like screen design and business rules from source technology application to target technology application. According to an embodiment, user is enabled to trace the technology independent model specification in all the layers (App layer business logic or in the web layer business logic or both) so that the user can ensure complete coverage of the linkages within the specification and validate the same before performing the actual transformation to the new technology.
[0024] In the preferred embodiment, the editing module 120 is configured to edit the one or more specifications of the legacy software application into target application. In the editing module 120, business component specific business rules may be mapped using mapping editor to business service of target application. Screen specific imported business rules may be mapped to screen events automatically based on business rules specification with incremental status check feature. Similar editors available in the art may be used for viewing the specification models and provide editing functionality.
[0025] The data 122, amongst other things, serves as a repository for storing data processed, received, and generated by one or more of the modules 108. The data 122 may also include a data store 124, and other data 126.The other data 126 may include data generated as a result of the execution of one or more modules in the other modules 118.
[0026] Referring Fig. 2, a method 200 for transforming a legacy software application into a technology independent platform is disclosed.
[0027] At the step 202, the process receives as an input specification of the legacy software application in a standard template format from the user. This input specification may be generated using an application analyzer and the standard template format can be in xls, xml or any other format. This input specification is provided for all the screens and business rules information of the legacy software application.
[0028] At the step 204, the process parse the received legacy software application into one or more specifications if the legacy software application. The parsing module initially applies complex patters to validate the input specifications and accordingly it will parse the valid inputs and flag the invalid inputs. During parsing it will parse each granular specification into high level specification along with the linkage between those specifications.
[0029] At the step 206, the process comprises converting the one or more specifications of the legacy software application into one or more platform independent models using a specification conversion module. A unique model driven technique is employed to convert and store the specification in technology independent formats. For the conversion of the input specification into the technology independent model specification, specifically written parser are used according to the input specification format. Further these models comply with the Object Modelling Group (OMG) standards.
[0030] In an embodiment, the business rule of the legacy software application code in the commented form may further be converted into corresponding code in the domain specific language (DSL) by the specification conversion module. Furthermore, this domain specific language be further converted into the required modern technology during transformation.
[0031] At the step 208, the process involves transforming the parsed one or more platform independent models into atleast one preferred platform. In this process a one or more instructions of the one or more platform independent models are transformed into the preferred platform semantics, for example, user is allowed to make changes to the rules in the specification which have become obsolete. According to an embodiment, the user may finalize the technology independent specification as-is obtained after the conversion.
[0032] Further, at step 208, the transformation technique is applied as per the required technical stack. The technique for transformation are used for converting the model/specifications into any platform specific code using translators specific to a technology or technical stack. The platform specific code may be in accordance with any technology standard. A single translator may be used to convert multiple legacy applications into the corresponding technology of the translator. According to an embodiment, the complete specification is converted to an enterprise web application. According to another embodiment, the complete specification is converted to a mobile application. According to another embodiment, the complete specification is converted to an application of any other latest technology.
[0033] According to another embodiment, complete traceability is provided to the user from the source application to the target application within the specification achieved so far so that the user can ensure complete coverage of the linkages and can validate the same. The traceability module may allow the user to view the unlinked portion of the specification and to link those portions.ie. link the validation in the App layer business logic or in the web layer business logic or both.
[0034] According to another embodiment, technology independent specification obtained after the conversion is treated as an intermediate specification, where user may modify the intermediate specifications using the handlers, such as editors to view, update the mappings between the related portions of specification. Further these editors may be one or more of a code modification editor, screen layout editor or a business rule editor. While mapping, the user may link any portion of the specification to any other portion of the specification. Once the mapping of specification is complete, the specification is reviewed and finalized.
[0035] Referring fig. 3, an exemplary model of the importing of the input specification of the screen details and the business rules of the legacy application into a model driven development framework of the present system is shown.
[0036] According to an embodiment of the present disclosure, figure 4(a) illustrates the mapping of business rules to business services within the technology independent model specification with the editing module. The business rules of the existing input specification may be mapped to the entities in the business layer of the technology independent specifications in the present system. Further as illustrated in figure 4(b), business rules may also be mapped to screen design within the technology independent model specification.
[0037] In another embodiment of the disclosure, the technology standard so achieved is checked to have become a legacy application itself. In case, it has become a legacy application, a new transformation technique is applied to the existing specifications in high level format, thus enabling keeping up with the advancements in the technology.
[0038] An embodiment of the present disclosure enables the migration of the legacy application to a new technology platform in less turn-around time using extensible technical and functional aspects in the platform independent models.
[0039] Another embodiment of the present disclosure provides opportunity to check the status in an incremental manner so that risk of failure at the later stages is reduced.
[0040] An embodiment enables a method to monitor the status of all the steps of the method to manage exception handling and rerun the method in case some of the steps are not executed. Further, an embodiment of the present disclosure ensures appropriate error handling and integrity of generated artefacts with capability of viewing end to end traceability report.
[0041] An embodiment enables a method to generate applications compliant with new technology standards without repeating the complete process by applying a new transformation technique on the ready to use specification achieved in a platform independent format and thus providing seamless support to future technologies.
[0042] The foregoing description of the present disclosure, along with its associated embodiments, has been presented for purposes of illustration only. It is not exhaustive and does not limit the present disclosure to the precise form disclosed. Those skilled in the art will appreciate from the foregoing description that modifications and variations are possible in light of the above teachings or may be acquired from practicing the disclosed embodiments without departing from the spirit and scope of the present disclosure.
[0043] A system and method for transforming a legacy applications into modern technology applications using a model driven development framework are disclosed. The system and method includes extraction of GUI and business rules in a standard template format as an input specification; exporting the input specification to particular technology independent model specification in a model driven development framework. The model driven development framework is further configured such that the business rules may be modified before being mapped to screen events and business services automatically for their implementation in the target application. The target application is obtained by applying specific translators to these models and results in pixel perfect and responsive GUI for further extension. The system and method disclosed herein support rapid and seamless support for transformation to upcoming technology trends without rewriting the specifications.
[0044] The embodiments of the present disclosure herein addresses unresolved problem of transformation from legacy applications to modern technology applications. It is a complex and extensive process that can take long duration to produce initial results and is prone to failure despite huge investment and technical expertise. Although Legacy modernization initiatives are highly recommended, these initiatives face significant risks for various reasons such as high cost, manual verification of business rule coverage, dependency on technical experts till end of migration, lack of scalability i.e. high chances of rewriting in another language after some years.
[0045] The preceding description has been presented with reference to various embodiments. Persons having ordinary skill in the art and technology to which this application pertains will appreciate that alterations and changes in the described structures and methods of operation can be practiced without meaningfully departing from the principle, spirit and scope.
,CLAIMS:
1. A method for transforming a legacy software application into an object modeling group platform, the method comprising:
receiving, at a receiving module, the legacy software application;
parsing the received legacy software application into one or more specifications of the legacy software application using a parsing module;
converting the one or more specifications of the legacy software application into one or more platform independent models using a conversion module, wherein the platform independent models includes business rules, events, wireframe; and
transforming the parsed one or more platform independent models into atleast one preferred platform, wherein instructions of the one or more platform independent models are transformed into preferred platform semantics.
2. The method claimed in claim 1, further comprising:
tracing the one or more specifications of the legacy software application to ensure the modification need of the legacy software application.
3. The method claimed in claim 1, further comprising:
editing the one or more specifications of the legacy software application into target application.
4. The method claimed in claim 1, wherein the one or more specifications are object modeling group platform compliant.
5. The method claimed in claim 1, wherein the mapping defines the inter-relationship between the one or more platform independent models.
6. The method claimed in claim 1, wherein the technology independent format is achieved in a model driven development framework.
7. A system for transforming a legacy application into an object modeling group platform, the system comprising:
a memory;
a processor communicatively coupled with the memory;
a receiver module is configured to receive the legacy application;
a parsing module to parse the received legacy application into one or more specifications of the legacy application;
a conversion module to convert the one or more specifications of the legacy software application into one or more platform independent models, wherein the platform independent models includes business rules, events, wireframe; and
a transformation module is configured to transform the converted one or more platform independent models into atleast one preferred platform, wherein instructions of the one or more platform independent models are transformed into preferred platform semantics.
8. The system claimed in claim 7, further comprising:
a traceability module to trace the one or more specifications of the legacy software application to ensure the modification need of the legacy software application.
9. The system claimed in claim 7, further comprising:
an editing module to edit the one or more specifications of the legacy software application into target application.
10. The system claimed in claim 7, wherein the one or more specifications are object modeling group platform compliant.
11. The system claimed in claim 7, wherein the mapping defines the inter-relationship between the one or more platform independent models.
12. The system claimed in claim 7, wherein the technology independent format is achieved in a model driven development framework.
| # | Name | Date |
|---|---|---|
| 1 | Form 3 [10-03-2016(online)].pdf | 2016-03-10 |
| 2 | Drawing [10-03-2016(online)].pdf | 2016-03-10 |
| 3 | Description(Provisional) [10-03-2016(online)].pdf | 2016-03-10 |
| 4 | Form 3 [09-03-2017(online)].pdf | 2017-03-09 |
| 5 | Form 18 [09-03-2017(online)].pdf | 2017-03-09 |
| 6 | Drawing [09-03-2017(online)].pdf | 2017-03-09 |
| 7 | Description(Complete) [09-03-2017(online)].pdf_214.pdf | 2017-03-09 |
| 8 | Description(Complete) [09-03-2017(online)].pdf | 2017-03-09 |
| 9 | Assignment [09-03-2017(online)].pdf | 2017-03-09 |
| 10 | ABSTRACT 1.jpg | 2018-08-11 |
| 11 | 201621008437-Power of Attorney-060516.pdf | 2018-08-11 |
| 12 | 201621008437-Form 1-060516.pdf | 2018-08-11 |
| 13 | 201621008437-Correspondence-060516.pdf | 2018-08-11 |
| 14 | 201621008437-FER.pdf | 2020-06-11 |
| 15 | 201621008437-OTHERS [11-12-2020(online)].pdf | 2020-12-11 |
| 16 | 201621008437-FER_SER_REPLY [11-12-2020(online)].pdf | 2020-12-11 |
| 17 | 201621008437-COMPLETE SPECIFICATION [11-12-2020(online)].pdf | 2020-12-11 |
| 18 | 201621008437-CLAIMS [11-12-2020(online)].pdf | 2020-12-11 |
| 19 | 201621008437-PatentCertificate08-12-2023.pdf | 2023-12-08 |
| 20 | 201621008437-IntimationOfGrant08-12-2023.pdf | 2023-12-08 |
| 1 | searchE_10-06-2020.pdf |