Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

A method and mechanism to simplify access to attributes of nested objects

IP.com Disclosure Number: IPCOM000035212D
Original Publication Date: 2005-Jan-20
Included in the Prior Art Database: 2005-Jan-20
Document File: 5 page(s) / 132K

Publishing Venue

IBM

Abstract

Disclosed is a method and mechanism that allows writers of configuration scripts to use simple names for attributes of objects that are part of a complex object hierarchy. This is achieved by associating a simple name with the navigation path to each attribute, with adornments that define the type of object at each node of the path.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 28% of the total text.

Page 1 of 5

A method and mechanism to simplify access to attributes of nested objects

Disclosed is a method and mechanism that allows writers of configuration scripts to use simple names for attributes of objects that are part of a complex object hierarchy. This is achieved by associating a simple name with the navigation path to each attribute, with adornments that define the type of object at each node of the path.

    Computer software products often hold meta-data as object hierarchies. In version 5.1 of WebSphere* Application Server (WAS), WAS holds the meta-data for a particular Application Server definition within a hierarchy of objects reachable from the top-level Server object. For example, in the Unix** and Microsoft*** Windows*** versions of WAS 5.1 ("distributed WAS") the Server object has an attribute processDefinition which holds a reference to a JavaProcessDef object. This in turn has a jvmEntries attribute which holds a reference to a JavaVirtualMachine object. This in turn has an attribute representing the maximum heap size of a Java**** Virtual Machine, called maximumHeapSize. A script writer using the WAS-supplied scripting utility wsadmin must navigate this object hierarchy to be able to display or change the value of maximumHeapSize.

    The scriptwriter's job is further complicated by the fact that the same attribute may be reached in slightly different ways in other versions of the same product. For example in the z/OS* version of WAS there is no processDefinition attribute in the Server object; instead, there is a processDefinitions object that contains a list of references to other objects, reflecting the different architecture of the z/OS platform. Furthermore in version 4 of distributed WAS the hierarchy and attribute names are completely different. The three attributes hold the same type of information, but the method of reaching them differs in each product. Writing portable and readable scripts is thus difficult to achieve.

    The solution to this problem uses navgiation paths defined in configuration files. Each top-level object (such as an application server, a messaging provider and a resource adapter) has a configuration file which defines the attributes that can be displayed and updated by navigating from that object. For each attribute a navigation path defines the route that the script will take to reach it. A navigation path is a dot-separated list of object names with adornments that define the object type. Attributes have multiple navigation paths, one per version of WAS.

    The following is an extract of three lines from the configuration file of the "application server" class and demonstrates how the method and mechanism works: maxheap :v4 :JVMConfig{}.MaxHeapSize

maxheap :v5
:processDefinition.jvmEntries{JavaVirtualMachine}.maximumHeapSize maxheap :
v5zos:processDefinitions{JavaProcessDef}%processType^JavaProcessDef%.jvmEnt
ries{JavaVirtualMachine}.maximumHeapSize

    The configuration file is a text file comprising li...