WO2009030138A1 - Procédé, appareil et système destinés au processus de service composite, remplacement et invocation du service concret - Google Patents

Procédé, appareil et système destinés au processus de service composite, remplacement et invocation du service concret Download PDF

Info

Publication number
WO2009030138A1
WO2009030138A1 PCT/CN2008/072037 CN2008072037W WO2009030138A1 WO 2009030138 A1 WO2009030138 A1 WO 2009030138A1 CN 2008072037 W CN2008072037 W CN 2008072037W WO 2009030138 A1 WO2009030138 A1 WO 2009030138A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
template
specific
description
combined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2008/072037
Other languages
English (en)
French (fr)
Inventor
Wenhua Xu
Xiaomin Shi
Jianfeng Liu
Yan Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP08784028.6A priority Critical patent/EP2107712B1/en
Publication of WO2009030138A1 publication Critical patent/WO2009030138A1/zh
Priority to US12/614,074 priority patent/US8769101B2/en
Anticipated expiration legal-status Critical
Priority to US14/281,126 priority patent/US20140258494A1/en
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Definitions

  • the present invention relates to the field of the Internet, and in particular, to a combined service process, a combined service replacement, a specific service call method, an apparatus, and a combined service system. Background technique
  • the business portfolio has a static business portfolio and a dynamic business portfolio.
  • the combined business logic in the static business combination specifies the specific service to be called in advance, that is, the business call is specified before the combined business logic runs, for example, the combined business logic can be generated through a graphic or text editing interface; some business combination environments provide graphics
  • the user interface allows the user to construct a composite business logic by dragging and dropping from the business directory with the appropriate business. This mechanism does not dynamically select the appropriate service at runtime to provide to the requester, especially if the service is inaccessible with serious flaws.
  • the combined business logic in the dynamic business portfolio specifies the services invoked at runtime, which can address some of the pitfalls of static business combinations.
  • the dynamic business portfolio is mainly based on semantic technology and can be divided into semi-automatic combination and automatic combination.
  • the semi-automatic combination refers to providing a business semantic description when the user defines the combined business logic, but the user still needs to describe in advance the execution order between the called services.
  • the automatic combination only needs to provide some necessary parameters, and can automatically generate combined business logic, that is, automatically generate the calling sequence of the business, and automatically select an appropriate service, and generally adopts AI planning (artificial intelligent reasoning) and other technologies to automatically select. Business and generate composite business logic.
  • the business composition process is first designed by using a template of semantically described activity; secondly, dynamically selecting a service for each activity, and generating a specific data flow, repeating this step until all activities are replaced by specific services, again, Generate executable processes based on all specific business; Finally, run the executable composite business logic. More specifically, the process of replacing the activity with a specific business with the OWL-S (Ontology Web Language for Service) is: using OWL-S to describe the activity, matching the specific business through semantic description, and generating the business process execution. Language (BPEL, Business Process Execution Language) script.
  • OWL-S Ontology Web Language for Service
  • the main feature is to use OWL-S to describe business calls.
  • the business composition engine traverses the combined business logic; when traversing to the business call described by OWL-S, triggers the "abstract generation specific"process; the business composition engine dynamically discovers the specific business according to the OWL-S business description; the combination engine will be specific
  • the call description of the service replaces the OWL-S business call description; the BPEL script is generated until all OWL-S business call descriptions are replaced.
  • the embodiments of the present invention provide a method and an apparatus for combining service processing, combining service replacement, and specific service calling, and solving the problem that a specific service can be dynamically selected when the combined business logic is executed.
  • Another technical problem to be solved by the embodiment of the present invention is to solve the problem of dynamically replacing a specific service with another specific service of the same function when the specific service fails during the execution of the combined service.
  • an embodiment of the present invention provides a combined service processing method, where the method includes the following steps:
  • Triggering service replacement requesting to replace the service call fragment with a specific service call fragment of the obtained specific service; or triggering a service call, requesting to generate a service call according to the specific service.
  • the embodiment of the present invention further provides a combined service replacement method, where the method includes the steps of: acquiring service template information corresponding to specific service call segment information in the combined service logic; and replacing the specific service in the combined service logic with the template information. Call the clip information.
  • the embodiment of the present invention further provides a specific service calling method, where the method includes the following steps: when the service described by the specific service calling segment cannot provide the service, obtain the service template information corresponding to the specific service calling segment description;
  • a service call is generated according to the specific service.
  • the embodiment of the present invention provides a combined service processing apparatus, where the apparatus includes: an obtaining unit, configured to acquire a specific service corresponding to an abstract service call fragment or a service template call fragment description in the combined service logic;
  • the trigger generating unit is configured to trigger the service combination adaptation, requesting to replace the abstract service call fragment or the service template call fragment with the specific service call fragment of the obtained specific service; or for generating a service call according to the specific service.
  • An embodiment of the present invention further provides a combined service replacement device, where the device includes:
  • the template information obtaining unit is configured to obtain the service template information corresponding to the service name of the specific service description in the specific combination service logic when the service service call fragment in the specific combination service logic is detected;
  • the adaptation triggering unit is configured to trigger a service combination adaptation, and request to replace the template information with a specific service call in the specific combined service logic.
  • the embodiment of the present invention further provides a specific service calling device, where the device includes:
  • a template information obtaining unit configured to obtain service template information corresponding to a specific service description when a specific service invocation fragment cannot provide a service
  • the specific service obtaining unit is configured to query the registration center according to the service template information to obtain a specific service that conforms to the service template;
  • a service call generating unit is configured to generate a service call according to the specific service.
  • the embodiment of the present invention further provides a combined service system, which includes: a service registration center, a combined service subsystem, where the service registration center includes:
  • Business center used to store business information
  • a template center configured to store template information, and a mapping relationship between the service and the service template;
  • the combined service subsystem includes: one or more of the above-described combined service processing device, combined service replacement device, and specific service calling device.
  • the embodiments of the present invention implement dynamic service composition and dynamic service selection by converting abstract combined service logic into a specific combined business logic mechanism.
  • the ability to generate service calls directly from the business abstraction description eliminates the need to convert to a specific composite business logic.
  • the backtracking can be dynamically performed, and the corresponding template information is obtained according to the specific service description, and then a suitable service is dynamically selected for replacement. Fixed dynamic replacement when the called service was inaccessible. It is also possible to automatically generate abstract composite business logic based on specific composite business logic.
  • FIG. 1 is a schematic structural diagram of an apparatus for combining service processing according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of an apparatus for combining service replacement according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of an apparatus for calling a specific service according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of a method for processing a combined service according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of a specific description generated by a service composition engine according to an abstract description according to an embodiment of the present invention
  • FIG. 6 is a flowchart of a query process of a service registration center according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of a method for replacing a combined service according to an embodiment of the present invention.
  • FIG. 8 is a flowchart of generating abstract combined business logic by a specific combination of business logics according to an embodiment of the present invention
  • FIG. 9 is a flowchart of a specific service calling method according to an embodiment of the present invention.
  • FIG. 10 is a signaling flowchart of a specific service replacement method according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a service discovery unit according to an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of a template information acquiring unit according to an embodiment of the present invention.
  • FIG. 13 is a structural diagram of a combined service system according to an embodiment of the present invention.
  • the embodiment of the present invention not only provides a mechanism for converting abstract combined business logic into specific business logic through abstract service description mechanism and service template mechanism; but also provides a mechanism for directly executing abstract combined business logic. At the same time, it also provides an automatic generation process of abstract combined business logic, which can directly generate abstract combined business logic according to specific combined business logic.
  • the backtracking ie, replacement
  • the backtracking can be dynamically performed, that is, the specific service description is converted into a template description, and then a suitable specific service is dynamically selected according to the mapping relationship between the template and the service. .
  • a service when calling a specific service, three pieces of information need to be provided: a service, an operation, and a variable.
  • the variable can be divided into an input variable (output variable) and an output variable (output variable).
  • input variable output variable
  • output variable output variable
  • partner link, operation, input variable, output variable specify the corresponding service, operation, input Variable , the value of output Variable.
  • BPEL only implements a static business combination.
  • dynamic business composition that is, in the process of running a business, it is necessary to dynamically invoke appropriate services to meet user requirements.
  • the embodiment of the present invention provides an abstract service description mechanism, which can support a dynamic service combination.
  • the abstract service description mechanism needs to specify no specific call information when describing the service call, that is, the specific values of service, operation, input variable, and output variable cannot be specified at the same time, but can be provided according to service, operation 3 ⁇ 4 input Variable, output Variable.
  • the information finds the right business, and this dynamic combination of services is called a business combination based on abstract business descriptions. If the service operation, input Variable, and output Variable do not specify a specific value but specify the corresponding template name, it is called a template-based business combination.
  • the abstract service description can be divided into a basic standard description and an extended standard description (hereinafter abbreviated as a basic description and an extended description).
  • the basic description includes: service standard description, operation standard description, input variable standard description, output variable standard description; and extended description refers to service standard description, operation standard description, input variable quasi-description, output variable standard description. Description, such as quality of service QoS description.
  • Basic description for business purposes when used for dynamic business combinations The list of services that meet the requirements is found; and the extended description is used to select the eligible services from the list of discovered services.
  • the service description is as shown in Table 1:
  • the OperationCriteria includes a property name by which the search can be ambiguously searched.
  • the input VariableCriteria/output VariableCriteria includes a genus '1' to generate a type that represents the type of the variable.
  • the description of the specific business service, operation, inputVariable, outputVariable least one value specific value can not be specified at this time only need to abstract description (service, operation 3 ⁇ 4 inputVariable abstractServiceDescription substantially corresponding to the description, outputVariable is divided into another serviceCriteria, OperationCriteria, input VariableCriteria, output VariableCriteria), and attributes that do not specify a specific value are abstracted by the abstract industry.
  • the corresponding description of the basic description in the description is specified.
  • the extended description provides the corresponding information to assist in the discovery of the service.
  • service corresponds to serviceCriteria, operation and operationCriteria, input Variable and input VariableCriteria, output Variable and output VariableCriteria, only when the former value is uncertain (where H is not valued as "
  • the template is described by the corresponding attributes of the basic description in the abstract business description.
  • Each template corresponds to a specific category of services, and the service category can be directly used to describe the template category.
  • the template itself has no extended description part, but the extended description part can be used in conjunction with the template to select a specific service.
  • the template has its own attributes, such as a template name, and the information of the template includes information such as service category, operation, input parameters, and output parameters.
  • the following example describes a template:
  • none of the service, operation, inputVariable, and outputVariable in the specific service description specify a specific value, and only the template name can be provided; or the template name is provided together with the template description. It is defined by adding the attribute template to the baseCriteria, where the value of the attribute template is the template unique identifier.
  • a business call fragment based on a template name is described as follows:
  • a service invocation fragment based on a detailed description of a template is described below, and it is not necessary to provide a specific service description in the service description.
  • the detailed description of the template is the same as the template name in the previous example.
  • mapping relationship indicates the services that the template can cover, that is, the template can dynamically select those services that have a mapping relationship with the template.
  • a business template can be found by business name.
  • the combined business logic is divided into abstract combined business logic and concrete combined business logic.
  • the abstract combined business logic refers to the existence of a business abstract description in the combined business logic; the specific combined business logic refers to the specific business description in the combined business logic.
  • the business abstract description here includes the template description.
  • the business call described by the abstract description of the specified template name is called the business template call fragment, and the corresponding dynamic combination is called dynamic combination based on the template description; the business call fragment described by the abstract description without the specified template name is called abstract service. Calling fragments, the corresponding dynamic combination is called a dynamic combination based on abstract business descriptions.
  • FIG. 1 is a schematic structural diagram of an apparatus for service composition processing according to an embodiment of the present invention, which is used to implement a service combination function, and can perform a specific combined service and an abstract combined service.
  • the apparatus includes: a service composition engine 11, a service discovery unit 12, a service selection unit 13, and a combined service logic adaptation unit 14, wherein the service composition engine 11 further includes: an acquisition unit 112 and a trigger generation unit 113.
  • the service composition engine 11 may further include a trigger unit 111.
  • the triggering unit 111 is configured to trigger a processing manner of the combined service logic based on the service abstract description (including the template description), including triggering the call and triggering the replacement.
  • the acquiring unit 112 is configured to acquire the combined service logic.
  • the abstract service call fragment or the service template invokes the fragment to describe the specific service;
  • the trigger generating unit 113 is configured to trigger the combined service adaptation, and request to replace the abstract service call fragment or the service template call fragment with the obtained specific service. Specific business adjustment Using a fragment; or for generating a service call based on the specific service.
  • the service composition engine 11 is configured to identify specific combined business logic and abstract combined business logic; can perform specific combined business logic or trigger dynamic business composition based on abstract description/template according to the combined business logic type; can be based on the business in the combined business logic
  • the abstract description (including the template description) triggers the service discovery request, and queries the service directory; can trigger the service screening request according to the service obtained by the service discovery unit 12, and requests the screening request from the service screening unit 13; and can trigger according to the service obtained by the service screening unit 13.
  • Combining the business logic adaptations, the combined business logic adaptation unit 14 is requested to replace the abstract description (including the template description) in the abstract composite business logic with a specific service.
  • the template information can be obtained according to the specific service invoked, and can be applied to automatically generate abstract combination business logic or call backtracking when the service fails.
  • Automatically generating abstract combination business logic means that abstract combination business logic can be generated according to specific combination business logic, so that the combined business logic can dynamically bind the business.
  • the backtracking method can obtain the corresponding template information according to the service when the service is failed, and obtain the service with the same function according to the template.
  • the service composition engine 11 may further include: a service call fragment generation unit 114, configured to generate a service call according to the replaced specific service call fragment.
  • a service call fragment generation unit 114 configured to generate a service call according to the replaced specific service call fragment.
  • the trigger unit 111, the obtaining unit 112, and the trigger generating unit 113 may be integrated in the service composition engine, or may exist independently.
  • the service discovery unit 12 is connected to the triggering unit 111, and is configured to generate a service discovery request according to the abstract service description (including the template description), perform a service query to the service registration center according to the service discovery request, and obtain a service list that meets the requirements. And sending the service list to the business combination engine;
  • the service discovery unit 12 includes: a generating subunit 1110, a transmitting subunit 1120, a receiving subunit 1130, and a feedback subunit 1140.
  • the generating sub-unit 1110 is configured to generate a service discovery request according to the abstract service description information, where the sending sub-unit 1120 is configured to send the service query information to the service registration center, where the query information includes: a query type, a service description, and Or a query type, a template description, and a qualification condition;
  • the receiving sub-unit 1130 configured to receive, by the service registration center, a service list that meets query information, where the service list includes one or The plurality of specific services;
  • the feedback subunit 1140 is configured to feed back a service list.
  • the service discovery unit 12 is configured to generate a service discovery request according to the abstract service description information provided in the abstract combination service logic, and query the service registration center according to the service discovery request, that is, find a specific service that meets the requirements.
  • the list is returned to the service composition engine 11 (for the discovery of the abstract service description according to the non-template description, the service can be directly searched; the template can be searched first, and then the service can be searched according to the template. For the discovery according to the template description, the service is directly searched. ).
  • the corresponding template can be found based on specific business information.
  • the service screening unit 13 is configured to: when receiving the service screening triggered by the service composition engine, select the service list according to the selection condition of the service, and obtain a service list that meets the selection condition, from the service list that meets the selection condition. A specific service is selected and fed back to the acquisition unit 112 in the business combination engine 11.
  • the combined service logic adaptation unit 14 is configured to replace the abstract service call fragment or the service template call fragment with the specific service call fragment of the obtained specific service when receiving the combined service logic adaptation requested by the service composition engine 11 . That is, according to a specific service provided by the business composition engine 11, the abstract description of the service in the abstract combined business logic is replaced with a specific service. The specific description of the service in the combined business logic is replaced with a template based on the template information provided by the business combination engine.
  • the service registration center 15 is configured to store service information and service template information. Includes: Business Center 151 and Template Center 152.
  • the service center 151 and the template center 152 can be regarded as two views of the service registration center, and the service and the template are linked by the mapping relationship, and the service unique identifier corresponds to the template identifier in the template center, and the service The center has a service unique identifier corresponding to the service information.
  • the template center also has template information corresponding to the template identifier.
  • the template information includes at least basic information: service classification information, operations, and parameters; the service information includes at least basic information: service classification information, operations, and parameters; and may also include extended information: service quality, QoS, and the like.
  • the service center 151 is configured to store service information, where the service information is divided into two categories: Sub-business and composite business.
  • the function completed by the atomic service does not need to call other services; the combined service is described by the combined business logic, and other services are called to complete the function.
  • the template center 152 is configured to store service template information, and mapping information of service templates and services.
  • a business template can correspond to one or more services.
  • the service discovery unit 12 and the service selection unit 13 may also directly interact, that is, not controlled by the service composition engine 11.
  • the device includes: a service composition engine 21 and a combined service logic adaptation unit 23, and may further include a service discovery unit 22.
  • a service registry 24 and its template center 241 are also included.
  • the service composition engine 21 includes: a template information acquisition unit 211 and an adaptation trigger unit 212.
  • the combined service logic adaptation unit 23 includes: an add subunit 231 and a delete subunit 232.
  • the template information acquiring unit 211 is configured to: obtain the service template information corresponding to the service name of the specific service description in the specific combination service logic, when the service service call fragment in the specific combination service logic is detected;
  • the adaptation triggering unit 212 is configured to trigger a service combination adaptation, requesting to replace the template information with a specific service call in the specific combined service logic.
  • template information acquiring unit 211 and the adaptation triggering unit 212 may be integrated in the business combination engine or may exist independently.
  • the combined service logic adaptation unit 23 is configured to replace the template information with a specific service call fragment in the specific combined service logic when receiving the combined service logic adaptation of the adaptation trigger unit request.
  • the method includes: adding a sub-unit 231, configured to add a basic description part of the service abstract description in a specific service call fragment in the specific combined service logic, and add a template name and a corresponding template description in the basic description part; deleting the sub-unit 232, Used to delete the corresponding specific service description when the addition of the subunit is completed.
  • the template information obtaining unit 211 is configured to trigger a service template query request to the service discovery unit 22 according to a specific service description.
  • the template information acquiring unit 211 includes: a query request sending subunit 1210, a template information receiving subunit 1220, and a template information feedback subunit 1230. Its The query request sending sub-unit 1210 is configured to send a service template query request to the service discovery unit according to the specific service description; the service discovery sub-unit 1210 is configured to send a service query to the template center according to the template query request.
  • the service query information includes a service name (that is, a service identifier) of a specific service call description; the template information receiving subunit 1220 is configured to receive, by the template center, the service template information corresponding to the service name, where The service template information includes a template name and a template description.
  • the template information feedback subunit 1230 is configured to feed back the service template information to the service composition engine.
  • the service discovery unit 22 is configured to send the query information to the template center 241 in the service registration center 24 according to the received template query request, where the search information includes a service name of a specific service description, and the service discovery unit 22 further includes template information receiving. And a template information receiving unit, configured to receive the service template information corresponding to the service name, where the service template information includes a template name and a template description, and a template information feedback unit, configured to The business composition engine feeds back the business template information.
  • FIG. 3 is a schematic structural diagram of a service invoking device according to an embodiment of the present invention.
  • the device includes: a service composition engine 31, where the service composition engine 31 includes: a template information acquiring unit 311, a specific service acquiring unit 312, and a service.
  • the generating unit 313 is called.
  • the apparatus may further include a service discovery unit 32 and a combined service logic adaptation unit 33.
  • the figure also includes a service registration center 34, which includes a service center 341 and a template center 342.
  • the template information obtaining unit 311 is configured to: when the service invocation segment in the specific combination service logic cannot provide the service, obtain the service template information corresponding to the specific service description in the specific combination service logic; the specific service obtaining unit 312, And the method for querying the service center to obtain the specific service information by using the service discovery unit to query the template center according to the service template information, and querying the service center to obtain the specific service information.
  • the service call generation unit 313 is configured to generate the service according to the specific service. Service call.
  • the template information acquiring unit 311 includes: a query request sending subunit 1210, a template information receiving subunit 1220, and a template information feedback subunit 1230.
  • the query request sending sub-unit 1210 is configured to send a service template query request to the service discovery unit according to the specific service description; the service discovery sub-unit 1210 is configured to perform a request to the template according to the template search request.
  • the board center sends the service query information, where the service query information includes the service name of the specific service call description (that is, the service identifier); the template information receiving subunit 1220 is configured to receive the service corresponding to the service name by the template center.
  • the template information, the service template information includes a template name and a template description, and the template information feedback sub-unit 1230 is configured to feed back the service template information to the service composition engine.
  • the service composition engine can support two modes: a specific combination of business logic and an abstract combination of business logic.
  • the business composition engine not only supports abstract combination business logic to automatically generate specific combination business logic, but also supports generating service calls according to abstract description fragments; it also supports dynamic selection of other services to replace when business calls fail; and also supports specific combination business logic to automatically generate abstract composite services. logic.
  • the business composition engine supports direct execution mode and indirect execution mode of abstract combined business logic.
  • the direct execution mode means that the business composition engine can directly execute the abstract combined business logic without first converting the abstract combined business logic into a specific combined business logic, and the business combination engine directly calls the corresponding service after detecting the abstract description.
  • the indirect execution mode means that the business composition engine first replaces the abstract combined business logic with the specific combined business logic, and then executes the specific combined business logic to invoke the corresponding service.
  • the direct execution mode can also support the generation of specific combined business logic. After the business composition engine detects the abstract description, the abstract description is replaced with a specific service call and then the service is directly invoked. The difference between the indirect mode and the indirect mode is that the indirect mode needs to abstract.
  • the direct execution mode also supports the mechanism of selecting other services to provide services when the specific service fails.
  • the business composition engine supports the process of generating abstract composite business logic based on a specific composite business logic.
  • the business composition engine can support two modes: concrete combination business logic call and abstract combination business logic call.
  • the composite business logic consists of a number of business call fragments.
  • Each service call fragment can be described by a specific service, or an abstract service description (including a template), which is called a specific service call fragment, and an abstract service description (including a template).
  • the abstract business description of the specified template name is called the business template call fragment, and the template name is not called the abstract business call fragment.
  • the embodiment of the present invention further provides a combined service processing method, and a flowchart of the method is shown in FIG. 4, where the method includes the following steps:
  • Step 401 Obtain a specific service corresponding to the description of the service call segment in the combined service logic, where the service call fragment is an abstract service call fragment or a service template call fragment.
  • Step 402 Trigger service replacement, requesting to replace the service call fragment with a specific service call fragment of the obtained specific service; or trigger a service call, requesting to generate a service call according to the specific service.
  • the process of acquiring the specific service corresponding to the description of the abstract service call segment or the service template call segment in the combined service logic is: performing a service query to the service registration center according to the service discovery request, where the service is performed.
  • the information of the query includes: a query type, a service description, and a qualification; or includes a query type, a template description, and a qualification; and receiving, by the service registration center, a service list that meets the query information, where the service list includes one or more specific services. ; Select and feed back a specific business in the business list.
  • the process of generating a service discovery request according to the abstract service call fragment description is: generating a service template discovery request according to the basic description information in the abstract service call fragment information, where the basic description information includes a service category, operation information, The parameter information is obtained according to the service template discovery request, and the service template information matching the basic description information is obtained.
  • the process of generating a service call according to a specific service replaces the abstract service call fragment or the service template call fragment with a specific service, including performing service replacement before or during the call or after the call is generated.
  • the service call is generated during the replacement process, where: before the replacement, the service call is generated according to the specific service obtained; or after the replacement, the service call is generated according to the specific service obtained or the specific service call segment after the replacement; or At the same time of replacement, a service call is generated based on the specific business obtained.
  • the method may further include: triggering selection of the service list before requesting replacement, to obtain a specific service that meets the screening condition. Then you can generate service calls based on specific services, and A service call is generated based on the specific business call fragment after the replacement.
  • the process of generating a service call is: triggering a service call, extracting necessary information in the specific service, and generating a service call according to the required information; or directly generating a service call according to the specific service call segment, where the necessary information includes : business address, business name, operation, or parameter.
  • FIG. 5 is a flowchart of the indirect execution of the abstract combined service logic (ie, generating a specific description according to the abstract description) in the embodiment of the present invention.
  • the business combination engine each time the business combination engine detects an abstract description, it executes the "generate a description based on the abstract description" process until all abstract descriptions are replaced with specific services.
  • Step 501 The business composition engine triggers a service combination based on an abstract description; the business composition engine checks the combined business logic, and if there is no abstract description in the combined business logic, that is, the service, operation, input variable, and output variable of the specific service description A specific value is specified, that is, the combined business logic is a specific combined business logic, and the business combination based on the abstract description is not triggered, and the process ends.
  • a certain script in the combined business logic has an abstract description, that is, the service, operation, input Variable, and output Variable of the specific service description have an unspecified specific value (for example, the value can be a specific value "##, indicating that the script is An abstract description script
  • the business composition engine triggers a business combination based on an abstract description.
  • Step 502 The service composition engine performs a business inquiry; that is, after the service composition engine determines that the script is an abstract description, the service composition engine triggers the service discovery unit to perform a service query to the service registration center, where the query information includes the query type.
  • the service description includes a basic description of the specific service description and the abstract service description; the qualification condition is an extended description part of the abstract service description; the template description may be a template name, or a specific description of the template, that is, a basic description part using the abstract service description.
  • the query type includes querying according to the business description and describing the query according to the template. If the template name is used to describe the query, the query can be based on the template description. Otherwise, the query can be based on the template description or the service description.
  • Step 503 The service registration center feeds back the search result; that is, the service registration center performs the query according to the query information submitted by the service discovery unit, and returns a service list that meets the query condition, and the specific check is performed.
  • the inquiry process is detailed in the description in Figure 6.
  • Step 504 The service discovery unit feeds back the service list to the service composition engine; that is, the service discovery unit feeds back the obtained query result, that is, the service list that meets the query condition, to the service composition engine.
  • Step 505 The business combination engine triggers a screening process to the service screening unit, and sends the service list to the service selection unit.
  • Step 506 The service screening unit feeds back a specific service; that is, according to its own screening condition, the service list is filtered, and the service that does not meet the selected condition is filtered.
  • the selection conditions include service reachability, etc. These screening conditions have certain business independence and have certain complementarity with the qualification conditions of the business abstract description. If there are multiple services, a service is randomly selected and provided to the service composition engine.
  • Step 507 The service composition engine adjusts the service logic adaptation according to the obtained service trigger, and requests the combination service logic adaptation unit to replace the abstract description according to the specific service provided.
  • Step 508 Replace the abstract description; that is, the combined service logic adapting unit extracts necessary information in the service information, such as a service name, an operation, a parameter, etc., and completes the specific service description in the abstract service description, and deletes the abstract service description.
  • the service information such as a service name, an operation, a parameter, etc.
  • step 503 the query process of the service registration center is as shown in FIG. 6, and specifically includes the steps:
  • Step 601 The service registration center determines whether to query according to the template query or according to the service abstraction; if the template name or the template information is provided in the abstract description, then according to the template query, step 602 is performed; otherwise, according to the service abstract description query, step 606 is performed. .
  • Step 602 If the query type is queried according to the template, the service registration center detects whether the template name is specified. If the template name is specified, step 603 is performed; otherwise, step 604 is performed.
  • Step 603 If a specific template name is specified in the template description, the query template center obtains a corresponding service list of the template. Go to 610.
  • Step 604 If no specific template name is specified in the template description, query the template center according to the service part (for example, type) of the template description, and obtain a corresponding template list.
  • the service part for example, type
  • Step 605 Filter the template list according to the operation in the template description and the parameter information, and obtain a match. A list of templates described by the template, thereby obtaining a list of services corresponding to all the templates in the template list. Then step 610 is performed.
  • Step 606 If the query type is queried according to the service description, the service registration center detects whether the service name is specified. If the business name is specified, step 607 is performed; otherwise, step 608 is performed.
  • Step 607 If a specific service name is specified in the service description, the service center is directly searched for the corresponding service list. Then step 609 is performed.
  • Step 608 If a specific service name is not specified in the service description, the service center is queried according to the service part (such as the service type) that is basically described in the abstract description, and the corresponding service list is obtained.
  • the service part such as the service type
  • Step 609 Filter the service list that does not meet the conditions according to the operations, parameter parts, or a combination thereof that are basically described in the operation, the parameter part, or the abstract description of the specific service description.
  • Step 610 Filter the obtained service list according to the qualification condition (that is, the extended part of the service abstract description) to generate a service list that meets the query condition; if there is no qualification condition, skip the process.
  • the qualification condition that is, the extended part of the service abstract description
  • the request message includes service information and template information, where the service information includes a service identifier, a service category, an operation, a parameter, and an extended parameter such as QoS, and the template information includes a template identifier.
  • the template information is optional information.
  • the business center registers the business after receiving the registration request.
  • the service information is added in the service registry, and the service identifier information is added in the mapping table corresponding to the template identifier in the template center.
  • the request message includes template information and service information, where the template information includes a template identifier, a service category, an operation, a parameter, etc., and the service information includes a service identifier or a list of identifiers, where the service information may be selected.
  • the template center registers the template after receiving the registration request.
  • the template information is added in the template registry, and the service identifier information is added in the mapping table corresponding to the template identifier in the template center.
  • the corresponding business information is checked by the template: 1. Requesting a service information query from the registration center, where the request message includes template information, where the template information includes a template identifier, etc.
  • the registration center After receiving the query request, the registration center queries the mapping table of the template registration center by using the template identifier, and obtains a corresponding service identifier list;
  • the registration center After receiving the query request, the registration center queries the mapping table of the template registration center by using the service identifier, and obtains a corresponding template identifier;
  • the embodiment of the present invention may also generate a service call according to an abstract description (ie, directly execute). That is, the execution of the composite service includes the execution of the executable script and the execution of the abstract description.
  • the execution of the executable script is prior art, and will not be described here.
  • the combination engine detects the executable script, it directly invokes the service.
  • the executable script and the abstract description are both executed, the entire composite service is executed.
  • the direct execution of the abstract combination service logic by the composition engine is similar to the indirect execution process. Each time an abstract description is detected, steps 501 through 506 are performed, and then a service call is generated.
  • the service composition engine triggers the service call. .
  • the service composition engine generates service calls based on the acquired information, such as service addresses, service names, operations, parameters, and the like.
  • the embodiment of the present invention needs to generate a specific combined business logic after performing the abstract combined business logic, so as to conveniently use the specific combined business logic as the combined business logic when the service is invoked next time.
  • a specific combination of business logic needs to be generated, the steps are specifically as follows: Steps 501 to 508 in FIG. 5, as described in detail above, no longer After performing step 508 or performing step 508, the steps are performed:
  • the business combination engine triggers a service call.
  • the service composition engine generates a service call according to the acquired information, such as a service address, a service name, an operation, a parameter, and the like, or the service composition engine directly generates a service call according to the generated specific combination business logic segment.
  • the processing procedure of the specific service in the embodiment of the present invention includes: the specific combined business logic generates an abstract combined business logic flow and backtracking.
  • Step 701 Obtain service template information corresponding to specific service call segment information in the combined service logic;
  • the obtaining process is: triggering a service template query request to the service discovery unit according to the specific service description;
  • the service discovery unit sends query information to the template center, where the search information includes a service name (ie, a service identifier) of the specific service description;
  • the service discovery unit receives the service template information corresponding to the service name, and the service template information includes a template name and a template description, and feeds back the service template information.
  • Step 702 Replace, by using the template information, specific service call fragment information in the combined service logic.
  • the basic description part of the service abstract description is added to the specific service call fragment in the specific combination service logic, and the template name and the corresponding template description are added in the basic description part, and the corresponding specific service description is deleted.
  • FIG. 8 a flow chart for generating abstract combined business logic by using a specific combination of business logics in the embodiment of the present invention, that is, the business combination system provides an automatic generation process of abstract combined business logic.
  • the following process describes the process of replacing a service call fragment in a concrete composite business logic with an abstract description (here a template description).
  • an abstract combined business logic is generated by sequentially replacing a specific service call in the specific combined business logic.
  • the service combination 1 engine detects a service call fragment in the specific combined business logic
  • the business template replacement process is triggered. Specifically include: Step 801: The service composition engine triggers a template query request to the service discovery unit according to the specific description of the service in the specific combined business logic.
  • Step 802 The service discovery unit queries the template center according to the service name in the service specific description, obtains a service template, and extracts the template name and the corresponding template description.
  • Step 803 The template center returns service template information to the service discovery unit, including the template name and the corresponding template description.
  • Step 804 The service discovery unit returns service template information to the service composition engine.
  • Step 805 The service composition engine triggers the combined service logic adaptation process, and the combination service logic adaptation unit replaces the specific service call in the specific combination service logic according to the obtained service template information.
  • Step 806 The combined service logic adapting unit adds a basic description part of the service abstract description in a specific service calling fragment of the specific combined business logic, and adds a template name or a description of the template in the basic description part. At the same time, the corresponding specific service description is deleted, that is, the service name, service operation, and parameter information of the specific service description part are omitted.
  • FIG. 9 is a flowchart of a service replacement method according to an embodiment of the present invention.
  • the method includes: Step 901: When a service described by a specific service call fragment cannot provide a service, obtain a service corresponding to a specific service call segment description. Template information;
  • the process of obtaining the service template information corresponding to the service name of the specific service description is: triggering the service template query request to the service discovery unit according to the specific service description; the service discovery unit sends the service query information to the template center, where the service The query information includes the service name of the specific service description.
  • the service discovery unit receives the service template information corresponding to the service name, and the service template information includes: a template name and a corresponding template description, and feeds back the service template. information.
  • Step 902 Acquire a specific service according to the service template information query.
  • Step 903 Generate a service call according to the specific service.
  • FIG. 10 it is a specific flowchart of the backtracking (replacement) in the embodiment of the present invention. That is, when the business composition engine detects a specific service call fragment, it triggers the backtracking mechanism if it encounters that the called service cannot provide the service. The service cannot be provided here, including the failure of the service return call, or the timeout of the service response.
  • the process of specific service replacement includes:
  • Step 1001 to step 1003 The service composition engine triggers a template query request to the service discovery unit according to the specific service description, and the service discovery unit obtains a service template according to the service specific description, where the template name and the corresponding template description are included. Steps 801 through 803 of generating an abstract combined business logic flow specifically with the specific combined business logic.
  • Step 1004 The service discovery unit performs a service query to the service registration center, where the query type is a query according to the template description; the template information is a template name or a specific description of the template; the qualification condition is null.
  • Step 1005 The service registration center performs an inquiry according to the query information submitted by the service discovery unit, and returns a service list that meets the query condition.
  • the specific inquiry process of its business registration center is shown in Figure 6. Steps 601, 602, 603 and step 610; or steps 601, 602, 604, 605 and 610. I will not repeat them here.
  • Step 1006 The service discovery unit provides the obtained query result, that is, the service list, to the service composition engine.
  • the implementation process of this step is the same as that of step 504, and details are not described herein again.
  • Steps 1007 and 1008 The business combination engine triggers the service selection unit to perform business selection and obtain a qualified service.
  • the implementation process of this step is the same as steps 505 and 506, and will not be described here.
  • a service call After obtaining an eligible business, a service call can be made.
  • step 1004 may also replace steps 1004 and 1005 in the above steps. That is, after the template of the service discovery unit is queried, the template center directly obtains the template that meets the requirements, and queries the template center to obtain the service name bound to the template; and queries the service center according to the service name to obtain all the corresponding service description information.
  • the embodiment of the present invention further provides a combined service system.
  • the system includes: a service registration center 1310, a combination service subsystem 1320, where the registration center 1310 includes:
  • Service center 1311 used to store business information
  • a template center 1312 configured to store template information, and a mapping relationship between the service and the service template
  • the combined service subsystem 1320 includes: one or more of a combined service processing device 1321, a combined service replacement device 1322, and a specific service calling device 1323:
  • the combined service processing device 1321 includes:
  • the obtaining unit 112 is configured to acquire a specific service corresponding to the abstract service call segment or the service template call segment description in the combined service logic.
  • the trigger generating unit is configured to trigger the service combination adaptation, requesting to replace the abstract service call fragment or the service template call fragment with the specific service call fragment of the obtained specific service; or for generating a service call according to the specific service.
  • the combined service replacement device includes:
  • the template information obtaining unit 211 is configured to: obtain the service template information corresponding to the service name of the specific service description in the specific combination service logic, when the service service call fragment in the specific combination service logic is detected;
  • the adaptation triggering unit 212 is configured to trigger a service combination adaptation, and request to replace the template information with a specific service call in the specific combined service logic.
  • the specific service invoicing device 1323 includes:
  • the template information obtaining unit 311 is configured to obtain service template information corresponding to the specific service description when the specific service invocation fragment cannot provide the service;
  • the specific service obtaining unit 312 is configured to query the registration center according to the service template information, and obtain a specific service that conforms to the service template;
  • the service call generating unit 313 is configured to generate a service call according to the specific service.
  • the combined service subsystem 1320 further includes:
  • the service discovery unit 1324 is configured to generate a service discovery request according to the abstract service description (including the template description), perform a service query to the registration center according to the service discovery request, obtain a service list that meets the requirement, and feed back the service list.
  • the service screening unit 1325 is configured to: when the service screening request is received, filter the service list, obtain a service list that meets the selection condition, select a specific service from the service list that meets the selection condition, and feed back the specific service. ;
  • the combined service logic adaptation unit 1326 is configured to replace the abstract service call fragment or the service template call fragment with the specific service call fragment of the obtained specific service when receiving the combined service logic adaptation request.
  • the specific functions and functions of the service registration center 1310, the combined service processing device 1321, the combined service replacement device 1322, and the specific service calling device 1323 are described above, and are not described herein.
  • BPEL extension description In BPEL, when calling a service, it generally needs to provide five parts of information: activity, partnerLink (specified specific service, equivalent to the above service), operation, input Variable, output Variable, and the information related to the business includes partnerLink, operation, input Variable, output Variable, under the activity invoked under the mouth:
  • the activity, partnerLink, operation, inputVariable, and outputVariable are specified in detail, which is equivalent to specifying a specific service call, which is a static business combination.
  • a dynamic business combination that is, a business call is dynamically performed during the running of the business.
  • existing BPELs need to be extended to support dynamic business portfolios.
  • the business description can be divided into a basic description and an extended description.
  • the basic description here includes service description, operation description, input variable description and outputVariable 4; and extension 4 refers to the description of service, operation, input variable, output variable, 1" column ⁇ port QoS 4.
  • the basic description is used to discover the services that meet the requirements from the service directory when the dynamic service is combined, and the extended description is used to filter the qualified services from the discovered services.
  • inoutVariableCriteria input variable standard
  • output VariableCriteria output variable standard
  • extentionCriteria Qos service shield
  • BPEL's activivy specifies the name of the partnerLink
  • the partnerLinks name specifies the partnerLinkType
  • the partnerLinkType declaration specifies the portType of the WSDL
  • the description of the called service is actually declared by protType. Therefore, the partnerLink described in this implementation does not specify the actual value, and actually means that no portType is specified.
  • Table 4 Weather pre-WeatherReport Query Address, Time temperature, weather, weather forecast, Guangdong weather forecast, Shenzhen weather forecast
  • the BPEL script is shown below, with only one activity as an example:
  • Describe the partner type specify the business to be called, 01" ⁇ 6 in the description.
  • BPEL script After processing by the business composition engine, a specific BPEL script is generated, in which the abstract description of the service is replaced by a specific description.
  • a user in Shenzhen is required to invoke a combined service in which a weather forecast service is invoked in the combined service.
  • This embodiment describes the process of dynamically searching for a weather forecast service and replacing the abstract service description. Its BPEL script is as described in the "Abstract BPEL Script Example" above.
  • the service screening unit defines the following strategies: Select a service with good QoS under the same conditions.
  • the business composition engine checks the BPEL script and detects that the partnerLink does not specify a specific value (although the partnerLink value is customer, but the partnerLinkType specified by customer is weatherQueryLT, but the portType specified by weatherQueryLT is empty.), that is, no specific call is specified.
  • the business that is, the BPEL script is an abstract BPEL, and the business composition engine triggers a business combination based on an abstract description.
  • the business composition engine After determining that the script is an abstract description, the business composition engine performs a business query to the service discovery unit according to the abstract description of the service invoked by the location.
  • the abstract description is as follows.
  • the query information generated by the business composition engine includes the query type, business description, and qualification. Cause Specific operations and parameters are provided for the abstract description. Therefore, the query type is based on the service description query, instead of querying according to the template (providing the template name and the specific service, operation, and parameters in the abstract description are not provided, then the template is based on the template. Inquire).
  • the business description is composed of the above basic part and specific description part.
  • the business registration center performs inquiry according to the query information provided by the business combination engine. Since the query type is based on the service description and the specific service name is not specified in the service description, the service center is queried according to the service part basically described in the abstract description. According to the scope area is Shenzhen, the service type serviceType is the business center of the WeatherReport query service registration center, and there are "Qiantian weather forecast" and "Shenzhen weather forecast”.
  • the service is filtered, and both services satisfy the demand, and the generation industry
  • the list of services including two business: "Qiantian weather forecast", "Shenzhen weather forecast”.
  • the service registry returns the service list to the service discovery unit.
  • the service discovery unit provides the obtained query result, that is, the service list, to the business combination engine.
  • the service composition engine triggers service screening according to the obtained service list, and delivers the service list to the service selection unit.
  • the service selection unit selects the service list according to its own selection criteria, and filters the services that do not meet the conditions. Since the service screening unit defines the "business with good QoS under the same conditions" strategy, comparing the QoS of "Qiantian Weather Forecast” and "Shenzhen Weather Forecast", it is found that "Shenzhen Weather Forecast” can provide better QoS, so choose The "Shenzhen Weather Forecast” is provided to the business portfolio engine.
  • the business combination engine triggers the combined business logic adaptation according to the obtained "Shenzhen weather forecast", and requests the service adaptation unit to replace the abstract description according to the specific service provided.
  • the combined service logic adaptation unit extracts the necessary information in the service information (here, the portType information, including its namespace), and completes the specific service description in the abstract service description (here, the portType in the partnerLinkType). Also delete the basic description and extended description of deleting the abstract business description.
  • the generated BPEL script is as described in the "Specific BPEL Script Example" above.
  • a third application embodiment of the present invention that is, generating a service call according to an abstract BPEL
  • This embodiment is the same as above, and the flow of this embodiment describes a process of dynamically finding a weather pre-service and generating a service call.
  • Its BPEL script is as described in the "Abstract BPEL Script Example" above.
  • the business composition engine triggers a business call.
  • the service composition engine generates a SOAP call according to the acquired information, such as a service name, a service address, an operation, a parameter, and the like.
  • the business composition engine triggers a business call.
  • the service composition engine generates a service call according to the acquired information, such as a service address, a service name, an operation, a parameter, and the like, or the service composition engine directly generates a service call according to the generated BPEL fragment.
  • a fourth application embodiment of the present invention that is, a specific BPEL generates an abstract BPEL
  • the business composition engine triggers a template query request to the business discovery unit based on the business specific description in the specific BPEL script.
  • the service discovery unit obtains the service name from the specific description of the service.
  • partnerLink is "customer", but “customer” is not really calling the business; get its partnerLinkType “weatherQueryLT” from “customer”; get its corresponding portType from “weatherQueryLT” to "sif: shippingServicePT”; then according to portType
  • the value and the namespace get the business description to determine the business name.
  • the business here is SZWeatherReport (Shenzhen Weather Forecast).
  • the template is as follows:
  • the template center returns the service template information to the service discovery unit, including the template name and the corresponding template description.
  • the service discovery unit returns service template information to the service composition engine.
  • the service composition engine triggers the combined service logic adaptation process, and the request combination service logic adaptation unit replaces the specific service call in the specific combined service logic according to the obtained service template information.
  • the combined service logic adaptation unit adds a basic description part of the service abstract description in the specific service call fragment of the specific combined service logic. Since the number of times is based on the template replacement, the basic description fields are all empty, that is, portType, operation 3 ⁇ 4 Input Variable, output Variable are all "##,, Replace; Add a basic description of the abstract service in the basic description section to describe the service (ie portType), operation, input Variable, output Variable information, and its description content is provided by the template information.
  • a fifth application embodiment of the present invention that is, a backtracking implementation process
  • BPEL can only provide a static business combination. Therefore, when the BPEL script is executed, there may be cases where the called service has expired. This embodiment describes that when the BPEL script is executed, the "Shenzhen Weather Forecast" service is invalidated, and the business composition engine provides another service to invoke. 4 Set the BPEL script to "Specific BPEL Script Example". The specific process is:
  • the service composition engine triggers a service query request to the service discovery unit according to the specific description of the service in the specific BPEL script.
  • the service discovery unit queries the template center according to the service name in the service specific description, and obtains a template corresponding to the service, where is Weather forecast "template.
  • the implementation of this step is similar to the specific BPEL generation of abstract BPEL steps 2, 3, 4.
  • the template center obtains the corresponding business according to the "weather forecast” template, namely "Qiantian weather forecast”, “Guangdong weather forecast”, “Shenzhen weather forecast”, and obtains specific business descriptions, including business name and operation, from the business center. , parameters, and QoS information.
  • the service in the template center is just a reference, and there is no specific business description.
  • the service registration center returns a service list to the service discovery unit, and the service discovery unit returns a service list to the service combination engine.
  • the business combination engine requests the screening service from the service screening unit. Because the "Shenzhen weather forecast” cannot be accessed, it is filtered; comparing the QoS situation, "Qiantian weather forecast” is better than “Guangdong weather forecast", so the business screening unit selects " Ask the weather forecast "to provide services.
  • the business combination engine generates a service call based on the "question weather forecast" provided by the business screening unit.
  • the implementation of this step is the same as the abstract BPEL generation service call steps 7, 8, and 9, which are not described here.
  • the embodiment of the present invention provides a mechanism for converting abstract combined service logic into specific combined business logic by abstracting the service description mechanism and the service template mechanism, and realizing dynamic business combination and dynamic service selection.
  • the embodiment of the present invention further provides a mechanism for directly executing abstract combined business logic, and can directly generate a service call according to the service abstract description, thereby eliminating the step of converting into a specific combined business logic. It also provides a mechanism to generate concrete composite business logic when directly executing abstract composite business logic.
  • the embodiment of the present invention further provides an automatic generation process of abstract combined business logic, which can directly generate abstract combined business logic according to the specific combined business logic, and provide abstract combined business logic for the automatic business combination.
  • the backtracking can be dynamically performed, the specific service description is converted into a template description, and then a suitable service is dynamically selected for replacement. The dynamic replacement when the called service is inaccessible is resolved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

组合业务处理、 替换、 具体业务调用的方法、 装置及系统 技术领域
本发明涉及互联网领域, 特别是涉及一种组合业务处理、 组合业务替换、 具体业务调用的方法、 装置以及组合业务系统。 背景技术
业务组合有静态业务组合和动态业务组合之分。 其中, 静态业务组合中 组合业务逻辑事先指定需要调用的具体业务, 即在组合业务逻辑运行前指定 业务调用, 例如可通过图形或文本编辑界面生成组合业务逻辑; 有的业务组 合环境提供了图形化用户界面, 让用户使用鼠标拖拉从业务目录中选择合适 的业务来构建组合业务逻辑。 这种机制不能在运行时动态地选择合适的业务 来提供给请求者, 特别在业务不可访问时存在严重缺陷。
动态业务组合中组合业务逻辑在运行时指定调用的业务, 能解决静态业 务组合的一些缺陷。 目前动态业务组合主要基于语义技术, 可以分为半自动 组合和自动组合。 所述半自动组合指在用户定义组合业务逻辑时提供业务语 义上的描述, 但用户仍需要事先描述被调用业务之间的执行顺序。 所述自动 组合则只需要提供一些必要参数, 就可以自动生成组合业务逻辑, 即自动生 成业务的调用顺序, 并自动选择合适的业务, 一般使用 AI planning (人工智 能推理)等技术进行自动地选择业务和生成组合业务逻辑。
目前, 现有技术提供一种将抽象组合业务逻辑转换为具体组合业务逻辑 的实现机制。
先定义业务组合的不同阶段, 即设计阶段、 业务选择阶段、 流程生成阶 段和运行阶段。 其中, 先通过使用语义描述的活动 (activity ) 的模板设计业 务组合流程; 其次, 为每个 activity动态选择服务, 并生成具体的数据流, 重 复该步骤直到所有 activity都被具体业务替换, 再次, 根据所有具体业务生成 可执行的流程; 最后, 运行可执行的组合业务逻辑。 更具体的, 用服务的 Web本体语言( OWL-S, Ontology Web Language for Service )将 activity替换成具体业务的过程为: 用 OWL-S来描述 activity, 通 过语义描述匹配具体业务, 生成商业流程执行语言 (BPEL, Business Process Execution Language )脚本。 主要特点是釆用 OWL - S来描述业务调用。 业务 组合引擎遍历组合业务逻辑; 当遍历到由 OWL - S描述的业务调用时, 触发 "抽象生成具体" 流程; 业务组合引擎根据 OWL - S的业务描述去动态发现 具体的业务; 组合引擎将具体业务的调用描述来替换 OWL - S的业务调用描 述; 直到替换所有的 OWL - S的业务调用描述后生成 BPEL脚本。
因此, 由上述过程可知, 该过程都需要人为提供业务语义上的描述, 且 实现过程复杂。 都是间接将抽象组合业务逻辑转换成具体组合业务逻辑, 而 不能直接执行抽象组合业务逻辑的机制。 同样, 在现有技术中, 没有涉及到 从具体组合业务逻辑生成抽象组合业务逻辑的机制; 也不能解决组合业务逻 辑执行过程中所调用服务不能访问时的问题。 发明内容
本发明实施例提供一种组合业务处理、 组合业务替换、 具体业务调用的 方法及装置, 解决组合业务逻辑执行时能动态选择具体业务的问题。
本发明实施例解决的另一技术问题为: 解决在组合业务执行过程中调用 具体业务失败时, 动态将具体业务替换成另一种同功能的具体业务的问题。
为解决上述问题, 本发明实施例提供一种组合业务处理方法, 所述方法 包括步骤:
获取组合业务逻辑中业务调用片段描述所对应的具体业务, 其中所述业 务调用片段为抽象业务调用片段或业务模板调用片段;
触发业务替换, 请求将所述业务调用片段替换成所获取具体业务的具体 业务调用片段; 或触发业务调用, 请求根据所述具体业务生成服务调用。
本发明实施例还提供一种组合业务替换方法, 所述方法包括步骤: 获取组合业务逻辑中具体业务调用片段信息对应的业务模板信息; 用所述模板信息替换所述组合业务逻辑中的具体业务调用片段信息。 本发明实施例还提供一种具体业务调用方法, 所述方法包括步骤: 当具体业务调用片段所描述的业务不能提供服务时, 获取具体业务调用 片段描述对应的业务模板信息;
根据所述业务模板信息查询获得具体业务;
根据所述具体业务生成服务调用。
相应的, 本发明实施例提供一种组合业务处理装置, 所述装置包括: 获取单元, 用于获取所述组合业务逻辑中抽象业务调用片段或业务模板 调用片段描述所对应的具体业务;
触发生成单元, 用于触发业务组合适配, 请求将抽象业务调用片段或业 务模板调用片段替换成所获得的具体业务的具体业务调用片段; 或用于根据 所述具体业务生成服务调用。
本发明实施例还提供一种组合业务替换装置, 所述装置包括:
模板信息获取单元, 用于在检测到具体组合业务逻辑中的服务业务调用 片段时, 获取具体组合业务逻辑中具体业务描述的业务名对应的业务模板信 息;
适配触发单元, 用于触发业务组合适配, 请求将所述模板信息替换所述 具体组合业务逻辑中的具体业务调用。
本发明实施例再提供一种具体业务调用装置, 所述装置包括:
模板信息获取单元, 用于在具体服务调用片段不能提供服务时, 获取具 体业务描述对应的业务模板信息;
具体业务获取单元, 用于根据所述业务模板信息向注册中心查询, 获得 符合业务模板的具体业务;
服务调用生成单元, 用于根据所述具体业务生成服务调用。
本发明实施例还提供一种一种组合业务系统, 其特征在于, 包括: 业务 注册中心, 组合业务子系统, 其中, 所述业务注册中心包括:
业务中心, 用于存储业务信息;
模板中心, 用于存储模板信息, 以及业务和业务模板之间的映射关系; 所述组合业务子系统包括: 包括上述组合业务处理装置、 组合业务替换 装置和具体业务调用装置的一个或多个。
由上述技术方案可知, 本发明实施例通过将抽象组合业务逻辑转换成具 体组合业务逻辑的机制, 实现了动态的业务组合、 动态的业务选择。 能根据 业务抽象描述直接生成服务调用, 省去了转换成具体组合业务逻辑的步骤。 此外, 当组合业务逻辑执行过程中调用的业务不能用时, 能动态进行回溯, 根据具体业务描述获取相应模板信息, 进而动态选择一个合适的业务来替换。 解决了所调用的业务不可访问时的动态替换。 还能根据具体组合业务逻辑自 动生成抽象组合业务逻辑。 附图说明
图 1为本发明实施例中组合业务处理的装置的结构示意图;
图 2为本发明实施例中组合业务替换的装置的结构示意图;
图 3为本发明实施例中具体业务调用的装置的结构示意图;
图 4为本发明实施例中组合业务处理方法的流程图;
图 5 为本发明实施例中业务组合引擎根据抽象描述生成具体描述的流程 图;
图 6为本发明实施例中业务注册中心的查询过程的流程图;
图 7为本发明实施例中组合业务替换方法的流程图;
图 8 为本发明实施例中具体组合业务逻辑生成抽象组合业务逻辑的流程 图;
图 9为本发明实施例中具体业务调用方法的流程图;
图 10为本发明实施例中具体业务替换方法的信令流程图;
图 11为本发明实施例中业务发现单元的结构示意图;
图 12为本发明实施例中模板信息获取单元的结构示意图;
图 13为本发明实施例中组合业务系统的结构图。 具体实施方式 本发明实施例通过抽象业务描述机制以及业务模板机制, 不但提供一种 将抽象组合业务逻辑转换成具体业务逻辑的机制; 还提供一种直接执行抽象 组合业务逻辑的机制。 同时, 还提供抽象组合业务逻辑的自动生成过程, 能 直接根据具体组合业务逻辑生成抽象组合业务逻辑。 当组合业务逻辑执行过 程中所调用的业务不能使用时, 能动态进行回溯 (即替换), 即将具体业务描 述转换成模板描述, 再根据模板与业务的映射关系动态选择一个合适的具体 业务来替换。
本发明实施例在调用具体业务时, 需要提供三部分信息: 业务(service ), 操作 ( operation )、 变量( variable )。 其中所述 variable可分为输入变量 ( input Variable )和输出变量( output Variable ), 例如在业务处理执行语言脚本 BPEL 中 partner Link、 operation、 input Variable、 output Variable指定了相应的 service、 operation, input Variable, output Variable的值。 但 BPEL只实现静态的业务组 合。 在实际应用中, 存在动态业务组合的需求, 即在业务运行的过程中需要 动态的调用合适的业务来满足用户需求。
为了满足动态业务组合的需求, 本发明实施例提供一种抽象业务描述机 制, 该抽象业务描述机制能支持动态的业务组合。 所述抽象业务描述机制需 要在描述业务调用时不指定具体调用信息,即不能同时指定 service, operation, input Variable、 output Variable的具体值, 但能才艮据 service、 operation ¾ input Variable, output Variable提供的信息发现合适的业务, 将此类动态的业务组合 称为基于抽象业务描述的业务组合。若 service operation, input Variable、 output Variable都没有指定具体值但指定了相应的模板名, 则称为基于模板的业务组 合。
所述抽象业务描述可分为基本标准描述和扩展标准描述 (以下缩写为基本 描述和扩展描述)。 所述基本描述包括: service标准描述、 operation标准描述、 input Variable标准描述、 output Variable标准描述; 而扩展描述则指除 service标 准描述、 operation标准描述、 input variable 准描述、 output Variable标准描述 之外的描述, 例如服务质量 QoS描述。基本描述用于动态业务组合时从业务目 录发现符合要求的业务列表; 而扩展描述则用于从发现的业务列表中 选符 合条件的业务。 其所述业务描述具体如表 1所示:
表 1
Figure imgf000008_0001
在抽象业务描述的基本描述中, 所述 service Criteria可包括多个业务类别 的描述信息,例如使用 XML描述时可以包括多个属性组( attribute Group )子元 素, 每个子元素包括两个属性, 分别指明了服务的类别以及该类别的值, 比 如某服务按地域分属于深圳, 则其类别为 area , 其值为 shenzhen , 描述为 <attribute Group category="area" name="shenzhen"/> )。 所述 OperationCriteria包 括一 个 属 性 name , 通 过该 属 性值 可 以 模糊 搜 索 。 所 述 input VariableCriteria/output VariableCriteria包括一个属 '1"生 type , 用于表示变量的 类型。
在抽象业务描述的扩展描述中, 可以含有多个子元素, 其中, Qos是一个 重要子元素, 它又有多个属性, 其中包括 delaytime等。
在基于抽象描述的动态组合中, 具体业务描述中 service、 operation、 inputVariable、 outputVariable中至少有一个值不能指定具体值, 此时才需要 abstractServiceDescription的基本描述所对应的抽象描述 (service、 operation ¾ inputVariable 、 outputVariable分另 ll对应 serviceCriteria、 OperationCriteria、 input VariableCriteria、 output VariableCriteria),而没指定具体值的属性由抽象业 务描述中的基本描述的相应描述来指定。 此外, 由扩展描述提供相应的信息 辅助发现业务。
对于业务的抽象描述示例如下, 其中 service与 serviceCriteria、 operation与 operationCriteria 、 input Variable与 input VariableCriteria 、 output Variable与 output VariableCriteria是相对应的, 只有在前者值不确定时(此处 H没值为为"
##" 时表示不确定) 时才会对应存在后者的扩展描述, 即只有在 service、 operation, input Variable , output Variable中至少一个为 "##,, 时, 才有扩展描 述 extentionCriteria。 如下例所示, 描述了一个抽象业务:
<serviceDescription service="##" operation="##" variable="##">
<baseCriteria>
<serviceCriteria>
<attributeGroup category= " categoryName " name="keywordValue"/>
〈I serviceCriteria>
<operationCriteria name="keywordValue"/>
<variableCriteria type="typeName"/>
</baseCriteria>
<extentionCriteria>
<qos>
<delaytime unit="timeUnit">value</delaytime>
</qos>
</ extentionCriteria>
〈I serviceDescription>
模板由抽象业务描述中的基本描述的相应属性提供描述, 每个模板都对 应着特定类别的业务,可以直接利用业务描述的 serviceCriteria来描述模板类别 (category)。 模板本身无扩展描述部分, 但所述扩展描述部分可以配合模板用 来选择具体业务。 当然模板具有自己的一些属性, 例如模板名等, 所述模板 的信息包括业务类别、 操作、 输入参数、 输出参数等信息。 下述示例描述了 一个模板:
<templateDescription template- 'templateName'^ <serviceCriteria>
<attributeGroup categor ="categoryName" name="keywordValue"/>
〈I serviceCriteria>
<operationCriteria name="keywordValue"/>
<inputVariableCriteria type="typeName"/>
<outputVariableCriteria type="typeName"/>
〈I templateDescription>
在基于模板的动态组合中, 具体业务描述中的 service、 operation , inputVariable, outputVariable中全都没指定具体值, 可以只提供模板名; 或将 模板名与模板描述一起提供。 通过在 baseCriteria中增加属性 template来定义, 其中属性 template的值为模板唯一标识符。 例如, 基于模板名的业务调用片段 描述如下:
<serviceDescription>
<baseCriteria template- ' templateName"/>
<extentionCriteria>
<qos>
<delaytime unit="timeUnit">value</delaytime>
</qos>
</ extentionCriteria>
〈I serviceDescription>
例如, 基于模板详细描述的业务调用片段描述如下, 不需要提供业务描 述中的具体业务描述。 该模板的详细描述同上例的模板名保持一致。
<serviceDescription>
<baseCriteria template- ' templateName">
<serviceCriteria>
<attributeGroup categor ="categoryName" name="keywordValue"/> 〈I serviceCriteria>
<operationCriteria name="keywordValue"/>
<inputVariableCriteria type="typeName"/>
<outputVariableCriteria type="typeName"/>
</baseCriteria> <extentionCriteria>
<qos>
<delaytime unit="timeUnit">value</delaytime>
</qos>
</ extentionCriteria>
〈I serviceDescription> 由此可知, 模板和业务存在一种映射关系, 该映射关系表示该模板所能 涵盖的业务, 即通过该模板可以动态选择那些与模板具有映射关系的业务。 此外, 通过业务名也可以查找到一个业务模板。
在本发明中, 将组合业务逻辑分为抽象组合业务逻辑和具体组合业务逻 辑。 抽象组合业务逻辑是指组合业务逻辑中存在业务抽象描述; 具体组合业 务逻辑指组合业务逻辑中都是具体业务描述。 此处业务抽象描述包括模板描 述。 对于指定模板名的抽象描述所描述的业务调用称为业务模板调用片段, 相应的动态组合称为基于模板描述的动态组合; 对于没有指定模板名的抽象 描述所描述的业务调用片段称为抽象业务调用片段, 相应的动态组合称为基 于抽象业务描述的动态组合。
为了便于本领域技术人员的理解, 下面结合附图及实施例对本发明作详 细的说明。
请参阅图 1 , 为本发明实施例业务组合处理的装置的结构示意图, 用于实 现业务组合的功能, 能执行具体组合业务和抽象组合业务。 所述装置包括: 业务组合引擎 11、 业务发现单元 12、 业务 选单元 13和组合业务逻辑适配单 元 14, 其中所述业务组合引擎 11又包括: 获取单元 112和触发生成单元 113。 优 选的, 所述业务组合引擎 11还可以包括触发单元 111。
其中, 所述触发单元 111 , 用于触发基于业务抽象描述(包括模板描述) 的组合业务逻辑的处理方式, 包括触发调用和触发替换; 所述获取单元 112, 用于获取所述组合业务逻辑中抽象业务调用片段或业务模板调用片段描述所 对应的具体业务; 所述触发生成单元 113 , 用于触发组合业务适配, 请求将抽 象业务调用片段或业务模板调用片段替换成所获得的具体业务的具体业务调 用片段; 或用于根据所述具体业务生成服务调用。
所述业务组合引擎 11用于辨别具体组合业务逻辑和抽象组合业务逻辑; 能根据组合业务逻辑类型执行具体组合业务逻辑或触发基于抽象描述 /模板的 动态业务组合; 能根据组合业务逻辑中的业务抽象描述(包括模板描述)触 发业务发现请求, 查询业务目录; 能根据业务发现单元 12获得的业务触发业 务筛选请求, 向业务筛选单元 13请求筛选请求; 能根据业务筛选单元 13获得 的业务, 触发组合业务逻辑适配, 向组合业务逻辑适配单元 14请求将抽象组 合业务逻辑中的抽象描述 (包括模板描述)替换成具体业务。 能根据调用的 具体业务, 获取相应模板信息, 可应用于自动生成抽象组合业务逻辑或调用 业务失败时的回溯。
自动生成抽象组合业务逻辑是指能根据具体组合业务逻辑生成抽象组合 业务逻辑, 使得组合业务逻辑能动态绑定业务。 回溯指在调用业务失败时, 能根据该业务获取相应模板信息, 并根据该模板获取功能一致的业务。
优选的, 所述业务组合引擎 11还可以包括: 业务调用片段生成单元 114, 用于根据所述替换后的具体业务调用片段生成服务调用。
需要说明的是, 所述触发单元 111、 获取单元 112和触发生成单元 113可以 集成在业务组合引擎中, 也可以独立存在。
所述业务发现单元 12, 与触发单元 111相连, 用于根据抽象业务描述(包 括模板描述)生成业务发现请求, 根据所述业务发现请求向业务注册中心进 行业务查询, 获取到符合要求的业务列表, 并将所述业务列表发送给业务组 合引擎;
参见图 11 ,所述业务发现单元 12包括:生成子单元 1110、发送子单元 1120、 接收子单元 1130和反馈子单元 1140。其中所述生成子单元 1110,用于根据抽象 业务描述信息生成业务发现请求; 所述发送子单元 1120, 用于向业务注册中 心发送业务查询信息, 所述查询信息包括: 查询类型、 业务描述和限定条件; 或者包括查询类型、 模板描述和限定条件; 所述接收子单元 1130, 用于接收 所述业务注册中心反馈符合查询信息的业务列表, 所述业务列表包括一个或 多个具体业务; 所述反馈子单元 1140, 用于反馈业务列表。
也就是说, 所述业务发现单元 12 , 用于根据抽象组合业务逻辑中提供的 抽象业务描述信息, 生成业务发现请求, 并根据业务发现请求向业务注册中 心查询, 即在发现符合要求的具体业务列表, 并返回给业务组合引擎 11 (对 于根据非模板描述的抽象业务描述的发现, 可以直接查找业务; 也可以先查 找模板, 再根据模板查找业务。 对于根据模板描述的发现则直接查找业务。 )。 能根据具体业务信息发现相应模板。
所述业务筛选单元 13 , 用于在接收到业务组合引擎触发的业务筛选时, 能根据自身的 选条件 选所述业务列表, 得到符合 选条件的业务列表, 从所述符合 选条件的业务列表中选择一个具体业务反馈给所述业务组合引 擎 11中获取单元 112。
所述组合业务逻辑适配单元 14 , 用于在接收到业务组合引擎 11请求的组 合业务逻辑适配时, 将抽象业务调用片段或业务模板调用片段替换成所获得 的具体业务的具体业务调用片段。 也就是说, 根据业务组合引擎 11提供的一 个具体业务, 将抽象组合业务逻辑中该业务的抽象描述替换成具体业务。 根 据业务组合引擎提供的模板信息将组合业务逻辑中该业务的具体描述替换成 模板。
其中, 在本实施例中, 所述业务发现单元 12向业务注册中心 15查询的具 体过程为: 所述业务注册中心 15 , 用于存储业务信息和业务模板信息。 包括: 业务中心 151和模板中心 152。 其中, 所述业务中心 151和模板中心 152可以看 作是业务注册中心的两个视图, 通过映射关系将业务和模板联系在一起, 模 板中心中有业务唯一标识符与模板标识符对应, 而业务中心则有业务唯一标 识符同业务信息对应, 当然模板中心还有与模板标识符对应的模板信息。 其 中模板信息至少包括基本信息: 业务分类信息、 操作和参数; 业务信息至少 包括基本信息: 业务分类信息、 操作和参数; 还可以包括扩展信息: 服务质 量 QoS等。
所述业务中心 151 , 用于存储业务信息, 其中所述业务信息分为两类: 原 子业务和组合业务。 所述原子业务完成的功能不需要调用其它业务; 组合业 务由组合业务逻辑描述, 调用其它业务配合完成该功能。
所述模板中心 152 , 用于存储业务模板信息, 以及业务模板和业务的映射 信息。 一个业务模板可以对应一个或多个业务。
此外, 在该实施例中, 所述业务发现单元 12和业务 选单元 13也可以直 接交互, 即不通过业务组合引擎 11来控制。
还请参阅图 2 , 为本发明实施例中组合业务替换装置的结构示意图, 所述 装置包括: 业务组合引擎 21和组合业务逻辑适配单元 23 , 还可以包括业务发 现单元 22。 为了便于理解, 在该图中, 还包括业务注册中心 24及其模板中心 241。 所述业务组合引擎 21包括: 模板信息获取单元 211和适配触发单元 212。 所述组合业务逻辑适配单元 23包括: 增加子单元 231和删除子单元 232。 其中, 所述模板信息获取单元 211 , 用于在检测到具体组合业务逻辑中的服务业 务调用片段时, 获取具体组合业务逻辑中具体业务描述的业务名对应的业务 模板信息;
所述适配触发单元 212 , 用于触发业务组合适配, 请求将所述模板信息替 换所述具体组合业务逻辑中的具体业务调用。
需要说明是, 所述模板信息获取单元 211和适配触发单元 212可以集成在 业务组合引擎中, 也可以独立存在。
所述组合业务逻辑适配单元 23 , 用于在接收到适配触发单元请求的组合 业务逻辑适配时, 将所述模板信息替换所述具体组合业务逻辑中的具体业务 调用片段。 具体包括: 增加子单元 231 , 用于在具体组合业务逻辑中的具体业 务调用片段中增加业务抽象描述的基本描述部分, 并在基本描述部分增加模 板名及对应的模板描述; 删除子单元 232 , 用于在增加子单元添加完成时删除 对应的具体业务描述。
所述模板信息获取单元 211 : 用于根据具体业务描述向业务发现单元 22触 发业务模板查询请求。 参见图 12, 所述模板信息获取单元 211包括: 查询请求 发送子单元 1210、 模板信息接收子单元 1220和模板信息反馈子单元 1230。 其 中, 所述查询请求发送子单元 1210 , 用于根据具体业务描述向业务发现单元 发送业务模板查询请求; 所述业务发现子单元 1210 , 用于根据所述模板查信 请求向模板中心发送业务查询信息, 所述业务查询信息包括具体业务调用描 述的业务名 (即为业务标识符); 所述模板信息接收子单元 1220 , 用于接收模 板中心反馈所述业务名对应的业务模板信息, 所述业务模板信息, 包括模板 名及模板描述; 所述模板信息反馈子单元 1230 , 用于向业务组合引擎反馈所 述业务模板信息。
业务发现单元 22 , 用于根据接收到的模板查询请求向业务注册中心 24中 的模板中心 241发送查询信息, 所述查信信息包括具体业务描述的业务名, 业 务发现单元 22还包括模板信息接收单元和模板信息反馈单元; 模板信息接收 单元, 用于接收模板中心 241反馈所述业务名对应的业务模板信息, 所述业务 模板信息, 包括模板名及模板描述; 模板信息反馈单元, 用于向业务组合引 擎反馈所述业务模板信息。
再请参阅图 3 , 为本发明实施例中业务调用装置的结构示意图, 所述装置 包括: 业务组合引擎 31 , 所述业务组合引擎 31包括: 模板信息获取单元 311、 具体业务获取单元 312和服务调用生成单元 313。 所述装置还可以包括业务发 现单元 32 , 组合业务逻辑适配单元 33。 为了便于描述, 该图中还包括业务注 册中心 34 , 所述注册中心 34包括业务中心 341和模板中心 342。 其中, 所述模 板信息获取单元 311 , 用于在具体组合业务逻辑中的服务调用片段不能提供服 务时, 获取具体组合业务逻辑中具体业务描述对应的业务模板信息; 所述具 体业务获取单元 312, 用于根据所述业务模板信息通过业务发现单元向模板中 心查询, 获得符合业务模板的具体业务, 进而查询业务中心获得具体业务信 息; 所述服务调用生成单元 313 , 用于根据所述具体业务生成服务调用。
优选的, 参见图 12, 所述模板信息获取单元 311包括: 查询请求发送子单 元 1210、 模板信息接收子单元 1220和模板信息反馈子单元 1230。 其中, 所述 查询请求发送子单元 1210 , 用于根据具体业务描述向业务发现单元发送业务 模板查询请求; 所述业务发现子单元 1210 , 用于根据所述模板查信请求向模 板中心发送业务查询信息, 所述业务查询信息包括具体业务调用描述的业务 名 (即为业务标识符); 所述模板信息接收子单元 1220 , 用于接收模板中心反 馈所述业务名对应的业务模板信息, 所述业务模板信息, 包括模板名及模板 描述; 所述模板信息反馈子单元 1230 , 用于向业务组合引擎反馈所述业务模 板信息。
因此, 所述业务组合引擎能支持具体组合业务逻辑和抽象组合业务逻辑 两种模式。 业务组合引擎不但支持抽象组合业务逻辑自动生成具体组合业务 逻辑, 也支持根据抽象描述片段生成服务调用; 还支持业务调用失败时动态 选择其它业务来替换; 还支持具体组合业务逻辑自动生成抽象组合业务逻辑。
业务组合引擎支持抽象组合业务逻辑的直接执行模式和间接执行模式。 其中直接执行模式指业务组合引擎能直接执行抽象组合业务逻辑, 不需要先 将抽象组合业务逻辑转换成具体组合业务逻辑, 业务组合引擎检测到抽象描 述后直接调用相应服务。 间接执行模式指业务组合引擎先将抽象组合业务逻 辑替换成具体组合业务逻辑, 然后再执行具体组合业务逻辑, 调用相应服务。 其中, 直接执行模式也可以支持生成具体组合业务逻辑, 业务组合引擎检测 到抽象描述后先将该处抽象描述替换成具体业务调用然后直接调用业务, 不 同于间接模式之处在于间接模式需要把抽象组合业务逻辑中的所有抽象描述 替换成具体业务后在运行, 而直接模式的这种具体组合业务逻辑方式生成则 不需要等待替换所有的抽象组合业务逻辑。 其中, 直接执行模式也支持调用 具体业务失败时选择其它业务来提供服务的机制。
业务组合引擎支持根据具体组合业务逻辑生成抽象组合业务逻辑的过 程。
业务组合引擎能支持具体组合业务逻辑调用和抽象组合业务逻辑调用两 种模式。 组合业务逻辑中由众多业务调用片段组成, 每个业务调用片段可以 用具体业务描述, 也可以用抽象业务描述(包括模板), 把前者称为具体业务 调用片段, 对于抽象业务描述(包括模板), 指定模板名的抽象业务描述称为 业务模板调用片段, 没指定模板名的则称为抽象业务调用片段。。 相应的, 本发明实施例还提供一种组合业务处理方法, 所述方法的流程 图如图 4所示, 所述方法包括步骤:
步骤 401 : 获取组合业务逻辑中业务调用片段描述所对应的具体业务, 其 中所述业务调用片段为抽象业务调用片段或业务模板调用片段;
步骤 402: 触发业务替换, 请求将所述业务调用片段替换成所获得的具体 业务的具体业务调用片段; 或触发业务调用, 请求根据所述具体业务生成服 务调用。
在步骤 401中, 所述获取所述组合业务逻辑中抽象业务调用片段或业务模 板调用片段描述所对应的具体业务的过程为: 根据所述业务发现请求向业务 注册中心进行业务查询, 所述业务查询的信息包括: 查询类型、 业务描述和 限定条件; 或者包括查询类型、 模板描述和限定条件; 接收所述业务注册中 心反馈符合查询信息的业务列表, 所述业务列表包括一个或多个具体业务; 选择并反馈业务列表中的一个具体业务。
优选的, 所述根据抽象业务调用片段描述生成业务发现请求的过程为: 根据抽象业务调用片段信息中的基本描述信息生成业务模板发现请求, 其中, 所述基本描述信息包括业务类别、 操作信息、 参数信息; 根据所述业 务模板发现请求进行业务模板查询, 获得匹配所述基本描述信息的业务模板 信息。
优选的, 所述根据具体业务生成服务调用的过程中用具体业务替换抽象 业务调用片段或业务模板调用片段, 包括在生成业务调用前或调用时或调用 后进行业务替换。
另外, 在替换过程中生成服务调用, 具体为: 在替换前, 根据获得的具 体业务生成服务调用; 或者在替换后, 根据获得的具体业务或替换后的具体 业务调用片段生成服务调用; 或者在替换的同时, 根据获得的具体业务生成 服务调用。
所述方法还可以包括: 在请求替换前, 触发对所述业务列表的 选, 得 到符合筛选条件的具体业务。 然后可以根据具体业务生成服务调用, 还可以 根据替换后的具体业务调用片段生成服务调用。 其生成服务调用的过程为: 触发业务调用, 提取所述具体业务中的必要信息, 根据所述必要信息生成服 务调用; 或者, 根据所述具体业务调用片段直接生成服务调用, 所述必要信 息包括: 业务地址、 业务名、 操作或参数。
对于本实施例的具体实现过程详见图 5。 为本发明实施例中业务组合 ^ I擎 对抽象组合服务逻辑的间接执行 (即根据抽象描述生成具体描述)的流程图。 如图 5所示, 业务组合引擎每检测到抽象描述时, 就执行 "根据抽象描述生成 具体描述" 流程, 直到所有的抽象描述都替换成具体业务。 具体包括步骤: 步骤 501 : 业务组合引擎触发基于抽象描述的业务组合; 业务组合引擎检 查组合业务逻辑, 若发现组合业务逻辑中无抽象描述, 即具体业务描述的 service、 operation、 input Variable、 output Variable 指定了具体值 , 即表明该组 合业务逻辑是具体组合业务逻辑, 不触发基于抽象描述的业务组合, 流程结 束。 若组合业务逻辑中某段脚本有抽象描述, 即具体业务描述的 service , operation、 input Variable、 output Variable中有一个未指定具体值 (例如, 可以 值为特定值 "## , 即表明该段脚本是抽象描述脚本, 则业务组合引擎触发 基于抽象描述的业务组合。
步骤 502: 业务组合引擎注册中心进行业务查信; 即业务组合引擎在判断 该处脚本是抽象描述后, 业务组合引擎触发业务发现单元向业务注册中心进 行业务查询, 其中查询信息中包括查询类型、 业务描述和限定条件; 或查询 类型、 模板描述和限定条件。 其中业务描述包括具体业务描述和抽象业务描 述的基本描述; 限定条件即为抽象业务描述的扩展描述部分; 模板描述可为 模板名, 或为模板的具体描述, 即利用抽象业务描述的基本描述部分。 查询 类型包括根据业务描述查询、 根据模板描述查询。 对于指定模板名的直接根 据模板描述查询; 否则既可以根据模板描述查询也可以根据业务描述查询, 此处根据模板描述查询是指先查询获得模板信息, 从而进一步获得业务信息。
步骤 503 : 业务注册中心反馈查信结果; 即业务注册中心才艮据业务发现单 元递交的查询信息进行查询, 并返回符合查询条件的业务列表, 其具体的查 询过程详见图 6中的描述。
步骤 504: 业务发现单元向业务组合引擎反馈业务列表; 即业务发现单元 将获得的查询结果, 即符合查询条件的业务列表, 反馈给业务组合引擎。
步骤 505: 业务组合引擎向业务筛选单元触发筛选流程, 将业务列表发送 给业务 选单元。
步骤 506: 所述业务筛选单元反馈具体业务; 即根据自身的筛选条件, 筛 选业务列表, 过滤不符合 选条件的业务。 选条件包括业务可达性等, 这 些筛选条件具有一定的业务无关性, 同业务抽象描述的限定条件具有一定互 补性。 若有多个业务, 则随机选择一个业务提供给业务组合引擎。
步骤 507: 业务组合引擎根据获得的业务触发组合业务逻辑适配, 请求组 合业务逻辑适配单元根据提供的具体业务替换抽象描述。
步骤 508: 替换抽象描述; 即所述组合业务逻辑适配单元提取业务信息中 的必要信息, 例如业务名、 操作、 参数等, 将抽象业务描述中的具体业务描 述补充完整, 同时删除抽象业务描述的基本描述和扩展描述。
在步骤
其中, 在步骤 503中, 所述业务注册中心的查询过程如图 6所示, 具体包 括步骤:
步骤 601 : 业务注册中心判断根据模板查询还是根据业务抽象描述查询; 若抽象描述中提供了模板名或模板信息,则是根据模板查询,则执行步骤 602; 否则根据业务抽象描述查询, 执行步骤 606。
步骤 602: 若查询类型是根据模板查询, 则业务注册中心检测是否指定模 板名。 若指定模板名则执行步骤 603 , 否则执行步骤 604。
步骤 603 : 如果模板描述中指定了具体的模板名, 则查询模板中心获得该 模板相应的业务列表。 转 610。
步骤 604:如果模板描述中没指定具体的模板名,则根据模板描述的 service 部分(例如类型)查询模板中心, 获取相应的模板列表。
步骤 605: 根据模板描述中的操作以及参数信息过滤模板列表, 获得符合 模板描述的模板列表, 从而获得模板列表中的所有模板相对应的业务列表。 然后执行步骤 610。
步骤 606: 若查询类型是根据业务描述查询, 则业务注册中心检测是否指 定业务名。 若指定业务名则执行步骤 607 , 否则执行步骤 608。
步骤 607: 若业务描述中指定了具体的业务名, 则直接查找业务中心获得 相应的业务列表。 然后执行步骤 609。
步骤 608: 若业务描述中没指定具体的业务名, 则根据抽象描述中基本描 述的 service部分(例如业务类型)查询业务中心获得相应的业务列表。
步骤 609: 根据具体业务描述的操作、 参数部分或抽象描述中基本描述的 操作、 参数部分或其组合, 过滤业务列表中不符合条件的。
步骤 610: 根据限定条件(即业务抽象描述的扩展部分)对获得业务列表 进行过滤生成符合查询条件的业务列表; 若无限定条件则跳过此过程。
也就是说, 所述业务注册过程为:
1、 向注册中心请求注册业务, 请求消息中包括业务信息以及模板信息, 其中业务信息包括业务标识符、业务类别、操作、参数以及 QoS等扩展参数等, 模板信息包括模板标识符。 其中模板信息为可选信息。
2、 业务中心接收注册请求后进行业务注册。 在业务注册中心添加所述业 务信息, 在模板中心添加同该模板标识符相对应的映射表中添加业务标识符 信息。
所述模板注册的过程为:
1、 向注册中心请求注册模板, 请求消息中包括模板信息和业务信息, 其 中模板信息包括模板标识符、 业务类别、 操作、 参数等, 业务信息包括业务 标识符或标识符列表, 其中业务信息可选。
2、 模板中心接收注册请求后进行模板注册。 在模板注册中心添加所述模 板信息, 在模板中心添加同该模板标识符相对应的映射表中添加业务标识符 信息。
所述通过模板查相应业务信息: 1、 向注册中心请求业务信息查询, 请求消息中包括模板信息, 其中模板 信息包括模板标识符等
2、 注册中心接收查询请求后, 通过模板标识符向模板注册中心的映射表 中查询, 获得相应的业务标识符列表;
3、 通过业务标识符列表向业务注册中心查询, 获得业务标识符列表相应 的业务信息列表
通过业务查相应模板信息:
1、 向注册中心请求模板信息查询, 请求消息中包括业务信息, 其中业务 信息包括业务标识符等
2、 注册中心接收查询请求后, 通过业务标识符向模板注册中心的映射表 中查询, 获得相应的模板标识符;
3、 通过模板标识符向模板注册中心查询, 获得模板标识符相应的模板信 息。
另外, 本发明实施例还可以根据抽象描述生成服务调用 (即直接执行)。 即组合服务的执行包括可执行脚本的执行和抽象描述的执行, 对于可执行脚 本的执行是现有技术, 此处不再描述, 当组合引擎检测到可执行脚本时就直 接调用服务。 当可执行脚本和抽象描述都执行完毕时, 整个组合服务才执行 完毕。 组合引擎对抽象组合服务逻辑的直接执行过程同间接执行过程类似, 每检测到抽象描述就执行步骤 501至步骤 506 , 然后生成服务调用。
在不需要生成具体组合业务逻辑的情况下, 具体包括: 图 5中的步骤 501 至 506 , 具体详见上述, 在此不再赘述; 在执行步骤 506后, 执行步骤: 业务 组合引擎触发业务调用。 业务组合引擎根据获取的业务提取业务信息中的必 要信息, 例如业务地址、 业务名、 操作、 参数等, 生成服务调用。
此外, 本发明实施例为了能满足后续快速执行该组合业务的需求, 需要 在执行抽象组合业务逻辑后生成具体组合业务逻辑, 方便将具体组合业务逻 辑作为下次调用该业务时的组合业务逻辑。 在需要生成具体组合业务逻辑的 情况下, 具体包括步骤: 图 5中的步骤 501至 508 , 具体详见上述, 在此不再赘 述; 在执行步骤 508后或执行步骤 508过程中, 执行步骤: 业务组合引擎触发 业务调用。 业务组合引擎根据获取的业务提取业务信息中的必要信息, 例如 业务地址、 业务名、 操作、 参数等, 生成服务调用; 或者业务组合引擎根据 生成的具体组合业务逻辑片段直接生成服务调用。
相应的, 本发明实施例对具体业务的处理流程包括: 具体组合业务逻辑 生成抽象组合业务逻辑流程和回溯。
请参阅图 7 ,本发明实施例中组合业务替换方法的流程图,所述方法包括: 步骤 701 : 获取组合业务逻辑中具体业务调用片段信息对应的业务模板信 息;
其中, 所述获取的过程为: 根据具体业务描述向业务发现单元触发业务 模板查询请求;
所述业务发现单元向模板中心发送查询信息, 所述查信信息包括具体业 务描述的业务名 (即业务标识符);
所述业务发现单元接收模板中心反馈所述业务名对应的业务模板信息, 所述业务模板信息, 包括模板名及模板描述, 并反馈所述业务模板信息
步骤 702: 用所述模板信息替换所述组合业务逻辑中的具体业务调用片段 信息。
其中, 在具体组合业务逻辑中的具体业务调用片段中增加业务抽象描述 的基本描述部分, 并在基本描述部分增加模板名及对应的模板描述, 同时删 除对应的具体业务描述。
本实施例的具体实现过程详见图 8。 如图 8所示, 为本发明实施例中具体 组合业务逻辑生成抽象组合业务逻辑的流程图, 也就是说, 业务组合系统提 供抽象组合业务逻辑的自动生成过程。 以下流程描述了将具体组合业务逻辑 中的一个服务调用片段替换成抽象描述(此处是模板描述) 的过程。 在抽象 组合业务逻辑生成过程中, 只要按序替换具体组合业务逻辑中的一个具体服 务调用就生成了一个抽象组合业务逻辑。 业务组合 1擎检测到具体组合业务 逻辑中的一个服务调用片段时, 触发业务模板替换过程。 具体包括: 步骤 801 : 业务组合引擎根据具体组合业务逻辑中的业务具体描述向业务 发现单元触发模板查询请求。
步骤 802: 业务发现单元根据业务具体描述中的业务名查询模板中心, 获 得一个业务模板, 并抽取模板名以及相应模板描述。
步骤 803 : 模板中心给业务发现单元返回业务模板信息, 包括模板名以及 相应模板描述。
步骤 804: 业务发现单元给业务组合引擎返回业务模板信息。
步骤 805 : 业务组合引擎触发组合业务逻辑适配过程, 请求组合业务逻辑 适配单元根据获取的业务模板信息替换具体组合业务逻辑中的具体业务调 用。
步骤 806: 组合业务逻辑适配单元在具体组合业务逻辑的具体业务调用片 段中增加业务抽象描述的基本描述部分, 并在基本描述部分增加模板名或者 增加模板的描述。 同时删除相应的具体业务描述, 即省略具体业务描述部分 的业务名、 业务操作、 参数信息。
即如下基于模板名的抽象逻辑:
<serviceDescription>
<baseCriteria template- ' templateName"/>
</ serviceDescription>
或如下基于详细模板描述的抽象逻辑
<serviceDescription>
<baseCriteria template- ' templateName">
<serviceCriteria>
<attributeGroup category=" categoryName " name="keywordValue"/> </ serviceCriteria>
<operationCriteria name="keywordValue"/>
<variableCriteria type="typeName"/>
</baseCriteria>
</ serviceDescription>
在执行具体组合业务逻辑时, 会遇到所调用的业务不能提供服务的情况, 此时就需要一种回溯机制来保证此时组合业务逻辑的正常运行, 需要寻找一 个替换业务来提供服务。 但该回溯机制不局限于业务组合中。
还请参阅图 9,为本发明实施例中业务替换方法的流程图,所述方法包括: 步骤 901 : 当具体业务调用片段所描述的业务不能提供服务时, 获取具体 业务调用片段描述对应的业务模板信息;
其中, 所述获取具体业务描述的业务名对应的业务模板信息的过程为: 根据具体业务描述向业务发现单元触发业务模板查询请求; 所述业务发现单 元向模板中心发送业务查询信息, 所述业务查询信息包括具体业务描述的业 务名; 所述业务发现单元接收模板中心反馈所述业务名对应的业务模板信息, 所述业务模板信息包括: 模板名及对应的模板描述, 并反馈所述业务模板信 息。
步骤 902: 根据所述业务模板信息查询获得具体业务;
步骤 903: 根据所述具体业务生成服务调用。
对于本实施例其具体的实现过程详见图 10。 如图 10所示, 为本发明实施 例中所述回溯 (替换) 的具体流程图。 也就是说, 当业务组合引擎检测到一 个具体服务调用片段时, 若遇到所调用的服务不能提供服务, 就触发回溯机 制。 此处不能提供服务包括业务返回调用失败, 或者业务响应超时等, 其具 体业务替换的过程包括:
步骤 1001至步骤 1003 : 业务组合引擎根据具体业务描述向业务发现单元 触发模板查询请求, 业务发现单元根据业务具体描述获得一个业务模板, 其 中包括模板名以及相应模板描述。 具体同具体组合业务逻辑生成抽象组合业 务逻辑流程的步骤 801至 803。
步骤 1004: 业务发现单元向业务注册中心进行业务查询, 其中查询类型 为根据模板描述查询; 模板信息为模板名或为模板的具体描述; 限定条件为 空。
步骤 1005: 业务注册中心根据业务发现单元递交的查询信息进行查询, 并返回符合查询条件的业务列表。 其业务注册中心具体的查询过程详见图 6中 步骤 601、 602、 603和步骤 610; 或者步骤 601、 602、 604、 605和 610。 在此不 再赘述。
步骤 1006: 业务发现单元将获得的查询结果, 即业务列表, 提供给业务 组合引擎。 该步骤的实现过程与步骤 504相同, 在此不再赘述。
步骤 1007和 1008: 业务组合引擎触发业务^选单元进行业务^选, 获得 符合条件的一个业务。 该步骤的实现过程与步骤 505和 506相同, 在此不再赘 述。
在获得符合条件的业务后, 即可进行服务调用。
此外, 在本实施例中步骤 1004也可以替换上述步骤中步骤 1004和 1005。 即在经过业务发现单元的模板查询后, 模板中心直接获得符合条件的模板, 并查询模板中心获得同该模板绑定的业务名; 并根据该业务名查询业务中心 获取相应的所有业务描述信息。
此外, 本发明实施例还提供一种组合业务系统, 参见图 13 , 所述系统包 括: 业务注册中心 1310 , 组合业务子系统 1320 , 其中, 所述注册中心 1310包 括:
业务中心 1311 , 用于存储业务信息;
模板中心 1312 , 用于存储模板信息, 以及业务和业务模板之间的映射关 系;
所述组合业务子系统 1320包括: 包括组合业务处理装置 1321、 组合业务 替换装置 1322和具体业务调用装置 1323的一个或多个: 其中,
所述组合业务处理装置 1321包括:
获取单元 112, 用于获取所述组合业务逻辑中抽象业务调用片段或业务模 板调用片段描述所对应的具体业务;
触发生成单元, 用于触发业务组合适配, 请求将抽象业务调用片段或业 务模板调用片段替换成所获得的具体业务的具体业务调用片段; 或用于根据 所述具体业务生成服务调用。
所述组合业务替换装置包括: 模板信息获取单元 211 , 用于在检测到具体组合业务逻辑中的服务业务调 用片段时, 获取具体组合业务逻辑中具体业务描述的业务名对应的业务模板 信息;
适配触发单元 212 , 用于触发业务组合适配, 请求将所述模板信息替换所 述具体组合业务逻辑中的具体业务调用。
所述具体业务调用装置 1323包括:
模板信息获取单元 311 , 用于在具体服务调用片段不能提供服务时, 获取 具体业务描述对应的业务模板信息;
具体业务获取单元 312 , 用于根据所述业务模板信息向注册中心查询, 获 得符合业务模板的具体业务;
服务调用生成单元 313 , 用于根据所述具体业务生成服务调用。
优选的, 所述组合业务子系统 1320还包括:
业务发现单元 1324 , 用于根据抽象业务描述(包括模板描述)生成业务 发现请求, 根据所述业务发现请求向注册中心进行业务查询, 获取到符合要 求的业务列表, 并反馈所述业务列表;
业务筛选单元 1325 , 用于在接收到业务筛选请求时, 筛选所述业务列表, 得到符合 选条件的业务列表, 从所述符合 选条件的业务列表中选择一个 具体业务, 并反馈所述具体业务;
组合业务逻辑适配单元 1326 , 用于在接收到组合业务逻辑适配请求时, 将抽象业务调用片段或业务模板调用片段替换成所获得的具体业务的具体业 务调用片段。
其中, 所述业务注册中心 1310、 组合业务处理装置 1321、 组合业务替换 装置 1322和具体业务调用装置 1323的具体功能和作用详见上述, 在此不再赘 述。
为了便于本领域技术人员的进一步理解本发明, 下面以基于 BPEL的具体 实施例来说明。
在描述实施例之前, 先介绍一下概念: BPEL扩展描述: 在 BPEL中, 调用业务时一般需要提供五部分信息: activity、 partnerLink (指定了具体的业务, 相当于上述的 service )、 operation、 input Variable、 output Variable ,而同业务相关的信息包括 partnerLink、 operation、 input Variable、 output Variable , 示 ^口下 activity invoked口下:
<invoke partnerLink="plName"operation="opName" input Variable="variableName" output Variable="variableName"/>
在可执行的 BPEL脚本中, 详细指定了 activity、 partnerLink、 operation、 inputVariable, outputVariable , 即相当于指定了具体业务调用, 是一种静态的 业务组合。 在实际应用中, 存在动态业务组合的需求, 即在业务运行的过程 中动态地进行业务调用。 为满足动态业务组合的需求, 需要对现有 BPEL进行 扩展, 使其能支持动态的业务组合。 此时就需要在设计流程描述脚本时不能 指定具体的业务, 即不能同时指定 artnerLink、 operation、 input Variable、 outputVariable的具体值, 但能根据 artnerLink、 operation、 input Variable、 outputVariable提供的综合信息以及附加的业务描述信息发现合适的业务,将此 类动态的业务组合称为基于 BPEL模板的业务组合。
业务描述可分为基本描述和扩展描述。 此处的基本描述包括 service描述、 operation ¾述、 input Variable ¾述和 outputVariable 4 述; 而扩展 4 述则指除 service、 operation、 input Variable、 output Variable之夕卜的 4 述, 1"列 ^口 QoS4 述。 基本描述用于动态业务组合时从业务目录发现符合要求的业务; 而扩展描述 则用于从发现的业务中筛选符合条件的业务。
在基于模板的业务组合中, 需要扩展现有 BPEL语言。 Activity的 attribute ¾述目当于上述的 concrete ServiceDescription , activity的 element^述目当于上 述的 abstractServiceDescription。 如表 2所示:
表 2
Figure imgf000027_0001
output Variable (输出变量)
Element baseCriteria serviceCriteria (服务标准 )
(元素) (基本标准) operationCriteria (操作标准 )
inoutVariableCriteria (输入变量标准 ) output VariableCriteria (输出变量标准) extentionCriteria Qos (服务盾量)
(扩展标准) 在基于 BPEL模板的动态组合中, partnerLink、 operation, input Variable、 outputVariable中至少有一个属性的值不能指定实际值。对于不能指定实际值的 属性用 "鼎" 来替代其真实值。 对于 activity中属性值为 "盤" 的属性, 需要 在对应 baseCriteria的元素中进行描述。
BPEL的 activivy中 partnerLink指定名称, 该 partnerLinks名称的声明中指定 了 partnerLinkType ,该 partnerLinkType声明中指定了 WSDL的 portType , 而描述 所调用的业务真正由 protType声明。因此本实施所说 partnerLink没指定实际值, 实际上指没有指定 portType。
对于 activity的描述示例如下, 其中 partnerLink和 serviceCriteria、 operation 和 operationCriteria 、 inputvariable和 inputvariableCriteria 、 outputvariable和 outputvariableCriteria是相对应的, 只有在前者值为" 冊" 时才会对应存在后者 々 卜充 4 述, 只有在 partnerLink、 serviceCriteria、 operation、 inputvariable、 outputvariable中至少一个为 "##,, 时, 才有扩展描述 extentionCriteria。 该示例 表示扩展 BPEL的一个服务调用描述。
<activity partnerLink="##" operation="##" variable="##">
<baseCriteria>
<serviceCriteria>
<attributeGroup categor ="categoryName" name="keywordValue"/> 〈I serviceCriteria>
<operationCriteria name="keywordValue"/>
<inputvariableCriteria type="typeName"/>
<outputvariableCriteria type="typeName"/> </baseCriteria>
<extentionCriteria>
<qos>
<delaytime unit="timeUnit">value</delaytime>
</qos>
</ extentionCriteria>
</activity>
本发明第一应用实施例:
在业务注册中心的业务中心中有如下业务, 由业务名、 业务分类、 操作、 输入、 输出、 QoS组成。 此处用业务名作为业务标识符。 如表 3所示:
Figure imgf000029_0001
Figure imgf000029_0002
在业务注册中心的模板中心有同业务中心相对应的模板, 并描述了业务 与模板的映射关系。 图表 4所示:
表 4
Figure imgf000029_0003
天气预 WeatherReport Query Address、 Time temperature、 weather 问天天气预报、 广东天气 预报、 深圳天气预报 报
深圳航 Booking Book Depart、 Arrival、 electronicTicket 深圳航空机票 空机票 Time
Query Depart、 Arrival、 ticketResult 深圳航空机票 Time
假如在 BPEL的脚本中, 有一处要调用一个天气预报业务, 此处假设不提 供具体的业务, 而只提供业务的抽象描述, 而在执行过程中调用具体业务。
BPEL脚本如下所示, 只提供一个 activity作为示例:
<process name="combinationService">
表明整个脚本描述了一个名为 combinationService的组合业务。
<partnerLinkType name=" weatherQueryLT ">
<plnk:role name="weatherReportService" portType="##" />
<partnerLinkType>
描述伙伴类型, 指定被调用的业务,
Figure imgf000030_0001
中的 01"^ 6来描述。
<partnerLinks>
<partnerLink name="customer" partnerLinkType="weatherQueryLT"/>
</partnerLinks>
表明同该组合业务具有伙伴关系的业务,此例中为 customer,真实身份由 partnerlinks来实现, 实际上间接由 porttype指定。
<variables>
<variable name="weatherRequest" messageType="weatherRequestType">
<complexType name="weatherRequestType">
<element name="address" type="string"/>
<element name="time" type="date"/>
</complexType>
</variable>
<variable name="weatherResponse" messageType="weatherResponseType">
<complexType name="weatherResponseType">
<element name="temperature" type="string"/> <element name=" weather" type="string"/>
</complexType>
</variable>
</variables>
定义了相关变量。
<sequence>
其中, 所述 Sequence表明内部是一个流程
<invoke partnerLink="customer"
operation=" query "
inputVariable =" weatherRequest "
outputVariable =" weatherResponse ">
<baseCriteria>
<serviceCriteria>
<attributeGroup categor ="area" name=" Shenzhen"/>
<attributeGroup categor ="serviceType" name="WeatherReport"/> 〈I serviceCriteria>
</baseCriteria>
<extentionCriteria>
<qos>
<delaytime unit="s">6</delaytime>
</qos>
</ extentionCriteria>
</invoke>
上述为一个服务调用的描述。
</sequence>
</process>
在经过业务组合引擎处理之后, 会生成具体的 BPEL脚本, 其中业务的抽 象描述都被具体描述所替换。 BPEL参考如下, 即具体 BPEL脚本示例为: <process name="combinationService"
xmlns:sif=f†http://example.com/SZWeatherReport/interface/M> < partnerLinkType name=" weatherQueryLT ">
<role name="weatherReportService"
portType="sif: shippingServicePT" />
<partnerLinkType>
<partnerLinks>
<partnerLink name=" customer" partnerLinkType="weatherQueryLT"/> </partnerLinks>
<variables>
<variable name="weatherRequest" messageType="weatherRequestType"> <complexType name="weatherRequestType">
<element name="address" type="string"/>
<element name="time" type="date"/>
</complexType>
</variable>
<variable name="weatherResponse" messageType="weatherResponseType"> <complexType name="weatherResponseType">
<element name="temperature" type="string"/>
<element name: "weather" type="string"/>
</complexType>
</variable>
</variables>
<sequence>
<invoke partnerLink=" customer"
operation:" query "
input Variable =" weatherRequest "
output Variable =" weatherResponse ">
</invoke> </sequence>
</process> 本发明第二应用实施例: 抽象 BPEL生成具体 BPEL
殳设一位深圳的用户要调用一个组合业务, 其中组合业务中调用到一个 天气预报业务, 该实施例流程描述动态寻找一个天气预报业务、 并替换抽象 业务描述的过程。 其 BPEL脚本如上述 "抽象 BPEL脚本示例"。
业务筛选单元定义如下策略: 在同等条件下选择 QoS好的业务。
1、 业务组合引擎检查 BPEL脚本, 检测到 partnerLink未指定具体值(虽然 partnerLink的值为 customer , 但 customer所指定的 partnerLinkType为 weatherQueryLT, 但 weatherQueryLT所指定的 portType为空。), 即没有指定具 体的调用业务, 即表明该 BPEL脚本是抽象 BPEL,业务组合引擎触发基于抽象 描述的业务组合。
2、 业务组合引擎在判断该处脚本是抽象描述后, 根据该处所调用的业务 的抽象描述向业务发现单元进行业务查询。 抽象描述如下。
<serviceDescription partnerLink="customer" operation=" query "
inputVariable =" weatherRequest " outputVariable =" weatherResponse "> <baseCriteria>
<serviceCriteria>
<attributeGroup category: "area" name="Shenzhen"/>
<attributeGroup category="serviceType" name="WeatherReport"/> 〈I serviceCriteria>
</baseCriteria>
<extentionCriteria>
<qos>
<delaytime unit="s">6</delaytime>
</qos>
</ extentionCriteria>
〈I serviceDescription>
业务组合引擎生成的查询信息包括查询类型、 业务描述和限定条件。 因 为抽象描述中提供了具体的操作、 参数, 所以此处查询类型是根据业务描述 查询, 而不是根据模板查询 (提供模板名且抽象描述中具体业务、 操作、 参 数都没提供, 则属于根据模板查询)。
其中具体业务描述除 service夕卜, operation、 input Variable、 output Variable 都指定具体值, 抽取除 service外的具体描述如下。
operation="query" inputVariable ="weatherRequest" outputVariable ="weatherResponse"
抽象业务描述的基本部分为:
<baseCriteria>
<serviceCriteria>
<attributeGroup category: "area" name="Shenzhen"/>
<attributeGroup category="serviceType" name="WeatherReport"/>
〈I serviceCriteria>
</baseCriteria>
由上述的基本部分和具体描述部分组成了业务描述。
抽取抽象业务描述的扩展部分作为限定条件, 如下:
<extentionCriteria>
<qos>
<delaytime unit="s">6</delaytime>
</qos>
</ extentionCriteria>
3、 业务注册中心根据业务组合引擎提供的查询信息进行查询。 由于查询 类型为根据业务描述查询, 且业务描述中没指定具体的业务名, 所以根据抽 象描述中基本描述的业务部分查询业务中心。 根据范围 area是 Shenzhen, 业务 类型 serviceType是 WeatherReport查询业务注册中心的业务中心,有 "问天天气 预报"、 "深圳天气预报" 符合条件。
再才艮据具体业务 4 述的操作 ( operation="query" ) . 参数 ( inputVariable ="weatherRequest" outputVariable ="weatherResponse" )进行业务过滤 , 两个业 务都满足需求。
再根据限定条件的 QoS需求进行业务过滤, 两个业务都满足需求, 生成业 务列表, 其中包括两个业务: "问天天气预报"、 "深圳天气预报"。 业务注册中心返回业务列表给业务发现单元。
4、业务发现单元将获得的查询结果, 即业务列表,提供给业务组合引擎。
5、 业务组合引擎根据获得的业务列表触发业务筛选, 将业务列表传递给 业务 选单元。
6、 业务 选单元根据自身的 选条件 选业务列表, 过滤不符合条件的 业务。 由于业务筛选单元定义 "在同等条件下选择 QoS好的业务" 策略, 在比 较 "问天天气预报" 和 "深圳天气预报" 的 QoS, 发现 "深圳天气预报" 能提 供更好的 QoS, 于是选择 "深圳天气预报" 提供给业务组合引擎。
7、 业务组合引擎根据获得的 "深圳天气预报" 触发组合业务逻辑适配, 请求业务适配单元根据提供的具体业务替换抽象描述。
8、组合业务逻辑适配单元提取业务信息中的必要信息(此处即为 portType 信息, 包括其命名空间), 将抽象业务描述中的具体业务描述补充完整(此处 为 partnerLinkType中的 portType ) ,同时删除删除抽象业务描述的基本描述和扩 展描述。
生成的 BPEL脚本如上述 "具体 BPEL脚本示例"。
本发明第三应用实施例, 即根据抽象 BPEL生成服务调用
该实施例 支设同上, 该实施例流程描述动态寻找一个天气预 业务、 并 生成服务调用的过程。 其 BPEL脚本如上述 "抽象 BPEL脚本示例"。
1-6: 同 "抽象 BPEL生成具体 BPEL" , 省略。
7: 业务组合引擎触发业务调用。 业务组合引擎根据获取的业务提取业务 信息中的必要信息, 例如业务名、 业务地址、 操作、 参数等, 生成 SOAP调用。
SOAP消息示例如下。
<SOAP-ENV:Envelope
xmlns: SOAP -ENV="http://schemas. xmlsoap.org/soap/envelope/"
SOAP -ENV:encodingStyle="http://schemas. xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<SZWeatherReport:Query xmlns: SZWeatherReport ="Some-URI"> <address>Shenzhen</address>
<time>20070520</time>
</SZWeatherReport:Query>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
若需要在执行抽象 BPEL后生成具体组合业务逻辑, 流程如下:
1-8: 同 "抽象 BPEL生成具体 BPEL" , 省略。
9: 业务组合引擎触发业务调用。 业务组合引擎根据获取的业务提取业务 信息中的必要信息, 例如业务地址、 业务名、 操作、 参数等, 生成服务调用; 或者业务组合引擎根据生成的 BPEL片段直接生成服务调用。
本发明第四应用实施例 , 即具体 BPEL生成抽象 BPEL
假设有一具体 BPEL脚本如上述 "具体 BPEL脚本示例",在经过抽象 BPEL 流程处理后自动生成抽象 BPEL脚本。 本实施例中将具体的 "深圳天气预报" 业务替换成 "天气预报" 模板。
业务组合弓 I擎检测到具体 BPEL脚本中的一个服务调用片段时, 触发业务 模板替换过程。
业务组合引擎根据具体 BPEL脚本中的业务具体描述向业务发现单元触 发模板查询请求。
相关业务具体描述如下:
<process name="combinationService"
xmlns:sif="http:〃 example.com/SZWeatherReport/interface/">
< partnerLinkType name=" weatherQueryLT ">
<role name="weatherReportService"
portType="sif: shippingServicePT" />
<partnerLinkType>
<partnerLinks>
<partnerLink name=" customer" partnerLinkType="weatherQueryLT"/> </partnerLinks>
<invoke partnerLink=" customer"
operation:" query "
input Variable =" weatherRequest "
output Variable =" weatherResponse ">
</invoke>
1、 业务发现单元从业务具体描述中获取业务名。 此处 partnerLink为 "customer" , 但 "customer" 并不是真正的调用业务; 从 "customer" 获得其 partnerLinkType为 "weatherQueryLT"; 从 " weatherQueryLT " 获得其相应的 portType为 "sif: shippingServicePT"; 再根据 portType的值以及名字空间获取业 务描述, 从而确定业务名。 此处业务名为 SZWeatherReport (深圳天气预报)。
2、 根据获取的业务名查询模板中心, 获得 "深圳天气预报" 查询业务的 一个模板, 并抽取模板名以及相应模板描述。 模板如下:
<templateDescription template="weatherReportTemplate">
<serviceCriteria>
<attributeGroup category="serviceType" name="weatherReport"/>
</ serviceCriteria>
<operationCriteria name=" Query "/>
<inputVariableCriteria type=" weatherRequest "/>
<outputVariableCriteria type=" weatherResponse "/>
</ templateDescription>
1、 模板中心给业务发现单元返回业务模板信息, 包括模板名以及相应模 板描述。
2、 业务发现单元给业务组合引擎返回业务模板信息。
3、 业务组合引擎触发组合业务逻辑适配过程, 请求组合业务逻辑适配单 元根据获取的业务模板信息替换具体组合业务逻辑中的具体业务调用。
4、 组合业务逻辑适配单元在具体组合业务逻辑的具体业务调用片段中增 加业务抽象描述的基本描述部分, 由于次数是基于模板的替换, 所以基本描 述的字段都为空,即 portType、 operation ¾ input Variable、 output Variable都用 "##,, 替换; 在基本描述部分增加抽象业务的基本描述, 用于描述 service (即 portType)、 operation、 input Variable、 output Variable信息, 其描述内容由模板 信息提供。
生成的抽象 BPEL描述如下:
<process name="combinationService"
xmlns:sif=,,##,,〉
< partnerLinkType name=" weatherQueryLT ">
<role name="weatherReportService"
portType="sif: ##" />
<partnerLinkType>
<partnerLinks>
<partnerLink name="customer" partnerLinkType="weatherQueryLT"/>
</partnerLinks>
<sequence>
<invoke partnerLink="customer"
operation=" ## "
inputVariable =" ## "
outputVariable =" ## ">
<baseCriteria template- 'weatherReportTemplate'^
<serviceCriteria>
<attributeGroup categor ="serviceType" name="WeatherReport"/>
</ serviceCriteria>
<operationCriteria name=" Query "/>
<inputVariableCriteria type=" weatherRequest "/>
<outputVariableCriteria type=" weatherResponse "/>
</baseCriteria>
</invoke>
</sequence> </process>
本发明第五应用实施例, 即回溯的实现过程
在执行具体 BPEL时, 由于 BPEL只能提供静态的业务组合。 所以在执行 BPEL脚本时可能会存在所调用的业务已失效的情况。 本实施例描述在执行 BPEL脚本时, 调用的 "深圳天气预报" 业务失效, 业务组合引擎提供另外一 个业务来调用。 4艮设 BPEL脚本为 "具体 BPEL脚本示例"。 具体过程为:
1、 业务组合引擎执行具体 BPEL中的 "深圳天气预报" 时, 遇到所调用 的服务不能提供访问, 就触发回溯机制。
2、 业务组合引擎根据具体 BPEL脚本中的业务具体描述向业务发现单元 触发业务查询请求, 业务发现单元根据业务具体描述中的业务名查询模板中 心, 获得该服务相应的一个模板, 此处即 "天气预报" 模板。 该步骤的实现 过程同具体 BPEL生成抽象 BPEL步骤 2, 3 , 4。
3、模板中心根据 "天气预报"模板获得对应的业务, 即 "问天天气预报"、 "广东天气预报"、 "深圳天气预报", 并向业务中心获取具体的业务描述, 包 括业务名、 操作、 参数以及 QoS信息等。 在该步骤中, 模板中心的业务只是一 个引用, 没具体的业务描述。
4、 业务注册中心给业务发现单元返回业务列表, 业务发现单元给业务组 合引擎返回业务列表。
5、 业务组合引擎向业务筛选单元请求筛选业务, 由于 "深圳天气预报" 不能访问,被过滤; 再比较 QoS情况, "问天天气预报"优于 "广东天气预报", 所以业务筛选单元选择 "问天天气预报" 来提供服务。
6、 业务组合引擎根据业务筛选单元提供的 "问天天气预报" 生成服务调 用。 该步骤的实现过程同抽象 BPEL生成服务调用步骤 7、 8、 9, 在此不再赘 述。
由此可见, 本发明实施例通过抽象业务描述机制以及业务模板机制, 提 供了一种将抽象组合业务逻辑转换成具体组合业务逻辑的机制, 实现了动态 的业务组合、 动态的业务选择。 本发明实施例还提供直接执行抽象组合业务逻辑的机制, 能根据业务抽 象描述直接生成服务调用, 省去了转换成具体组合业务逻辑的步骤。 同时还 提供一种机制在直接执行抽象组合业务逻辑时附带生成具体组合业务逻辑。
本发明实施例还提供抽象组合业务逻辑的自动生成过程, 能直接根据具 体组合业务逻辑生成抽象组合业务逻辑, 为自动业务组合提供抽象组合业务 逻辑。
当执行组合业务逻辑执行过程中调用的业务不能用时, 能动态进行回溯, 将具体业务描述转换成模板描述, 进而动态选择一个合适的业务来替换。 解 决了所调用的业务不可访问时的动态替换。
以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普 通技术人员来说, 在不脱离本发明原理的前提下, 还可以作出若干改进和润 饰, 这些改进和润饰也应视为本发明的保护范围。

Claims

权 利 要求 书
1、 一种组合业务处理方法, 其特征在于, 包括步骤:
获取组合业务逻辑中业务调用片段描述所对应的具体业务, 其中所述业务 调用片段为抽象业务调用片段或业务模板调用片段;
触发业务替换, 请求将所述业务调用片段替换成所获取具体业务的具体业 务调用片段; 或触发业务调用, 请求根据所述具体业务生成服务调用。
2、 根据权利要求 2所述组合业务处理方法, 其特征在于, 所述获取组合业 务逻辑中业务调用片段描述所对应的具体业务的过程为:
根据抽象业务调用片段描述、 业务模板调用片段描述或获得的业务模板信 息生成业务发现请求;
根据所述业务发现请求进行业务查询, 获取符合查询信息的具体业务的业 务列表;
选择业务列表中的一个具体业务。
3、 根据权利要求 2所述组合业务处理方法, 其特征在于, 所述查询信息包 括: 查询类型、 业务描述和限定条件; 或者包括查询类型、 模板描述和限定条 件。
4、 根据权利要求 2所述组合业务处理方法, 其特征在于, 所述业务模板信 息为模板名、 业务类别、 业务操作、 输入参数、 输出参数的一种或者几种组合。
5、 根据权利要求 2所述组合业务处理方法, 其特征在于, 所述获得业务模 板信息的方法包括:
根据抽象业务调用片段信息中的基本描述信息生成业务模板发现请求, 其 中, 所述基本描述信息包括业务类别、 操作信息和参数信息; 根据所述业务模 板发现请求进行业务模板查询, 获得匹配所述基本描述信息的业务模板信息; 或者,
根据业务模板调用片段信息中的模板名直接获取业务模板信息。
6、 根据权利要求 1所述组合业务处理方法, 其特征在于, 所述具体业务与 业务模板之间存在映射关系, 根据所述映射关系查找到对应的具体业务或者业 务模板。
7、 根据权利要求 3所述组合业务处理方法, 其特征在于, 所述查询的过程 包括:
若根据模板查询, 则判断是否指定模板名, 若是, 则根据模板名查询模板 中心, 获取所述模板对应的业务列表; 否则, 根据模板描述的业务信息查询模 板中心, 获取所述模板对应的业务列表。
8、 根据权利要求 3所述组合业务处理方法, 其特征在于, 所述查询的过程 包括:
若根据业务描述查询, 则判断是否指定具体的业务名, 若是, 则直接查找 业务中心获得对应的业务列表; 否则, 根据业务抽象描述中基本描述的业务信 息查询, 获得对应的业务列表;
根据业务抽象描述的具体业务描述、 抽象描述中基本描述或二者结合进行 过滤所述业务列表, 得到符合条件的业务列表。
9、 根据权利要求 7或 8所述组合业务处理方法, 其特征在于, 所述查询的过 程还包括:
根据业务抽象描述的扩展部分对所获得的业务列表进行过滤, 生成符合查 询条件的业务列表。
10、 根据权利要求 2所述组合业务处理方法, 其特征在于, 所述选择业务列 表中的一个具体业务的过程为: 触发对所述业务列表的 选, 得到符合 选条 件的具体业务。
11、 根据权利要求 1所述组合业务处理方法, 其特征在于, 所述根据所述具 体业务生成服务调用具体包括:
在生成服务调用前或者在生成业务调用后或者在生成服务调用的同时, 用 具体业务替换抽象业务调用片段。
12、根据权利要求 1所述组合业务处理方法, 其特征在于, 所述方法还包括: 在替换过程中生成服务调用, 具体为: 在替换前, 根据获得的具体业务生成服务调用; 或者
在替换后, 根据获得的具体业务或替换后的具体业务调用片段生成服务调 用; 或者
在替换的同时, 根据获得的具体业务生成服务调用。
13、 根据权利要求 1所述组合业务处理方法, 其特征在于,
所述抽象业务调用片段包括: 所调用的业务、 业务操作和操作对应的参数 中至少有一个未指定具体值;
所述业务模板调用片段包括: 所调用的业务、 业务操作和操作对应的参数 都没指定具体值, 且指定了模板名;
所述具体业务调用片段包括: 所调用的业务、 业务操作和操作对应的参数 中全部指定具体值。
14、 一种组合业务替换方法, 其特征在于, 包括步骤:
获取组合业务逻辑中具体业务调用片段信息对应的业务模板信息; 用所述业务模板信息替换所述组合业务逻辑中的具体业务调用片段信息。
15、 根据权利要求 14所述组合业务替换方法, 其特征在于, 所述业务模板 信息包括: 模板名、 业务类别、 业务操作、 输入参数、 输出参数的一种或者几 种组合。
16、 根据权利要求 15所述组合业务替换方法, 其特征在于, 用所述模板信 息替换所述组合业务逻辑中的具体业务调用片段信息的过程为:
在组合业务逻辑的具体业务调用片段中的具体业务调用片段替换业务抽象 描述的基本描述部分, 并在基本描述部分增加模板名或对应的模板描述, 同时 删除所述具体业务调用片段对应的具体业务描述。
17、 根据权利要求 15所述组合业务替换方法, 其特征在于, 所述获取组合 业务逻辑中具体业务调用片段对应的业务模板信息的过程为:
根据具体业务描述触发业务模板查询请求;
接收对应业务模板查询请求业务模板查询请求的查询信息, 所述查信信息 包括具体业务描述的业务名;
根据所述业务名触发业务模板查询请求, 获得模板中心反馈所述业务名对 应的业务模板信息。
18、 根据权利要求 17所述组合业务替换方法, 其特征在于, 所述模板中心 根据业务名进行查询的过程为:
模板中心根据所述业务名, 查找映射表, 获得对应的业务模板信息, 其中, 所述映射表为存储业务名与业务模板之间的映射关系。
19、 一种具体业务调用方法, 其特征在于, 包括:
当具体业务调用片段所描述的业务不能提供服务时, 获取具体业务调用片 段描述对应的业务模板信息;
根据所述业务模板信息查询获得具体业务;
根据所述具体业务生成服务调用。
20、 根据权利要求 19所述具体业务调用方法, 其特征在于, 所述业务模板 信息包括: 模板名、 业务类别、 业务操作、 输入参数、 输出参数的一种或者几 种组合。
21、 根据权利要求 20所述具体业务调用方法, 其特征在于, 所述获取具体 业务调用片段描述对应的业务模板信息的过程为:
根据具体业务描述发送业务模板查询请求, 所述业务模板查询请求包括具 体业务描述的业务名;
获得所述业务名对应的业务模板信息。
22、 根据权利要求 20所述具体业务调用方法, 其特征在于, 所述根据所业 务模板信息查询获得具体业务的过程为:
根据所述业务模板信息向模板中心查询, 获得符合业务模板的业务列表; 触发对所述业务列表的筛选, 得到符合筛选条件的具体业务。
23、 根据权利要求 22所述具体业务调用方法, 其特征在于, 所述模板中心 根据业务模板信息进行查询的过程包括: 根据模板名查询模板中心, 获取该模板对应的业务列表。
24、 根据权利要求 23所述具体业务调用方法, 其特征在于, 所述模板中心 根据所述业务查询信息查询的过程还包括:
根据业务扩展部分对所获得的业务列表进行过滤, 生成符合查询条件的业 务列表。
25、 根据权利要求 19所述具体业务调用方法, 其特征在于, 所述具体业务 与业务模板之间存在映射关系, 根据所述映射关系查找到对应的具体业务或者 业务模板。
26、 一种组合业务处理装置, 其特征在于, 包括:
获取单元(112 ), 用于获取组合业务逻辑中抽象业务调用片段或业务模板 调用片段描述所对应的具体业务;
触发生成单元(113 ), 用于触发业务组合适配, 请求将抽象业务调用片段 或业务模板调用片段替换成所获得的具体业务的具体业务调用片段; 或用于根 据所述具体业务生成服务调用。
27、 根据权利要求 26所述组合业务处理装置, 其特征在于, 所述装置还包 括:
触发单元(111 ), 用于触发基于业务抽象描述的组合业务逻辑的处理方式, 包括触发调用和触发替换。
28、 根据权利要求 27所述组合业务处理装置, 其特征在于, 所述触发单元 ( 111 ), 获取单元( 112 )和触发生成单元( 113 )集成在业务组合引擎( 11 )中。
29、 根据权利要求 26所述组合业务处理装置, 其特征在于, 所述装置还包 括:
业务发现单元(12 ), 用于根据抽象业务描述生成业务发现请求, 根据所述 业务发现请求向注册中心进行业务查询, 获取到符合要求的业务列表, 并将所 述业务列表发送给业务组合引擎;
业务筛选单元(13 ), 用于在接收到业务组合引擎触发的业务筛选时, 筛选 所述业务列表, 得到符合 选条件的业务列表, 从所述符合 选条件的业务列 表中选择一个具体业务反馈给所述获取单元;
组合业务逻辑适配单元( 14 ), 用于在接收到业务组合引擎请求的组合业务 逻辑适配时, 将抽象业务调用片段或业务模板调用片段替换成所获得的具体业 务的具体业务调用片段。
30、 根据权利要求 26所述组合业务处理装置, 其特征在于, 所述装置还包 括: 业务调用片段生成单元(114 ), 集成在业务组合引擎中, 用于根据所述替 换后的具体业务调用片段生成服务调用。
31、 根据权利要求 26所述组合业务处理装置, 其特征在于, 所述业务发现 单元:
生成子单元(1110 ), 用于根据抽象业务描述生成业务发现请求;
发送子单元(1120 ), 用于向注册中心发送业务查询信息, 所述查询信息包 括: 查询类型、 业务描述和限定条件; 或者包括查询类型、 模板描述和限定条 件;
接收子单元( 1130 ),用于接收所述注册中心反馈符合查询信息的业务列表, 所述业务列表包括一个或多个具体业务;
反馈子单元(1140 ), 用于反馈业务列表。
32、 一种组合业务替换装置, 其特征在于, 包括:
模板信息获取单元 (211 ), 用于在检测到具体组合业务逻辑中的服务业务 调用片段时, 获取具体组合业务逻辑中具体业务描述的业务名对应的业务模板 信息;
适配触发单元(212 ), 用于触发业务组合适配, 请求将所述模板信息替换 所述具体组合业务逻辑中的具体业务调用。
33、 根据权利要求 32所述组合业务替换装置, 其特征在于, 模板信息获取 单元(211 )和适配触发单元(212 ) 集成在业务组合引擎(21 ) 中。
34、 根据权利要求 32所述组合业务替换装置, 其特征在于, 所述装置还包 括: 组合业务逻辑适配单元(23 ), 用于在接收到适配触发单元请求的组合业务 逻辑适配时, 将所述模板信息替换所述具体组合业务逻辑中的具体业务调用。
35、 根据权利要求 34所述组合业务替换装置, 其特征在于, 所述组合业务 逻辑适配单元( 23 ) 包括:
增加子单元(231 ), 用于在具体组合业务逻辑中的具体业务调用片段中增 加业务抽象描述的基本描述部分, 并在基本描述部分增加模板名及对应的模板 描述;
删除子单元(232 ), 用于在增加子单元添加完成时删除对应的具体业务描 述。
36、 根据权利要求 32所述组合业务替换装置, 其特征在于, 所述模板信息 获取单元包括:
查询请求发送子单元(1210 ), 用于根据具体业务描述发送业务模板查询请 求; 所述业务模板查询请求包括具体业务描述的业务名;
模板信息接收子单元( 1220 ), 用于接收所述业务名对应的业务模板信息, 所述业务模板信息, 包括模板名及模板描述;
模板信息反馈子单元( 1230 ),用于向业务组合引擎反馈所述业务模板信息。
37、 一种具体业务调用装置, 其特征在于, 包括:
模板信息获取单元 (311 ), 用于在具体服务调用片段不能提供服务时, 获 取具体业务描述对应的业务模板信息;
具体业务获取单元(312 ), 用于根据所述业务模板信息向注册中心查询, 获得符合业务模板的具体业务;
服务调用生成单元( 313 ), 用于根据所述具体业务生成服务调用。
38、 根据权利要求 37所述具体业务调用装置, 其特征在于, 所述模板信息 获取单元包括:
查询请求发送子单元(1210 ), 用于根据具体业务描述发送业务模板查询请 求, 所述业务模板查询请求包括具体业务描述的业务名; 模板信息接收子单元( 1220), 用于接收所述业务名对应的业务模板信息, 所述业务模板信息包括模板名及模板描述;
模板信息反馈子单元( 1230 ),用于向业务组合引擎反馈所述业务模板信息。
39、 根据权利要求 37所述具体业务调用装置, 其特征在于, 所述模板信息 获取单元(311)、 具体业务获取单元 (312)和服务调用生成单元(313 ) 集成 在业务组合引擎(31 ) 中。
40、 一种组合业务系统, 其特征在于, 包括: 业务注册中心 ( 1310), 组合 业务子系统( 1320), 其中, 所述注册中心 (1310) 包括:
业务中心 (1311 ), 用于存储业务信息;
模板中心(1312), 用于存储模板信息, 以及业务和业务模板之间的映射关 系;
所述组合业务子系统( 1320) 包括: 包括组合业务处理装置(1321)、 组合 业务替换装置 ( 1322)和具体业务调用装置 ( 1323 ) 的一个或多个: 其中, 所述组合业务处理装置 (1321 ) 包括:
获取单元(112), 用于获取所述组合业务逻辑中抽象业务调用片段或业务 模板调用片段描述所对应的具体业务;
触发生成单元(113 ), 用于触发业务组合适配, 请求将抽象业务调用片段 或业务模板调用片段替换成所获得的具体业务的具体业务调用片段; 或用于根 据所述具体业务生成服务调用;
所述组合业务替换装置 ( 1322 ) 包括:
模板信息获取单元 (211 ), 用于在检测到具体组合业务逻辑中的服务业务 调用片段时, 获取具体组合业务逻辑中具体业务描述的业务名对应的业务模板 信息;
适配触发单元(212), 用于触发业务组合适配, 请求将所述模板信息替换 所述具体组合业务逻辑中的具体业务调用;
所述具体业务调用装置 ( 1323 ) 包括: 模板信息获取单元 (311 ), 用于在具体服务调用片段不能提供服务时, 获 取具体业务描述对应的业务模板信息;
具体业务获取单元(312 ), 用于根据所述业务模板信息向注册中心查询, 获得符合业务模板的具体业务;
服务调用生成单元( 313 ), 用于根据所述具体业务生成服务调用。
41、 根据权利要求 40所述组合业务系统, 其特征在于, 所述组合业务子系 统还包括:
业务发现单元( 1324 ), 用于根据抽象业务描述生成业务发现请求, 根据所 述业务发现请求向注册中心进行业务查询, 获取到符合要求的业务列表, 并反 馈所述业务列表;
业务筛选单元( 1325 ), 用于在接收到业务筛选请求时, 筛选所述业务列表, 得到符合 选条件的业务列表, 从所述符合 选条件的业务列表中选择一个具 体业务, 并反馈所述具体业务;
组合业务逻辑适配单元( 1326 ), 用于在接收到组合业务逻辑适配请求时, 将抽象业务调用片段或业务模板调用片段替换成所获得的具体业务的具体业务 调用片段。
PCT/CN2008/072037 2007-08-31 2008-08-19 Procédé, appareil et système destinés au processus de service composite, remplacement et invocation du service concret Ceased WO2009030138A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP08784028.6A EP2107712B1 (en) 2007-08-31 2008-08-19 Method, apparatus and system for composite service process, replacement and concrete service invocation
US12/614,074 US8769101B2 (en) 2007-08-31 2009-11-06 Method, apparatus and system for processing composite service and replacing service and invoking service
US14/281,126 US20140258494A1 (en) 2007-08-31 2014-05-19 Method, apparatus and system for processing composite service and replacing service and invoking service

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710148480.6 2007-08-31
CN200710148480.6A CN101378324B (zh) 2007-08-31 2007-08-31 组合业务处理、替换、具体业务调用的方法和装置及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/614,074 Continuation US8769101B2 (en) 2007-08-31 2009-11-06 Method, apparatus and system for processing composite service and replacing service and invoking service

Publications (1)

Publication Number Publication Date
WO2009030138A1 true WO2009030138A1 (fr) 2009-03-12

Family

ID=40421684

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/072037 Ceased WO2009030138A1 (fr) 2007-08-31 2008-08-19 Procédé, appareil et système destinés au processus de service composite, remplacement et invocation du service concret

Country Status (5)

Country Link
US (2) US8769101B2 (zh)
EP (2) EP2293516B1 (zh)
CN (1) CN101378324B (zh)
ES (1) ES2477283T3 (zh)
WO (1) WO2009030138A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078447A (zh) * 2019-11-24 2020-04-28 杭州安恒信息技术股份有限公司 一种微服务架构中的异常定位方法、装置、设备、介质

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378324B (zh) 2007-08-31 2011-05-11 华为技术有限公司 组合业务处理、替换、具体业务调用的方法和装置及系统
CN101853152B (zh) * 2009-03-31 2014-05-07 华为技术有限公司 一种生成用户图形界面的方法和系统
CN102137135B (zh) * 2010-08-12 2014-07-09 华为技术有限公司 实现业务组合的方法、装置及系统
GB2509723A (en) * 2013-01-10 2014-07-16 Ibm Invoking web services that are determined at the time of execution
US9195456B2 (en) * 2013-04-30 2015-11-24 Hewlett-Packard Development Company, L.P. Managing a catalog of scripts
CN106296243A (zh) 2015-05-22 2017-01-04 阿里巴巴集团控股有限公司 业务实现方法及装置
CN105100117B (zh) * 2015-08-28 2018-07-13 北京奇艺世纪科技有限公司 一种用于访问组合服务的方法及装置
US10200271B2 (en) 2016-04-12 2019-02-05 International Business Machines Corporation Building and testing composite virtual services using debug automation
EP4401433A3 (en) * 2017-09-15 2024-08-07 Convida Wireless, LLC Service layer message templates in a communications network
CN107748720A (zh) * 2017-11-24 2018-03-02 中国银行股份有限公司 一种检测功能测试案例的业务参数的方法及装置
CN110288324A (zh) * 2019-06-28 2019-09-27 深圳前海微众银行股份有限公司 一种业务代码的生成、执行方法及装置
CN110321355A (zh) * 2019-07-12 2019-10-11 杭州美巴科技有限公司 一种自适应部分查询字段系统及执行方法
US20220382236A1 (en) * 2021-05-27 2022-12-01 Sap Se Shared automated execution platform in cloud
CN115630836A (zh) * 2022-09-29 2023-01-20 中国建设银行股份有限公司 业务处理的方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020061741A1 (en) 2000-08-01 2002-05-23 Leung Kelvin T. Apparatus and method for context-sensitive dynamic information service composition via mobile and wireless network communication
US20050009690A1 (en) 2003-07-10 2005-01-13 Guangxue Xu Catalyst component for olefin polymerization
US20060095576A1 (en) * 2004-10-29 2006-05-04 Russell Perry Asynchronous messaging in Web services
CN1867059A (zh) * 2006-02-09 2006-11-22 华为技术有限公司 一种页面背景动态更新方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030144860A1 (en) * 2002-01-31 2003-07-31 Fabio Casati Dynamic conversation logic selection method and system
US7248880B2 (en) * 2003-02-07 2007-07-24 Siemens Communications, Inc. Methods and apparatus for determining a location of a device
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US8050935B2 (en) * 2003-11-03 2011-11-01 Sony Corporation Dynamic web service composition to service a user request
US20050198206A1 (en) * 2004-01-30 2005-09-08 International Business Machines Corporation Method and apparatus for dynamically selecting functionally equivalent Web services through a single autonomic proxy
CN100508520C (zh) * 2004-06-03 2009-07-01 华为技术有限公司 基于虚拟局域网的二层虚拟专用网的实现方法
US7676539B2 (en) * 2005-06-09 2010-03-09 International Business Machines Corporation Methods, apparatus and computer programs for automated problem solving in a distributed, collaborative environment
CN1764183A (zh) 2005-11-03 2006-04-26 西安交通大学 一种基于计算机网络的QoS驱动的提供组合Web服务的计算机系统
US20070156622A1 (en) * 2006-01-05 2007-07-05 Akkiraju Rama K Method and system to compose software applications by combining planning with semantic reasoning
US20070245298A1 (en) * 2006-04-18 2007-10-18 International Business Machines Corporation Apparatus and data structure for automatic workflow composition
US8055935B2 (en) * 2006-09-14 2011-11-08 International Business Machines Corporation Dynamic adaptation in web service composition and execution
CN101378324B (zh) 2007-08-31 2011-05-11 华为技术有限公司 组合业务处理、替换、具体业务调用的方法和装置及系统
US9613324B2 (en) * 2008-03-28 2017-04-04 International Business Machines Corporation Apparatus and methods for decomposing service processes and for identifying alternate service elements in service provider environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020061741A1 (en) 2000-08-01 2002-05-23 Leung Kelvin T. Apparatus and method for context-sensitive dynamic information service composition via mobile and wireless network communication
US20050009690A1 (en) 2003-07-10 2005-01-13 Guangxue Xu Catalyst component for olefin polymerization
US20060095576A1 (en) * 2004-10-29 2006-05-04 Russell Perry Asynchronous messaging in Web services
CN1867059A (zh) * 2006-02-09 2006-11-22 华为技术有限公司 一种页面背景动态更新方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2107712A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078447A (zh) * 2019-11-24 2020-04-28 杭州安恒信息技术股份有限公司 一种微服务架构中的异常定位方法、装置、设备、介质
CN111078447B (zh) * 2019-11-24 2023-09-19 杭州安恒信息技术股份有限公司 一种微服务架构中的异常定位方法、装置、设备、介质

Also Published As

Publication number Publication date
EP2293516A2 (en) 2011-03-09
EP2107712B1 (en) 2015-11-11
US20140258494A1 (en) 2014-09-11
EP2107712A1 (en) 2009-10-07
US8769101B2 (en) 2014-07-01
EP2293516A3 (en) 2012-01-25
ES2477283T3 (es) 2014-07-16
EP2293516B1 (en) 2014-04-23
EP2107712A4 (en) 2010-09-01
CN101378324B (zh) 2011-05-11
CN101378324A (zh) 2009-03-04
US20100057917A1 (en) 2010-03-04

Similar Documents

Publication Publication Date Title
WO2009030138A1 (fr) Procédé, appareil et système destinés au processus de service composite, remplacement et invocation du service concret
CN101820381B (zh) 一种业务路由的方法,系统和装置
US7529833B2 (en) Method, system, and web service broker for dynamic web service invocation
US7451136B2 (en) System and method for searching multiple disparate search engines
JP5400305B2 (ja) 式の処理を改良した方法、装置、およびコンピュータプログラム
US20080320503A1 (en) URL Namespace to Support Multiple-Protocol Processing within Worker Processes
CN101065947A (zh) Web服务注册和操作方法
US8230448B2 (en) Methods, systems and computer program products for web service interaction with a resource management system
KR100901281B1 (ko) 유비쿼터스 웹서비스 방법
EP2024831A2 (en) A grid computing architecture&amp;associated method of invoking/registering network services for subscription
CN110557428A (zh) 一种基于Kubernetes的脚本解释型服务代理方法和系统
CN112328324B (zh) 可配置数据源的DataFetcher实现系统和方法
CN112306578B (zh) 可配置数据源的DataFetcher实现系统和方法
CN101888347B (zh) 用于系统整合的消息适配系统
WO2008111031A2 (en) An improved grid computing architecture and method for invoking network services for subscription
Mukhija et al. Dino: Dynamic and adaptive composition of autonomous services
JP2004126787A (ja) 情報サービス仲介システム、情報サービス仲介方法及び情報サービス仲介プログラム
CN118819685A (zh) 应用程序的配置信息获取方法、系统、设备、产品及介质
CN118377820A (zh) 一种基于流程标准化、场景分发的通用查询系统
Van Nguyen et al. Binding the Simple Query Interface
Chunxi Design of Extended Event Service Model Based on CORBA.
Matković et al. Handling web service interfaces
Zhao Design of Extended Event Service Model Based on CORBA
Morrison et al. Adapting a publish-subscribe middleware to a RPC response pattern
Duller Management and Federation of Stream Processing Applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08784028

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008784028

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE