IP Library Granted Patent US 8,578,333
Granted Patent B2
US 8,578,333 · App. 12/305,949 · Granted Nov 5, 2013

Method and system for client-side user interface enhancement to enable application integration and portalisation

Inventors: Madhav Sivadas (Singapore, SG); Shiva Kumar Madhavan (Singapore, SG); Balaraman Kunduvara (Singapore, SG)
Assignee: Exilant Pte Ltd.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,578,333
App. No.
12/305,949
Granted
Nov 5, 2013
Kind
B2
Abstract

A system for integrating and interoperating multiple heterogeneous applications, the system comprising: an Integrated Development Environment (IDE) to enable human users to define the integration and interoperation points of the multiple applications; a configuration file format based on which the IDE generates specific configuration instances; and a runtime engine that understands configuration files adhering to the file format and performs the necessary integration and interoperation actions on the various constituent applications that have been referred to in the configuration file.

Claims (84)

1. A system for integrating and interoperating existing heterogeneous applications, the system comprising:

a developer workstation running an Integrated Development Environment (IDE), the IDE being configured to allow a developer, without creating a new application, to:

select a plurality of existing heterogeneous applications comprising respective visual user interfaces;

define integration points on the visual user interfaces of the existing heterogeneous applications;

define one or more interoperation actions on the defined integration points on the visual user interfaces for a transformation of data and invoking of commands from the defined integration points on the visual user interfaces of a first application selected from the existing heterogeneous applications to the defined integration points on the visual user interfaces of a second application selected from the existing heterogeneous applications; and

generate a configuration file, the configuration file having configuration data based on the selected existing heterogeneous applications, the defined integration points, and the defined interoperation actions; and

a user workstation running a runtime engine, the runtime engine being configured to:

read the configuration data;

launch the selected existing heterogeneous applications; and

use the defined integration points and the defined interoperation actions to integrate and interoperate the selected existing heterogeneous applications without modifying source code of the selected existing heterogeneous applications.

2. The system of claim 1 , wherein the configuration data further comprises layout information of an integrated portal wherein the layout information is defined by the developer using a visual interface of the IDE.

3. The system of claim 2 wherein the runtime engine is further configured to:

assemble the integrated portal by using the configuration data to detect and intercept specific web pages as they enter a browser;

alter hypertext markup language (HTML) contents of the specific pages according to the configuration data; and

send the altered HTML to the browser for visual rendering.

4. The system of claim 2 wherein the configuration data further comprises specified transformations defined by the developer using the visual interface of the IDE to:

identify specific pages or screens of the selected existing heterogeneous applications that need to be altered;

specify the type of alterations to be made on each of the specific pages or screens;

specify drag-and-drop actions; and

specify automatic orchestration of actions between the specific pages or screens.

5. The system of claim 4 , wherein the configuration data comprises minimum information that is needed by the runtime engine to accurately perform the specified transformations and to integrate and interoperate the selected existing heterogeneous applications.

6. The system of claim 4 wherein the runtime engine is further configured to assemble the integrated portal and perform the specified transformations.

7. The system of claim 6 wherein the runtime engine is further configured to perform the specified transformations in real-time.

8. The system of claim 6 wherein the specified transformations are on Web pages and non-Web applications.

9. The system of claim 1 , wherein the user workstation further comprises a desktop agent for receiving requests from the runtime engine, the desktop agent comprising:

an administration service to manage connections to the selected existing heterogeneous applications that are connected to an integrated portal;

a launcher module to launch the selected existing heterogeneous applications when instructed by the runtime engine; and

a request broker module that communicates with the selected existing heterogeneous applications by sending messages from the runtime engine and returning responses from the selected existing heterogeneous applications to the runtime engine.

10. The system of claim 1 wherein the user workstation further comprises a desktop agent, wherein the desktop agent is configured to:

listen to requests from the runtime engine;

launch the selected existing heterogeneous applications by invoking an underlying operating system's functionality to launch applications;

connect to the selected existing heterogeneous applications using a messaging layer of the underlying operating system;

relay actions to the selected existing heterogeneous applications using the connection; and

relay responses from the selected existing heterogeneous applications back to the runtime engine.

11. The system of claim 1 wherein the runtime engine is activated via a uniform resource locator (URL).

12. The system of claim 1 wherein the developer specifies a location to store the configuration file.

13. The system of claim 12 wherein the location is on a server.

14. The system of claim 1 wherein the running runtime engine is stored in a memory allocated to Web browser.

15. The system of claim 14 , wherein the running runtime engine reads the configuration data and performs the defined interoperation actions that are specified in the configuration data.

16. The system of claim 1 wherein the developer workstation and the user workstation are the same workstation.

17. The system of claim 1 , further comprising a remote machine capable of communication with the runtime engine, the remote machine comprising a desktop agent, the desktop agent comprising:

an administration service to manage connections to the selected existing heterogeneous applications;

a launcher module to launch the selected existing heterogeneous applications when instructed by the runtime engine; and

a request broker module that communicates with the selected existing heterogeneous applications by sending messages from the runtime engine and returning responses from the selected existing heterogeneous applications to the runtime engine.

18. The system of claim 1 , further comprising a remote machine capable of communication with the runtime engine, the remote machine comprising a desktop agent, wherein the desktop agent is configured to:

listen to requests from the runtime engine;

launch the selected existing heterogeneous applications by invoking an underlying operating system's functionality to launch applications;

connect to the selected existing heterogeneous applications using a messaging layer of the underlying operating system;

relay actions to the selected existing heterogeneous applications using the connection; and

relay responses from the selected existing heterogeneous applications back to the runtime engine.

19. The system of claim 1 wherein the first application and the second application are different.

20. A method for integrating and interoperating existing heterogeneous applications, the method comprising:

providing an Integrated Development Environment (IDE) configured to allow a developer, without creating a new application, to:

select a plurality of existing heterogeneous applications comprising respective visual user interfaces;

define integration points on the visual user interfaces of the existing heterogeneous applications;

define one or more interoperation actions on the defined integration points on the visual user interfaces for a transformation of data and invoking of commands from the defined integration points on the visual user interfaces of a first application selected from the existing heterogeneous applications to the defined integration points on the visual user interfaces of a second application selected from the existing heterogeneous applications;

generate a configuration file, the configuration file having configuration data based on the selected existing heterogeneous applications, the defined integration points, and the defined interoperation actions; and

providing a runtime engine configured to read the configuration data to launch the selected existing heterogeneous applications and use the defined integration points and the defined interoperation actions to integrate and interoperate the selected existing heterogeneous applications without modifying source code of the selected existing heterogeneous applications.

21. The method of claim 20 , further comprising the step of executing the runtime engine wherein executing the runtime engine further comprises the steps of:

parsing the configuration file and loading the configuration file into a browser;

creating an integrated portal;

using the configuration data to detect and intercept specific web pages as they enter the browser;

altering hypertext markup language (HTML) contents of the specific web pages according to the configuration data; and

sending the altered HTML to the browser for visual rendering.

22. The method of claim 20 further comprising the step of executing a desktop agent wherein executing the desktop agent comprises:

listening to requests from the runtime engine;

launching the selected existing heterogeneous applications by invoking an underlying operating system's functionality to launch applications;

connecting to the selected existing heterogeneous applications using a messaging layer of the underlying operating system,

relaying actions to the selected existing heterogeneous applications; and

relaying responses from the selected existing heterogeneous applications back to the runtime engine.

23. The method of claim 22 wherein the desktop agent resides on a remote machine, accessible via a network; and application level protocols.

24. The method of claim 20 further comprising the steps of displaying the visual user interfaces on a workstation having a display device that is being operated by a user.

25. The method of claim 20 , further comprising the step of displaying the visual user interfaces on a workstation having a display device.

26. The method of claim 20 wherein the first application and the second application are different.

27. A computer program product installed on a developer workstation, the computer program product for integrating and interoperating existing heterogeneous applications,

the computer program product, when executed, provides an Integrated Development Environment (IDE) being configured to allow a developer, without creating a new application, to:

select a plurality of existing heterogeneous applications comprising respective visual user interfaces;

define integration points on the visual user interfaces of the existing heterogeneous applications;

define one or more interoperation actions on the defined integration points on the visual user interfaces for a transformation of data and invoking of commands from the defined integration points on the visual user interfaces of a first application selected from the existing heterogeneous applications to the defined integration points on the visual user interfaces of a second application selected from the existing heterogeneous applications;

generate a configuration file, the configuration file having configuration data based on the selected existing heterogeneous applications, the defined integration points, and the defined interoperation actions;

provide a runtime engine configured to:

read the configuration data to launch the selected existing heterogeneous applications; and

use the defined integration points and the defined interoperation actions to integrate and interoperate the selected existing heterogeneous applications without modifying source code of the selected existing heterogeneous applications.

28. The computer program product of claim 27 wherein the first application and the second application are different.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS PREVIOUSLY RECORDED AT REEL: 51310 FRAME: 937. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded May 20, 2025
From: INVENTYS TECHNOLOGIES PTE. LTD.
To: INVENTYS TECHNOLOGIES PRIVATE LIMITED
Reel/Frame 071163/0854 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2019
From: INVENTYS TECHNOLOGIES PTE. LTD.
To: INVENTYS TECHNOLOGIES PRIVATE LIMITED
Reel/Frame 051310/0937 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED ON REEL 037152 FRAME 0748. ASSIGNOR(S) HEREBY CONFIRMS THE THE COMPANY'S CURRENT ADDRESS IS 3 TEMASEK AVENUE, #34-08 CENTENNIAL TOWER, SINGAPORE 039190. Recorded Mar 15, 2016
From: EXILANT PTE LTD
To: INVENTYS TECHNOLOGIES PTE. LTD.
Reel/Frame 038103/0249 →
CHANGE OF NAME Recorded Nov 23, 2015
From: EXILANT PTE LTD.
To: INVENTYS TECHNOLOGIES PTE. LTD.
Reel/Frame 037152/0748 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2013
From: SIVADAS, MADHAV; MADHAVAN, SHIVA KUMAR; KUNDUVARA, BALARAMAN
To: INVENTYS PTE LTD.
Reel/Frame 031135/0879 →
MERGER Recorded Sep 4, 2013
From: INVENTYS PTE LTD.
To: EXILANT PTE LTD
Reel/Frame 031156/0886 →
Continuity (2)
Provisional Application 60817008 · Jun 27, 2006
Related Publication 20100218084A1 · Aug 26, 2010