Model-Driven Integration and Management of Data Access Objects in Process-Driven SOAs

  • Authors:
  • Christine Mayr;Uwe Zdun;Schahram Dustdar

  • Affiliations:
  • Distributed Systems Group Information Systems Institute, Vienna University of Technology, Austria;Distributed Systems Group Information Systems Institute, Vienna University of Technology, Austria;Distributed Systems Group Information Systems Institute, Vienna University of Technology, Austria

  • Venue:
  • ServiceWave '08 Proceedings of the 1st European Conference on Towards a Service-Based Internet
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

In most process-driven and service oriented architectures (SOA), services need to access data stored in a database using database transactions. This is typically done using Data Access Objects (DAOs), but so far the integration of the business process, service, and DAO concepts is not well defined. As a consequence, when the number of services in a SOA grows, the number of DAOs can increase considerably and become hard to manage. In addition to this technical issue, business processes have to be highly adaptable to both functional and technical requirements. We propose a model-driven approach for integrating and managing DAOs in process-driven SOAs. We present a set of models providing different views tailored to the requirements of various stakeholders, such as business experts, database designers, database developers, etc. In process-driven SOAs, process activities running in a process-engine invoke services. We adapt these process flows to model a sequence of DAOs within a service. A DAO repository is used to manage DAOs more efficiently and to improve software reuse in database transaction development. The repository provides functionalities to create, update, retrieve, and delete database transactions. As our view-based models can flexibly be adapted to project requirements, our approach also aims at enhancing maintainability and increasing software development productivity.