Chengfei Liu, M. Orlowska, Xiaofang Zhou, Xuemin Lin
{"title":"确认:工作流应用程序中不可补偿性的解决方案","authors":"Chengfei Liu, M. Orlowska, Xiaofang Zhou, Xuemin Lin","doi":"10.1109/ICDE.1999.754910","DOIUrl":null,"url":null,"abstract":"The notion of a compensation is widely used in advanced transaction models as means of recovery from a failure. Similar concepts are adopted for providing \"transaction-like\" behaviour for long business processes supported by workflows technology. Generally, designing a compensating task in the context of a workflow process is a non-trivial job. In fact, not every task is compensatable. This work contributes to the study of the non-compensatability problem. A compensating task C of a task T semantically undoes the effect of T after T has been committed. For example, the compensating task of a deposit is a withdrawal. For a task to be compensatable, it must satisfy two conditions. Forcibility: The compensating task of the task must be forcible. In other words, after the task commits, the execution of its compensating task is guaranteed to succeed by the application semantics. Relaxation of isolation: The isolation requirement of the shared data resources which the task may access must be relaxed. This relaxation is required as the purpose of introducing compensation is to avoid long-duration waiting, otherwise, compensation may become useless. In this work, we carefully investigate the properties of shared resources and tasks which may be performed on these resources. As all its invoked operations must be compensatable as well if a task is compensatable, we only discuss the compensatability of operations defined on shared resources.","PeriodicalId":236128,"journal":{"name":"Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1999-03-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Confirmation: a solution for non-compensatability in workflow applications\",\"authors\":\"Chengfei Liu, M. Orlowska, Xiaofang Zhou, Xuemin Lin\",\"doi\":\"10.1109/ICDE.1999.754910\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The notion of a compensation is widely used in advanced transaction models as means of recovery from a failure. Similar concepts are adopted for providing \\\"transaction-like\\\" behaviour for long business processes supported by workflows technology. Generally, designing a compensating task in the context of a workflow process is a non-trivial job. In fact, not every task is compensatable. This work contributes to the study of the non-compensatability problem. A compensating task C of a task T semantically undoes the effect of T after T has been committed. For example, the compensating task of a deposit is a withdrawal. For a task to be compensatable, it must satisfy two conditions. Forcibility: The compensating task of the task must be forcible. In other words, after the task commits, the execution of its compensating task is guaranteed to succeed by the application semantics. Relaxation of isolation: The isolation requirement of the shared data resources which the task may access must be relaxed. This relaxation is required as the purpose of introducing compensation is to avoid long-duration waiting, otherwise, compensation may become useless. In this work, we carefully investigate the properties of shared resources and tasks which may be performed on these resources. As all its invoked operations must be compensatable as well if a task is compensatable, we only discuss the compensatability of operations defined on shared resources.\",\"PeriodicalId\":236128,\"journal\":{\"name\":\"Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337)\",\"volume\":\"17 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1999-03-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICDE.1999.754910\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICDE.1999.754910","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Confirmation: a solution for non-compensatability in workflow applications
The notion of a compensation is widely used in advanced transaction models as means of recovery from a failure. Similar concepts are adopted for providing "transaction-like" behaviour for long business processes supported by workflows technology. Generally, designing a compensating task in the context of a workflow process is a non-trivial job. In fact, not every task is compensatable. This work contributes to the study of the non-compensatability problem. A compensating task C of a task T semantically undoes the effect of T after T has been committed. For example, the compensating task of a deposit is a withdrawal. For a task to be compensatable, it must satisfy two conditions. Forcibility: The compensating task of the task must be forcible. In other words, after the task commits, the execution of its compensating task is guaranteed to succeed by the application semantics. Relaxation of isolation: The isolation requirement of the shared data resources which the task may access must be relaxed. This relaxation is required as the purpose of introducing compensation is to avoid long-duration waiting, otherwise, compensation may become useless. In this work, we carefully investigate the properties of shared resources and tasks which may be performed on these resources. As all its invoked operations must be compensatable as well if a task is compensatable, we only discuss the compensatability of operations defined on shared resources.