Semantic-based transactional support and recovery for nested composite software services
AssigneeNextaxiom Technology, Inc.
InventorArash Massoudi
Life of this patent
Estimating the term…
Abstract
Methods, systems, frameworks and software products are disclosed for semantic-based definition of optionally nested transactional behavior, with an extensible automated, built-in ability to recover, commit, rollback or compensate while invoking nested composite software services containing other software services such as, but not limited to Web services.
Claims9
In a computing system having one or more computers configured to invoke one or more composite software services, each composite software service containing one or more embedded software services, a method of creating a context for a composite software service, the method comprising:
- identifying a composite software service containing one or more embedded software services;
- receiving a request to invoke the composite software service;
- tracking in an execution graph connectivity and data dependencies among the one or more embedded software services contained within the composite software service including tracking any context-sensitive attributes for the one or more embedded software services, the context-sensitive attributes declaring whether an embedded software service is transactional and recovery behavior of the embedded software service upon a termination event, wherein the recovery behavior is at least one of compensate, rollback or commit;
- tracking in an invocation map, based on the execution graph, a context of the composite software service, the context including states of execution of the one or more embedded software services;
- associating a unique ID with the invocation of each of the one or more embedded software services for the purpose of recovery from an unknown state;
- invoking one of the one or more embedded software services;
- when receiving an indication that invocation of one of the one or more embedded software services was successful, updating a state of the successful embedded software service in the invocation map;
- and
- when receiving an indication that invocation of one of the one or more embedded software services was unsuccessful, using the unique ID associated with the unsuccessful embedded software service to re-invoke the unsuccessful embedded software service.
Dependencies are inferred from the claim text.