Workflow Management Design and Implementation

Size: px
Start display at page:

Download "Workflow Management Design and Implementation"

Transcription

1 Distributed Global Transaction Support for Workflow Management Applications Jochem Vonk, Paul Grefen, Erik Boertjes, Peter Apers Center for Telematics and Information Technology (CTIT) University of Twente {vonk, grefen, boertjes, Abstract Workflow management systems require advanced transaction support to cope with their inherently long-running processes. The recent trend to distribute workflow executions requires an even more advanced transaction support system that is able to handle distribution. This report presents a model as well as an architecture to provide distributed advanced transaction support. Characteristic of the transaction support system is the ability to deal with arbitrary distribution of business processes over multiple workflow management systems and the support for flexible rollbacks. The modularity of the architecture and the orthogonality with respect to the workflow management system allows the transaction system to be applied in other application areas as well. The high scalability of the architecture allows an arbitrary combination of transaction support systems and workflow management systems of which the locations are irrelevant. In the WIDE project, the developed technology is applied to the FORO workflow management system. The work presented in this report is supported by the European Commission in the WIDE Project (ESPRIT No ). Partners in WIDE are Sema Group sae and Hospital General de Manresa in Spain, Politectnico di Milano in Italy, ING Bank and University of Twente in the Netherlands. 1

2 1. Introduction As indicated by recent studies [Alon96, Alon97, Jajo97, Cich98], transaction support is a necessary functionality required by workflow management systems. However, the traditional ACID transaction paradigm is too strict for the inherently long-running processes of workflow management systems. Because of the characteristics of workflow management systems a relaxed notion of atomicity and isolation is required [Hsu93, Gref97, Cich98]. Another functionality required for workflow management systems is the support for distributed workflow executions. Large organizations are usually divided into multiple business units, each operating their own workflow management systems. However, the overall business processes concerning the business goals of the complete organization are performed by some or all of the separate business units, i.e., the business processes are distributed over the multiple business units of the organization. Workflow management systems should therefore support the distributed execution of the workflow processes. This requires the transaction support system to cope with the distributed execution as well. In the WIDE project, a transaction management system has been designed that consists of two layers [Gref97, Gref99]. The upper layer caters for the requirements of long-running processes by offering global transactions, with relaxed ACID properties and is based on the saga model [Garc87]. As in the saga model, a global transaction is divided in steps whose actions are committed to the database after the step finishes. Rolling back already finished steps relies on compensating actions that undo the effects of completed actions. In the WIDE project, the saga model has been extended to support flexible rollbacks. The lower layer of the transaction model is based on the nested transaction model [Moss85], which provides the more strict traditional ACID properties required by the separate global transaction steps. The lower layer is completely orthogonal to the upper layer and is thus not influenced by the extensions made to the upper layer. The lower layer is therefore not relevant in this report and the reader is referred to [Boer98] for more information. This report discusses the extension to the WIDE upper layer providing support for the distributed execution of workflow processes, i.e. distributed global transactions. The developed distributed transaction model offers different abort modes to allow for 2

3 flexible rollbacks. It also offers a mechanism to handle concurrent aborts is discussed. The architecture of the non-distributed global transaction support system is extended with a communication protocol to coordinate the different systems. The architecture allows for an arbitrary distribution of transaction support systems and workflow management systems. This report is structured as follows. Section 2 describes related work. Section 3 discusses distribution of workflow executions, illustrated by an example. The distributed global transaction support is described in Section 4, of which the architecture is presented in Section 5 together with implementation issues. Section 6 presents concluding remarks. Appendix A describes the architecture of the distributed global transaction support in more detail. 3

4 2. Related Work Numerous advanced transaction models have been proposed in the past [Elma92, Jajo97, Chic98]. The aim of the WIDE project is not to propose yet another advanced transaction model, but to reuse what is already available. A combination of two models, each supporting different requirements of workflow management systems, is chosen as a basis and both are extended to provide for more advanced features. This report discusses the extensions made to upper layer of the WIDE transaction with respect to distributed workflow executions and flexible rollbacks. The transaction model used in the Exotica project [Alon96] is also based on the saga model, but relies on statically computed compensation patterns. The process structure supported by Exotica is more limited than the one supported in WIDE, e.g. cycles are not allowed. Consequently, its functionality is limited compared to the work presented in this report. [Barb96] describes a way to support distributed workflow execution by using Information Carriers (INCAs). All information necessary (data, control flow, etc.) to execute a workflow is contained in INCAs, so there is no notion of a. INCAs are passed to the autonomous processing stations involved in the distributed execution. The transactional functionality offered depends on the transactional functionality offered by the processing stations. If a processing station provides the ACID properties, compensating steps are used to undo the completed steps. Which compensating steps need to be executed is specified by rules in the INCAs. In the Mentor project [Wodt96], distributed workflow execution is addressed. A transaction processing monitor (Tuxedo) is used to provide for failure tolerance and reliable message passing. Transaction in Mentor are more restrictive and comply to the strict ACID paradigm, while the model presented in this report allows for relaxed ACID properties. The Workflow Management Coalition has specified a standard interface to facilitate the interoperability between different s [WfMC96] making distributed workflow execution possible, even in a heterogeneous environment. They do not address transactional issues, except for writing an audit log, and the work presented in this report can therefore be seen as complementary to the standard interoperability interface. 4

5 Commercial workflow products, like Cosa and Staffware, do not offer much transaction support [Cosa99, Staf99]. For example, Cosa treats every workflow activity as a separate ACID transaction. 5

6 3. Distributed Workflows Large organizations are usually divided in multiple business units which have to work together to perform the business processes that involve the whole organization. The workflow management systems (s) in use by the separate business units need to interoperate to support the overall business processes, i.e., those business processes that are distributed throughout the organization. The distribution of a process over multiple business units can be seen as the delegation of parts of the process, called subprocesses, from one business unit to another business unit. For example a billing department performs some actions (the subprocess) for the purchase department. A delegation model is therefore adopted for the distribution of processes over the different business units, and thus over the different s. In the delegation model, s can delegate the execution of subprocesses to other s. This implies that the distributed workflow execution topology is tree-shaped, i.e., one can delegate to multiple other s, but a delegated subprocess cannot originate from more than one other, see Figure 1 in which the dotted lines represent site boundaries. Note that the workflow execution topology might be different than the topology. Although the execution topology is tree-shaped, the topology might not be, e.g. in the case where one executes multiple delegated subprosses. Figure 1: Distributed s topology An example of a distributed workflow process specification is shown in Figure 2 which represents the workflow process selling a holiday trip to a customer of a large travel agency. The travel agency consists of several business units that are involved in the process, the customer buys the holiday trip at the sales office (left- 6

7 hand side of the figure), the financial department handles the invoices, the booking department arranges the travel documents and vouchers. All involved business units have to perform their own subprocess using their own. The subprocesses together form the complete selling trip process. SP Figure 2: Distributed workflow process In the figure, each distributed subprocess is represented by a global transaction which is a graph consisting of circles and solid arrows. The circles represent actions, called global transaction steps, and the solid arrows indicate the order in which the called global transaction steps can be performed. The circle marked with SP is a global savepoint, which is explained in the next section. The dotted arrows indicate the delegation of a subprocess to another. Figure 3: Distributed s and global transaction 7

8 As each separate subprocess is a global transaction, executed by a certain, it can per site be supported by the non-distributed global transaction support () system as described in Section 1, see Figure 3 below. The connection of the subprocesses, represented by the dotted arrows, implies the order in which the subprocesses are executed. The connected global transactions can therefore be seen as one large distributed global transaction. Only the distribution aspect requires an extension to the global transaction support system to handle the delegation of subprocesses. This extension is described in the next section. 8

9 4. Distributed Global Transaction Support As described before, the upper layer of the transaction model developed in the WIDE project relies on compensating actions to semantically undo the effects of completed global transaction steps in case of failures. Compensating an entire workflow, thereby undoing all the work that has been done so far is called a complete abort. A complete abort is usually too strict and undoing only part of the process would suffice. For this purpose the global savepoint concept is introduced to allow for flexible, partial aborts. When a partial abort is initiated because of some failure in the workflow execution, the executed workflow is only rolled back (compensated) to one or more savepoint(s), thereby avoiding rolling back the entire workflow execution [Gref98]. The part of a workflow that needs to be rolled back is dynamically calculated by the global transaction support. In the distributed workflow execution scenario, as presented in Figure 3, every is supported by a global transaction system, which can handle aborts of global transactions for that specific site. This means that the extension to the global transaction system to cope with distribution does not change the algorithms to calculate a compensating global transaction for one site, i.e. in a non-distributed scenario. In the distributed scenario however, an additional communication protocol is required that decides which other sites need to abort as well and in which abort mode (partial or complete abort). It then signals those other sites to actually start an abort in the correct abort mode. site 2 site 4 SP Forward abort site 1 site 3 Backward abort site 5 Figure 4: Backward and forward abort 9

10 4.1. Backward and Forward Aborts To illustrate the way aborts are propagated through the workflow execution, an example is presented in Figure 4. In the figure, the black circle at site 5 is the workflow activity that fails, thereby causing an abort. Suppose the abort request indicates that the abort should be performed in partial abort mode. The transaction system at site 5 finds no savepoint at that site to roll back to. It signals the parent site to abort, called backward abort, in partial abort mode. The subprocess aborted at the parent site can roll back to a savepoint so no more backward aborts are necessary. However, since the part of the subprocess that is rolled back has delegated a subprocess to site 4, that subprocess must be aborted as well. The transaction system will therefore signal the child site to abort, called forward abort. A forward abort implies that the site receiving the forward abort request must abort in complete abort mode as all the actions done at that site are dependent on an action that has been rolled back and are therefore invalid. In summary, an abort involves multiple sites if the following situations occur: A complete abort request is issued by a that is executing a delegated subprocess; at least one backward abort is issued. A complete abort request is issued by a that has delegated a subprocess; at least one forward abort is issued. A partial abort request is issued by a that has delegated a subprocess and for which the global transaction step that delegated a subprocess has to be compensated; at least one forward abort is issued. A partial abort request is issued by a for which there is no savepoint in the subprocess to roll back to on that site, see example above; at least one backward abort is issued. If the global transaction support system has decided that other sites need to abort as well, the communication protocol will signal those sites to abort in the abort mode that depends on the following two rules: 1. The parent site: backward abort in the abort mode that was issued by the failing site 2. The child site: forward abort in complete abort mode. 10

11 As each might independently decide that it needs to abort, concurrent aborts can occur. If those aborts trigger forward and/or backward aborts, the concurrent aborts might come together at one site, causing an abort conflict. The way this is handled is described in the next section Concurrent Aborts Inherent to distributed workflow execution is the possibility that different subprocesses concurrently issue an abort request. Because of the backward and forward aborts, which might follow an abort request, the occurrence of concurrent aborts might lead to abort conflicts. Abort conflicts occur when one site must handle different abort requests, e.g. a subprocess at one site receives a partial abort request from one child site, while another child site request a complete abort. The way in which the abort conflicts are resolved depends on the state in which a subprocess resides at the time an abort request is received. Figure 5 shows the state diagram of a subprocess. A subprocess can reside in the following states: Executing, i.e. the subprocess is being executed normally by the, On Hold, i.e. the subprocess is stopped while a compensating process is being created by the transaction system. This state is not shown in the diagram to keep it readable as the subprocess is always put on hold whenever an abort request is issued and a compensating global transaction is being calculated. Compensating partially, i.e. the is executing a compensation process that has been created by the transaction system based on a partial abort request from the failing subprocess, Compensating completely, i.e. the is executing a compensation process that has been created by the transaction system based on a complete abort request from the failing subprocess, and Finished, i.e. the subprocess has been completely executed. 11

12 Executing partial abort [partial comp. finished] Compensating Partially complete abort complete abort & [partial comp. finished] xyz: call [xyz]: condition : state transition Compensating Completely partial abort complete abort partial abort & [partial comp. finished] partial abort complete abort [complete comp. finished] [case ended] Finished [workflow ended] Figure 5: State diagram for concurrent abort requests A backward or forward abort request can be received while the subprocess resides in any of the five states. The reaction to the backward or forward abort request can be seen in the state diagram: If a subprocess is in execution or finished state, no abort conflict can occur and an abort request is handled as described in the previous subsection. However, abort conflicts can occur when the subprocess is in one of the other three states and are handled in the following way, see also Figure 5: If the subprocess is in the on hold state and thus a compensating global transaction is being created, the following table shows the occurring conflicts and the reaction of the distributed global transaction support: Creation of compensation in partial abort mode Creation of compensation in complete abort mode Receiving abort request in partial mode Finish creation and execution of compensation, then handle the received abort request Receiving abort request in complete mode Cancel creation, then create and execute the compensation in complete mode Ignore receiving abort request Ignore receiving abort request 12

13 If the subprocess is executing a compensating global transaction, i.e. in the compensating partially or compensating completely states, the received abort request is remembered and handled after the compensation process has been executed, i.e. concurrent aborts will be handled one after the other. An example of two concurrent abort requests is shown in Figure 6 in which the failing action on site 4 requests a partial abort and the failing action on site 5 requests a complete abort. site 2 site 4 SP site 1 site 3 site 5 Figure 6: Concurrent abort requests Both failing sites will issue a backward abort request to site 3. Suppose the partial backward abort request is handled first. During the creation of the partial compensation request, a forward abort is issued to site 4. Site 4 has already handled a complete abort request so no additional abort is necessary at site 4. When the backward complete abort request from site 4 is received by site 3, which is executing the partial compensation request, it first finishes the partial compensation (leaving only the savepoint as the rest of the actions are compensated) after which it handles the complete abort request. In this case no forward abort request is issued as site 5 has already been compensated. An architecture has been designed to support the discussed distributed transaction model and is described in the next section. 13

14 5. Architecture of the Distributed Global Transaction Support The architecture of the distributed global transaction (D) support does not differ much from the non-distributed global transaction support (). As described before, the necessary communication protocol needs to be added. A non-distributed consists of two parts: a global transaction manager (GTM) and global transaction (GT) objects [Gref97]. Each global transaction, i.e. workflow execution is represented by one GT object. GT objects are dynamic objects that are created when a global transaction is started and destroyed when a global transaction finishes. They keep track of workflow executions by administrating events like starting and ending of global transaction steps Distributed Global Transaction Manager The distributed global transaction manager (DGTM) is composed of multiple modules. The most important module with respect to the transactional support for distributed workflow executions is the communication module. It is responsible for the coordination of the different sites in case of an abort that involves multiple sites, i.e. backward and/or forward aborts as described in the previous section. The s involved in a distributed workflow execution have a communication mechanism that allows them to interoperate, e.g. using interface 4 specification of the Workflow Management Coalition [WfMC96]. This communication mechanism could be used by the D to signal forward and backward aborts to other sites, but that requires the to handle some of the transactional functionality, reducing the orthogonality between the D and the. The architectural choice has therefore been made to have a separate and direct communication mechanism between systems. This makes the D and the as orthogonal as possible, thereby shielding the from transactional issues and increasing the portability of the transactional support system. The complete architecture with the communication infrastructure is shown in Figure 7. In the figure, the solid arrows represent the communication between the s and the dotted arrows represent the communication between the different systems. 14

15 The logic module of the DGTM contains the algorithms that are used to calculate compensating global transactions for one site. A formal specification of those algorithms, i.e. for non-distributed workflow executions, can be found in [Gref98]. Comm Comm Comm Comm Comm Figure 7: Distributed and architecture The other modules of the DGTM contain mechanisms to store and retrieve global transaction and to communicate with the to receive abort request originating from the or to pass the compensating global transaction to the so it can be executed, thereby undoing (part of) the workflow execution it relates to. A more detailed description of the architecture mentioned above is presented in Appendix A Extended Architectural Considerations The workload of the D depends on the amount of failures that occur in workflow executions. If few failures occur, it is not necessary to have a transaction system on every site where a is running which only wastes resources. In case of many failures, it is more efficient if the can use more than one transaction support system. Both requirements can be satisfied by making it possible for any to use any system that is available, i.e., one may use multiple systems and one system can be used by multiple s. 15

16 This can be realized using a middleware system such as a CORBA [OMG95] compliant object request broker. In this case it is possible to arbitrarily distribute the systems over multiple sites. The systems can then be called by any of the s, which may or may not be on the same site. This way a very flexible and adaptable architecture is offered, of which an example is shown in Figure 8. Whenever more or less systems are required, a new system can be instantiated or an existing one can be shut down. For the non-distributed global transaction support system the arbitrary distribution of systems is already realized in the WIDE project. site 1 site 2 Comm site 3 Comm Comm site 4 site 5 site 6 Figure 8: Arbitrary distribution of multiple systems 16

17 6. Conclusions and Future Work This report describes a model and architecture to provide transactional support for distributed workflow executions. The transaction model relies on compensating actions to undo the effects of completed actions. Specifying savepoints in the workflow process allows to partially compensate a workflow. The WIDE global transaction support system is extended with a communication protocol to provide support for distributing workflow executions over multiple sites. The communication protocol coordinates the calculation of the sites that are involved in an abort, in which abort mode the compensation for those sites must be performed, and the enactment of the distributed global transaction support system at those sites. In the WIDE project, the non-distributed version of the global transaction support system has been implemented in a prototype environment to support the commercial workflow management system FORO, marketed by SEMA Group [FORO99]. The environment is based on ILU [Ilu99, Ilu96], which is a CORBA compliant object request broker and the Oracle database management system [Orac99]. The realization of the extensions to support the distributed execution of workflows as described in this report is currently considered and can be achieved with little effort. Because of the modularity of the global transaction support system and the orthogonality to the workflow management system, only the communication module needs to be specified and implemented, which can be easily integrated into the global transaction support system. The transaction model and architecture are othogonal to the workflow management system and can therefore be easily applied to other application areas dealing with long-running processes. The work presented in this report is currently under consideration to be used in the CrossFlow project [Cros99]. 17

18 References [Alon96] G. Alonso, D. Agrawal et al.; Advanced Transaction Models in Workflow Contexts; Procs. Int. Conf. on Data Engineering, 1996 [Alon97] G. Alonso, D. Agrawal, A. El Abbadi, C. Mohan; Functionality and Limitations of Current Workflow Management Systems; IEEE Expert; Vol. 12, No. 5; [Barb96] D. Barbará, S. Mehrotra, M. Rusinkiewicz; INCAs: Managing Dynamic Workflows in Distributed Environments; Journal of Database Management Special Issue on Multidatabases 7(1): 5-15, [Boer98] E. Boertjes, P. Grefen, J. Vonk, P. Apers; An Architecture for Nested Transaction Support on Standard Database Systems; Procs. 9 th Int. Conf. on Database and Expert System Application (DEXA); Vienna, Austria, [Cich98] A. Cichocki, A. Helal, M. Rusinkiewicz, D. Woelk; Workflow and Process Automation: Concepts and Technology; Kluwer Academic Publishers, [Cosa99] COSA Solutions Gmbh; Cosa Solutions: Turning Workflow into Cashflow; [Cros99] The CrossFlow Project Web Site: [Elma92] A. Elmagarmid, ed.; Database Transaction Models for Advanced Applications; Morgan Kaufmann; USA, [FORO99] SEMA Group sae; FORO Web Site: [Garc87] H. Garcia-Molina, K. Salem; Sagas; Procs. ACM-SIGMOD, California, [Gref97] P. Grefen, J. Vonk, E. Boertjes, P. Apers; Two-Layer Transaction Management for Workflow Management Applications; Procs. 8 th Int. Conf. on Database and Expert System Application (DEXA); Toulouse, France, [Gref98] P. Grefen, J. Vonk, E. Boertjes, P. Apers; Global Transaction Support: Formal Specification and Practical Application; CTIT Technical Report 98-10; University of Twente, Submitted for publication. [Gref99] P. Grefen, B. Pernici, G. Sánchez (Eds.); DatabaseSupport for Workflow Management The WIDE Project; Kluwer Academic Publisher, ISBN [Hsu93] M. Hsu (Ed.); Special Issue on Workflow and Extended Transaction Systems; IEEE Data Engineering Bulletin Vol. 16, No. 2., June [Ilu96] B. Janssen, M. Spreitzer; ILU 2.0alpha8 Reference Manual; Xerox Corporation, [Ilu99] ILU Web Site: ftp://ftp.parc.xerox.com/pub/ilu/ilu.html. 18

19 [Jajo97] S. Jajodia, L. Kerschberg (Eds.); Advanced Transaction Models and Architectures; Kluwer Academic Publishers, [Moss85] J. E. B. Moss; Nested Transactions: An Approach to Reliable Distributed Computing; The MIT Press, Cambridge, Massachusetts, [OMG95] Object Management Group; The Common Object Request Broker: Architecture and Specification, Version 2.0; [Orac99] Oracle Corporation. Oracle Web Site: [Staf99] Staffware Web Site: [WfMC96] The Workflow Management Coalition; Interoperability Abstract Specification; Document Number WFMC-TC-1012; [Wodt96] D. Wodtke, J. Weissenfels, G. Weikum, A. Dittrich; The MENTOR Project: Steps Towards Enterprise-wide Workflow Management; Proc. Int. Conf on Data Engineering, New Orleans, USA,

20 A Detailed D Architecture The non-distributed Global Transaction Support () consists of two main parts, i.e. the Global Transaction Manager (GTM) and the Global Transaction (GT) objects, see Figure 9. GTM WMFS Workflow Engine GT Workflow Instance DBMS Figure 9: - architecture The GTM is responsible for the handling of compensation requests and the construction of compensating global transactions. The GT objects perform the administration of running global transactions. A.1 Global Transaction Manager Architecture The GTM architecture is depicted in Figure 10. Conforming to the standard software module architecture used in the WIDE project, it consists of the following submodules: Communication Interface: the communication interface submodule contains methods for two-way communication with Workflow Instances. The methods of the communication module have the character of wrapper methods to ensure independence between GTM internals and GTM context. Control Logic: the control logic submodule contains the internal GTM process control driving the module. It is responsible for maintaining the internal state of GTM. It links and controls the other submodules. 20

21 CORBA / IDL Communication Interface Control Logic Kernel Logic Data Interface Figure 10: Internal GTM architecture Kernel Logic: the kernel submodule contains the actual intelligence of GTM, i.e. the algorithms for constructing compensating global transactions [Gref98]. It is completely independent from internal states and external communication. Data Interface: the data interface submodule contains methods for global transaction data retrieval and data storage from the shared workflow database through the global transaction objects. It takes care of necessary translation and assembly/disassembly of information. The GTM as a whole is wrapped in CORBA/IDL [OMG95], i.e. the external methods of the communication interface and the data access of the data interface take place through methods specified in IDL and routed through an object request broker service [Ilu99, Ilu96], thereby providing location transparency. A.2 Global Transaction objects The Global Transaction (GT) objects handle the administration of workflow executions. They have a one-to-one relation to workflow instances, i.e. every workflow instance has one GT object administrating its execution and vice versa. The GT objects place the workflow execution related information in persistent storage, 21

22 e.g. the start and end of global transaction steps, the order in which global transaction steps are executed, if a global transaction step is a savepoint or not. In effect, the GT objects create a graph, like the graph shown in Figure 2, that represents the workflow execution and is used by the GTM to construct compensating global transactions. When the GTM has constructed a compensating global transaction, it passes it to the GT object relating to the workflow instance for which the compensating global transaction is constructed. The GT object transforms the compensating global transaction into a workflow process specification and places that in persistent storage so it can be executed by the workflow management system. A.3 Distributed Communication Design Issues The distributed execution of workflow processes as described in this report, requires an extension to the communication interface of the GTM, see Figure 10 and Chapter 5. The communication interface extensions deal with global abort requests originating from a different site. This section discusses the possibilities between which modules the communication can take place and explains why we have chosen for a specific communication path. A.3.1 General Communication Options The involved modules in a distributed global abort are the workflow instances (WFI), the GTMs and the GT objects. A total of nine communication combinations are therefore possible. The GT objects are only involved in passing information from the workflow instances to the database thereby storing workflow execution information, and for retrieving and storing graphs. The GT objects themselves cannot decide if a remote global abort invocation should be issued, which reduces the possible communication combinations to six, shown in Figure 11. To explain the options for the communication, suppose that WFIi has created WFIj, i.e., the workflow engine at site i has delegated a subprocess to the workflow engine at site j, see Figure 11. When WFIi fails it invokes a local global abort to GTMi. GTMi computes a compensation graph and finds that WFIj also needs to abort. Therefore a global abort needs to be requested at site j originating from site i. This can 22

23 be done in the following way (numbers below correspond to the numbers on the arrows in Figure 11): WFI i WFI j GT i 4 GT j 5 GTM i 6 GTM j Figure 11: Communication options 1. WFI to WFI. After the D has constructed a compensating global transaction, it returns this compensating workflow to the WFI together with a list of WFIs that also need to be aborted. The WFI can then signal those WFIs to abort. 2. WFI to GT. Same as above, except the WFI does not signal the WFIs but it signals the corresponding GT objects. The called GT object should then signal the WFI to abort. 3. WFI to GTM. Same as above, except the WFI does not signal the WFIs nor the GT objects but it signals other GTM(s) or itself if there is no other GTM. The called GTM should then signal the WFI to abort. 4. GTM to WFI. While a GTM is constructing a compensating global transaction and it computes that another WFI also needs to be aborted, the GTM will immediately signal that WFI to abort. 5. GTM to GT. Same as above. However in stead of signaling another WFI to abort, the GTM will signal the GT object corresponding to that case to abort. The GT object will then signal the WFI to abort. 6. GTM to GTM. Same as above, except the GTM does not signal the WFI nor the GT object at the other site but the GTM at that other site. The called GTM should then signal the WFI to abort. The differences, advantages and disadvantages of the communication options are explained in the next subsections. 23

24 A.3.2 Communication from WFI to other Modules The first 3 communication options involve the WFI in sending out abort requests to other sites. This means that the WFI is performing some transaction management tasks, namely the distribution aspect, which should be handled by the D. It also means that the orthogonality between the workflow system and the transaction manager system is reduced significantly. Options 1, 2, and 3 are therefore discarded as being viable communication path for the distributed global transaction support system. SITE i SITE j SITE k WFI i WFI j WFI k client transaction server abort GTM j abort abort GTM k Figure 12: Communication: GTM -> WFI vs. GTM -> GTM A.3.3 Communication from GTM to other Modules Communication option 4 is shown in the left-hand side of Figure 12, while the righthand side shows communication option 6. In this figure, GTM j is computing a compensation graph and has computed that the other sites also need to abort. Suppose the GTM would call another GTM (option 6) preferably the GTM on the site where the case that has to be aborted is located. However, if there is no GTM on the other site, the GTM itself might signal the case to abort, but this changes the right-hand side of Figure 12 into the left-hand side which is option 4. The amount of communication between the client layer, i.e., the WFIs and transaction server layer, i.e., the GTMs is the same for both options, but the communication between sites is increased for option 6, which is therefore discarded. To choose between the remaining two options, i.e. options 4 and 5, we have to look at the actions that the WFI should take when an abort request is received originating form another site. These actions depend on the state the WFI resides in, e.g. when a 24

25 WFI is compensating in complete mode and a request for a partial compensating is received, that request can be ignored (see also Chapter 4). Keeping the workflow management system and the D as orthogonal as possible, the decision about what action a WFI should take, should be made by the D and not by the WFI itself. The D should therefore know the state of the WFI, which it can request from the WFI (option 5) or which can be passed by the WFI (option 4), see Figure 13. SITE i SITE j SITE k WFI i WFI j WFI k request status abort pass status GT i GT j GT k client transaction server abort GTM j GTM k D Figure 13: Communication: GTM -> WFI vs. GTM -> GT object If the global abort request by a GTM is made directly to a WFI at another site (option 4), the WFI simply passes the abort request and its status to an appropriate D which can then decide what action the WFI should take. In option 5 the WFI is asked for its status and does not even see the global abort request, which provides for more orthogonality between the WFIs and D. Comparing the left hand-side of Figure 13 (option 5) with the right-hand side (option 4) it is also clear that the transactional distribution aspect is kept inside the global transaction support if the GTM communicates with the GT objects. Option 5, the GTM communicates with the GT objects to issue distributed global abort requests, is therefore the preferred and chosen option. 25

26 A.3.4 Other Communication Issues When a GT object is called by a GTM from another site, the GT object will request the status of the WFI that is involved in the distributed compensation. The GT object then decides which action the WFI has to perform, based on the received state, and signals this action to the WFI. As the WFI can have its state changed during the time the GT object is deciding which action the WFI should perform, the signaled action might not be consistent with the state anymore. This problem can be overcome by using a synchronization protocol. As stated in Chapter 6, the implementation of the extensions to the already implemented non-distributed, requires little effort. A specification of the extensions to the as described in this report has been completed, the implementation of which is currently under consideration. 26

Supporting Telecom Business Processes by means of Workflow Management and Federated Databases

Supporting Telecom Business Processes by means of Workflow Management and Federated Databases Supporting Telecom Business Processes by means of Workflow Management and Federated Databases Wim Nijenhuis and Willem Jonker Service Development and Support KPN Research PO Box 15000, 9700 CD Groningen

More information

How To Model An Outsourcing Relation Between A Telecom And Logistics Company (Telco) And A Logistics Company

How To Model An Outsourcing Relation Between A Telecom And Logistics Company (Telco) And A Logistics Company Business-to-business E-commerce in a Logistics Domain 1 Zef Damen, Wijnand Derks, Matthijs Duitshof, Henk Ensing KPN Research {j.t.w.damen; w.l.a.derks; m.j.duitshof; henk.ensing}@kpn.com Abstract Today

More information

The ConTract Model. Helmut Wächter, Andreas Reuter. November 9, 1999

The ConTract Model. Helmut Wächter, Andreas Reuter. November 9, 1999 The ConTract Model Helmut Wächter, Andreas Reuter November 9, 1999 Overview In Ahmed K. Elmagarmid: Database Transaction Models for Advanced Applications First in Andreas Reuter: ConTracts: A Means for

More information

CrossFlow: Cross-Organizational Workflow Management for Service Outsourcing in Dynamic Virtual Enterprises

CrossFlow: Cross-Organizational Workflow Management for Service Outsourcing in Dynamic Virtual Enterprises CrossFlow: CrossOrganizational Workflow Management for Service Outsourcing in Dynamic Virtual Enterprises Paul Grefen Karl Aberer Heiko Ludwig & Yigal Hoffner University of Twente EPFLDSC IBM Zurich Research

More information

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter

More information

Cross Organizational Workflow Management Systems

Cross Organizational Workflow Management Systems Cross Organizational Management Systems Venkatesh Patil & Avinash Chaudhari Tata Consultancy Services, India Paper presented at Product Data Technology Europe 2002 At Centro Ricerche Fiat, Turin, Italy

More information

Adaptable Transaction Processing in the Web Services Domain

Adaptable Transaction Processing in the Web Services Domain Adaptable Transaction Processing in the Web Services Domain Yan Wang and Weihai Yu Department of Computer Science University of Tromsø {wang,weihai}@cs.uit.no Abstract The advent of Web Services technologies

More information

A Taxonomy for Transactional Workflows

A Taxonomy for Transactional Workflows A Taxonomy for Transactional Workflows Paul Grefen Computer Science Department University of Twente www.cs.utwente.nl/~grefen Abstract Workflows have generally been accepted as a means to model and support

More information

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE

More information

Smooth and Flexible ERP Migration between both Homogeneous and Heterogeneous ERP Systems/ERP Modules

Smooth and Flexible ERP Migration between both Homogeneous and Heterogeneous ERP Systems/ERP Modules 28.8.2008 Smooth and Flexible ERP Migration between both Homogeneous and Heterogeneous ERP Systems/ERP Modules Lars Frank Department of Informatics, Copenhagen Business School, Howitzvej 60, DK-2000 Frederiksberg,

More information

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable

More information

A Review of Distributed Workflow Management Systems

A Review of Distributed Workflow Management Systems A Review of Distributed Workflow Management Systems F. Ranno and S. K. Shrivastava Department of Computing Science, Newcastle University, Newcastle upon Tyne, NE1 7RU, UK. Abstract: An increasing number

More information

Definition of SOA. Capgemini University Technology Services School. 2006 Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2

Definition of SOA. Capgemini University Technology Services School. 2006 Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2 Gastcollege BPM Definition of SOA Services architecture is a specific approach of organizing the business and its IT support to reduce cost, deliver faster & better and leverage the value of IT. November

More information

Global transaction support for workflow management systems: from formal specification to practical implementation

Global transaction support for workflow management systems: from formal specification to practical implementation The VLDB Journal 10: 316 333 (2001) / Digital Object Identifier (DOI) 10.1007/s007780100056 Global transaction support for workflow management systems: from formal specification to practical implementation

More information

1 Introduction. 2 The need for Engineering Workflow. 3 Example engineering workflow -3- NLR-TP-2000-313

1 Introduction. 2 The need for Engineering Workflow. 3 Example engineering workflow -3- NLR-TP-2000-313 -3- Engineering Workflow The Process in Product Data Technology D.J.A. Bijwaard, J.B.R.M. Spee, P.T. de Boer National Aerospace Laboratory NLR, P.O.Box 90502, 1006 BM AMSTERDAM, The Netherlands Fax:+31

More information

Architecture for ERP System Integration with Heterogeneous E-Government Modules 1

Architecture for ERP System Integration with Heterogeneous E-Government Modules 1 102 Chapter 7 Architecture for ERP System Integration with Heterogeneous E-Government Modules 1 Lars Frank Copenhagen Business School, Denmark ABSTRACT ERP (Enterprise Resource Planning) systems consist

More information

Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique

Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique Migrating Legacy Software Systems to CORBA based Distributed Environments through an Automatic Wrapper Generation Technique Hyeon Soo Kim School of Comp. Eng. and Software Eng., Kum Oh National University

More information

Information integration platform for CIMS. Chan, FTS; Zhang, J; Lau, HCW; Ning, A

Information integration platform for CIMS. Chan, FTS; Zhang, J; Lau, HCW; Ning, A Title Information integration platform for CIMS Author(s) Chan, FTS; Zhang, J; Lau, HCW; Ning, A Citation IEEE International Conference on Management of Innovation and Technology Proceedings, Singapore,

More information

Service-Oriented Architectures

Service-Oriented Architectures Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems

More information

Event-based middleware services

Event-based middleware services 3 Event-based middleware services The term event service has different definitions. In general, an event service connects producers of information and interested consumers. The service acquires events

More information

The Service Revolution software engineering without programming languages

The Service Revolution software engineering without programming languages The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)

More information

Dependability in the Web Service Architecture

Dependability in the Web Service Architecture Dependability in the Web Service Architecture Ferda Tartanoglu 1, Valérie Issarny 2 INRIA, UR Rocquencourt Domaine de Voluceau - B.P. 105 78153 Le Chesnay France 1 Galip-Ferda.Tartanoglu@inria.fr, 2 Valerie.Issarny@inria.fr

More information

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Architecture Chapter Outline Distributed transactions (quick

More information

Service-Oriented Architecture and Software Engineering

Service-Oriented Architecture and Software Engineering -Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based

More information

The Five Different Types of Process Specification

The Five Different Types of Process Specification A Three-Level Process Framework for Contract-Based Dynamic Service Outsourcing Paul Grefen, Samuil Angelov Computer Science Department University of Twente The Netherlands {grefen,sangelov}@cs.utwente.nl

More information

Composite Transactions for SOA

Composite Transactions for SOA A Technical Whitepaper by: Guy Pardon - Chief Technology Officer for Atomikos July 2015 Copyright 2008-2015 Atomikos BVBA Permission is granted to reproduce and redistribute this document without modifications

More information

Use Cases for the Business Transaction Protocol

Use Cases for the Business Transaction Protocol Use Cases for the Business Transaction Protocol OASIS Business Transactions Technical Committee Models/Use Cases Technical Subcommittee bt-models@lists.oasis-open.org Introduction This document attempts

More information

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi BPMN by example Bizagi Suite Recruitment and Selection 1 Table of Contents Scope... 2 BPMN 2.0 Business Process Modeling Notation... 2 Why Is It Important To Model With Bpmn?... 2 Introduction to BPMN...

More information

An Object Model for Business Applications

An Object Model for Business Applications An Object Model for Business Applications By Fred A. Cummins Electronic Data Systems Troy, Michigan cummins@ae.eds.com ## ## This presentation will focus on defining a model for objects--a generalized

More information

Scientific versus Business Workflows

Scientific versus Business Workflows 2 Scientific versus Business Workflows Roger Barga and Dennis Gannon The formal concept of a workflow has existed in the business world for a long time. An entire industry of tools and technology devoted

More information

Transactionality and Fault Handling in WebSphere Process Server Web Service Invocations. version 0.5 - Feb 2011

Transactionality and Fault Handling in WebSphere Process Server Web Service Invocations. version 0.5 - Feb 2011 Transactionality and Fault Handling in WebSphere Process Server Web Service Invocations version 0.5 - Feb 2011 IBM Corporation, 2011 This edition applies to Version 6.2 of WebSphere Process Server 1 /

More information

Research on the Model of Enterprise Application Integration with Web Services

Research on the Model of Enterprise Application Integration with Web Services Research on the Model of Enterprise Integration with Web Services XIN JIN School of Information, Central University of Finance& Economics, Beijing, 100081 China Abstract: - In order to improve business

More information

Client Server Architecture

Client Server Architecture Client Server Architecture Key concepts: - client server architecture - Functional requirements in the 2-tier structures - Functional distribution in the 2-tier structures - Implementation of Business

More information

Distributed Objects and Components

Distributed Objects and Components Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java

More information

Model-Checking Verification for Reliable Web Service

Model-Checking Verification for Reliable Web Service Model-Checking Verification for Reliable Web Service Shin NAKAJIMA Hosei University and PRESTO, JST nkjm@i.hosei.ac.jp Abstract Model-checking is a promising technique for the verification and validation

More information

Middleware Lou Somers

Middleware Lou Somers Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,

More information

Extending Multidatabase Transaction Management Techniques to Software Development Environments

Extending Multidatabase Transaction Management Techniques to Software Development Environments Purdue University Purdue e-pubs Computer Science Technical Reports Department of Computer Science 1993 Extending Multidatabase Transaction Management Techniques to Software Development Environments Aidong

More information

A Framework for Virtual Enterprise Support Services

A Framework for Virtual Enterprise Support Services A Framework for Virtual Enterprise Support Services Vaggelis Ouzounis, Volker Tschammer ECCO Electronic Commerce Center of Competence, GMD-Fokus, Kaiserin-Augusta-Allee 31, D-10589, Berlin, Germany Tel:

More information

Software design (Cont.)

Software design (Cont.) Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java

More information

Business Process Modelling Languages

Business Process Modelling Languages Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Business Process Modelling Languages Paola Turci AOT Lab - DII - Università di Parma Business

More information

The Architecture Of An Active Data Base Management System*

The Architecture Of An Active Data Base Management System* The Architecture Of An Active Data Base Management System* Dennis R. McCarthy Xerox Advanced Information Technology 4 Cambridge Center Cambridge, MA 02142 ARPANET mccarthy@ait.xerox.com Umeshwar Dayal

More information

Extending the Internet of Things to IPv6 with Software Defined Networking

Extending the Internet of Things to IPv6 with Software Defined Networking Extending the Internet of Things to IPv6 with Software Defined Networking Abstract [WHITE PAPER] Pedro Martinez-Julia, Antonio F. Skarmeta {pedromj,skarmeta}@um.es The flexibility and general programmability

More information

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Computer Network. Interconnected collection of autonomous computers that are able to exchange information Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.

More information

Modelling Long-Lived Health Care Workflow Transactions

Modelling Long-Lived Health Care Workflow Transactions Modelling Long-Lived Health Care Workflow Transactions Christopher Meli and George Fernandez ehealth Education c.meli@ehe.edu.au g.fernandez@ehe.edu.au Abstract. Due to the increasing automation of health

More information

Middleware: Past and Present a Comparison

Middleware: Past and Present a Comparison Middleware: Past and Present a Comparison Hennadiy Pinus ABSTRACT The construction of distributed systems is a difficult task for programmers, which can be simplified with the use of middleware. Middleware

More information

SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture

SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q Number: S90-03A Passing Score: 800 Time Limit: 120 min File Version: 14.5 http://www.gratisexam.com/ Exam Code: S90-03A Exam Name:

More information

Six Strategies for Building High Performance SOA Applications

Six Strategies for Building High Performance SOA Applications Six Strategies for Building High Performance SOA Applications Uwe Breitenbücher, Oliver Kopp, Frank Leymann, Michael Reiter, Dieter Roller, and Tobias Unger University of Stuttgart, Institute of Architecture

More information

Enterprise Application Integration

Enterprise Application Integration Enterprise Integration By William Tse MSc Computer Science Enterprise Integration By the end of this lecturer you will learn What is Enterprise Integration (EAI)? Benefits of Enterprise Integration Barrier

More information

e-gateway SOLUTION OVERVIEW Financials HCM ERP e-gateway Web Applications Mobile Devices SharePoint Portal

e-gateway SOLUTION OVERVIEW Financials HCM ERP e-gateway Web Applications Mobile Devices SharePoint Portal e-gateway SOLUTION OVERVIEW In an effort to manage mission critical information better, perform their daily tasks more efficiently, share information to key stakeholders more effectively, and ensure that

More information

Principles and characteristics of distributed systems and environments

Principles and characteristics of distributed systems and environments Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single

More information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users

More information

Introduction to Service Oriented Architectures (SOA)

Introduction to Service Oriented Architectures (SOA) Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction

More information

1.2 Requirements on Infrastructure for Network Centric Service Applications

1.2 Requirements on Infrastructure for Network Centric Service Applications The Coyote approach for Network Centric Service Applications: Conversational Service Transactions, a Monitor and an Application Style Asit Dan and Francis Parr IBM T. J. Watson Research Center Hawthorne,

More information

Ontological Identification of Patterns for Choreographing Business Workflow

Ontological Identification of Patterns for Choreographing Business Workflow University of Aizu, Graduation Thesis. March, 2010 s1140042 1 Ontological Identification of Patterns for Choreographing Business Workflow Seiji Ota s1140042 Supervised by Incheon Paik Abstract Business

More information

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure University of California at Berkeley School of Information Management and Systems Information Systems 206 Distributed Computing Applications and Infrastructure Layering a computing infrastructure Middleware

More information

Business Process Flow Management and its Application in the Telecommunications Management Network

Business Process Flow Management and its Application in the Telecommunications Management Network Business Flow and its Application in the Telecommunications Network is an open, enterprise-capable, object-oriented business process flow management system that manages business activities supporting complex

More information

Analysis and Implementation of Workflowbased Supply Chain Management System

Analysis and Implementation of Workflowbased Supply Chain Management System Analysis and Implementation of Workflowbased Supply Chain Management System Yan Tu 1 and Baowen Sun 2 1 Information School, Central University of Finance and Economics, Beijing, 100081, P.R.China,Yolanda_tu@yahoo.com.cn

More information

Workflow Analysis and Design

Workflow Analysis and Design 1 CIS 525 Parallel and Distributed Software Development INTERORGANISATIONAL WORKFLOW ARCHITECTURE Using e-commerce to automate inter-business processes across supply chains presents significant challenges.

More information

The Integration Between EAI and SOA - Part I

The Integration Between EAI and SOA - Part I by Jose Luiz Berg, Project Manager and Systems Architect at Enterprise Application Integration (EAI) SERVICE TECHNOLOGY MAGAZINE Issue XLIX April 2011 Introduction This article is intended to present the

More information

IAAS CLOUD EXCHANGE WHITEPAPER

IAAS CLOUD EXCHANGE WHITEPAPER IAAS CLOUD EXCHANGE WHITEPAPER Whitepaper, July 2013 TABLE OF CONTENTS Abstract... 2 Introduction... 2 Challenges... 2 Decoupled architecture... 3 Support for different consumer business models... 3 Support

More information

Patterns for Business Object Model Integration in Process-Driven and Service-Oriented Architectures

Patterns for Business Object Model Integration in Process-Driven and Service-Oriented Architectures Patterns for Business Object Model Integration in Process-Driven and Service-Oriented Architectures Carsten Hentrich IBM Business Consulting Services, SerCon GmbH c/o IBM Deutschland GmbH Hechtsheimer

More information

How To Understand The Concept Of A Distributed System

How To Understand The Concept Of A Distributed System Distributed Operating Systems Introduction Ewa Niewiadomska-Szynkiewicz and Adam Kozakiewicz ens@ia.pw.edu.pl, akozakie@ia.pw.edu.pl Institute of Control and Computation Engineering Warsaw University of

More information

CrossFlow and Contract Templates

CrossFlow and Contract Templates CrossFlow: Integrating Workflow Management and Electronic Commerce Y. Hoffner* and H. Ludwig* and P. Grefen and K. Aberer The CrossFlow architecture provides support for cross-organisational workflow management

More information

Web Services. Copyright 2011 Srdjan Komazec

Web Services. Copyright 2011 Srdjan Komazec Web Services Middleware Copyright 2011 Srdjan Komazec 1 Where are we? # Title 1 Distributed Information Systems 2 Middleware 3 Web Technologies 4 Web Services 5 Basic Web Service Technologies 6 Web 2.0

More information

Pattern Language Overview

Pattern Language Overview Service Integration Patterns for Invoking Services from Business Processes Carsten Hentrich CSC Deutschland Solutions GmbH Abraham-Lincoln-Park 1 65189 Wiesbaden, Germany e-mail: chentrich@csc.com Uwe

More information

CrossFlow: Cross-Organizational Workflow Management in Dynamic Virtual Enterprises

CrossFlow: Cross-Organizational Workflow Management in Dynamic Virtual Enterprises CrossFlow: Cross-Organizational Workflow Management in Dynamic Virtual Enterprises Paul Grefen University of Twente The Netherlands grefen@cs.utwente.nl Karl Aberer GMD-IPSI Germany aberer@darmstadt.gmd.de

More information

Network & Agent Based Intrusion Detection Systems

Network & Agent Based Intrusion Detection Systems Network & Agent Based Intrusion Detection Systems Hakan Albag TU Munich, Dep. of Computer Science Exchange Student Istanbul Tech. Uni., Dep. Of Comp. Engineering Abstract. The following document is focused

More information

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Challenges and Opportunities for formal specifications in Service Oriented Architectures ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute

More information

Enhancing ECA Rules for Distributed Active Database Systems

Enhancing ECA Rules for Distributed Active Database Systems Enhancing ECA Rules for Distributed Active Database Systems 2 Thomas Heimrich 1 and Günther Specht 2 1 TU-Ilmenau, FG Datenbanken und Informationssysteme, 98684 Ilmenau Universität Ulm, Abteilung Datenbanken

More information

REQUIREMENTS FOR THE WORKFLOW-BASED SUPPORT OF RELEASE MANAGEMENT PROCESSES IN THE AUTOMOTIVE SECTOR

REQUIREMENTS FOR THE WORKFLOW-BASED SUPPORT OF RELEASE MANAGEMENT PROCESSES IN THE AUTOMOTIVE SECTOR REQUIREMENTS FOR THE WORKFLOW-BASED SUPPORT OF RELEASE MANAGEMENT PROCESSES IN THE AUTOMOTIVE SECTOR Ulrich Bestfleisch, Joachim Herbst DaimlerChrysler AG Research and Technology Data and Process Management

More information

Efficient database auditing

Efficient database auditing Topicus Fincare Efficient database auditing And entity reversion Dennis Windhouwer Supervised by: Pim van den Broek, Jasper Laagland and Johan te Winkel 9 April 2014 SUMMARY Topicus wants their current

More information

Workflow Management Standards & Interoperability

Workflow Management Standards & Interoperability Management Standards & Interoperability Management Coalition and Keith D Swenson Fujitsu OSSI kswenson@ossi.com Introduction Management (WfM) is evolving quickly and expolited increasingly by businesses

More information

2. Analysis. 2.1 Resource Planning. Resource Planning. 1st Question. Example. BPM & WfM. Lecture 9 III. Workflow Theory & Analysis

2. Analysis. 2.1 Resource Planning. Resource Planning. 1st Question. Example. BPM & WfM. Lecture 9 III. Workflow Theory & Analysis 2. Analysis BPM & WfM Lecture 9 III. Workflow Theory & Analysis IV. WfM & Transactions Consistency and plausibility Structural analysis: Awkward nets Unused / redundant data or resources Unnecessary orderings

More information

Oracle Data Integrator: Administration and Development

Oracle Data Integrator: Administration and Development Oracle Data Integrator: Administration and Development What you will learn: In this course you will get an overview of the Active Integration Platform Architecture, and a complete-walk through of the steps

More information

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation Objectives Distributed Databases and Client/Server Architecture IT354 @ Peter Lo 2005 1 Understand the advantages and disadvantages of distributed databases Know the design issues involved in distributed

More information

A framework for implementing business transactions on the Web

A framework for implementing business transactions on the Web A framework for implementing business transactions on the Web Hewlett Packard Arjuna Labs, Newcastle upon Tyne, England Submitter: Mark Little (mark@arjuna.com) (c) Copyright 2001 Hewlett-Packard Company

More information

Integration of Mobile Agents and Web Services

Integration of Mobile Agents and Web Services Integration of Mobile Agents and Web Services Jan Peters Fraunhofer Institut für Graphische Datenverarbeitung Fraunhoferstraße 5, 64283 Darmstadt, Germany jan.peters@igd.fraunhofer.de Abstract. The web

More information

How To Manage A Distributed Application

How To Manage A Distributed Application of E-Commerce Brokerage Services Jorge E. López de Vergara, Víctor A. Villagrá, Juan I. Asensio, José I. Moreno, Julio J. Berrocal. Dept. de Ingeniería de Sistemas Telemáticos Universidad Politécnica de

More information

Service Oriented Architecture (SOA) An Introduction

Service Oriented Architecture (SOA) An Introduction Oriented Architecture (SOA) An Introduction Application Evolution Time Oriented Applications Monolithic Applications Mainframe Client / Server Distributed Applications DCE/RPC CORBA DCOM EJB s Messages

More information

Circles and Diamonds and Squares, Oh My! Demystifying the BPMN Standard

Circles and Diamonds and Squares, Oh My! Demystifying the BPMN Standard Circles and Diamonds and Squares, Oh My! Demystifying the BPMN Standard BPMN standards can be confusing, but once you understand their purpose and how to use them, they can be lifesavers. This paper, based

More information

4.7 Business Process Model and Notation

4.7 Business Process Model and Notation 206 4 Process Orchestrations 4.7 Business Process Model and Notation This section introduces the Business Process Model and Notation (BPMN), developed under the coordination of the Object Management Group.

More information

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box

More information

Portable Cloud Services Using TOSCA

Portable Cloud Services Using TOSCA Institute of Architecture of Application Systems Portable Cloud Services Using TOSCA Tobias Binz, Gerd Breiter, Frank Leymann, and Thomas Spatzier Institute of Architecture of Application Systems, University

More information

The Evolution Of Prototype Architectures Developed For The Scheduling Software Integration Project

The Evolution Of Prototype Architectures Developed For The Scheduling Software Integration Project The Evolution Of Prototype Architectures Developed For The Scheduling Software Integration Project Frank Riddick Computer Scientist Manufacturing Engineering Laboratory National Institute of Standards

More information

MIDDLEWARE 1. Figure 1: Middleware Layer in Context

MIDDLEWARE 1. Figure 1: Middleware Layer in Context MIDDLEWARE 1 David E. Bakken 2 Washington State University Middleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems. It is

More information

AFRICA: Workflow Interoperability based on XML-messages

AFRICA: Workflow Interoperability based on XML-messages : Workflow Interoperability based on XML-messages Michael zur Muehlen, Florian Klein University of Muenster Department of Information Systems Steinfurter Str. 109 48149 Muenster, Germany {ismizu isflkl}@wi.uni-muenster.de

More information

AN STUDY ON DATA CONSISTENCY IN SPATIAL DATABASE SYSTEM

AN STUDY ON DATA CONSISTENCY IN SPATIAL DATABASE SYSTEM AN STUDY ON DATA CONSISTENCY IN SPATIAL DATABASE SYSTEM Zhu Xinyan Li Deren Gong Jianya National Laboratory of Information Engineering in Surveying, Mapping and Remote Sensing Wuhan Technical University

More information

Decentralized Information Accountability Framework for Information Sharing In Cloud Environment

Decentralized Information Accountability Framework for Information Sharing In Cloud Environment Decentralized Information Accountability Framework for Information Sharing In Cloud Environment Deepthi Srinivas, Shylaja BR, Rajeev RK, Muruli R 1 BNM Institute of technology 2,3,4 Rai Technology University

More information

An innovative, open-standards solution for Konnex interoperability with other domotic middlewares

An innovative, open-standards solution for Konnex interoperability with other domotic middlewares An innovative, open-standards solution for Konnex interoperability with other domotic middlewares Vittorio Miori, Luca Tarrini, Maurizio Manca, Gabriele Tolomei Italian National Research Council (C.N.R.),

More information

Connector-oriented Workflow System for the Support of Structured Ad hoc Workflow

Connector-oriented Workflow System for the Support of Structured Ad hoc Workflow Connector-oriented Workflow System for the Support of Structured Ad hoc Workflow Dongsoo Han, Jaeyong Shim School of Engineering, Information and Communications University P.0.Box 77 Yusong P.O., Taejon,

More information

An E-learning Service Management Architecture

An E-learning Service Management Architecture An E-learning Service Architecture Theodore K. Apostolopoulos Anna Kefala Department of Informatics Athens University of Economics and Business 76 Patission st., 10434 Athens, Greece Tel.: +30 210 8203234,

More information

Architecture of Transaction Processing Systems

Architecture of Transaction Processing Systems Architecture of Transaction Processing Systems Transaction processing systems are among the largest software systems in existence. They must be built to respond to a wide spectrum of applications, so the

More information

A Contribution to Expert Decision-based Virtual Product Development

A Contribution to Expert Decision-based Virtual Product Development A Contribution to Expert Decision-based Virtual Product Development László Horváth, Imre J. Rudas Institute of Intelligent Engineering Systems, John von Neumann Faculty of Informatics, Óbuda University,

More information

Chapter 10. Backup and Recovery

Chapter 10. Backup and Recovery Chapter 10. Backup and Recovery Table of Contents Objectives... 1 Relationship to Other Units... 2 Introduction... 2 Context... 2 A Typical Recovery Problem... 3 Transaction Loggoing... 4 System Log...

More information

SOA Success is Not a Matter of Luck

SOA Success is Not a Matter of Luck by Prasad Jayakumar, Technology Lead at Enterprise Solutions, Infosys Technologies Ltd SERVICE TECHNOLOGY MAGAZINE Issue L May 2011 Introduction There is nothing either good or bad, but thinking makes

More information

A Dynamic Query Processing Architecture for Data Integration Systems

A Dynamic Query Processing Architecture for Data Integration Systems A Dynamic Query Processing Architecture for Data Integration Systems Luc Bouganim Ý, Françoise Fabret, C. Mohan Þ, Patrick Valduriez Ý PRiSM Versailles, France Luc.Bouganim@prism.uvsq.fr INRIA Rocquencourt,

More information

Distributed Databases: what is next?

Distributed Databases: what is next? Distributed Databases: what is next? Massive distribution / replication Nested transactions Transactions and web services Summary and final remarks New Challenges DDB and transactions in the past - few

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Contracts for Cross-Organizational Workflow Management. M. Koetsier, P. Grefen, J. Vonk

Contracts for Cross-Organizational Workflow Management. M. Koetsier, P. Grefen, J. Vonk Contracts for Cross-Organizational Workflow Management M. Koetsier, P. Grefen, J. Vonk Abstract Nowadays, many organizations form dynamic partnerships to deal effectively with market requirements. As companies

More information

Complex Information Management Using a Framework Supported by ECA Rules in XML

Complex Information Management Using a Framework Supported by ECA Rules in XML Complex Information Management Using a Framework Supported by ECA Rules in XML Bing Wu, Essam Mansour and Kudakwashe Dube School of Computing, Dublin Institute of Technology Kevin Street, Dublin 8, Ireland

More information