Identifying Services in Procedural Programs for Migrating Legacy System to Service Oriented Architecture
Takahiro Kimura and
Kenichi Matsumoto Additional contact information Masahide Nakamur: Kobe University, Japan
Hiroshi Igaki: Tokyo University of Technology, Japan
Takahiro Kimura: Nihon Unisys Ltd., Japan
Kenichi Matsumoto: NAIST, Japan
In order to support legacy migration to the service-oriented architecture (SOA), this paper presents a pragmatic method that derives candidates of services from procedural programs. In the SOA, every service is supposed to be a process (procedure) with (1) open interface, (2) self-containedness, and (3) coarse granularity for business. Such services are identified from the source code and its data flow diagram (DFD), by analyzing data and control dependencies among processes. Specifically, first the DFD must be obtained with reverse-engineering techniques. For each layer of the DFD, every data flow is classified into three categories. Using the data category and control among procedures, four types of dependency are categorized. Finally, six rules are applied that aggregate mutually dependent processes and extract them as a service. A case study with a liquor shop inventory control system extracts service candidates with various granularities.