Business Process Modeling with Services: Reverse Engineering Databases

Business Process Modeling with Services: Reverse Engineering Databases

Youcef Baghdadi (Sultan Qaboos University, Oman) and Naoufel Kraiem (Sultan Qaboos University, Oman)
DOI: 10.4018/978-1-4666-4667-4.ch007
OnDemand PDF Download:
No Current Special Offers


Reverse engineering techniques have become very important within the maintenance process providing several benefits. They retrieve abstract representations that not only facilitate the comprehension of legacy systems but also refactor these representations. Business process archaeology has emerged as a set of techniques and tools to recover business processes from source code and to preserve the existing business functions and rules buried in legacy source code. This chapter presents a reverse engineering process and a tool to retrieve services from running databases. These services are further reused in composing business processes with respect to Service-Oriented Architecture, a new architectural style that promotes agility.
Chapter Preview


Reverse engineering techniques have become very important within the maintenance process providing several benefits. Firstly, reverse engineering allows maintainers to retrieve abstract representations to facilitate the comprehension of different legacy systems. For example, it focuses on relational databases (Baghdadi, 2006; Cleve and Hainaut, 2008), aspect oriented systems (Bernardi, 2008), or quality of the system design (Foutse, 2009). Secondly, abstract representations obtained by reverse engineering from legacy systems can be refactored to improve their maintainability or add new functionalities to evolve legacy systems.

To address the mentioned maintenance activities, reverse engineering techniques are nowadays well-supported by tools which often obtain artifacts at system design abstraction level (e.g., service, class or sequence diagrams from source code) (Baghdadi and Al-Bulushi, 2013; Canfora and Di Penta, 2007).

However, Software Engineering industry is demanding additional reverse engineering techniques and tools to retrieve business-aware artifacts at higher abstraction level (Khusidman and Ulrich, 2007). The Software Engineering Institute (SEI) argues that business rules recovery is the cornerstone to evolutionary maintenance towards modern paradigms like Service Oriented Architecture (SOA) (Lewis et al., 2010). In fact, enterprises willing to move to SOA with web services to challenge changes in business requirements need to modernize their legacy applications (Al-Rawahi and Baghdadi, 2005). Indeed,

  • 1.

    SOA is mainly about reuse of assets (Cummins, 2009); in this regard, legacy applications are running smoothly and performing critical tasks,

  • 2.

    Most of the business functions are locked within them (Galinium and Shabaz, 2012),

  • 3.

    Legacy applications were built at high cost; and we need to preserve these investments (Linthicum, 2004), and

  • 4.

    Migration to SOA can give new life to legacy applications (Bhallahmudi and Telly, 2011).

A solution consists in extending the critical business logic of the legacy applications while preserving the investments, through their migration to web services and SOA environments (Baghdadi and Al-Bulushi, 2013). This leads IT departments to select an appropriate modernization technique, which requires a guidance process to avoid any failure risk (Al-Blushi and Baghdadi, 2007). The process would include analysis, selection of business functions, and wrapping. In addition, Business Process (BP) reengineering, innovation and improvement have always been given much attention in any organization (Davenport, 1993; Hammer and Champy, 993, Wekse, 2007; ver den Aalst, 2012).

To meet these demands, Business Process Archeology (BPA) has emerged as a set of techniques and tools to recover Business Processes (BPs) from source code (Pérez-Castillo et al., 2011).

BPA studies the BPs in an organization by analyzing the existing software artifacts. The objective is to discover the business forces that motivated the construction of the enterprise information systems. Maintenance benefits of BPA are that they preserve business behavior buried in legacy source code and it retrieves BPs providing more opportunities for refactoring (Pérez-Castillo et al., 2011).

Complete Chapter List

Search this Book: