IP Library Granted Patent US 9,367,595
Granted Patent B1
US 9,367,595 · App. 13/152,388 · Granted Jun 14, 2016

Method and system for visual wiring tool to interconnect apps

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 9,367,595
App. No.
13/152,388
Granted
Jun 14, 2016
Kind
B1
Abstract

A computer system includes a display interface; a user input device interface; and a processor cooperatively operable with the display and user input device interfaces. The processor provides a browser user interface that interacts with a user to selectively indicate (i) content fields displayed in the source user interface from which information is to be sent and (ii) content fields displayed in the destination user interface which are to receive the information from the source content fields. The computer system stores an indication of the destination app registered for the topic together with an indication of the selected destination content fields which are to receive the information from the selected content fields of the source app. The source app and destination app do not publish/subscribe to each other. An intermediary brokers messages from the source app, maps the data, and sends on to the destination app.

Claims (79)

1. An intermediary computer system, comprising:

a container storage; and

an intermediary processor cooperatively operable with the container storage, and configured to:

provide, in the container storage, a plurality of registrations, each registration includes:

(i) an indication of a topic among a plurality of topics,

(ii) an indication of a source app, among a plurality of source apps, that publishes, directly to subscribers, information, displayed on a source user interface of the source app, regarding the topic,

(iii) an indication of a destination app registered at the intermediary processor for the topic to receive the information regarding the topic from the intermediary processor, and

(iv) a property mapping indication of how fields in the information published by the source app map to fields in destination information displayed at a destination user interface of the destination app, wherein different registrations in the container storage for a same topic-source app combination support different property mappings for different destination apps;

subscribe, by the intermediary processor, to the topic published by the source app;

receive, in response to the subscription, at the intermediary processor, a published message from the source app, the published message including the information sent from the source app and not property-mapped according to the property mapping in the container storage; and

responsive to receipt of the published message from the source app:

determine, at the intermediary processor, registrations in the container storage which indicate that there is a registered destination app which is registered for the topic in the published message from the source app, and then

for each registration which indicates that there is a registered destination app registered for the topic in the published message from the source app,

property-map the fields in the source information in the published message to the fields in the registered destination app according to the property mapping stored with the topic and the registered destination app in said registration in the container storage, to generate destination information, when it is determined that the registered destination app is registered for the topic in the published message, and then

send, from the intermediary processor, to the registered destination app which is determined to be registered for the topic, the generated destination information which has been property-mapped according to the property mapping in said registration in the container storage, when it is determined that the registered destination app is registered for the topic in the published message, so that publication caused by a change to the information at the source app triggers, via the intermediary processor, a reaction in the destination user interface displaying the information at the destination app, wherein the generated destination information is property-mapped differently for the registered destination app in at least one of the registrations that has the same topic-source app combination, wherein the intermediary processor is configured to facilitate mapping, at the intermediary processor, the information in the published message received from the source app according to the property mapping in the container storage and sending to the destination app a destination message with the information which has been property-mapped as destination information, and

wherein the mapping includes omitting a portion of the information, recasting at least a portion of the information to a different data-type, extraction of at least a portion of the information, performing a calculation on the information, performing a string manipulation on the information, augmenting the information, so as to conform information that is not compatible as-is from the source app to the content fields displayed at the destination user interface which are to receive the information.

2. The intermediary computer system of claim 1 , wherein receipt of the message at the intermediary processor and publication of the message from the intermediary processor is performed in accordance with OpenAjax Hub standards.

3. A visual wiring system comprising the intermediary computer system of claim 1 acting as a server, and a client computer system that is running the registered destination app as a client and further that is cooperatively connected to and in communication with the server, the intermediary processor being configured to coordinate receipt by the client of messages from the source app having information for the topic listing the registered destination app stored on the container storage.

4. A computer-implemented method, implemented on a computer system, for visual wiring of apps, comprising:

providing, in a container storage, a plurality of registrations, each registration includes:

(i) an indication of a topic among a plurality of topics,

(ii) an indication of a source app, among a plurality of topics, that publishes, directly to subscribers, information, displayed on a source user interface of the source app, regarding the topic,

(iii) an indication of a destination app registered at an intermediary processor for the topic to receive the information regarding the topic from the intermediary processor, and

(iv) a property mapping indication of how fields in the information published by the source app map to fields in destination information displayed at a destination user interface of the destination app, wherein different registrations in the container storage for a same topic-source app combination support different property mappings for different destination apps;

subscribing, by the intermediary processor, to the topic published by the source app;

receiving, at the intermediary processor, a published message from the source app, the published message including the information sent from the source app and not property-mapped according to the property mapping in the container storage; and

responsive to receipt of the published message from the source app:

determining, at the intermediary processor, registrations in the container storage which indicate that there is a registered destination app which is registered for the topic in the published message from the source app, and then

for each registration which indicates that there is a registered destination app registered for the topic in the published message for the source app,

property-mapping the fields in the source information in the published message to the fields in the registered destination app according to the property mapping stored with the topic and the registered destination app in said registration in the container storage, to generate destination information, when it is determined that the registered destination app is registered for the topic in the published message, and then

sending, from the intermediary processor, to the registered destination app which is determined to be registered for the topic, the generated destination information which has been property-mapped according to the property mapping in said registration in the container storage, when it is determined that the registered destination app is registered for the topic in the published message, so that publication caused by a change to the information at the source app triggers, via the intermediary processor, a reaction in the destination user interface displaying the information at the destination app, wherein the generated destination information is property-mapped differently for the registered destination app in at least one of the registrations that has the same topic-source app combination,

the intermediary processor

mapping the information in the published message received from the source app according to the property mapping in the container storage and sending to the destination app a destination message with the information which has been property-mapped as destination information,

wherein the mapping includes omitting a portion of the information, recasting at least a portion of the information to a different data-type, extraction of at least a portion of the information, performing a calculation on the information, performing a string manipulation on the information, augmenting the information, so as to conform information that is not compatible as-is from the source app to the content fields displayed at the destination user interface which are to receive the information.

5. The method of claim 4 , further comprising

providing a source-destination-browser user interface that

simultaneously displays on a single page at a client computer, the destination user interface of the destination app, the source user interface of the source app, and the topic published by the source app;

interacts with a user, via a user input device interface, to selectively indicate on the source-destination-browser user interface (i) content fields displayed in the source user interface from which the information is to be sent and (ii) content fields displayed in the destination user interface which are to receive the information from the content fields in the source user interface; and

storing, in the registration in the container storage, an indication of the destination app as being registered for the topic together with an indication of the selected content fields of the destination app which are to receive the information from the selected content fields of the source app, whereby the source app and the destination app do not need to be known to each other and are wired together at the registration in the container storage.

6. The method of claim 4 , wherein receipt of the message at the intermediary processor and publication of the message from the intermediary processor is performed in accordance with OpenAjax Hub standards.

7. The method of claim 4 , further comprising

providing a source-destination-browser user interface that

simultaneously displays on a single page a plurality of topics published by the source app, each of the topics are published, each of the topics a source app, and

interacts with a user to select at least one destination app to register for at least one of the plurality of topics.

8. The method of claim 4 , further comprising

providing a source-destination-browser user interface that simultaneously displays on a single page a plurality of topics which are published each having a source app and at least one registered destination app, and interacts with a user to select one or more of the topics to be disabled from publishing.

9. A non-transitory computer-readable medium storing instructions for executing the method of claim 4 .

10. A non-transitory computer-readable medium comprising instructions for execution by a computer, the instructions including a computer-implemented method for visual wiring of apps, the instructions for implementing:

providing, in a container storage, a plurality of registrations, each registration includes:

(i) an indication of a topic among a plurality of topics,

(ii) an indication of a source app, among a plurality of source apps, that publishes, directly to subscribers, information, displayed on a source user interface of the source app, regarding the topic,

(iii) an indication of a destination app registered at an intermediary processor for the topic to receive the information regarding the topic from the intermediary processor, and

(iv) a property mapping indication of how fields in the information published by the source app map to fields in destination information displayed at a destination user interface of the destination app,

wherein different registrations in the container storage for a same topic-source app combination support different property mappings for different destination apps;

subscribing, by the intermediary processor, to the topic published by the source app;

receiving, in response to the subscription, at the intermediary processor, a published message from the source app, the published message including the information sent from the source app and not property-mapped according to the property mapping in the container storage; and

responsive to receipt of the published message from the source app:

determining, at the intermediary processor, registrations in the container storage which indicate that there is a registered destination app which is registered for the topic in the published message from the source app, and then

for each registration which indicates that there is a registered destination app registered for the topic in the published message from the source app,

property-mapping the fields in the source information in the published message to the fields in the registered destination app according to the property mapping stored with the topic and the registered destination app in said registration in the container storage, to generate destination information, when it is determined that the registered destination app is registered for the topic in the published message, and then

sending, from the intermediary processor, to the registered destination app which is determined to be registered for the topic, the generated destination information which has been property-mapped according to the property mapping in said registration in the container storage, when it is determined that the registered destination app is registered for the topic in the published message, so that publication caused by a change to the information at the source app triggers, via the intermediary processor, a reaction in the destination user interface displaying the information at the destination app, wherein the generated destination information is property-mapped differently for the registered destination app in at least one of the registrations that has the same topic-source app combination, and

the intermediary processor

mapping the information in the published message received from the source app according to the property mapping in the container storage and

sending to the destination app a destination message with the information which has been property-mapped as destination information,

wherein the mapping includes omitting a portion of the information, recasting at least a portion of the information to a different data-type, extraction of at least a portion of the information, performing a calculation on the information, performing a string manipulation on the information, augmenting the information, so as to conform information that is not compatible as-is from the source app to the content fields displayed at the destination user interface which are to receive the information.

11. The computer-readable medium of claim 10 , further comprising instructions for:

providing a source-destination-browser user interface that

simultaneously displays on a single page at a client computer, the destination user interface of the destination app, the source user interface of the source app, and the topic published by the source app;

interacts with a user, via a user input device interface, to selectively indicate on the source-destination-browser user interface (i) content fields displayed in the source user interface from which the information is to be sent and (ii) content fields displayed in the destination user interface which are to receive the information from the content fields in the source user interface; and

storing, in the registration in the container storage, an indication of the destination app as being registered for the topic together with an indication of the selected content fields of the destination app which are to receive the information from the selected content fields of the source app, whereby the source app and the destination app do not need to be known to each other and are wired together at the registration in the container storage.

12. The computer-readable medium of claim 11 , wherein receipt of the message at the intermediary processor and publication of the message from the intermediary processor is performed in accordance with OpenAjax Hub standards.

13. The computer-readable medium of claim 11 , further comprising instructions for:

providing the source-destination-browser user interface that

simultaneously displays on a single page a plurality of topics published by the source app, each of the topics are published, each of the topics having a source app, and

interacts with a user to select at least one destination app to register for at least one of the plurality of topics.

14. The computer-readable medium of claim 11 , further comprising instructions for

providing the source-destination-browser user interface that

simultaneously displays on a single page a plurality of topics published by the source app, each of the topics are published, each of the topics having a source app and at least one registered destination app, and

interacts with a user to select one or more of the topics to be disabled from publishing.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2024
From: SOFTWARE AG, LLC
To: ARIS USA, INC.
Reel/Frame 069603/0614 →
ENTITY CONVERSION Recorded Dec 16, 2024
From: SOFTWARE AG, INC.
To: SAG 1, LLC
Reel/Frame 069712/0001 →
CHANGE OF NAME Recorded Nov 29, 2024
From: SOFTWARE AG, INC.
To: SAG 1, LLC
Reel/Frame 069712/0881 →
CHANGE OF NAME Recorded Sep 13, 2024
From: SAG 1, LLC
To: SOFTWARE AG, LLC
Reel/Frame 069021/0280 →
MERGER Recorded Sep 13, 2024
From: SOFTWARE AG USA, INC.
To: SOFTWARE AG, INC.
Reel/Frame 068586/0775 →
MERGER Recorded Jun 22, 2015
From: JACKBE LLC
To: SOFTWARE AG USA INC.
Reel/Frame 035996/0786 →
CHANGE OF NAME Recorded Jun 5, 2015
From: JACKBE CORPORATION
To: JACKBE LLC
Reel/Frame 035841/0540 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2011
From: MALKS, DANIEL; THOPE, KARTHIC
To: JACKBE CORPORATION
Reel/Frame 026384/0493 →