Declarative service domain federation
First Claim
1. A method, in a distributed service-oriented data processing system, for declarative service domain federation, the method comprising:
- receiving, in a planning engine executing on a processor of a federation server within the distributed service-oriented data processing system, a federation intent declaration comprising a federation rule, a quality-of-service policy, and a service group definition, wherein the federation intent declaration is specified using a federation console, wherein the federation rule specifies a verb, a subject, an object, and an adverb, wherein the verb specifies an action, wherein the subject specifies a set of services, wherein the object specifies a set of service domains, and wherein the adverb specifies how the declarative service domain federation is to be carried out, and wherein the quality-of-service policy describes quality-of-services capabilities by specifying service performance measurements collected by a runtime service monitoring engine and populated in a service registry of at least one service domain, wherein the quality-of-service policy describes quality-of-service requirements that specify a set of service level assurance or optimization objectives, and wherein the quality-of-service policy is stored in a Web services performance language that is compatible with an existing Web services policy framework;
automatically identifying, by the planning engine, the set of services based on the service group definition, wherein the service group definition specifies a service group by at least one of explicit enumeration, a query against a set of service properties, or a union or intersection of a plurality of other service groups;
automatically generating, by the planning engine, a service visibility configuration and one or more service proxies based on the federation rule and the quality-of-service policy, wherein the visibility configuration enables service consumers to interact with service providers residing in different service domains and wherein the one or more service proxies enable a service consumer in a first service domain within a plurality of service domains to access a service in a second service domain within the plurality of service domains;
automatically deploying, by the planning engine, the visibility configuration to the plurality of service domains comprising the identified set of services by generating entries in the service registries of the plurality of service domains, wherein identifying the set of services comprises querying the service registries of the plurality of service domains based on the service group definition;
automatically deploying, by the planning engine, the one or more service proxies to execute within connectivity middleware executing on at least one processor of the plurality of service domains within the distributed service-oriented data processing system;
collecting, by the runtime service monitoring engine, performance metrics of the identified set of services; and
dynamically adjusting the one or more service proxies to maintain the quality-of-service requirements specified in the quality-of-service policy based on the collected performance metrics.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism for declarative service domain federation uses a declarative approach to both the visibility aspect and the management aspect of service domain federation. Instead of manually exporting services, that is, selecting individual services from source domains to be visible in the target domain, using the present system, a federation architect uses a federation console to specify federation intent. The federation intent may include federation rule, query-based service group, and quality-of-service (QoS) policy. Based on the declared federation intent, a planning engine resolves the individual services based on the group query, generates the service visibility configuration, and creates the necessary service proxies and/or mediation objects to satisfy the goal. At runtime, a service monitor collects the performance metrics of federated services and dynamically adjusts the mediation/proxy configurations to maintain the QoS objectives specified by the federation architect.
28 Citations
8 Claims
-
1. A method, in a distributed service-oriented data processing system, for declarative service domain federation, the method comprising:
-
receiving, in a planning engine executing on a processor of a federation server within the distributed service-oriented data processing system, a federation intent declaration comprising a federation rule, a quality-of-service policy, and a service group definition, wherein the federation intent declaration is specified using a federation console, wherein the federation rule specifies a verb, a subject, an object, and an adverb, wherein the verb specifies an action, wherein the subject specifies a set of services, wherein the object specifies a set of service domains, and wherein the adverb specifies how the declarative service domain federation is to be carried out, and wherein the quality-of-service policy describes quality-of-services capabilities by specifying service performance measurements collected by a runtime service monitoring engine and populated in a service registry of at least one service domain, wherein the quality-of-service policy describes quality-of-service requirements that specify a set of service level assurance or optimization objectives, and wherein the quality-of-service policy is stored in a Web services performance language that is compatible with an existing Web services policy framework; automatically identifying, by the planning engine, the set of services based on the service group definition, wherein the service group definition specifies a service group by at least one of explicit enumeration, a query against a set of service properties, or a union or intersection of a plurality of other service groups; automatically generating, by the planning engine, a service visibility configuration and one or more service proxies based on the federation rule and the quality-of-service policy, wherein the visibility configuration enables service consumers to interact with service providers residing in different service domains and wherein the one or more service proxies enable a service consumer in a first service domain within a plurality of service domains to access a service in a second service domain within the plurality of service domains; automatically deploying, by the planning engine, the visibility configuration to the plurality of service domains comprising the identified set of services by generating entries in the service registries of the plurality of service domains, wherein identifying the set of services comprises querying the service registries of the plurality of service domains based on the service group definition; automatically deploying, by the planning engine, the one or more service proxies to execute within connectivity middleware executing on at least one processor of the plurality of service domains within the distributed service-oriented data processing system; collecting, by the runtime service monitoring engine, performance metrics of the identified set of services; and dynamically adjusting the one or more service proxies to maintain the quality-of-service requirements specified in the quality-of-service policy based on the collected performance metrics. - View Dependent Claims (2, 3, 4)
-
-
5. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein for declarative service domain federation, wherein the computer readable program, when executed on a processor of a federation server within a distributed service-oriented data processing system, causes the federation server to:
-
receive, in a planning engine executing on the processor of the federation server within the distributed service-oriented data processing system, a federation intent declaration comprising a federation rule, a quality-of-service policy, and a service group definition, wherein the federation intent declaration is specified using a federation console, wherein the federation rule specifies a verb, a subject, an object, and an adverb, wherein the verb specifies an action, wherein the subject specifies a set of services, wherein the object specifies a set of service domains, and wherein the adverb specifies how the declarative service domain federation is to be carried out, and wherein the quality-of-service policy describes quality-of-services capabilities by specifying service performance measurements collected by a runtime service monitoring engine and populated in a service registry of at least one service domain, wherein the quality-of-service policy describes quality-of-service requirements that specify a set of service level assurance or optimization objectives, and wherein the quality-of-service policy is stored in a Web services performance language that is compatible with an existing Web services policy framework; automatically identify, by the planning engine, the set of services based on the service group definition, wherein the service group definition specifies a service group by at least one of explicit enumeration, a query against a set of service properties, or a union or intersection of a plurality of other service groups; automatically generate, by the planning engine, a service visibility configuration and one or more service proxies based on the federation rule and the quality-of-service policy, wherein the visibility configuration enables service consumers to interact with service providers residing in different service domains and wherein the one or more service proxies enable a service consumer in a first service domain within a plurality of service domains to access a service in a second service domain within the plurality of service domains; automatically deploy, by the planning engine, the visibility configuration to the plurality of service domains comprising the identified set of services by generating entries in the service registries of the plurality of service domains, wherein identifying the set of services comprises querying service registries of the plurality of service domains based on the service group definition; automatically deploy, by the planning engine, the one or more service proxies to execute within connectivity middleware executing on at least one processor of the plurality of service domains within the service-oriented data processing system; collect, by the runtime service monitor engine, performance metrics of the identified set of services; and dynamically adjust the one or more service proxies to maintain the quality-of-service requirements specified in the quality-of-service policy based on the collected performance metrics. - View Dependent Claims (6)
-
-
7. A federation server within a distributed service-oriented data processing system, comprising:
-
a processor; and a memory coupled to the processor, wherein the memory comprises a planning engine comprising instructions for declarative service domain federation which, when executed by the processor, cause the processor to; receive, in the planning engine executing on the processor of the federation server within the distributed service-oriented data processing system, a federation intent declaration comprising a federation rule, a quality-of-service policy, and a service group definition, wherein the federation intent declaration is specified using a federation console, wherein the federation rule specifies a verb, a subject, an object, and an adverb, wherein the verb specifies an action, wherein the subject specifies a set of services, wherein the object specifies a set of service domains, and wherein the adverb specifies how the declarative service domain federation is to be carried out, and wherein the quality-of-service policy describes quality-of-services capabilities by specifying service performance measurements collected by a runtime service monitoring engine and populated in a service registry of at least one service domain, wherein the quality-of-service policy describes quality-of-service requirements that specify a set of service level assurance or optimization objectives, and wherein the quality-of-service policy is stored in a Web services performance language that is compatible with an existing Web services policy framework; automatically identify, by the planning engine, the set of services based on the service group definition, wherein the service group definition specifies a service group by at least one of explicit enumeration, a query against a set of service properties, or a union or intersection of a plurality of other service groups; automatically generate, by the planning engine, a service visibility configuration and one or more service proxies based on the federation rule and the quality-of-service policy, wherein the visibility configuration enables service consumers to interact with service providers residing in different service domains and wherein the one or more service proxies enable a service consumer in a first service domain within a plurality of service domains to access a service in a second service domain within the plurality of service domains; automatically deploy, by the planning engine, the visibility configuration to the plurality of service domains comprising the identified set of services by generating entries in the service registries of the plurality of service domains, wherein identifying the set of services comprises querying service registries of the plurality of service domains based on the service group definition; automatically deploy, by the planning engine, the one or more service proxies to execute within connectivity middleware executing on at least one processor of the plurality of service domains within the distributed service-oriented data processing system; collect, by the runtime service monitor engine, performance metrics of the identified set of services; and dynamically adjust the one or more service proxies to maintain the quality-of-service requirements specified in the quality-of-service policy based on the collected performance metrics. - View Dependent Claims (8)
-
Specification