Automation of information technology system development
AssigneeInternational Business Machines Corporation
InventorsDmitry Andreev, Paul Greenstein, Galina Grunin, Gregory Vilshansky
Life of this patent
Estimating the term…
Abstract
A method and associated computer program product for developing an Information Technology (IT) system. An abstract IT structure for the IT system is provided. A virtual IT structure for the IT system is generated from the abstract IT structure by a translator. A real IT structure for the IT system is generated from the virtual IT structure.
Claims96
A method for developing an Information Technology (IT) system, said method comprising:
- providing an abstract IT structure for the system being developed;
- generating a virtual IT structure from the abstract IT structure;
- and
- generating a real IT structure from the virtual IT structure.
A method for translating an instance X of an abstract Information Technology (IT) structure of a project to a virtual IT structure, said method comprising:
- translating X to an interim IT structure instance X′ that is less abstract than is X;
- and
- if X′ is not the virtual IT structure then repeatedly performing additional steps X until X′ is the virtual IT structure or until said translating detects an error condition, said additional steps comprising setting X=X′ and again performing said translating X to X′.
A method for delivery binding a virtual Information Technology (IT) structure X into a delivery-bound virtual IT structure XDB, said method comprising:
- invoking an addElement( ) method to add at least one additional IT structure A to the composition of X to form a primitive composition of XDB;
- assigning a name to each element of the primitive composition of XDB;
- and
- if at least one element of the primitive composition of XDB requires access to the Internet then assigning an 1P address to the at least one element of the primitive composition of XDB.
A method for reverse-specifying at least one Information Technology (IT) structure, said method comprising:
- providing information relating to an IT entity selected from the group consisting of an IT delivery environment and an IT system instance;
- and
- generating a real IT structure from the information relating to the IT entity.
A method for adding an Information Technology (IT) structure A to an IT structure X, said method comprising:
- first determining whether adding A to X violates any dependency of X and aborting if said first determining determines that adding A to X violates said any dependency of X;
- second determining whether adding A to X violates any dependency of A and aborting if said second determining determines that adding A to X violates said any dependency of A;
- and
- adding A to X if said first determining and said second determining determines that adding A to X does not violates any dependency of X and A, respectively.
A method for comparing an Information Technology (IT) structure instance X with IT structure Y, said method comprising matching elements of X and Y and/or matching relationships of X and Y,
- said matching elements of X and Y comprising matching the elements of a primitive composition XC of X to the elements of a primitive composition YC of Y to determine whether an element mismatch exists, wherein said element mismatch exists if at least one element of XC does not exist in YC or at least one element of YC does not exist in XC, and if said matching the elements determines that said element mismatch exists then determining any elements of XC existing in YC and any elements of YC not existing in XC;
- and
- said matching relationships of X and Y comprising matching the relationships XR of X to the relationships YR of Y to determine whether a relationship mismatch exists, wherein said relationship mismatch exists if at least one relationship of XR does not exist in Y or at least one relationship of YR does not exist in X, and if said matching the relationships determines that said relationship mismatch exists then determining any relationships of XR existing in Y and any relationships of YR not existing in X.
A method for deleting an Information Technology (IT) structure A from an IT structure X, said method comprising:
- determining a composition C of X;
- generating a list of relationships R of the elements of C that involve A;
- generating a list of dependencies D of the elements of C on A, excluding any dependency of A on A;
- if a <force> option was selected then removing A from C;
- and
- if the <force> option was not selected and (R is not null or (D is not null and D is not null and a replacement IT structure in C satisfying each dependency in D has not been found)) then exiting without removing A from C, else removing A from C.
A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for developing an Information Technology (IT) system, said method comprising:
- providing an abstract IT structure for the system being developed;
- generating a virtual IT structure from the abstract IT structure;
- and
- generating a real IT structure from the virtual IT structure.
A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for translating an instance X of an abstract Information Technology (IT) structure of a project to a virtual IT structure, said method comprising:
- translating X to an interim IT structure instance X′ that is less abstract than is X;
- and
- if X′ is not the virtual IT structure then repeatedly performing additional steps X until X′ is the virtual IT structure or until said translating detects an error condition, said additional steps comprising setting X=X′ and again performing said translating X to X′.
A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for delivery binding a virtual Information Technology (IT) structure X into a delivery-bound virtual IT structure XDB, said method comprising:
- invoking an addElement( ) method to add at least one additional IT structure A to the composition of X to form a primitive composition of XDB;
- assigning a name to each element of the primitive composition of XDB;
- and
- if at least one element of the primitive composition of XDB requires access to the Internet then assigning an IP address to the at least one element of the primitive composition of XDB.
A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for reverse-specifying at least one Information Technology (IT) structure, said method comprising:
- providing information relating to an IT entity selected from the group consisting of an IT delivery environment and an IT system instance;
- and
- generating a real IT structure from the information relating to the IT entity.
A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for adding an Information Technology (IT) structure A to an IT structure X, said method comprising:
- first determining whether adding A to X violates any dependency of X and aborting if said first determining determines that adding A to X violates said any dependency of X;
- second determining whether adding A to X violates any dependency of A and aborting if said second determining determines that adding A to X violates said any dependency of A;
- and
- adding A to X if said first determining and said second determining determines that adding A to X does not violates any dependency of X and A, respectively.
A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for comparing an Information Technology (IT) structure instance X with IT structure Y, said method comprising matching elements of X and Y and/or matching relationships of X and Y,
- said matching elements of X and Y comprising matching the elements of a primitive composition XC of X to the elements of a primitive composition YC of Y to determine whether an element mismatch exists, wherein said element mismatch exists if at least one element of XC does not exist in YC or at least one element of YC does not exist in XC, and if said matching the elements determines that said element mismatch exists then determining any elements of XC existing in YC and any elements of YC not existing in XC;
- and
- said matching relationships of X and Y comprising matching the relationships XR of X to the relationships YR of Y to determine whether a relationship mismatch exists, wherein said relationship mismatch exists if at least one relationship of XR does not exist in Y or at least one relationship of YR does not exist in X, and if said matching the relationships determines that said relationship mismatch exists then determining any relationships of XR existing in Y and any relationships of YR not existing in X.
A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for deleting an Information Technology (IT) structure A from an IT structure X, said method comprising:
- determining a composition C of X;
- generating a list of relationships R of the elements of C that involve A;
- generating a list of dependencies D of the elements of C on A, excluding any dependency of A on A;
- if a <force> option was selected then removing A from C;
- and
- if the <force> option was not selected and (R is not null or (D is not null and D is not null and a replacement IT structure in C satisfying each dependency in D has not been found)) then exiting without removing A from C, else removing A from C.
Dependencies are inferred from the claim text.