# US 8,789,071 B2 · Integrated extension framework

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,789,071 B2
- Document ID: US8789071B2
- Status: Granted
- Kind: B2
- Application number: 13/250,387
- Filed: 2011-09-30
- Published: 2012-02-09
- Granted: 2014-07-22
- Earliest claimed: 2008-10-09
- Assignees: International Business Machines Corporation
- Applicants: David W. Chang; Anshul Dawra; Holger Karn; Bilung Lee; Paul A. Ostler
- Inventors: David W. Chang; Anshul Dawra; Holger Karn; Bilung Lee; Paul A. Ostler
- Web page: https://patentgrep.com/patent/US8789071B2

## CPC

- G06F 11/3495: {for systems}
- G06F 9/548: {Object oriented; Remote method invocation [RMI] (non-remote method invocation G06F9/449)}
- H04L 41/024: {using relational databases for representation of network management data, e.g. managing via structured query language [SQL]}
- H04L 41/5058: {Service discovery by the service manager}
- G06F 2201/80: Database-specific techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Provided are techniques for extending functionality of an application. A request to create an application object is received. In response to receiving the request, the application object is created, and an extension proxy object is created. The extension proxy object is wrapped around the application object. An invocation of a function of the extension proxy object is received from the application object.

## Claims

### Claim 1

A method for extending functionality of an application, comprising:
in response to receiving a request to create an application object,
creating, using a processor of a computer, the application object with one or more application methods;
creating an extension proxy object with an extended method corresponding to at least one of the one or more application methods, wherein the extended method provides additional functionality for the application object; and
wrapping the extension proxy object around the application object, wherein the extension proxy object:
intercepts a message to the application object;
in response to determining that the message identifies an application method from the one or more application methods with a corresponding extended method, performs the extended method; and
in response to determining that the message identifies an application method from the one or more application methods without a corresponding extended method, invokes the application method.

### Claim 2 (depends on 1)

The method of claim 1, wherein an extension object factory invokes an application object factory to create the application object, and wherein the application object factory creates the application object.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
enabling the extension proxy object to invoke the application method of the application object.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
under control of an application object factory,
determining that an extension object factory is available;
issuing the request to the extension object factory; and
receiving the extension proxy object wrapped around the application object from the extension object factory.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
providing a new Integrated Extension Framework (IEF) interface to enable the application object and the extension proxy object to communicate by sending messages.

### Claim 6 (depends on 1)

The method of claim 1, wherein the extended method comprises a monitoring function implemented by a monitoring agent.

### Claim 7

A computer program product for extending functionality of an application, the computer program product comprising:
a non-transitory computer readable storage medium having computer readable program code embodied therewith, wherein the computer readable program code, when executed by a processor of a computer, is configured to perform:
in response to receiving a request to create an application object,
creating the application object with one or more application methods;
creating an extension proxy object with an extended method corresponding to at least one of the one or more application methods, wherein the extended method provides additional functionality for the application object; and
wrapping the extension proxy object around the application object, wherein the extension proxy object:
intercepts a message to the application object;
in response to determining that the message identifies an application method from the one or more application methods with a corresponding extended method, performs the extended method; and
in response to determining that the message identifies an application method from the one or more application methods without a corresponding extended method, invokes the application method.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein an extension object factory invokes an application object factory to create the application object, and wherein the application object factory creates the application object.

### Claim 9 (depends on 7)

The computer program product of claim 7, wherein the computer readable program code, when executed by the processor of the computer, is configured to perform:
enabling the extension proxy object to invoke the application method of the application object.

### Claim 10 (depends on 7)

The computer program product of claim 7, wherein the computer readable program code is first computer readable program code and comprising:
second computer readable program code, when executed by the processor of the computer, is configured to perform:
under control of an application object factory,
determining that an extension object factory is available;
issuing the request to the extension object factory; and
receiving the extension proxy object wrapped around the application object from the extension object factory.

### Claim 11 (depends on 7)

The computer program product of claim 7, wherein the computer readable program code, when executed by the processor of the computer, is configured to perform:
providing a new Integrated Extension Framework (IEF) interface to enable the application object and the extension proxy object to communicate by sending messages.

### Claim 12 (depends on 7)

The computer program product of claim 7, wherein the extended method comprises a monitoring function implemented by a monitoring agent.

### Claim 13

A computer system for extending functionality of an application, comprising:
a processor; and
a storage device coupled to the processor, wherein the storage device has stored thereon a program, and wherein the processor is configured to execute instructions of the program to perform operations, wherein the operations comprise:
in response to receiving a request to create an application object,
creating the application object with one or more application methods;
creating an extension proxy object with an extended method corresponding to at least one of the one or more application methods, wherein the extended method provides additional functionality for the application object; and
wrapping the extension proxy object around the application object, wherein the extension proxy object:
intercepts a message to the application object;
in response to determining that the message identifies an application method from the one or more application methods with a corresponding extended method, performs the extended method; and
in response to determining that the message identifies an application method from the one or more application methods without a corresponding extended method, invokes the application method.

### Claim 14 (depends on 13)

The system of claim 13, wherein an extension object factory invokes an application object factory to create the application object, and wherein the application object factory creates the application object.

### Claim 15 (depends on 13)

The system of claim 13, wherein the operations further comprise:
enabling the extension proxy object to invoke the application method of the application object.

### Claim 16 (depends on 13)

The system of claim 13, wherein the program is a first program, and wherein the storage device has stored thereon a second program, and wherein the processor is configured to execute instructions of the second program to perform operations, wherein the operations comprise:
under control of an application object factory,
determining that an extension object factory is available;
issuing the request to the extension object factory; and
receiving the extension proxy object wrapped around the application object from the extension object factory.

### Claim 17 (depends on 13)

The system of claim 13, wherein the operations further comprise:
providing a new Integrated Extension Framework (IEF) interface to enable the application object and the extension proxy object to communicate by sending messages.

### Claim 18 (depends on 13)

The system of claim 13, wherein the extended method comprises a monitoring function implemented by a monitoring agent.
