Shared service funtionality invocation
First Claim
1. A method in a computer system for executing applications to request services from remote shared service providers each able to provide services to multiple executing applications, each remote shared service provider having an associated distinct proxy component for communicating with the remote shared service provider, comprising:
- under control of a first of the executing applications, instantiating a local messaging component within the first application, the local messaging component able to communicate with each of the associated proxies;
notifying the local messaging component to request a specified service from a remote shared service provider identified with a unique name; and
under control of the local messaging component, requesting the specified service by, determining based on the unique name identified in the notification to request the specified service from a first of the remote shared service providers;
retrieving configuration information for the first remote shared service provider that identifies a first proxy component associated with the first remote shared service provider;
when the first proxy component is not already instantiated within the first application, instantiating the first proxy component within the first application;
sending a message to the first proxy component requesting that the first remote shared service provider provide the specified service; 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 via a local messaging component that interacts with a proxy component associated with the remote shared service provider.
1 Assignment
0 Petitions
Accused Products
Abstract
An application architecture allowing applications to inter-communicate is provided. The application framework receives requests for services from clients, identifies application action handler components that can service the requests and application view handler components that can format the responses, invokes the identified action handlers to service the requests, and invokes identified view handlers to format and send the responses to the clients. When an application component needs to access functionality provided by remote shared services, the component uses a local messaging service to communicate with the remote service. In particular, the local messaging service retrieves configuration information for a proxy of the shared service that is stored in a globally accessible location, instantiates a copy of the proxy, and sends a message to the proxy to be forwarded to the shared service. Responses from the shared service are returned to the application component via the local messaging service.
-
Citations
43 Claims
-
1. A method in a computer system for executing applications to request services from remote shared service providers each able to provide services to multiple executing applications, each remote shared service provider having an associated distinct proxy component for communicating with the remote shared service provider, comprising:
under control of a first of the executing applications, instantiating a local messaging component within the first application, the local messaging component able to communicate with each of the associated proxies;
notifying the local messaging component to request a specified service from a remote shared service provider identified with a unique name; and
under control of the local messaging component, requesting the specified service by, determining based on the unique name identified in the notification to request the specified service from a first of the remote shared service providers;
retrieving configuration information for the first remote shared service provider that identifies a first proxy component associated with the first remote shared service provider;
when the first proxy component is not already instantiated within the first application, instantiating the first proxy component within the first application;
sending a message to the first proxy component requesting that the first remote shared service provider provide the specified service; 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 via a local messaging component that interacts with a proxy component associated with the remote shared service provider. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
18. A computer-readable medium whose contents cause a computing device to execute applications able to request services from remote shared service providers each able to provide services to multiple executing applications, each remote shared service provider having an associated proxy component for communicating with the remote shared service provider, by:
under control of a first of the executing applications, instantiating a local messaging component, the local messaging component able to communicate with each of the associated proxies;
notifying the local messaging component to request a specified service from a remote shared service provider; and
under control of the local messaging component, requesting the specified service by, determining based on the notifing to request the specified service from a first of the remote shared service providers;
retrieving configuration information for the first remote shared service provider that identifies a first proxy component associated with the first remote shared service provider;
when the first proxy component is not already instantiated, instantiating the first proxy component;
sending a message to the first proxy component requesting that the first remote shared service provider provide the specified service; and
receiving a response from the first remote shared service provider via the first proxy component.
-
19. A computing device for executing applications to request services from remote shared service providers each able to provide services to multiple executing applications, each remote shared service provider having an associated proxy component for communicating with the remote shared service provider, comprising:
-
a first application capable of, during execution, instantiating a local messaging component able to communicate with each of the associated proxies and of notifying the local messaging component to request a specified service from a remote shared service provider; and
the local messaging component capable of, during execution, determining based on the notification to request the specified service from a first of the remote shared service providers, of retrieving configuration infornation for the first remote shared service provider that identifies a first proxy component associated with the first remote shared service provider, of instantiating the first proxy component, of sending a message to the first proxy component requesting that the first remote shared service provider provide the specified service, and of receiving a response from the first remote shared service provider via the first proxy component.
-
-
20. A method in a computer system for an executing application to communicate with remote services via a local messaging service, each of the remote services having an associated proxy for communicating with the remote service, the method comprising:
for each of multiple of the remote services, notifying the local messaging service to send a message to the remote service;
under control of the local messaging service, identifying the proxy associated with the remote service by retrieving information associated with the remote service; and
sending the message to the identified proxy for communication to the remote service; and
receiving a response to the sent message from the remote service via the identified proxy. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 30, 31)
-
29. A computer-readable medium whose contents cause a computing device to execute an application able to communicate with remote services via a local messaging service, each of the remote services having an associated proxy for communicating with the remote service, by:
for each of multiple of the remote services, notifying the local messaging service to send a message to the remote service;
under control of the local messaging service, identifying the proxy associated with the remote service by retrieving information associated with the remote service; and
sending the message to the identified proxy for communication to the remote service; and
receiving a response to the sent message from the remote service via the identified proxy.
-
32. A computing device for executing an application to communicate with remote services via a local messaging service, each of the remote services having an associated proxy for communicating with the remote service, comprising:
-
an application capable of, for each of multiple of the remote services, notifying the local messaging service to send a message to the remote service and receiving a response to the sent message from the remote service via a proxy associated with the remote service; and
the local messaging service capable of identifying the proxy associated with the remote service by retrieving information associated with the remote service and of sending the message to the identified proxy for communication to the remote service.
-
-
33. A computer system for executing an application to communicate with remote services via a local messaging service, each of the remote services having an associated proxy for communicating with the remote service, comprising:
-
means for, for each of multiple of the remote services, notifying the local messaging service to send a message to the remote service and receiving a response to the sent message from the remote service via a proxy associated with the remote service; and
means for identifying the proxy associated with the remote service by retrieving information associated with the remote service and sending the message to the identified proxy for communication to the remote service. - View Dependent Claims (35, 36, 37, 38, 39, 40)
-
-
34. A method in a computer system for invoking functions of remote applications, each of the remote applications having an associated proxy for communicating with the remote application, the method comprising:
for each of multiple of the remote applications, receiving a request to invoke a specified function of the remote application using at least one specified parameter value;
retrieving information associated with the remote application that identifies the proxy associated with the remote application;
when a copy of the identified proxy has not already been instantiated, instantiating a copy of the identified proxy;
notifying the identified proxy copy of the specified function and the specified parameter values;
under control of the identified proxy copy, invoking the specified function of the remote application using the specified parameter values; and
receiving a response from the invoking of the specified function.
-
41. A computer-readable medium whose contents cause a computing device to invoke functions of remote applications each having an associated proxy for communicating with the remote application, by:
for each of multiple of the remote applications, receiving a request to invoke a specified function of the remote application using at least one specified parameter value;
retrieving information associated with the remote application that identifies the proxy associated with the remote application;
when a copy of the identified proxy has not already been instantiated, instantiating a copy of the identified proxy, notifying the identified proxy copy of the specified function and the specified parameter values;
under control of the identified proxy copy, invoking the specified function of the remote application using the specified parameter values; and
receiving a response from the invoking of the specified function.
-
42. A computing device for invoking functions of remote applications each having an associated proxy for communicating with the remote application, comprising:
-
a first component capable of, for each of multiple of the remote applications, receiving a request to invoke a specified function of the remote application using at least one specified parameter value, retrieving information associated with the remote application that identifies the proxy associated with the remote application, instantiating a copy of the identified proxy, notifying the identified proxy copy of the specified function and the specified parameter values, and receiving a response from the invoking of the specified function; and
multiple proxy copies each capable of receiving a notification of a specified function and specified parameter values for one of the remote applications and of invoking the specified function of the remote application using the specified parameter values.
-
-
43. A method in a computer system for components of an executing application to communicate with remote services, each of the remote services having an associated proxy for communicating with the remote service, 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;
receiving a response from the one remote service via the local messing component;
generating a response 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 flmctionality from a remote service; and
for each received notification, identifying the proxy associated with the remote service; and
sending a request for the functionality to the identified proxy 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.
-
Specification