System and methods for deploying and invoking a distributed object model
First Claim
1. A computer system server for remote invocation of an object in a base object library via a remote access object library, comprising:
- a processor in a base application server;
a memory in the base application server operable to store the base object library, the memory further including a base application object space operable to store and execute instantiations of the objects in the base object library;
an interface including at least one adaptor operable to receive an API object reference to the remote access object library via a client application interface;
an object mapping table in the memory operable identify a corresponding native object to the referenced API object reference in the base object library, the processor operable to instantiate the identified native object corresponding to the referenced API object in a client object space, and further operable to maintain a link between the instantiated API object and the corresponding native object, the link providing a dynamic reflection of the native object in the API object; and
a build facility, the instantiating by the processor further employing the build facility to;
identify templates corresponding to object types, the object types corresponding to operations for providing the remote API,define metadata for each of the objects for exposure in the remote API, the metadata identifying, for each of the exposed objects, runtime behavior of the object;
identify, for each of the object types, available methods for each of the exposed objects in the remote access object library, the available methods defining a subset of methods in the corresponding base application object; and
build, via an API object generator in the build facility, the exposed objects for invocation by the client application;
the processor further operable to;
receive an indication of invoking a traversal method in the API object in the remote access object space;
identify, via an object identifier in the indication, the corresponding native object in the base application object space;
determine a related object associated with the native object in the base object library; and
transmit to a remote access object space, via a traversal service and the object identifier, an instantiation of the related object, the related object corresponding to the association to the native object in the base object library and the instantiation received from a copied object of the related object, the instantiation maintaining a dynamic link to the related object.
9 Assignments
0 Petitions
Accused Products
Abstract
A client application interface, or toolkit, provides a specified, exposed set of software components, or objects, for external user access. Development of a common interface for external user applications allows a remote access object model to define the interface corresponding to a base object model. The remote access object model, therefore, defines a generic toolkit upon which a user builds a custom application to suit individual remote access needs. Development of a single remote access object model limits regressive testing and provides a known baseline of tested functionality for the remote interface without compromising the existing base object model. Limited exposure of the objects in the client application interface avoids security, integrity, and inconsistency breaches. Therefore, the client application interface is operable to support the client application to emulate a specified exposure of a network administration and management application operations and functions via the remote access object model, or library.
-
Citations
13 Claims
-
1. A computer system server for remote invocation of an object in a base object library via a remote access object library, comprising:
-
a processor in a base application server; a memory in the base application server operable to store the base object library, the memory further including a base application object space operable to store and execute instantiations of the objects in the base object library; an interface including at least one adaptor operable to receive an API object reference to the remote access object library via a client application interface; an object mapping table in the memory operable identify a corresponding native object to the referenced API object reference in the base object library, the processor operable to instantiate the identified native object corresponding to the referenced API object in a client object space, and further operable to maintain a link between the instantiated API object and the corresponding native object, the link providing a dynamic reflection of the native object in the API object; and a build facility, the instantiating by the processor further employing the build facility to; identify templates corresponding to object types, the object types corresponding to operations for providing the remote API, define metadata for each of the objects for exposure in the remote API, the metadata identifying, for each of the exposed objects, runtime behavior of the object; identify, for each of the object types, available methods for each of the exposed objects in the remote access object library, the available methods defining a subset of methods in the corresponding base application object; and build, via an API object generator in the build facility, the exposed objects for invocation by the client application; the processor further operable to; receive an indication of invoking a traversal method in the API object in the remote access object space; identify, via an object identifier in the indication, the corresponding native object in the base application object space; determine a related object associated with the native object in the base object library; and transmit to a remote access object space, via a traversal service and the object identifier, an instantiation of the related object, the related object corresponding to the association to the native object in the base object library and the instantiation received from a copied object of the related object, the instantiation maintaining a dynamic link to the related object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An encoded set of processor based instructions on a computer readable storage medium and responsive to a computer system processor which, when loaded into a memory of a computer and executed by the computer system processor, cause the computer to perform steps for defining and deploying a remote access object library corresponding to a base application object model, comprising:
-
a requirements instance manager operable to identify a subset of objects in the base application object model as exposure objects for inclusion the remote access object library, and further operable to define a client application interface accessible to a client application operable to provide accessibility references for the included objects; metadata defined by the requirements instance manager, the metadata indicative of attributes for objects in the remote access object library; an architecture mapper operable to define object templates corresponding to object types in the base application object model, the object templates further comprising; an identification of object classes for the object types in the base application object model; and attributes for each of the object types, the attributes operable for definition in the corresponding object in the remote access object library; metadata identifying, for each of the object types, available methods for each of the exposure objects in the remote access object library, the available methods defining a subset of methods in the corresponding base application object in the base application object library; an object mapping table in the memory operable identify a corresponding native object to the referenced API object reference in the base object library, the processor operable to instantiate the identified native object corresponding to the referenced API object in a client object space, and further operable to maintain a link between the instantiated API object and the corresponding native object, the link providing a dynamic reflection of the native object in the API object, the instantiated objects responsive to a build facility to; identify templates corresponding to object types, the object types corresponding to operations for providing the remote API, define metadata for each of the objects for exposure in the remote API, the metadata identifying, for each of the exposed objects, runtime behavior of the object; and identify, for each of the object types, available methods for each of the exposed objects in the remote access object library, the available methods defining a subset of methods in the corresponding base application object; build, via an API object generator in the build facility, the exposed objects for invocation by the client application; an API object generator operable to generate the remote access object library from the metadata and the templates, such that each of the API objects are reflective of the API object for selectively exposing the corresponding native object, the instructions responsive to the processor to; receive an indication of invoking a traversal method in the API object in the remote access object space; identify, via an object identifier in the indication, the corresponding native object in the base application object space; determine a related object associated with the native object in the base object library; and transmit to a remote access object space, via a traversal service and the object identifier, an instantiation of the related object, the related object corresponding to the association to the native object in the base object library and the instantiation received from a copied object of the related object, the instantiation maintaining a dynamic link to the related object. - View Dependent Claims (10)
-
-
11. A computer program product having a computer readable storage medium operable to store computer program logic embodied in computer program code encoded thereon as a set of processor based instructions which, when loaded into a memory of a computer and executed by the computer system processor, cause the computer to perform steps for remote invocation of an object in a base object library via a remote access object library, comprising:
-
computer program code for invoking, via a client application interface, an API object reference in the remote access object library; computer program code for identifying a corresponding native object to the invoked API object reference in the base object library; computer program code for instantiating an API object reflective of the identified native object in a client object space, the API object selectively exposing the corresponding native object;
further comprising;computer program code for identifying templates corresponding to object types, the object types corresponding to operations for providing the remote API; computer program code for defining metadata for each of the objects for exposure in the remote API, the metadata identifying, for each of the exposed objects, runtime behavior of the object, the metadata further identifying, for each of the object types, available methods for each of the exposed objects in the remote access object library, the available methods defining a subset of methods in the corresponding base application object in the base object library; and computer program code for building, via an API object generator in the build facility, the exposed objects for invocation by the client application; and computer program code for maintaining a link between the instantiated API object and the corresponding native object, the link providing a dynamic reflection of the native object in the API object, maintaining the link further comprising referencing, in a realtime manner, the native object in response to operations to the instantiated API object, such that the operations produce a nonduplicative, atomic result in the native object via the instantiated API object, the instructions responsive to a processor to; receive an indication of invoking a traversal method in the API object in the remote access object space; identify, via an object identifier in the indication, the corresponding native object in the base application object space; determine a related object associated with the native object in the base object library; and transmit to a remote access object space, via a traversal service and the object identifier, an instantiation of the related object, the related object corresponding to the association to the native object in the base object library and the instantiation received from a copied object of the related object, the instantiation maintaining a dynamic link to the related object.
-
-
12. A computer readable storage medium having a set of processor based instructions responsive to a computer having a processor and encoded as program code on the computer readable storage medium which, when loaded into a memory of the computer and executed by the processor, cause the computer to perform steps for remote invocation of an object in a base object library via a remote access object library, comprising:
-
program code for invoking, via a client application interface, an API object reference in the remote access object library; program code for identifying a corresponding native object to the invoked API object reference in the base object library, the base object library defining a storage area network management application having a database of storage area network management information, the storage area network management application operable to manipulate agents corresponding to manageable entities, and wherein the remote access object library is a toolkit operable to provide API entry points into the storage area network management application in a nonintrusive manner for interrogating the agents and corresponding database; program code for instantiating the identified native object as an API object in a client object space;
further comprising;program code for identifying templates corresponding to object types, the object types corresponding to operations for providing the remote API; program code for defining metadata for each of the objects for exposure in the remote API, the metadata identifying, for each of the exposed objects, runtime behavior of the object, the metadata identifying, for each of the object types, available methods for each of the exposed objects in the remote access object library, the available methods defining a subset of methods in the corresponding base application object in the base object library; and program code for building, via an API object generator, the exposed objects for invocation by the client application; and program code for maintaining a link between the instantiated API object and the corresponding native object, the link providing a dynamic reflection of the native object in the API object, maintaining the link further comprising referencing, in a realtime manner, the native object in response to operations to the instantiated API object, such that the operations produce a nonduplicative, atomic result in the native object via the instantiated API object, the instructions responsive to a processor to; receive an indication of invoking a traversal method in the API object in the remote access object space; identify, via an object identifier in the indication, the corresponding native object in the base application object space; determine a related object associated with the native object in the base object library; and transmit to a remote access object space, via a traversal service and the object identifier, an instantiation of the related object, the related object corresponding to the association to the native object in the base object library and the instantiation received from a copied object of the related object, the instantiation maintaining a dynamic link to the related object.
-
-
13. A computer system server responsive to a set of processor based instructions stored on a computer readable storage medium, the computer system server having a processor connected to the computer readable storage medium, for remote invocation of an object in a base object library via a remote access object library, comprising:
-
means for invoking, via a client application interface, an API object reference in the remote access object library; means for identifying a corresponding native object to the invoked API object reference in the base object library; means for instantiating the identified native object as an API object in a client object space;
the means for instantiating further comprising;means for identifying templates corresponding to object types, the object types corresponding to operations for providing the remote API; means for defining metadata for each of the objects for exposure in the remote API, the metadata identifying, for each of the exposed objects, runtime behavior of the object, the metadata identifying, for each of the object types, available methods for each of the exposed objects in the remote access object library, the available methods defining a subset of methods in the corresponding base application object in the base object library; and means for building, via an API object generator, the exposed objects for invocation by the client application; and means for maintaining a link between the instantiated API object and the corresponding native object, the link providing a dynamic reflection of the native object in the API object, the API object having a direct reference linkage to a counterpart native object in the base application object space, maintaining the link further comprising referencing, in a realtime manner, the native object in response to operations to the instantiated API object, such that the operations produce a nonduplicative, atomic result in the native object via the instantiated API object, the instructions responsive to a processor to; receive an indication of invoking a traversal method in the API object in the remote access object space; identify, via an object identifier in the indication, the corresponding native object in the base application object space; determine a related object associated with the native object in the base object library; and transmit to a remote access object space, via a traversal service and the object identifier, an instantiation of the related object, the related object corresponding to the association to the native object in the base object library and the instantiation received from a copied object of the related object, the instantiation maintaining a dynamic link to the related object.
-
Specification