Script generation engine
The present invention is an installation script generation engine. An application component distribution system can include a repository of semantic models for interdependent ones of application components. A mapping of individual listings in the semantic models to target platform specific installation instructions further can be included. Finally, a script generation engine can be configured to produce a target specific set of instructions for a specified application component based upon a mapping of at least one of the semantic models in the repository. Notably, each of the semantic models can include a listing of component relationships, target platform requirements and platform neutral installation instructions. Moreover, the component relationships can include at least one component relationship selected from the group consisting of a containment relationship, a usage relationship, a contradiction relationship, and an equivalence relationship. Finally, a Web services interface to the repository can be configured to permit remote access to the repository.
1. A method for generating an installation script for installing an application component to a specific target platform, the method comprising the steps of:
retrieving a semantic model for the application component from a communicatively coupled repository of semantic models for interdependent ones of application components, the semantic model including a set of individual listings formatted within a markup language with different interdependent ones of application components being specified according to a respective network addressing scheme, the set of individual listings comprising a listing of component relationships and a listing of target platform requirements specifying a minimum requisite type and a level of resources required for operation of the application component on a target platform;
determining from the listing of component relationships from the set of individual listings in said semantic model, a set of dependent components upon which the application component depends that are required to be present in the specific target platform;
further determining from the listing of target platform requirements from the set of individual listings in said semantic model, a set of resource requirements required to be met by the specific target platform; and,
mapping said set of dependent components and said set of resource requirements into platform specific instructions in a platform specific installation script.
2. The method of claim 1 , further comprising the steps of:
yet further determining from said semantic model a set of platform neutral installation operations; and,
further mapping said set of platform neutral installation operations into said platform specific instructions.
3. The method of claim 1 , wherein the determining step comprises the steps of:
identifying a set of dependent components for the application component; and,
further identifying a set of sub-dependent components for at least one of said dependent components.
4. The method of claim 3 , further comprising the step of repeating the identifying and further identifying steps for each dependent and sub-dependent component in a hierarchy of dependent components for the application component.
5. The method of claim 1 , wherein the further determining step comprises the step of computing an composite set of resource requirements for the application component and for said set of dependent components.
6. A non-transitory machine readable storage having stored thereon a computer program for generating an installation script for installing an application component to a specific target platform, the computer program comprising a routine set of instructions when executed cause the machine to perform the steps of:
retrieving a semantic model for the application component from a communicatively coupled repository of semantic models for interdependent ones of application components, the semantic model including a set of individual listings formatted within a markup language with different interdependent ones of application components being specified according to a respective network addressing scheme, the set of individual listings comprising a listing of component relationships and a listing of target platform requirements specifying a minimum requisite type and a level of resources required for operation of the application component on a target platform;
determining from the listing of component relationships from the set of individual listings in said semantic model, a set of dependent components upon which the application component depends that are required to be present in the specific target platform;
further determining from the listing of target platform requirements from the set of individual listings in said semantic model, a set of resource requirements required to be met by the specific target platform; and,
mapping said set of dependent components and said set of resource requirements into platform specific instructions in a platform specific installation script.
7. The non-transitory machine readable storage of claim 6 , further comprising the steps of:
yet further determining from said semantic model, a set of platform neutral installation operations; and,
further mapping said set of platform neutral installation operations into said platform specific instructions.
8. The non-transitory machine readable storage of claim 6 , wherein the determining step comprises the steps of:
identifying a set of dependent components for the application component; and,
further identifying a set of sub-dependent components for at least one of said dependent components.
9. The non-transitory machine readable storage of claim 8 , further comprising the step of repeating the identifying and further identifying steps for each dependent and sub-dependent component in a hierarchy of dependent components for the application component.
10. The non-transitory machine readable storage of claim 6 , wherein the further determining step comprises the step of computing an composite set of resource requirements for the application component and for said set of dependent components.