US20090193063A1 - System and method for legacy system component incremental migration - Google Patents

System and method for legacy system component incremental migration Download PDF

Info

Publication number
US20090193063A1
US20090193063A1 US12/020,756 US2075608A US2009193063A1 US 20090193063 A1 US20090193063 A1 US 20090193063A1 US 2075608 A US2075608 A US 2075608A US 2009193063 A1 US2009193063 A1 US 2009193063A1
Authority
US
United States
Prior art keywords
legacy
component
legacy system
new
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US12/020,756
Other versions
US8005788B2 (en
Inventor
Daniel D.J. Leroux
Steven R. Shaw
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US12/020,756 priority Critical patent/US8005788B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEROUX, DANIEL D.J., SHAW, STEVEN R.
Publication of US20090193063A1 publication Critical patent/US20090193063A1/en
Application granted granted Critical
Publication of US8005788B2 publication Critical patent/US8005788B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Definitions

  • the present invention generally relates to legacy systems and, more specifically, the present invention provides a system and method for legacy system component incremental migration.
  • a legacy system is an old computer system or application program which continues to be used because the user (typically an organization) does not want to replace or redesign it.
  • the software system may be a tool which manages compilation of a programming language or, alternatively, it could be a database schema which is changing to a new version.
  • a programming tool is a UML development environment that is focused on creating artifacts based on the UML 1.4 specification.
  • UML Unified Modeling Language
  • OMG Object Management Group
  • MOF Meta-Object Facility metamodel
  • UML metamodel and UML models may be serialized in XML.
  • UML was designed to specify, visualize, construct, and document software-intensive systems. A new system could be new version of the development environment that is based on the UML 2.0 specification.
  • An artifact is one of many kinds of tangible byproduct produced during the development of software. Some artifacts, e.g., use cases, class diagrams, and other UML models, requirements and design documents help describe the function, architecture, and design of software. “Artifact” is most commonly used in referring to the byproducts of software development rather than the product itself. The sense of artifacts as byproducts is similar to the use of the term artifact in science to refer to something that arises from the process in hand rather than the issue itself, i.e., concerned with the means rather than the end.
  • FIG. 3 Often, migration from a legacy system to a new system is tackled in a “Big-Bang” theory of operation as shown in FIG. 3 .
  • the legacy system 316 is usually kept in production for maintenance purposes and is still required while verification (step 308 ) of the new system 318 is in process.
  • FIG. 3 illustrates two partitions of workflow, one for the legacy system 316 and one for the new system 318 .
  • the legacy system data is prepared for the migration (step 304 ) which may entail some clean-up or refactoring then it is imported (step 306 ) through a filter/transformation mechanism into the new system 318 .
  • the content is usually verified and tested to ensure system integrity before it can be brought back into production (step 308 ).
  • the legacy system is shut-down and not available (step 314 ).
  • the legacy system 316 may be brought back up for read-only access or to support data streams not being migrated to the new system (step 315 ).
  • This system stoppage can be costly to an organization since it implies that the system is not processing data during this time. Very often, the data transformation can run into unforeseen issues which cause it to take longer than predicted which of course makes the system stoppage even more costly.
  • System software architecture is usually divided into components that represent different aspects or functionality within the system. (Alternatively, they can be hardware components which are generally faster but updating them is more difficult and more expensive.)
  • the components depend on each other in a layered fashion where the core components are at the bottom of the dependency chain and the leaf or product components are at the top.
  • the core components by their nature are reusable across different product level components and are critical to the execution of the system. Different product components may have different release cycles that require them to have schedules which aren't in sync. Since they may depend on the same core components, one product stack may be ready to migrate to the new system, but other product stack or stacks may not be ready due to schedule or release concerns. This means that the core components are by nature synchronized with the slowest moving product stack since the core components have to support all dependent components above them. Consequently the core components are generally not ready to migrate at the same time as the more progressive product components at the top of the dependency chain.
  • the legacy system will no longer be needed. In an ideal situation, the data can be 100% migrated and there is no longer a need to support the data or a subset of data on the legacy system. This will probably not happen often. If the legacy system is supporting a particular release of software, then it would need to support that release for its lifecycle. It would be too risky to release the software from the legacy system and immediately migrate it to the new system and subsequently support bug fixes. Issues from the field would not map directly into the new system and migrating data in a fix-pack which is supposed to address particular issues is foolhardy at best.
  • a system and method for legacy system component incremental migration from a legacy system to a new system comprises a read-only ghost or shadow in the new system.
  • the changes are incrementally and automatically migrated to the new system allowing the legacy system and the new system to maintain availability during the migration.
  • the concept of “mastership” is used where a component exists in the “New System”, but is actually mastered in the “Legacy System”.
  • a one-way bridge is provided so that the two systems can interact.
  • the synchronization of the legacy system component is managed so that the ghost component is automatically updated when changes are made to the legacy system component and there is little maintenance that the user needs to do to create the bridge between the two systems.
  • FIG. 1 shows a basic computer system for implementing the present invention.
  • FIG. 2 shows an exemplary networking system which may be used to implement the method and system of the present invention.
  • FIG. 3 shows a system (“Big Bang Theory of Operation”) which has problems solved by the method and system of the present invention.
  • FIG. 4 shows a system of the prior art which has problems solved by the method and system of the present invention.
  • FIG. 5 shows the legacy system maintenance method of the prior art.
  • FIG. 6 shows the incremental migration theory of operation system of the present invention.
  • FIG. 7 shows the incremental migration theory of operation method of the present invention.
  • FIG. 8 shows an illustrative embodiment system of the present invention.
  • FIG. 9 shows the import and auto-synchronization method of the present invention.
  • FIG. 10 shows an embodiment of the manual component synchronization of the present invention.
  • the present invention provides a system and method to migrate only particular components (such as the “Product 3” component which will be discussed in the context of the figures) into a new system by creating a shadow component of a core component (such as “Core 1” core component which will be discussed in the context of the figures).
  • “Core 1” is still mastered in the legacy system and has no knowledge of the shadow component which exists in the new system.
  • Mastering (such as in “master/slave”) is a model for a communication protocol where one device or process (in this case, the legacy system) has unidirectional control over one or more other devices (in this case, the new system).
  • an auto-synchronization is invoked so that the component of “Core 1” is re-imported into the new system transparently to the end-user.
  • a data processing system such as that system 100 shown in FIG. 1 , suitable for storing and/or executing program code (such as the code of the present invention) will include at least one processor (processing unit 106 ) coupled directly or indirectly to memory elements through a system bus.
  • the memory elements can include local memory (RAM 130 ) employed during actual execution of the program code, bulk storage (storage 118 ), and cache memories (cache 132 ) which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
  • I/O devices external devices 116
  • I/O Interface 114 can be coupled to the system either directly or through intervening I/O controllers (I/O Interface 114 ).
  • Network adapters may also be coupled to the system to enable the data processing system (as shown in FIG. 2 , data processing unit 202 ) to become coupled to other data processing systems (data processing unit 204 ) or remote printers (printer 212 ) or storage devices (storage 214 ) through intervening private or public networks (network 210 ).
  • a computer network is composed of multiple computers connected together using a telecommunication system for the purpose of sharing data, resources and communication. For more information, see http://historyoftheinternet.org/). Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
  • a network card, network adapter or NIC network interface card
  • OSI layer 1 physical layer
  • layer 2 data link layer
  • client systems and/or servers will include computerized components as known in the art.
  • Such components typically include (among others), a processing unit, a memory, a bus, input/output (I/O) interfaces, external devices, etc.
  • the present invention provides a system and method to migrate a particular component (such as the “Product 3” component) into a new system by creating a shadow component to a core component (such as “Core 1” core component).
  • “Core 1” is still mastered in the legacy system and has no knowledge of the shadow component which, once created, exists in the new system. This is shown in FIG. 6 having a legacy system 616 and a new system 618 , Product 1 , Product 2 and Product 3 606 , 604 , 610 , Core 1 and Core 2 608 , 612 and shadow component of Core 1 614 which provides a “shadow” of the ⁇ component>> of Core 1 608 (“ ⁇ shadow component>>”).
  • Product 1 606 and Product 2 604 use the ⁇ components>> of Core 1 608
  • Product 3 610 uses the ⁇ component>> of Core 2 612 and the ⁇ shadow component>> 614 of Core 1 608
  • the ⁇ shadow component>> 614 of Core 1 auto-synchronizes with Core 1 608 ⁇ component>>.
  • the “Big-bang migration” (as shown in FIG. 3 ) is no longer necessary since individual components can be migrated as needed.
  • specific components can be chosen to migrate (steps 704 and 706 ) given some criteria.
  • the legacy system is still functional and can continue to be maintained (step 712 ).
  • Auto-synchronization between the shadow components and their master ensures that changes to the legacy system are propagated into the new system (step 710 ).
  • an importer hierarchy for importing components, sub-components and re-import of the same (see Import Section 822 in FIG. 8 ); a shadow component builder ( 806 , 814 ) for managing the resynchronization of the master component from the legacy system into the new system context (step 908 ) and a manual synchronization action (by Manual Synchronization Section 824 ) for allowing the user to resynchronize fully migrated components which may have been edited in the new system context.
  • This allows for a merge UI to be invoked giving the user opportunity to manage the changes between the two systems.
  • the user wants to import the “Core 1” ⁇ component>> 608 so that Product 3 610 may utilize the “Core 1” ⁇ component>> 608 .
  • the legacy system component is imported via the “System Importer with Traceability” ( 810 ) command that imports the component and creates traceability links to the original legacy components with-in the project. This allows each newly imported artifact to have traceability to the legacy artifact that was originally imported. These short-cuts links allow the owning project to be able to detect changes in the original artifact which will prompt the auto-synchronization to occur.
  • the “IncrementalProjectBuilder” is an abstract Builder then detects resource deltas with-in the owning project and feeds those deltas into a build API.
  • the concrete class “Shadow Component Builder” checks for resource deltas which match the legacy artifact signature and have a linked resource in the project. If a match is found, the legacy component is triggered to be re-imported into the project.
  • the re-imported artifact may have unique identifiers generated for contained contents that need to be realigned or matched back to the original imported artifact.
  • the artifact is aligned to the originally imported artifact to make sure identifiers match up exactly.
  • the legacy component is fully migrated, i.e., it is no longer designated as “mastered” in the legacy system, then the user is allowed to make changes to the component in the context of the new system.
  • the legacy system Over time there will likely be divergence in the implementation between the legacy system data and the new system. However, if the legacy system is still “live” for maintenance or other reasons, the legacy system is also evolving—albeit at a slower rate. As a result, potentially, some changes in the legacy system may be candidates for migration into the new system. These changes need to be managed manually to ensure that they are integrated at the right time and that they integrate properly with the new system. When invoked, this would re-import the legacy component into the new system and perform an alignment similar to the shadow component auto-synchronization. However, since the new system may have been modified, the “Component Merge Operation” must be invoked to compare the newly imported component to the originally imported component. The differences are displayed in a visual merge facility allowing the user to discriminate as to how the changes should be merged and/or which changes to integrate.
  • the invention provides a computer-readable/useable medium that includes computer program code to enable a computer infrastructure to incrementally migrate components of legacy systems.
  • the computer-readable/useable medium includes program code that implements each of the various process steps of the invention. It is understood that the terms computer-readable medium or computer useable medium comprises one or more of any type of physical embodiment of the program code.
  • the computer-readable/useable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computing device, such as memory and/or storage system (e.g., a fixed disk, a read-only memory, a random access memory, a cache memory, etc.), and/or as a data signal (e.g., a propagated signal) traveling over a network (e.g., during a wired/wireless electronic distribution of the program code).
  • portable storage articles of manufacture e.g., a compact disc, a magnetic disk, a tape, etc.
  • data storage portions of a computing device such as memory and/or storage system (e.g., a fixed disk, a read-only memory, a random access memory, a cache memory, etc.), and/or as a data signal (e.g., a propagated signal) traveling over a network (e.g
  • program code and “computer program code” are synonymous and mean any expression, in any language, code or notation, of a set of instructions intended to cause a computing device having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
  • program code can be embodied as one or more of: an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing and/or I/O device, and the like.

Abstract

A system and method for legacy system component incremental migration from a legacy system to a new system comprises a read-only ghost or shadow in the new system. When changes are made in the legacy system, the changes are incrementally and automatically migrated to the new system allowing the legacy system and the new system to maintain availability during the migration. The concept of “mastership” is used where a component exists in the “New System”, but is actually mastered in the “Legacy System”. By allowing a sub-component to exist as a read-only ghost or shadow in the new system, and still be mastered/edited in the legacy system, a one-way bridge is provided so that the two systems can interact. The synchronization of the legacy system component is managed so that the ghost component is automatically updated when changes are made to the legacy system component and there is little maintenance that the user needs to do to create the bridge between the two systems.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention generally relates to legacy systems and, more specifically, the present invention provides a system and method for legacy system component incremental migration.
  • 2. Related Art
  • Software systems are evolutionary in that they typically change over time. These changes can be minor and don't require any considerable effect. Or, they can be major which causes the schema to change and consequently precipitates a major migration effect to move the legacy system to the new system. Of course, as is well-known, a legacy system is an old computer system or application program which continues to be used because the user (typically an organization) does not want to replace or redesign it. The software system may be a tool which manages compilation of a programming language or, alternatively, it could be a database schema which is changing to a new version. One example of a programming tool is a UML development environment that is focused on creating artifacts based on the UML 1.4 specification. In the field of software engineering, the Unified Modeling Language (UML) is a standardized specification language for object modeling. UML is a general-purpose modeling language that includes a graphical notation used to create an abstract model of a system, referred to as a UML model. UML is officially defined at the Object Management Group (OMG) by the UML metamodel, a Meta-Object Facility metamodel (MOF). Like other MOF-based specifications, the UML metamodel and UML models may be serialized in XML. UML was designed to specify, visualize, construct, and document software-intensive systems. A new system could be new version of the development environment that is based on the UML 2.0 specification.
  • Using this example, although there is a mapping from the UML 1.4 to 2.0 specifications, the schemas are different enough that there is no backwards compatibility and a concentrated import must be performed in order for the UML 1.4 artifacts to be converted to UML 2.0. The same paradigm could be applied to databases, where the tooling environment manages a particular database version and a new database version schema is introduced that are not backward compatible with the previous version.
  • An artifact is one of many kinds of tangible byproduct produced during the development of software. Some artifacts, e.g., use cases, class diagrams, and other UML models, requirements and design documents help describe the function, architecture, and design of software. “Artifact” is most commonly used in referring to the byproducts of software development rather than the product itself. The sense of artifacts as byproducts is similar to the use of the term artifact in science to refer to something that arises from the process in hand rather than the issue itself, i.e., concerned with the means rather than the end.
  • Often, migration from a legacy system to a new system is tackled in a “Big-Bang” theory of operation as shown in FIG. 3. This means simply that the legacy system 316 is shut-down (“Stop Development” 314) and migrated all at once to the new system using tools to convert any relevant artifacts (steps 304, 306) to the format understood by the new system 318. Realistically though, the legacy system 316 is usually kept in production for maintenance purposes and is still required while verification (step 308) of the new system 318 is in process.
  • FIG. 3 illustrates two partitions of workflow, one for the legacy system 316 and one for the new system 318. First, the legacy system data is prepared for the migration (step 304) which may entail some clean-up or refactoring then it is imported (step 306) through a filter/transformation mechanism into the new system 318.
  • From there, the content is usually verified and tested to ensure system integrity before it can be brought back into production (step 308). During this time, the legacy system is shut-down and not available (step 314). After the migration, the legacy system 316 may be brought back up for read-only access or to support data streams not being migrated to the new system (step 315). This system stoppage can be costly to an organization since it implies that the system is not processing data during this time. Very often, the data transformation can run into unforeseen issues which cause it to take longer than predicted which of course makes the system stoppage even more costly.
  • System software architecture is usually divided into components that represent different aspects or functionality within the system. (Alternatively, they can be hardware components which are generally faster but updating them is more difficult and more expensive.) The components depend on each other in a layered fashion where the core components are at the bottom of the dependency chain and the leaf or product components are at the top. The core components by their nature are reusable across different product level components and are critical to the execution of the system. Different product components may have different release cycles that require them to have schedules which aren't in sync. Since they may depend on the same core components, one product stack may be ready to migrate to the new system, but other product stack or stacks may not be ready due to schedule or release concerns. This means that the core components are by nature synchronized with the slowest moving product stack since the core components have to support all dependent components above them. Consequently the core components are generally not ready to migrate at the same time as the more progressive product components at the top of the dependency chain.
  • In the above example, as shown in FIG. 4, all of the product (leaf) components (“<<component>>”) depend on “Core 1” 408. If “Product 3” 410 is ready to migrate, but “Product 1” 404 is not, “Product 3” 410 must wait for “Product 1” 404 to be at an appropriate stage in order for migration to proceed. The reason for this is that they are both dependent on “Core 1” 408.
  • It is perhaps naive to think that once the migration to the new system is complete, the legacy system will no longer be needed. In an ideal situation, the data can be 100% migrated and there is no longer a need to support the data or a subset of data on the legacy system. This will probably not happen often. If the legacy system is supporting a particular release of software, then it would need to support that release for its lifecycle. It would be too risky to release the software from the legacy system and immediately migrate it to the new system and subsequently support bug fixes. Issues from the field would not map directly into the new system and migrating data in a fix-pack which is supposed to address particular issues is foolhardy at best. This implies that the legacy system and new system need to co-exist for a period of time, which could be considerable depending on release schedules. Fixes or changes in data/software on the legacy side need to be propagated into the new system. If the differences between the data structure are considerable between the two systems, then a file system merge is not sufficient. (Merging is the act of reconciling multiple changes made to different copies of the same file for instance, by performing an automated difference analysis between two files and considering the differences between the two files alone to conduct the merge and makes a “best-guess” analysis to generate the resulting merge. Sometimes, merging requires user intervention to verify and sometimes correct the result of the merge prior to completing the merge event.) Generally, required changes would need to be integrated manually through code or data inspection for accuracy purposes.
  • Therefore, there exists a need for a solution that solves at least one of the deficiencies of the related art.
  • SUMMARY OF THE INVENTION
  • To address these concerns noted above, a system and method needs to be provided to do incremental migration of the different components within a system. The concept of “mastership” is introduced where a component can exist in the “New System”, but is actually still mastered in the “Legacy System”.
  • A system and method for legacy system component incremental migration from a legacy system to a new system comprises a read-only ghost or shadow in the new system. When changes are made in the legacy system, the changes are incrementally and automatically migrated to the new system allowing the legacy system and the new system to maintain availability during the migration. The concept of “mastership” is used where a component exists in the “New System”, but is actually mastered in the “Legacy System”.
  • By allowing a sub-component to exist as a read-only ghost or shadow in the new system, and still be mastered/edited in the legacy system, a one-way bridge is provided so that the two systems can interact. The synchronization of the legacy system component is managed so that the ghost component is automatically updated when changes are made to the legacy system component and there is little maintenance that the user needs to do to create the bridge between the two systems.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
  • FIG. 1 shows a basic computer system for implementing the present invention.
  • FIG. 2 shows an exemplary networking system which may be used to implement the method and system of the present invention.
  • FIG. 3 shows a system (“Big Bang Theory of Operation”) which has problems solved by the method and system of the present invention.
  • FIG. 4 shows a system of the prior art which has problems solved by the method and system of the present invention.
  • FIG. 5 shows the legacy system maintenance method of the prior art.
  • FIG. 6 shows the incremental migration theory of operation system of the present invention.
  • FIG. 7 shows the incremental migration theory of operation method of the present invention.
  • FIG. 8 shows an illustrative embodiment system of the present invention.
  • FIG. 9 shows the import and auto-synchronization method of the present invention.
  • FIG. 10 shows an embodiment of the manual component synchronization of the present invention.
  • The drawings are not necessarily to scale. The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represent like elements.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • The present invention provides a system and method to migrate only particular components (such as the “Product 3” component which will be discussed in the context of the figures) into a new system by creating a shadow component of a core component (such as “Core 1” core component which will be discussed in the context of the figures). “Core 1” is still mastered in the legacy system and has no knowledge of the shadow component which exists in the new system. “Mastering” (such as in “master/slave”) is a model for a communication protocol where one device or process (in this case, the legacy system) has unidirectional control over one or more other devices (in this case, the new system). When changes occur to “Core 1” in the legacy system, an auto-synchronization is invoked so that the component of “Core 1” is re-imported into the new system transparently to the end-user.
  • As a matter of background, a description of a data processing system in which the method and system of the present may be implemented is provided. A data processing system, such as that system 100 shown in FIG. 1, suitable for storing and/or executing program code (such as the code of the present invention) will include at least one processor (processing unit 106) coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory (RAM 130) employed during actual execution of the program code, bulk storage (storage 118), and cache memories (cache 132) which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (external devices 116) (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers (I/O Interface 114).
  • Network adapters (network adapter 138) may also be coupled to the system to enable the data processing system (as shown in FIG. 2, data processing unit 202) to become coupled to other data processing systems (data processing unit 204) or remote printers (printer 212) or storage devices (storage 214) through intervening private or public networks (network 210). (A computer network is composed of multiple computers connected together using a telecommunication system for the purpose of sharing data, resources and communication. For more information, see http://historyoftheinternet.org/). Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters. (A network card, network adapter or NIC (network interface card) is a piece of computer hardware designed to allow computers to communicate over a computer network. It is both an OSI layer 1 (physical layer) and layer 2 (data link layer) device, as it provides physical access to a networking medium and provides a low-level addressing system through the use of MAC addresses. It allows users to connect to each other either by using cables or wirelessly.)
  • It should be understood that the present invention is typically computer-implemented via hardware and/or software. As such, and client systems and/or servers will include computerized components as known in the art. Such components typically include (among others), a processing unit, a memory, a bus, input/output (I/O) interfaces, external devices, etc.
  • As noted above, the present invention provides a system and method to migrate a particular component (such as the “Product 3” component) into a new system by creating a shadow component to a core component (such as “Core 1” core component). “Core 1” is still mastered in the legacy system and has no knowledge of the shadow component which, once created, exists in the new system. This is shown in FIG. 6 having a legacy system 616 and a new system 618, Product 1, Product 2 and Product 3 606, 604, 610, Core 1 and Core 2 608, 612 and shadow component of Core 1 614 which provides a “shadow” of the <<component>> of Core 1 608 (“<<shadow component>>”). As can be seen, Product 1 606 and Product 2 604 use the <<components>> of Core 1 608, while Product 3 610 uses the <<component>> of Core 2 612 and the <<shadow component>> 614 of Core 1 608. The <<shadow component>> 614 of Core 1 auto-synchronizes with Core 1 608 <<component>>. When changes occur to “Core 1” in the legacy system, auto-synchronization is invoked where the component is re-imported into the new system transparently to the end-user.
  • Now the “Big-bang migration” (as shown in FIG. 3) is no longer necessary since individual components can be migrated as needed. As is shown in FIG. 7, based on their release cycles or stability evaluation, specific components can be chosen to migrate (steps 704 and 706) given some criteria. At any given time during the incremental migration, the legacy system is still functional and can continue to be maintained (step 712). Auto-synchronization between the shadow components and their master ensures that changes to the legacy system are propagated into the new system (step 710).
  • Auto-synchronization implies that there is a discoverable mapping from the legacy format into the new system. To facilitate this, assumptions often need to be made which are acceptable in the process of the migration. This allows for a transparent import between the two systems without any user intervention or prompting. In fact, this is a pre-requisite for this paradigm to be operational. Given that this mechanism exists, it is also possible to perform a manual synchronization from a legacy component to a fully migrated component. In this case, the migrated component may have been editing in the context of the new system. The synchronization will then need to merge the changes made on the legacy side into the new system instead of merely replacing it. This merger will invoke some UI to resolve any conflicts similar to a team based scenario where two different developers modify the same source file.
  • There are three main aspects of the system and method of the present invention: an importer hierarchy for importing components, sub-components and re-import of the same (see Import Section 822 in FIG. 8); a shadow component builder (806, 814) for managing the resynchronization of the master component from the legacy system into the new system context (step 908) and a manual synchronization action (by Manual Synchronization Section 824) for allowing the user to resynchronize fully migrated components which may have been edited in the new system context. This allows for a merge UI to be invoked giving the user opportunity to manage the changes between the two systems.
  • If the system architecture from FIG. 6 is considered, the user wants to import the “Core 1” <<component>> 608 so that Product 3 610 may utilize the “Core 1” <<component>> 608. First, the legacy system component is imported via the “System Importer with Traceability” (810) command that imports the component and creates traceability links to the original legacy components with-in the project. This allows each newly imported artifact to have traceability to the legacy artifact that was originally imported. These short-cuts links allow the owning project to be able to detect changes in the original artifact which will prompt the auto-synchronization to occur. The “IncrementalProjectBuilder” is an abstract Builder then detects resource deltas with-in the owning project and feeds those deltas into a build API. The concrete class “Shadow Component Builder” checks for resource deltas which match the legacy artifact signature and have a linked resource in the project. If a match is found, the legacy component is triggered to be re-imported into the project. The re-imported artifact may have unique identifiers generated for contained contents that need to be realigned or matched back to the original imported artifact. The artifact is aligned to the originally imported artifact to make sure identifiers match up exactly.
  • This ensures that the re-imported component can directly replace the originally imported component and references to internal contents will remain intact.
  • If the legacy component is fully migrated, i.e., it is no longer designated as “mastered” in the legacy system, then the user is allowed to make changes to the component in the context of the new system.
  • Over time there will likely be divergence in the implementation between the legacy system data and the new system. However, if the legacy system is still “live” for maintenance or other reasons, the legacy system is also evolving—albeit at a slower rate. As a result, potentially, some changes in the legacy system may be candidates for migration into the new system. These changes need to be managed manually to ensure that they are integrated at the right time and that they integrate properly with the new system. When invoked, this would re-import the legacy component into the new system and perform an alignment similar to the shadow component auto-synchronization. However, since the new system may have been modified, the “Component Merge Operation” must be invoked to compare the newly imported component to the originally imported component. The differences are displayed in a visual merge facility allowing the user to discriminate as to how the changes should be merged and/or which changes to integrate.
  • It is important to note that these mechanisms for synchronization with the legacy system (such as Manual Synchronization Section 824 and Auto-Synchronization Section 826) are one way only. The new system has knowledge and/or dependencies to the legacy system, but the legacy system has no such dependencies into the new system. This lets the legacy system continue to operate without any special instrumentation or specific attention to the migration.
  • While shown and described herein as a system and method for a system and method for legacy system component incremental migration, it is understood that the invention further provides various alternative embodiments. For example, in one embodiment, the invention provides a computer-readable/useable medium that includes computer program code to enable a computer infrastructure to incrementally migrate components of legacy systems. To this extent, the computer-readable/useable medium includes program code that implements each of the various process steps of the invention. It is understood that the terms computer-readable medium or computer useable medium comprises one or more of any type of physical embodiment of the program code. In particular, the computer-readable/useable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computing device, such as memory and/or storage system (e.g., a fixed disk, a read-only memory, a random access memory, a cache memory, etc.), and/or as a data signal (e.g., a propagated signal) traveling over a network (e.g., during a wired/wireless electronic distribution of the program code).
  • As used herein, it is understood that the terms “program code” and “computer program code” are synonymous and mean any expression, in any language, code or notation, of a set of instructions intended to cause a computing device having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form. To this extent, program code can be embodied as one or more of: an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing and/or I/O device, and the like.
  • The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims.

Claims (21)

1. A method for legacy system component incremental migration between a legacy system and a new system each having one or more products having components, the legacy system having a legacy system core, the one or more legacy system products using the legacy system core for receiving a legacy system core component, the new system having a new system core and a shadow of the legacy system core (shadow core) connected to the legacy system core, the one or more new system products using the new system core and the shadow core for receiving a new system core component and a shadow core component respectively, the method comprising the steps of:
a) receiving one or more changes, at the legacy system core, to the legacy system core component;
b) determining that one or more changes have been made to the legacy system component; and
c) synchronizing the legacy system core component and the shadow core component.
2. The method of claim 1 wherein the synchronizing step is automatic.
3. The method of claim 1 wherein the synchronizing step is manual.
4. The method of claim 1 wherein the changes comprise new product stack data and the method further comprises after step b, the step of preparing the legacy system for migrating the new product stack data.
5. The method of claim 4 further comprising, after the migration preparation step, the step of enhancing the new system data with the new product stack data.
6. The method of claim 4 further comprising, after the migration preparation step, at the legacy system, the step of maintaining the system data.
7. A method for legacy system component incremental migration between a legacy system and a new system each having one or more products having components, the legacy system having a legacy system core, the one or more legacy system products using the legacy system core for receiving a legacy system core component, the new system having a new system core, the one or more new system products using the new system core for receiving a new system core component, the method comprising the step of importing a shadow of the legacy system core component to the new system for use by the one or more new system products using the new system core for receiving the shadow legacy core component.
8. The method of claim 7 further comprising the step of creating traceability links to legacy system artifacts in legacy system.
9. The method of claim 7 further comprising the steps of detecting a change to the legacy core component and of re-importing the legacy core component with changes to the new system.
10. The method of claim 9 further comprising the step of aligning the re-imported component to the originally imported component.
11. The method of claim 10 further comprising the step of replacing the originally imported component with the re-imported component.
12. The method of claim 8 further comprising the step of modifying the imported component, the step of re-importing the legacy core component, and the step of merging the re-imported component with the originally imported component.
13. A computer program product in a computer readable medium for operating in a system comprising a network I/O, a CPU, and one or more databases, for implementing a method for legacy system component incremental migration between a legacy system and a new system each having one or more products having components, the legacy system having a legacy system core, the one or more legacy system products using the legacy system core for receiving a legacy system core component, the new system having a new system core, the one or more new system products using the new system core for receiving a new system core component, the method comprising the step of importing a shadow of the legacy system core component to the new system for use by the one or more new system products using the new system core for receiving the shadow legacy core component.
14. The computer program product of claim 13 wherein the method further comprises the step of creating traceability links to legacy system artifacts in legacy system.
15. The computer program product of claim 13 wherein the method further comprises the steps of detecting a change to the legacy core component and of re-importing the legacy core component with changes to the new system.
16. The computer program product of claim 15 wherein the method further comprises the step of aligning the re-imported component to the originally imported component.
17. The computer program product of claim 16 wherein the method further comprises the step of replacing the originally imported component with the re-imported component.
18. The computer program product of claim 14 wherein the method further comprises the step of modifying the imported component, the step of re-importing the legacy core component, and the step of merging the re-imported component with the originally imported component.
19. A computer program product in a computer readable medium for operating in a system comprising a network I/O, a CPU, and one or more databases, for implementing a method for legacy system component incremental migration between a legacy system and a new system each having one or more products having components, the legacy system having a legacy system core, the one or more legacy system products using the legacy system core for receiving a legacy system core component, the new system having a new system core and a shadow of the legacy system core (shadow core) connected to the legacy system core, the one or more new system products using the new system core and the shadow core for receiving a new system core component and a shadow core component respectively, the method comprising the steps of:
a) receiving one or more changes, at the legacy system core, to the legacy system core component;
b) determining that one or more changes have been made to the legacy system component; and
c) synchronizing the legacy system core component and the shadow core component.
20. A system for legacy system component incremental migration, the system comprising:
a legacy system;
a new system;
a legacy system core component being located in the legacy system;
a new system core component and a shadow of the legacy system core component, both the new system core component and the shadow of the legacy system core component being located in the new system;
one or more legacy system products being located in the legacy system, the one or more legacy system products being connected to the legacy system core component and using the legacy system core component; and
one or more new system products being located in the new system, further being connected to the new system core component and the shadow of the legacy system core component and using the legacy system core component shadow,
wherein the legacy system core component shadow is connected to the legacy system core component and synchronizes with the legacy system core component shadow with the legacy system core component when there is a change to the legacy system core component.
21. A system for legacy system component incremental migration between a legacy system and a new system, the legacy system having a legacy system core component and one or more legacy system products using the legacy system core component, the new system having a new system core component and one or more new system products using the new system core component, the system comprising a shadow of the legacy system core component in the new system for being used by the new system products, wherein the legacy system core component shadow is connected to the legacy system core component for synchronizing the legacy system core component shadow with the legacy system core component when there is a change to the legacy system core component.
US12/020,756 2008-01-28 2008-01-28 System and method for legacy system component incremental migration Expired - Fee Related US8005788B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/020,756 US8005788B2 (en) 2008-01-28 2008-01-28 System and method for legacy system component incremental migration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/020,756 US8005788B2 (en) 2008-01-28 2008-01-28 System and method for legacy system component incremental migration

Publications (2)

Publication Number Publication Date
US20090193063A1 true US20090193063A1 (en) 2009-07-30
US8005788B2 US8005788B2 (en) 2011-08-23

Family

ID=40900301

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/020,756 Expired - Fee Related US8005788B2 (en) 2008-01-28 2008-01-28 System and method for legacy system component incremental migration

Country Status (1)

Country Link
US (1) US8005788B2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110231365A1 (en) * 2010-03-05 2011-09-22 International Business Machines Corporation Containment agnostic, n-ary roots leveraged model synchronization
US20120109885A1 (en) * 2010-11-01 2012-05-03 Cleversafe, Inc. File retrieval during a legacy storage system to dispersed storage network migration
US20120284309A1 (en) * 2011-05-04 2012-11-08 International Business Machines Corporation Importing Pre-Existing Data of a Prior Storage Solution into a Storage Pool for Use with a New Storage Solution
US8612964B2 (en) 2011-01-24 2013-12-17 International Business Machines Corporation Migrating unified modeling language models across unified modeling language profiles
US20140115562A1 (en) * 2012-02-09 2014-04-24 Sonatype, Inc. System and method of providing real-time updates related to in-use artifacts in a software development environment
US20160103431A1 (en) * 2014-10-14 2016-04-14 Honeywell International, Inc. System and method for point by point hot cutover of controllers and ios
US9330095B2 (en) 2012-05-21 2016-05-03 Sonatype, Inc. Method and system for matching unknown software component to known software component
US9678743B2 (en) 2011-09-13 2017-06-13 Sonatype, Inc. Method and system for monitoring a software artifact
WO2017175266A1 (en) * 2016-04-04 2017-10-12 株式会社日立製作所 Transfer planning method, computer, and computer system
US9971594B2 (en) 2016-08-16 2018-05-15 Sonatype, Inc. Method and system for authoritative name analysis of true origin of a file
US10019746B2 (en) * 2014-12-01 2018-07-10 Verizon Patent And Licensing Inc. Microsites architecture
US10401816B2 (en) 2017-07-20 2019-09-03 Honeywell International Inc. Legacy control functions in newgen controllers alongside newgen control functions

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458648B2 (en) * 2007-12-10 2013-06-04 International Business Machines Corporation Graphical modelization of user interfaces for data intensive applications
US8291372B2 (en) * 2008-03-21 2012-10-16 International Business Machines Corporation Creating graphical models representing control flow of a program manipulating data resources
US9665356B2 (en) * 2012-01-31 2017-05-30 Red Hat, Inc. Configuration of an application in a computing platform
US9170797B2 (en) 2012-01-31 2015-10-27 Red Hat, Inc. Automated deployment of an application in a computing platform
US9262238B2 (en) 2012-01-31 2016-02-16 Red Hat, Inc. Connection management for an application in a computing platform
US9936019B2 (en) 2016-03-16 2018-04-03 Google Llc Efficient live-migration of remotely accessed data
US10949311B2 (en) 2018-02-15 2021-03-16 Wipro Limited Method and system for restoring historic data of an enterprise

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604896A (en) * 1993-07-13 1997-02-18 International Computers Limited Computer with terminal emulation interface for multi-environment client/server applications
US6334215B1 (en) * 1999-05-05 2001-12-25 International Business Machines Corporation Methodology for migration of legacy applications to new product architectures
US6374268B1 (en) * 1998-04-14 2002-04-16 Hewlett-Packard Company Methods and systems for an incremental file system
US20020138570A1 (en) * 2001-03-23 2002-09-26 Neil Hickey System for and method of automatically migrating data among multiple legacy applications and accessible storage formats
US6473794B1 (en) * 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US20030055921A1 (en) * 2001-08-21 2003-03-20 Kulkarni Vinay Vasant Method and apparatus for reengineering legacy systems for seamless interaction with distributed component systems
US6662357B1 (en) * 1999-08-31 2003-12-09 Accenture Llp Managing information in an integrated development architecture framework
US20040158820A1 (en) * 2003-02-11 2004-08-12 Moore John Wesley System for generating an application framework and components
US20050114291A1 (en) * 2003-11-25 2005-05-26 International Business Machines Corporation System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
US6957186B1 (en) * 1999-05-27 2005-10-18 Accenture Llp System method and article of manufacture for building, managing, and supporting various components of a system
US20060036895A1 (en) * 2004-08-13 2006-02-16 Henrickson David L Combined computer backup, disaster recovery and migration in a shared environment
US20060041862A1 (en) * 2004-08-23 2006-02-23 Clientsoft, Inc. System and method for migrating applications from a legacy system
US20060106877A1 (en) * 2004-11-18 2006-05-18 Simon Lee Image archiving system and method for handling new and legacy archives
US20060206599A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Dynamic service generation for legacy components
US20060222163A1 (en) * 2005-03-31 2006-10-05 Marcel Bank Computer network system for building, synchronising and/or operating a second database from/with a first database, and procedures for it
US20060235899A1 (en) * 2005-03-25 2006-10-19 Frontline Systems, Inc. Method of migrating legacy database systems
US7143189B2 (en) * 2001-01-24 2006-11-28 Microsoft Corporation System and method for incremental and reversible data migration and feature deployment
US7257597B1 (en) * 2001-12-18 2007-08-14 Siebel Systems, Inc. Table substitution
US7280536B2 (en) * 2001-12-10 2007-10-09 Incipient, Inc. Fast path for performing data operations
US20070255685A1 (en) * 2006-05-01 2007-11-01 Boult Geoffrey M Method and system for modelling data
US20090037896A1 (en) * 2007-08-02 2009-02-05 Accenture Global Services Gmbh Legacy application decommissioning framework
US7610298B2 (en) * 2006-02-01 2009-10-27 Microsoft Corporation Difference-based database upgrade
US7685083B2 (en) * 2002-02-01 2010-03-23 John Fairweather System and method for managing knowledge
US7685140B2 (en) * 2007-01-30 2010-03-23 International Business Machines Corporation Dynamic information systems

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604896A (en) * 1993-07-13 1997-02-18 International Computers Limited Computer with terminal emulation interface for multi-environment client/server applications
US6374268B1 (en) * 1998-04-14 2002-04-16 Hewlett-Packard Company Methods and systems for an incremental file system
US6334215B1 (en) * 1999-05-05 2001-12-25 International Business Machines Corporation Methodology for migration of legacy applications to new product architectures
US6473794B1 (en) * 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US6957186B1 (en) * 1999-05-27 2005-10-18 Accenture Llp System method and article of manufacture for building, managing, and supporting various components of a system
US6662357B1 (en) * 1999-08-31 2003-12-09 Accenture Llp Managing information in an integrated development architecture framework
US7167914B2 (en) * 2001-01-24 2007-01-23 Microsoft Corporation System and method for incremental and reversible data migration and feature deployment
US7143189B2 (en) * 2001-01-24 2006-11-28 Microsoft Corporation System and method for incremental and reversible data migration and feature deployment
US7165088B2 (en) * 2001-01-24 2007-01-16 Microsoft Corporation System and method for incremental and reversible data migration and feature deployment
US20020138570A1 (en) * 2001-03-23 2002-09-26 Neil Hickey System for and method of automatically migrating data among multiple legacy applications and accessible storage formats
US20030055921A1 (en) * 2001-08-21 2003-03-20 Kulkarni Vinay Vasant Method and apparatus for reengineering legacy systems for seamless interaction with distributed component systems
US7280536B2 (en) * 2001-12-10 2007-10-09 Incipient, Inc. Fast path for performing data operations
US7257597B1 (en) * 2001-12-18 2007-08-14 Siebel Systems, Inc. Table substitution
US7685083B2 (en) * 2002-02-01 2010-03-23 John Fairweather System and method for managing knowledge
US20040158820A1 (en) * 2003-02-11 2004-08-12 Moore John Wesley System for generating an application framework and components
US7243089B2 (en) * 2003-11-25 2007-07-10 International Business Machines Corporation System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
US20050114291A1 (en) * 2003-11-25 2005-05-26 International Business Machines Corporation System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
US20060036895A1 (en) * 2004-08-13 2006-02-16 Henrickson David L Combined computer backup, disaster recovery and migration in a shared environment
US20060041862A1 (en) * 2004-08-23 2006-02-23 Clientsoft, Inc. System and method for migrating applications from a legacy system
US20060106877A1 (en) * 2004-11-18 2006-05-18 Simon Lee Image archiving system and method for handling new and legacy archives
US20060206599A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Dynamic service generation for legacy components
US20060235899A1 (en) * 2005-03-25 2006-10-19 Frontline Systems, Inc. Method of migrating legacy database systems
US20060222163A1 (en) * 2005-03-31 2006-10-05 Marcel Bank Computer network system for building, synchronising and/or operating a second database from/with a first database, and procedures for it
US7610298B2 (en) * 2006-02-01 2009-10-27 Microsoft Corporation Difference-based database upgrade
US20070255685A1 (en) * 2006-05-01 2007-11-01 Boult Geoffrey M Method and system for modelling data
US7685140B2 (en) * 2007-01-30 2010-03-23 International Business Machines Corporation Dynamic information systems
US20090037896A1 (en) * 2007-08-02 2009-02-05 Accenture Global Services Gmbh Legacy application decommissioning framework

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285676B2 (en) 2010-03-05 2012-10-09 International Business Machines Corporation Containment agnostic, N-ary roots leveraged model synchronization
US20110231365A1 (en) * 2010-03-05 2011-09-22 International Business Machines Corporation Containment agnostic, n-ary roots leveraged model synchronization
US20120109885A1 (en) * 2010-11-01 2012-05-03 Cleversafe, Inc. File retrieval during a legacy storage system to dispersed storage network migration
US8612964B2 (en) 2011-01-24 2013-12-17 International Business Machines Corporation Migrating unified modeling language models across unified modeling language profiles
US9606747B2 (en) * 2011-05-04 2017-03-28 International Business Machines Corporation Importing pre-existing data of a prior storage solution into a storage pool for use with a new storage solution
US9606748B2 (en) * 2011-05-04 2017-03-28 International Business Machines Corporation Importing pre-existing data of a prior storage solution into a storage pool for use with a new storage solution
US20120284230A1 (en) * 2011-05-04 2012-11-08 International Business Machines Corporation Importing Pre-Existing Data of a Prior Storage Solution into a Storage Pool for Use with a New Storage Solution
CN102831075A (en) * 2011-05-04 2012-12-19 国际商业机器公司 Method and system for importing pre-existing data into a storage pool for use for a new storage solution
US20120284309A1 (en) * 2011-05-04 2012-11-08 International Business Machines Corporation Importing Pre-Existing Data of a Prior Storage Solution into a Storage Pool for Use with a New Storage Solution
US9678743B2 (en) 2011-09-13 2017-06-13 Sonatype, Inc. Method and system for monitoring a software artifact
US9207931B2 (en) * 2012-02-09 2015-12-08 Sonatype, Inc. System and method of providing real-time updates related to in-use artifacts in a software development environment
US20140115562A1 (en) * 2012-02-09 2014-04-24 Sonatype, Inc. System and method of providing real-time updates related to in-use artifacts in a software development environment
US9330095B2 (en) 2012-05-21 2016-05-03 Sonatype, Inc. Method and system for matching unknown software component to known software component
US20160103431A1 (en) * 2014-10-14 2016-04-14 Honeywell International, Inc. System and method for point by point hot cutover of controllers and ios
US10019746B2 (en) * 2014-12-01 2018-07-10 Verizon Patent And Licensing Inc. Microsites architecture
WO2017175266A1 (en) * 2016-04-04 2017-10-12 株式会社日立製作所 Transfer planning method, computer, and computer system
US9971594B2 (en) 2016-08-16 2018-05-15 Sonatype, Inc. Method and system for authoritative name analysis of true origin of a file
US10401816B2 (en) 2017-07-20 2019-09-03 Honeywell International Inc. Legacy control functions in newgen controllers alongside newgen control functions

Also Published As

Publication number Publication date
US8005788B2 (en) 2011-08-23

Similar Documents

Publication Publication Date Title
US8005788B2 (en) System and method for legacy system component incremental migration
US8954375B2 (en) Method and system for developing data integration applications with reusable semantic types to represent and process application data
US9454459B2 (en) Detecting merge conflicts and compilation errors in a collaborative integrated development environment
US10740093B2 (en) Advanced packaging techniques for improving work flows
CA2723933C (en) Methods and systems for developing, debugging, and executing data integration applications
US8813024B2 (en) System and a method for cross-platform porting of business application and making them contextually-aware on target platforms
US8495559B2 (en) Extracting platform independent models from composite applications
US20160170719A1 (en) Software database system and process of building and operating the same
WO2014138894A1 (en) Systems and methods for controlling branch latency within computing applications
JP2016525734A (en) Using projector and selector component types for ETL map design
CN111104103A (en) Visualization method and system for software editing microservice
Sandmann et al. Autosar-compliant development workflows: From architecture to implementation-tool interoperability for round-trip engineering and verification and validation
US8762433B1 (en) Integration architecture for software and hardware development
Kern Study of interoperability between meta-modeling tools
CA2928316C (en) Facilitating communication between software components that use middleware
KR20090099977A (en) A reserved component container based software development method and apparatus
Sporer et al. Incorporation of model-based system and software development environments
Predoaia et al. Streamlining the Development of Hybrid Graphical-Textual Model Editors for Domain-Specific Languages
Tok et al. Microsoft SQL Server 2012 Integration Services
Rintala Architecture design of a configuration management system
Uquillas-Gomez Supporting Integration Activities in Object-Oriented Applications
Tool CoWolf
Nikiforova et al. Certification of MDA Tools: Vision and Application
Barbier et al. Deliverable D3. 3 REMICS Recover Toolkit, Interim release

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEROUX, DANIEL D.J.;SHAW, STEVEN R.;REEL/FRAME:020435/0396

Effective date: 20080102

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20150823