Shared service messaging models
First Claim
1. A method in a computer system for executing applications to communicate with remote shared service providers using multiple messaging models, each remote shared service provider having for each of the multiple messaging models a distinct associated proxy component able to communicate with that remote shared service provider using that messaging model, the method comprising:
- under control of a first of the executing applications having a local messaging component able to communicate with each of the associated proxy components, notifying the local messaging component to send a specified first message to a specified first remote shared service provider using a specified first messaging model; and
under control of the local messaging component, sending the first message to the first remote shared service provider using the first messaging model by, retrieving configuration information for the first remote shared service provider that identifies a first proxy component that is associated with the first remote shared service provider and is able to communicate with the first remote shared service provider using the first messaging model;
when the first proxy component is not already instantiated within the first application, instantiating the first proxy component;
sending a message to the first proxy component requesting that the first proxy component send the first message to the first remote shared service provider using the first messaging model; and
receiving a response from the first remote shared service provider via the first proxy component, and notifying the first application of the received response, so that an application can communicate with any of the remote shared service providers using any of the multiple messaging models via a local messaging component that identifies and uses a proxy component able to communicate with a specified remote shared service provider using a specified messaging model.
1 Assignment
0 Petitions
Accused Products
Abstract
An application architecture is provided in which applications have action handler components to service requests from clients and view handler components to format responses to the clients. Application component can access functionality provided by remote shared services via a local messaging service of the application. To communicate with a shared service, the local messaging service identifies a proxy of the shared service and sends a message to the proxy for forwarding to the shared service. The local messaging service can receive requests to communicate using different messaging models. At least some of the remote services support multiple messaging models, some by having distinct proxies for each of the supported messaging models. The local messaging service will communicate with an appropriate proxy to communicate using a specified messaging models, and may simulate use of the messaging model if a proxy supporting the messaging model is not available.
-
Citations
69 Claims
-
1. A method in a computer system for executing applications to communicate with remote shared service providers using multiple messaging models, each remote shared service provider having for each of the multiple messaging models a distinct associated proxy component able to communicate with that remote shared service provider using that messaging model, the method comprising:
-
under control of a first of the executing applications having a local messaging component able to communicate with each of the associated proxy components, notifying the local messaging component to send a specified first message to a specified first remote shared service provider using a specified first messaging model; and
under control of the local messaging component, sending the first message to the first remote shared service provider using the first messaging model by, retrieving configuration information for the first remote shared service provider that identifies a first proxy component that is associated with the first remote shared service provider and is able to communicate with the first remote shared service provider using the first messaging model;
when the first proxy component is not already instantiated within the first application, instantiating the first proxy component;
sending a message to the first proxy component requesting that the first proxy component send the first message to the first remote shared service provider using the first messaging model; and
receiving a response from the first remote shared service provider via the first proxy component, and notifying the first application of the received response, so that an application can communicate with any of the remote shared service providers using any of the multiple messaging models via a local messaging component that identifies and uses a proxy component able to communicate with a specified remote shared service provider using a specified messaging model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A computer-readable medium whose contents cause a computing device to execute applications able to communicate with remote shared service providers using multiple messaging models, each remote shared service provider having for each of the multiple messaging models a distinct associated proxy component able to communicate using that messaging model, by:
-
under control of a first of the executing applications having a local messaging component able to communicate with each of the associated proxy components, notifying the local messaging component to send a specified first message to a specified first remote shared service provider using a specified first messaging model; and
under control of the local messaging component, sending the first message to the first remote shared service provider using the first messaging model by, retrieving configuration information for the first remote shared service provider that identifies a first proxy component that is associated with the first remote shared service provider and is able to communicate using the first messaging model;
when the first proxy component is not already instantiated, instantiating the first proxy component; and
sending a message to the first proxy component requesting that the first messaging model be used by the first proxy component in sending the first message to the first remote shared service provider.
-
-
36. A computing device for executing applications to communicate with remote shared service providers using multiple messaging models, each remote shared service provider having for each of the multiple messaging models a distinct associated proxy component able to communicate with that remote shared service provider using that messaging model, comprising:
-
a first application capable of, during execution, notifying a local messaging component able to communicate with each of the associated proxies to send a specified first message to a specified first remote shared service provider using a specified first messaging model; and
the local messaging component capable of, during execution, retrieving configuration information for the first remote shared service provider that identifies a first proxy component that is associated with the first remote shared service provider and is able to communicate with the first remote shared service provider using the first messaging model, instantiating the first proxy component, and sending a message to the first proxy component requesting that the first proxy component send the first message to the first remote shared service provider using the first messaging model.
-
-
37. A method in a computer system for an executing application to communicate with remote services using multiple messaging models, each remote service having for each of the multiple messaging models an associated proxy able to communicate using that messaging model, the method comprising:
for each of multiple of the remote services, notifying a local messaging service to send a message to the remote service using a specified messaging model;
under control of the local messaging service, identifying the associated proxy for the remote service that is able to communicate with the remote service using the specified messaging model; and
sending the message to the identified proxy for communication to the remote service using the specified messaging model; and
receiving a response to the sent message from the local messaging service in accordance with the specified messaging model. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
53. A computer-readable medium whose contents cause a computing device to execute an application able to communicate with remote services using multiple messaging models, each remote service having for each of the multiple messaging models an associated proxy able to communicate using that messaging model, by:
for each of multiple of the remote services, notifying a local messaging service to send a message to the remote service using a specified messaging model;
under control of the local messaging service, identifying the associated proxy for the remote service that is able to communicate with the remote service using the specified messaging model; and
sending the message to the identified proxy for communication to the remote service using the specified messaging model; and
receiving a response to the sent message from the local messaging service in accordance with the specified messaging model. - View Dependent Claims (54, 55)
-
56. A computing device for executing an application to communicate with remote services using multiple messaging models, each remote service having for each of the multiple messaging models an associated proxy able to communicate using that messaging model, comprising:
-
an application capable of, for each of multiple of the remote services, notifying a local messaging service to send a message to the remote service using a specified messaging model; and
the local messaging service capable of identifying the associated proxy for the remote service that is able to communicate with the remote service using the specified messaging model, and of sending the message to the identified proxy for communication to the remote service using the specified messaging model.
-
-
57. A computing device for executing an application to communicate with remote services using multiple messaging models, each remote service having for each of the multiple messaging models an associated proxy able to communicate using that messaging model, comprising:
-
means for, for each of multiple of the remote services, notifying a local messaging service to send a message to the remote service using a specified messaging model and receiving a response to the sent message from the local messaging service in accordance with the specified messaging model; and
means for identifying the associated proxy for the remote service that is able to communicate with the remote service using the specified messaging model, and for sending the message to the identified proxy for communication to the remote service using the specified messaging model.
-
-
58. A method in a computer system for sending messages to remote applications using multiple messaging models, each remote application having at least one associated proxy able to communicate using at least one of the messaging models, the method comprising:
for each of multiple of the remote applications, receiving a request from a client to send a message to the remote application using a specified messaging model;
retrieving information associated with the remote application that identifies at least one proxy associated with the remote application;
when one of the identified proxies is able to communicate using the specified messaging model, sending the message to that one proxy for communication to the remote application using the specified messaging model; and
providing a response to the client in accordance with the sending of the message using the specified messaging model; and
when none of the identified proxies are able to communicate using the specified messaging model, selecting one of the identified proxies that is able to communicate using a messaging model distinct from the specified messaging model;
sending the message to the selected proxy for communication to the remote application using the distinct messaging model; and
providing a response to the client in such a manner as to simulate using the specified messaging model for the sending of the message. - View Dependent Claims (59, 60, 61, 62, 63, 64, 65)
-
66. A computer-readable medium whose contents cause a computing device to send messages to remote applications using multiple messaging models, each remote application having at least one associated proxy able to communicate using at least one of the messaging models, by:
for each of multiple of the remote applications, receiving a request from a client to send a message to the remote application using a specified messaging model;
retrieving information associated with the remote application that identifies at least one proxy associated with the remote application;
when one of the identified proxies is able to communicate using the specified messaging model, sending the message to that one proxy for communication to the remote application using the specified messaging model; and
providing a response to the client in accordance with the sending of the message using the specified messaging model; and
when none of the identified proxies are able to communicate using the specified messaging model, selecting one of the identified proxies that is able to communicate using a messaging model distinct from the specified messaging model;
sending the message to the selected proxy for communication to the remote application using the distinct messaging model; and
providing a response to the client in such a manner as to simulate using the specified messaging model for the sending of the message.
-
67. A computing device for sending messages to remote applications using multiple messaging models, each remote application having at least one associated proxy able to communicate using at least one of the messaging models, comprising:
-
an first component capable of, for each of multiple of the remote applications, receiving a request from a client to send a message to the remote application using a specified messaging model, of retrieving information associated with the remote application that identifies at least one proxy associated with the remote application, of, when one of the identified proxies is able to communicate using the specified messaging model, sending the message to that one proxy for communication to the remote application using the specified messaging model and providing a response to the client in accordance with the sending of the message using the specified messaging model, and of, when none of the identified proxies are able to communicate using the specified messaging model, selecting one of the identified proxies that is able to communicate using a messaging model distinct from the specified messaging model and sending the message to the selected proxy for communication to the remote application using the distinct messaging model; and
multiple proxy copies each capable of receiving a sent message for communication to one of the remote applications and communicating the received message to the one remote application.
-
-
68. A method in a computer system for components of an executing application to communicate with remote services using multiple messaging models, each remote service having at least one associated proxy able to communicate using at least one of the messaging models, the executing application having a messaging service component for communicating with the associated proxies, having multiple action handler components each for responding to requests with responses generated in a format used by the action handler component, and having multiple view handler components each for transforming generated responses in formats used by action handler components into formats compatible with external clients, the method comprising:
-
under control of each of multiple of the action handler components, receiving a request from a remote client to provide a service; and
providing the requested service by, determining a need for functionality available from one of the remote services;
notifying the local messaging component to request the needed functionality from the one remote service using a specified messaging model;
receiving a response from the one remote service via the local messing component;
generating a response to the remote client in a format used by the action handler component;
determining a view handler component able to transform the generated response from the format used by the action handler component to a format compatible with the remote client; and
providing the generated response to the determined view handler component for the transforming;
under control of the local messaging component, receiving notifications from multiple action handler components each to request functionality from a remote service using a specified messaging model; and
for each received notification, identifying a proxy associated with the remote service such that the identified proxy is able to communicate using a messaging model that is compatible with the specified messaging model; and
sending a request for the functionality to the identified proxy using the compatible messaging model for communication to the remote service;
receiving a response to the sent request from the remote service via the identified proxy; and
notifying the action handler component of the received response; and
under control of each of multiple of the view handler components, receiving responses generated by at least one action handler component in a format used by the action handler component; and
for each received response, transforming the received response into a format that is compatible with the remote client for whom the received response was generated.
-
-
69. A method in a computer system for an executing application to communicate with remote services using multiple messaging models, the executing application having a local messaging service able to communicate with each of the remote services using at least one of the multiple messaging models, the method comprising:
for each of multiple of the remote services, receiving an indication to send a specified message to the remote service using a specified messaging model;
notifying the local messaging service to send the message to the remote service using the specified messaging model;
under control of the local messaging service, determining whether the remote service supports communication using a messaging model that is compatible with the specified messaging model;
when the remote service does support the compatible messaging model communication, sending the message to the remote service using the compatible messaging model; and
receiving a response from the remote service in accordance with the compatible messaging model; and
when the remote service does not support the compatible messaging model communication, sending the message to the remote service using a messaging model that is incompatible with the specified messaging model; and
simulating a response to the sent message in accordance with the specified messaging model; and
receiving a response to the sent message from the local messaging service in accordance with the specified messaging model.
Specification