首页 / 专利库 / 电脑编程 / XML用户界面语言 / Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system

Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system

阅读:651发布:2020-12-19

专利汇可以提供Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system专利检索,专利查询,专利分析的服务。并且A graphical user interface can be automatically generated from a command syntax for managing multiple computer systems as one computer system. The command syntax is represented using an eXtensible Markup Language (XML) document file, an XML schema file, and a text description file. The XML document file, XML schema file, and text description file are maintained on a server and downloaded to a client as required. A user interface program uses the XML document, XML schema, and text descriptions to generate a "Wizard" that comprises the graphical user interface, wherein the Wizard provides a series of step-by-step dialogs for assisting the operator in creating a command from the command syntax.,下面是Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system专利的具体信息内容。

A method for generating a graphical user interface from a command syntax, for managing at least one computer system, comprising:(a) processing at least one eXtensible Markup Language (XML) file (112) at a user interface program (114) executed by a computer, wherein the XML file represents a command syntax for managing the at least one computer system; and(b) generating at least one dialog from the XML file for display to an operator, wherein the at least one dialog is used to create at least one command in the user interface program for managing the at least one computer system.The method of claim 1, wherein the XML files are selected from a group comprising an XML document file, XML schema file, and text description file.The method of claim 2, wherein the XML document, XML schema, and text description file are maintained on a server (106) and are downloaded to the computer as required.The method of claim 3, wherein the XML document, XML schema, and text description file are modified on the server as the command syntax changes.The method of claim 2, 3 or 4, wherein the XML document, XML schema, and text description file represent a latest version of the command syntax.The method of any of claims 2 to 5, wherein the user interface program processes the XML document using the XML schema to identify resource types, verbs, and keywords therein.The method of any of claims 2 to 6, wherein the text description file provides at least one text description that is used by the user interface program to construct the at least one dialog.The method of any of claims 2 to 7, wherein the text description file comprises at least one text description that is represented by tags that comprise concatenations of nested XML tag names in the XML document.The method of any of claims 2 to 8, wherein the XML document comprises one or more tags selected from a group comprising;a root tag that is a global tag that provides a wrapper for all other tags,a resource tag that is used to define a resource,a verb tag that is used to define a verb,a keyword tag that is used to define a keyword,a list tag that is used within the keyword tag to define a list of options,a compare tag that is used within the keyword tag to define a comparison between an operator and a variable,an option tag that is used within the list tag to define optional selections for a keyword,a variable tag that is used within the keyword and list tags to define a variable, andan operator tag that is used within the compare tag to define an operator for a list of operators.The method of any preceding claim, wherein the at least one dialog comprises a Wizard for use by the operator in generating commands for the at least one computer system.The method of claim 10, wherein the Wizard displays a step-by-step series of dialogs for guiding the operator in the use of the command syntax.The method of any preceding claim, wherein the commands are submitted to multiple computer systems.The method of any preceding claim, wherein the user interface program is not sensitive to an individual format of the command syntax that is used to manage the at least one computer system.A computer program product comprising computer program code stored on a computer readable storage medium, which when executed on a computer, performs the method of any preceding claim.A system for generating a graphical user interface from a command syntax for managing at least one computer system, comprising:(a) a computer; and(b) a user interface program (114), executed by the computer, for processing at least one eXtensible Markup Language (XML) file (112) at a user interface program executed by a computer, wherein the XML file represents a command syntax for managing the at least one computer system, and for generating at least one dialog from the XML file for display to an operator, wherein the at least one dialog is used to create at least one command in the user interface program for managing the at least one computer system.
说明书全文

The present invention generally relates to the management of computer-implemented systems, and in particular, to a system and method for generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system.

The management of computer systems has become increasingly more complex. This results from the complex hardware and software environments found in modern-day computer systems. For example, it is not uncommon to manage a large number of computer systems in a network, wherein the systems perform different tasks and run differing versions of software, wherein the systems are geographically dispersed, and wherein multiple operations consoles are required. As computer systems and networks grow in complexity, so too do the operations consoles and their user interfaces. Yet, it is not desirable to have a separate operations console for each computer system, nor is desirable to maintain a different client interface for each of the operations consoles.

Accordingly, the invention provides a method for generating a graphical user interface from a command syntax, for managing at least one computer system, comprising:

  • (a) processing at least one eXtensible Markup Language (XML) file at a user interface program executed by a computer, wherein the XML file represents a command syntax for managing the at least one computer system; and
  • (b) generating at least one dialog from the XML file for display to an operator, wherein the at least one dialog is used to create at least one command in the user interface program for managing the at least one computer system.

In a further aspect, a computer program produce is provided comprising computer program code stored on a computer readable storage medium, which when executed on a computer performs the method of the invention.

In a yet further aspect, the invention provides a system for generating a graphical user interface from a command syntax for managing at least one computer system, comprising:

  • (a) a computer; and
  • (b) a user interface program, executed by the computer, for processing at least one eXtensible Markup Language (XML) file at a user interface program executed by a computer, wherein the XML file represents a command syntax for managing the at least one computer system, and for generating at least one dialog from the XML file for display to an operator, wherein the at least one dialog is used to create at least one command in the user interface program for managing the at least one computer system.

Preferably a system is provided that can manage multiple computers and that has a client interface that is easy to maintain. The client interface reduces the complexity of managing computer systems, and does not require operators to remember a large repertoire of commands and command syntax.

According to a preferred embodiment the command syntax is represented using an eXtensible Markup Language (XML) document file, an XML schema file, and a text description file. The XML document file, XML schema file, and text description file are maintained on a server and downloaded to a client as required. A user interface program uses the XML document, XML schema, and text descriptions to generate a "Wizard" that comprises the graphical user interface, wherein the Wizard provides a series of step-by-step dialogs for assisting the operator in creating a command from the command syntax.

Preferably when the command syntax changes (for example, when a new function is added), updates are only needed at the server, thereby reducing the maintenance cost of clients. In addition, according to the preferred embodiment all clients are synchronized with the server and have the most up to date version of the command syntax. Moreover, generating the graphical user interface from the command syntax greatly reduces the amount of programming effort involved in creating the user interface. Finally, the command syntax is easier to learn, because the Wizard displays a step-by-step series of dialogs for guiding the operator in the use of the command syntax.

In the preferred embodiment, the server maintains control of the command syntax in order to support multiple versions thereof. Moreover, the client is preferably not sensitive to individual versions of the command syntax or it would require an update every time a command was changed. Finally, the tagging rules for the XML allows the user interface program to generate customized Wizards for the command syntax.

A preferred embodiment of the present invention will now be described in detail, by way of example only, and with reference to the following drawings:

  • FIG. 1 schematically illustrates the environment of a preferred embodiment of the present invention;
  • FIG. 2 is a flowchart that illustrates the logic of constructing the extensible Markup Language (XML) files according to a preferred embodiment of the present invention;
  • FIG. 3 is a flowchart that illustrates the logic of processing the XML files according to a preferred embodiment of the present invention; and
  • FIGS. 4A, 4B, 4C, 4D, 4E, 4F, and 4G illustrate a graphical user interface generated from the XML files according to a preferred embodiment of the present invention.
Please note, reference numerals represent corresponding parts throughout.

Hardware and Software Environment

FIG. 1 schematically illustrates the hardware and software environment of the preferred embodiment of the present invention including a distributed computer system 100 using a network 102 to connect one or more clients 104 to a server 106 having one or more data storage devices 108. The network 102 may comprise networks such as LANs, WANs, SNA networks, and the Internet. A typical combination of resources includes clients 104 that are implemented on personal computers or workstations, and servers 106 that are implemented on personal computers, workstations, minicomputers, or mainframes.

The server 106 is a sysplex that executes one or more copies of a Command Processor (CP) 108, which may comprise any number of systems, and any number of different types of systems. The multiple CP's 108 may act individually or as a single system in providing services and applications, but each CP 108 is managed separately, i.e., a separate command is sent to each CP 108 and each response from a CP 108 is viewed separately. As the number of CP's 108 increases, the manageability of the server 106 becomes more complex.

The server 106 also executes one or more Command Servers (CS) 110 that communicate with all of the CP's 108 and the clients 104 for providing operator control of the CP's 108. The CS 110 maintains a collection of related XML files 112 that represent the command syntax for the CP's 108. The XML files 112 store the command syntax as a separately replaceable unit.

The client 104 executes a user interface program 114 that interacts with the CS 110 to provide an operator with control over the CP's 108. The user interface program 114 receives a copy of the XML files 112 from the CS 110, wherein the XML files 112 represent a command syntax of the highest active release level of the command set for the CP's 108. The user interface program 114 processes the XML files 112 to identify resource types, verbs, and keywords. The user interface program 114 then dynamically displays a "Wizard" comprising a step-by-step series of dialogs that guide the operator through the command syntax, and constructs one or more commands based on the operator selections from the dialogs.

The CS 110 receives the commands from the user interface program 114, and submits the commands to one or more (possibly all) of the CP's 108. The CS 110 then receives responses from the CP's 108 and transmits the responses to the user interface program 114. For example, in response to operator commands, the CS 110 may provide the operator with a list of active CP's 108 executing in the system 100 and/or status notifications from the CP's 108.

Preferably, these components 108, 110, 112, and 114 all comprise logic and/or data that is embodied in or retrievable from a computer-readable device, medium, or carrier, e.g., a data storage device, a data communications device, a remote computer or device coupled to the computer via a data communications device, etc. Moreover, this logic and/or data, when read, executed, and/or interpreted by the computer, causes the computer to perform the steps necessary to implement and/or use a preferred embodiment of the present invention.

Thus, the present invention may, for example, be implemented as a method, apparatus, or computer program product using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term "article of manufacture" (or alternatively, "computer program product ") as used herein is intended to encompass logic and/or data accessible from any computer-readable device, carrier, or media.

Those skilled in the art will recognize that any combination of the above components, or any number of different components, including different logic, data, different peripherals, and different devices, may be used to implement the present invention, so long as similar functions are performed thereby. Specifically, those skilled in the art will recognize that the present invention may be applied to any database, associated database management system, or peripheral device.

Command Syntax

In the preferred embodiment, the general format of the command syntax for the CP 108 comprises the following:

  • VERB     RESOURCETYPE     KEYWORD     ( PARAMETER )
Each of these elements is described below:

  • VERB - The verb is the first element and identifies the action to be taken. The verb can be abbreviated.
  • RESOURCETYPE - The resource type is the second element and identifies the type of resource acted upon by the command. The resource may comprise, for example, transactions, databases, terminals, areas, users, etc. The resource type may support a synonym.
  • KEYWORD - Keywords are optional elements, depending upon the specific command. The keyword may identify resources of one or more CP's 108. The keyword may also identify a function of the command.
  • PARAMETER - A parameter identifies a defined or created value or resource, such as a database, terminal, area, user, etc. Parameters in commands are preferably replaced with values. Multiple parameters are separated by a comma within the parentheses.
Of course, those skilled in the art will recognize that other command syntax may be used, as could other elements.

XML Files

In the preferred embodiment, the XML files 112 provide a tag language representation of the command syntax, and include an XML document file, an XML schema file, and a text representation file. Examples of these files can be found in the Appendices attached hereto, wherein Appendix I is an exemplary XML document file (CommandSyntax.XML), Appendix II is an exemplary XML schema file (CommandSyntax.DTD), and Appendix III is an exemplary text description file (CommandText.TAG).

XML describes a class of data objects and partially describes the behavior of computer programs that process these objects. XML is a restricted form of SGML (Standard Generalized Markup Language), as defined in ISO 8879. The specification for XML can be found at the URL: http://www.w3.org/TR/REC-xml.

An XML schema specifies constraints on the structures and types of elements in an XML document. The basic schema for XML is the DTD (Document Type Definition), although other XML schema definitions are also being developed, such as DCD (Document Content Definition), XSchema, etc. Information concerning DTD and DCD can be found at the URL: http://www.w3.org/.

Preferably, a text description file provides the text descriptions that are used by the user interface program to construct the dialogs of the Wizard. The text descriptions are represented by tags that comprise concatenations of the nested XML tag names in the XML document.

The user interface program 114 of the preferred embodiment incorporates an XML processor that is used to read the XML files 112 and provide access to their content and structure. The XML specification located at the URL noted above describes how an XML processor typically behaves in terms of how it processes XML data.

XML Document File

As shown in Appendix I, the XML document file includes an 〈?xml〉 version identifier, an 〈!DOCTYPE root SYSTEM "CommandSyntax.dtd"〉 identifier of the XML schema file (e.g., .dtd file), and opening and closing 〈root〉 and 〈/root〉 tags. The remaining tags in the XML document file are described below in conjunction with the XML schema file.

The command syntax of the XML document file comprises the command syntax for a database management system (DBMS), and more specifically, the IMS™ DBMS sold by IBM Corporation, the assignee of the present invention.

XML Schema File

Each tag in the XML document file has a set of rules that must be followed, which are defined in the XML schema file. As shown in Appendix II, most of the tags have descriptive names that indicate their function. Following is a description of the tags arid their attributes in the preferred embodiment:

  • root - Used as a global tag that provides a wrapper for all the other tags. Attributes: none.
  • resource - Used to define a resource. Attributes: name - REQUIRED (specifies the name of the resource).
  • verb - Used to define a verb. Attributes: name - REQUIRED (specifies the name of the verb).
  • keyword - Used to define a keyword. Attributes: name -
  • REQUIRED(specifies the name of the keyword); required - OPTIONAL (required parameter for command? Yes or No. Default is No).
  • list - Used within 〈keyword〉 to define a list of options. Attributes: name - OPTIONAL (specifies the name of the group); default - OPTIONAL (default value for var (see later)); multiple - OPTIONAL (does var accept multiple values? Yes or No. Default is No.); and goto - OPTIONAL (point to another keyword to be enabled).
  • compare - Used within 〈keyword〉 to define a comparison between an operator and a variable. Attributes: name - REQUIRED (name of comparison).
  • option - Used within 〈list〉 to make a radio button or checkbox. Attributes: name - REQUIRED (name of keyword this is pointing to);
  • goto - OPTIONAL (point to another keyword to be enabled, wherein the goto attribute of the 〈list〉 and 〈option〉 tags means that the specified keyword is applicable only when that list or option is selected.)
  • var - Used within 〈keyword〉 and 〈list〉 to define a variable. Attributes: name -REQUIRED (name of variable); wildcard - OPTIONAL (does this var support wildcards? Yes or No. Default is No.); default
  • - OPTIONAL (default value for var.); and multiple - OPTIONAL (does var accept multiple values? Yes or No. Default is No.).
  • operator - Used within 〈compare〉 to define an operator for the list of operators. Attributes: keyword - REQUIRED (name of keyword this goto points to).

Text Description File

As shown in Appendix III, the tags in the text description file are concatenated versions of tags used in the XML document file. By traversing the XML document file and concatenating the tag names therein, the user interface program 114 can identify the tags used in the text description file and thereby access the text to be displayed by the Wizard. Generally, this text is in HTML (HyperText Markup Language) format, although other formats may be used as well.

The text description file is used for the following reasons:

  • (1) To provide enhanced output for the operator. In the XML document file, commands are often represented by mnemonics that are recognized by the CP 108, but which may or may not be completely understandable by the operator.
  • (2) To allow for internationalization or localization of the command syntax. The user interface program 114 may be used in multiple countries, and language support should be provided for each country. Since the XML document and XML schema files cannot be changed (since their format is dictated by the CP 108), the text description file provides a mechanism whereby the Wizard output from the user interface program 114 is understandable by the operator.
  • (3) To simplify the XML document file. The use of the text description file avoids the inclusion of confusing text descriptions within the XML document file.

Logic of the Preferred Embodiment

Flowcharts which illustrate the logic according to the preferred embodiment of the present invention are shown in FIGS. 2-3. Those skilled in the art will recognize that this logic is provided for illustrative purposes only and that different logic may be used to accomplish the same results.

FIG. 2 is a flowchart that illustrates the logic of encoding the XML files 112 according to the preferred embodiment of the present invention.

Block 200 represents the XML schema file being defined and then stored on the server 106. Preferably, this structure should not change as the command syntax changes.

Block 202 represents the XML document file being defined and then stored on the server 106. The XML document file is defined. Preferably, this structure will change as the command syntax changes. The Block includes the following steps:

  • a. As noted above, the XML document file includes an 〈?xml〉 version identifier, an 〈!DOCTYPE root SYSTEM "CommandSyntax.dtd"〉 identifier of the XML schema file (e.g., .dtd file), and opening and closing 〈root〉 and 〈/root〉 tags.
  • b. The resources are defined (TRAN, OLC, ...) with 〈resource〉 tags. For each resource, its verbs are defined (QUERY, UPDATE, ...) with 〈verb〉 tags. For each verb, its keywords are defined with 〈keyword〉 tags. A keyword can include either a variable (a 〈var〉 tag), a list of options (〈list〉 and 〈option〉 tags), or a list of operators for comparison (〈compare〉 and 〈operator〉 tags).
  • c. Each command is uniquely identified by a 〈resource〉 tag followed by a 〈verb〉 tag. Each keyword in the command has its own 〈keyword〉 tag, and the type of information a keyword contains can be ascertained by its children. If the keyword contains a 〈var〉, then the operator will be prompted to input a variable name.

Block 204 represents the text description file being defined and then stored on the server 106. Preferably, this structure will change as the command syntax changes.

FIG. 3 is a flowchart that illustrates the logic of processing the XML files 112 according to the preferred embodiment of the present invention.

Block 300 represents the user interface program 114 receiving the XML files 112 from the server 106.

Block 302 represents the user interface program 114, using the XML schema file as a template, traversing through the tags in the XML document file to gather information from each tag.

Block 304 represents the user interface program 114 constructing a "Wizard" for the XML document file using the text description file, wherein the Wizard displays a series of steps to the operator. Each of the steps displayed by the Wizard corresponds to a 〈keyword〉 element in the XML document file. The text description file is used to define the display elements for the Wizard. In the example XML document file provided above, the Wizard would have seven steps as described further below.

Block 306 represents the user interface program 114 displaying the command as it has been built via the operator selections of the Wizard, wherein a button or other mechanism is provided for the operator to submit the command to one or more of the CP's 108.

Block 308 represents the user interface program 114 displaying any responses received from the CP's 108 for the operator.

Graphical User Interface

FIGS. 4A, 4B, 4C, 4D, 4E, 4F, and 4G illustrate the graphical user interface generated from the XML files 112 according to the preferred embodiment of the present invention. These particular "snapshots" of the graphical user interface correspond to the Wizard generated for the example XML files 112 described in the Appendices. Of course, those skilled in the art will recognize that this graphical user interface is provided for illustrative purposes only and that a different graphical user interface may be used to accomplish the same results.

Specifically, the Wizard shown in FIGS. 4A, 4B, 4C, 4D, 4E, 4F, and 4G corresponds to the following portion of Appendix I:

In this example, the CP's 108 each comprise a database management system (DBMS), and more specifically, the IMS™ DBMS sold by IBM Corporation, the assignee of the present invention. Thus, as noted above, the command syntax of the XML document file comprises the command syntax for an IMS™ DBMS.

FIG. 4A illustrates step 1 of 7 of the Wizard, which prompts the operator to name the transactions to display. This page of the Wizard lists the names of the transactions that will be displayed. The operator types a transaction name in the entry field and presses Enter to add it to the list. The operator can also select previous transactions from the drop-down list and use the wildcard (*) character to display all or filter transactions.

FIG. 4B illustrates step 2 of 7 of the Wizard, which prompts the operator to specify the class number of transactions to display. This page of the Wizard lists the class numbers of the transactions that will be displayed. The operator types a class number in the entry field and presses Enter to add it to the list. The operator can also select previous class numbers from the drop-down list.

FIG. 4C illustrates step 3 of 7 of the Wizard, which prompts the operator to select a status of the transactions to display. This page of the Wizard lists transaction status types that the operator can select. The select will apply to the transactions that the operator specified in the previous Name and Class steps (i.e., steps 1 and 2).

FIG. 4D illustrates step 4 of 7 of the Wizard, which prompts the operator to specify the queue count of transactions to display. This page of the Wizard is used to filter transactions by queue count. The operator chooses the comparison operator from the list and then types a number in the entry field.

FIG. 4E illustrates step 5 of 7 of the Wizard, which prompts the operator to select the transaction output field to display. This page of the Wizard is used to specify the transaction output fields to be displayed and overrides the default transaction output fields.

FIG. 4F illustrates step 6 of 7 of the Wizard, which prompts the operator to specify the CP 108 that will receive this command. This page of the Wizard is used to complete the operation and submit the command.

FIG. 4G illustrates step 7 of 7 of the Wizard, which prompts the operator to review the command generated for the specified CP 108. This page of the Wizard is used to specify when the generated command will be submitted to the specified CP 108.

Those skilled in the art will recognize that different database management systems, operating environments, etc., could be substituted for those described herein. Those skilled in the art will recognize that the present invention could be used in any type of computer system, and need not be limited to a client-server architecture. Those skilled in the art will recognize that the present invention could be used with many types of computer systems, and need not be limited to the examples described herein.

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈