Abstract
In process-driven, service-oriented architectures (SOAs), process activities can perform service operations, data transformations, or human tasks. Unfortunately, the process activities are usually tightly coupled. Thus, when the number of activities in the process grows, focusing on particular activities of the flow such as the service operations reading or writing persistent data is a time-consuming task. In particular, in order to solve structural problems concerning persistent data access such as deadlocks in data-intensive business processes, stakeholders need to understand the underlying persistent data access details of the activities i.e. physical storage schemes, and database connections.
With our view-based model-driven approach, we provide a solution to generate flows of persistent data access activities (which we refer to as persistent data access flows). To the best of our knowledge these persistent data access flows are not used to solve structural problems in process-driven SOAs, yet. Moreover, our persistent data access flows can be flattened by diverse filer criteria e.g. by filtering all activities reading or writing from a specific database or table. Using our approach, we can enhance traceability and documentation of persistent data access in business processes. In a series of motivating scenarios from an industrial case study we present how our persistent data access flow concept can contribute to enhance productivity in service-oriented, process-driven environments. We qualitatively evaluate our concepts and prototypes, and finally, discuss the correctness and the complexity of the underlying algorithms.


















Similar content being viewed by others
References
OASIS Web Services Business Process Execution Language (WSBPEL) TC: Web Services Business Process Execution Language Version 2.0 (2007). http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html
Turner, M., Budgen, D., Brereton, P.: Turning software into a service. Computer 36, 38–44 (2003)
SD network: Core J2EE pattern catalog. http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html (Copyright 1994–2008 Sun Microsystems, Inc.)
OMG: Unified modeling language. http://www.uml.org/. Retrieved January 2012
Hentrich, C., Zdun, U.: Patterns for process-oriented integration in service-oriented architectures. In: EuroPLoP, pp. 141–198 (2006)
Sadiq, W., Orlowska, M.E.: Applying graph reduction techniques for identifying structural conflicts in process models. In: Proceedings of the 11th Conference on Advanced Information Systems Engineering (CAiSE’99), pp. 195–209. Springer, Berlin (1999)
Weske, M.: Business Process Management: Concepts, Languages, Architectures. Springer, Berlin (2007)
Russell, N., ter Hofstede, A.H.M., Edmond, D., van der Aalst, W.M.P.: Workflow data patterns: identification, representation and tool support. In: ER, pp. 353–368 (2005)
Software AG: Webmethods bpms. http://www.softwareag.com/at/products/wm/bpm/default.asp. Retrieved January 2012
Tran, H., Zdun, U., Dustdar, S.: View-based and model-driven approach for reducing the development complexity in process-driven SOA. In: Abramowicz, W., Maciaszek, L.A. (eds.) Business Process and Services Computing: 1st International Conference on Business Process and Services Computing (BPSC’07), Leipzig, Germany, 25–26 September 2007. LNI, vol. 116, pp. 105–124 (2007)
Mayr, C., Zdun, U., Dustdar, S.: Model-driven integration and management of data access objects in process-driven soas. In: ServiceWave ’08: Proceedings of the 1st European Conference on Towards a Service-Based Internet, pp. 62–73. Springer, Berlin (2008)
Mayr, C., Zdun, U., Dustdar, S.: View-based model-driven architecture for enhancing maintainability of data access services. Data Knowl. Eng. 70, 794–819 (2011)
Carey, M.J., Reveliotis, P., Thatte, S., Westmann, T.: Data service modeling in the aqualogic data services platform. In: SERVICES I, pp. 78–80 (2008)
Zhang, G., Fu, X., Song, S., Zhu, M., Zhang, M.: Process driven data access component generation. In: DEECS, pp. 81–89 (2006)
Guang Zhang, X.: Model driven data service development. In: ICNSC’08, pp. 1668–1673 (2008)
Wang, J., Yu, A., Zhang, X., Qu, L.: A dynamic data integration model based on soa. In: ISECS International Colloquium on Computing, Communication, Control, and Management, pp. 196–199. IEEE Computer Society, Washington (2009)
Habich, D., Richly, S., Preissler, S., Grasselt, M., Lehner, W., Maier, A.: Bpel-dt—data-aware extension of bpel to support data-intensive service applications. In: WEWST (2007)
IBM: Websphere mq workflow. http://www-01.ibm.com/software/integration/wmqwf/. Retrieved January 2012
TIBCO: Bpm. http://www.tibco.com/products/bpm/. Retrieved January 2012
JBoss Community: jbpm. http://www.jboss.org/jbpm. Retrieved January 2012
Intalio: Bpm. http://www.intalio.com/bpm. Retrieved January 2012
JBoss Community: Jboss messaging. http://www.jboss.org/jbossmessaging. Retrieved January 2012
Kurz, S., Guppenberger, M., Freitag, B.: A uml profile for modeling schema mappings. In: ER Workshops, pp. 53–62 (2006)
Awad, A., Puhlmann, F.: Structural detection of deadlocks in business process models. In: BIS, pp. 239–250 (2008)
Duesterwald, E., Gupta, R., Soffa, M.L.: A practical framework for demand-driven interprocedural data flow analysis. ACM Trans. Program. Lang. Syst. 19(6), 992–1030 (1997)
Le, W., Soffa, M.L.: Refining buffer overflow detection via demand-driven path-sensitive analysis. In: PASTE ’07: Proceedings of the 7th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, pp. 63–68. ACM, New York (2007)
Fischer, S., Kuchen, H.: Data-flow testing of declarative programs. In: ICFP, pp. 201–212 (2008)
Rapps, S., Weyuker, E.J.: Data flow analysis techniques for test data selection. In: ICSE, pp. 272–278 (1982)
Isloor, S., Marsland, T.: The deadlock problem: an overview. Computer 13(9), 58–78 (1980)
Reddy, P.K., Bhalla, S.: Deadlock prevention in a distributed database system. SIGMOD Rec. 22(3), 40–46 (1993)
Naik, M., Park, C.S., Sen, K., Gay, D.: Effective static deadlock detection. In: ICSE ’09: Proceedings of the 2009 IEEE 31st International Conference on Software Engineering, pp. 386–396. IEEE Computer Society, Washington (2009)
Dedene, G., Snoeck, M.: Formal deadlock elimination in an object oriented conceptual schema. Data Knowl. Eng. 15(1), 1–30 (1995)
Zhou, Y., Lee, E.A.: A causality interface for deadlock analysis in dataflow. In: EMSOFT ’06: Proceedings of the 6th ACM & IEEE International Conference on Embedded Software, pp. 44–52. ACM, New York (2006)
Object Management Group (OMG): Business process model and notation (bpmn) version 2.0. http://www.omg.org/spec/BPMN/2.0. Release Date January 2011
Lang, N.: Schlaer-mellor object-oriented analysis rules. SIGSOFT Softw. Eng. Notes 18(1), 54–58 (1993)
Hentrich, C., Zdun, U.: Patterns for business object model integration in process-driven and service-oriented architectures. In: PLoP ’06: Proceedings of the 2006 Conference on Pattern Languages of Programs, pp. 1–14. ACM, New York (2006)
Georgakopoulos, D., Hornick, M.F., Sheth, A.P.: An overview of workflow management: from process modeling to workflow automation infrastructure. Distrib. Parallel Databases 3(2), 119–153 (1995)
Eclipse: Eclipse modeling framework project (2011). http://www.eclipse.org/modeling/emf/. Retrieved October 2011
OM Group: MOF 2.0/XMI mapping specification, v2.1.1. http://www.omg.org/technology/documents/formal/xmi.htm. January 2010
Palkovits, S., Wimmer, M.: Processes in e-government—a holistic framework for modelling electronic public services. In: Traunmüller, R. (ed.) EGOV. Lecture Notes in Computer Science, vol. 2739, pp. 213–219. Springer, Berlin (2003)
JST Database: The java database connectivity (jdbc) (2001). http://java.sun.com/javase/technologies/database/
Schmit, B.A., Dustdar, S.: Model-driven development of web service transactions. In: Proceedings of the Second GI-Workshop XML for Business Process Management, March (2005)
The Eclipse Foundation: Eclipse (2012). http://www.eclipse.org/
Harrold, M.J.: Testing: a roadmap. In: ICSE ’00: Proceedings of the Conference on The Future of Software Engineering, pp. 61–72. ACM, New York (2000)
Lethbridge, T.C., Singer, J., Forward, A.: How software engineers use documentation: the state of the practice. IEEE Softw. 20(6), 35–39 (2003)
Völter, M., Stahl, T.: Model-Driven Software Development: Technology, Engineering, Management. Wiley, New York (2006)
Weidlich, M., Decker, G., Großkopf, A., Weske, M.: Bpel to bpmn: the myth of a straight-forward mapping. In: OTM Conferences, vol. 1, pp. 265–282 (2008)
Al-Khalifa, S., Jagadish, H.V., Patel, J.M., Wu, Y., Koudas, N., Srivastava, D.: Structural joins: a primitive for efficient xml query pattern matching. In: Agrawal, R., Dittrich, K.R. (eds.) ICDE, pp. 141–152. IEEE Computer Society, Los Alamitos (2002)
Bruno, N., Koudas, N., Srivastava, D.: Holistic twig joins: optimal xml pattern matching. In: SIGMOD Conference, pp. 310–321 (2002)
Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering. Prentice Hall, Englewood Cliffs (1991)
Cardoso, J.: Control-flow complexity measurement of processes and weyuker’s properties. In: 6th International Informatika Conference. Transactions on Informatika, Systems Sciences and Engineering, vol. 8, pp. 213–218 (2005)
Acknowledgements
This work was supported by the European Union FP7 projects COMPAS, grant no. 215175, and INDENICA, grant no. 257483.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Athman Bouguettaya.
Rights and permissions
About this article
Cite this article
Mayr, C., Zdun, U. & Dustdar, S. Enhancing traceability of persistent data access flows in process-driven SOAs. Distrib Parallel Databases 31, 1–45 (2013). https://doi.org/10.1007/s10619-012-7102-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10619-012-7102-6
Keywords
- SOA
- Process
- Business process
- Process flow
- Process-driven
- Data access flow
- Data access flows
- Persistency
- Persistent
- Persistent data access flows
- Data access service
- DAS
- Data access
- Data
- Data flow
- Control flow
- Data access activity
- Service-oriented
- DAO
- Data access object
- Model
- Model-driven
- Views
- View-based
- Data model
- BPMS
- Intalio
- Microflow
- Macroflow