Other
5 %
Software Engineers
21 %
Directors of Technology
24 %
Software Architects
50 %
Manel Abdellatif1,2, Yann-Gaël Guéhéneuc1, Hafedh Mili2, Geoffrey Hecht2, Naouel Moha2, Ghizlane El Boussaidi2, Anas Shatnawi2, Jean Privat2
State Of The Practice Of Service Identification In Industry
To Support The Migration Of Legacy Software Systems To SOA
1. Introduction
We present the state of the practice of Service
Identification in Industry to support the migration of
legacy software systems to SOA. We surveyed 45
industrial practitioners of legacy-to-SOA migration to
understand their experiences with the migration. Our
qualitative and quantitative results show that service
identification is perceived by practitioners as an
important step of legacy-to-SOA migration. We also
report that most service identification methods are
manual and considered as a process driven by business
value rather than software quality.
4.1. Legacy-To-SOA Migration Strategies
A. Re-hosting (P1, P3, P6)
- Moving a legacy system with minimal changes from one
platform, typically legacy mainframes, to more modern
alternatives.
- The business logic and data of the legacy systems remain
unchanged on the new platform.
- Re-hosting is done when the hardware or software platforms
become too costly to support or are no longer supported by
the manufacturer/vendor.
B. Legacy Systems Re-architecture (P1, P2, P5)
- Applying re-engineering techniques to (1) document the
legacy system (2) extract reusable services and (3) repackage
the identified services.
C. Re-hosting And Re-architecture (P1, P4, P7, P8)
- It avoids the “big-bang” migration strategy by (1) re-hosting
the legacy systems to modern platforms to minimize
hardware costs, (2) creating wrappers to hide the internal
legacy functionalities, and (3) replacing progressively the
legacy code.
4.2. Recommended practices
- Service identification is a business-value driven process:
focus on the functional clusters that implement a useful and
reusable business function.
- A deep understanding of the domain and a great familiarity
with the legacy systems are necessary.
- The input should be source code and production data.
- The output must be high-value, coarse-grained services.
- The process must follow a (proven) methodology (e.g.
Oracle’s OUM Methodology, IBM’s Service-Oriented
Modeling and Architecture (SOMA) methodology, etc.).
5. Conclusion
- SI is a process driven by business value rather than
quality criteria, even though some practitioners
consider some quality criteria (mainly reusability,
granularity, and loose coupling)
- Service identification is considered by most
practitioners an important step in the overall legacy-
to-SOA migration process
- None of the interviewed practitioners mentioned the
use of research papers or academic resources for their
migration projects
3. Survey Study
We surveyed 45 industrial practitioners of legacy-to-SOA migration
2. Study Design
2%
2%
4%
2%
13%
11%
4%
33%
4%
29%
49%
18%
13%
18%
53%
SPL
Pascal
ORACLEforms
PHP
Assembler
PL/1
Fortran
CICS
RPG
Javascript
Java
C#
C++
C
COBOL
0 5 10 15 20
Numberofresponses
24%
38%
64%
38%
42%
38%
64%
82%
Other
Testability
Flexibility
Availability
Reliability
Performance
Interoperability
Maintenance
0 10 20 30
Number of responses
2%
53%
24%
20%
No Idea
Mixed
Bottom−Up
Top−Down
0 5 10 15 20
Number of responses
44%
69%
9%
7%
27%
9%
53%
49%
16%
71%
58%
76%
Documentation
Human Expertise
Ontology
State Machines diagrams
Data Flow diagrams
Activity diagrams
Use Case
User Interfaces
Execution traces
Business Process
Database
Source Code
0 10 20 30
Number of responses
2%
49%
56%
7%
N/A
Manual
Semi−automatic
Fully automatic
0 5 10 15 20 25
Number of responses
9%
13%
4%
7%
47%
13%
20%
60%
22%
None of the above
Feature location
Machine learning
Genetic algorithms
Wrapping
Heuristics−based
Formal concept analysis
Functionality clustering
Class clustering
0 5 10 15 20 25
Number of responses
11%
42%
40%
29%
62%
20%
29%
47%
24%
44%
None of the above
Adaptation Effort
Cost
Number Of services
Service Reuse
Self−descriptiveness
Composability
Granularity
High Cohesion
Loose Coupling
0 10 20
Number of responses
38%
38%
73%
56%
49%
73%
Infrastructure
Utility
Application
Entity
Entreprise
Business
0 10 20 30
Number of responses
4%
49%
4%
58%
73%
None of the above
Microservices
SCA
SOAP
REST
0 10 20 30
Number of responses
What are the languages used to
implement the targeted legacy systems?
Why did you do the migration?
Finding 1: Practitioners migrate
different types of old legacy systems
implemented mainly in Cobol and
Java.
Finding 2: Reducing maintenance
costs, improving the flexibility and
interoperability of legacy systems are
the main motivations to migrate legacy
systems to SOA.
Finding 4: Practitioners mostly used
source code, business process models,
databases, and human expertise for SI.
Finding 3: Identifying services in
legacy applications is an important step
in legacy-to-SOA migration.
What are the used techniques for SI?
Finding 5: Functionality clustering and wrapping are the most used techniques
of service identification in industry.
What are the used techniques for SI?
Finding 6: Only few service quality criteria are desired by practitioners in the
service identification process: reusability, granularity, and loose coupling.
What are the targeted / desired services quality criteria for SI in Industry used
techniques for SI?
What are the types of the identified services?
Finding 7: was a business-driven
process that prioritized the
identification of domain-specific
services rather than technical services.
Finding 8: Restful services are the
most targeted service technology in
legacy-to-SOA migration.
What are the targeted services technology?
What are the used tools and automation degree of SI ?
Finding 9: There is a lack of automation of service identification techniques in
industry but input from human experts is essential to annotate/qualify
intermediate or final results of service identification.
4. Interview Sessions
Table I: INFORMATION ABOUT THE PARTICIPANTS IN OUR INTERVIEW SESSIONS
PTIDEJ1 TEAM (ÉCOLE POLYTECHNIQUE DE MONTRÉAL) AND LATECE2 TEAM (UNIVERSITÉ DU QUÉBEC À MONTRÉAL) EMAIL: MANEL.ABDELLATIF@POLYMTL.CA
THE CONSORTIUM FOR SOFTWARE ENGINEERING RESEARCH (CSER) 2018 FALL MEETING, LONDON ONTARIO, CANADA
What is the used direction for SI?

Manel Abdellatif

  • 1.
    Other 5 % Software Engineers 21 % Directors ofTechnology 24 % Software Architects 50 % Manel Abdellatif1,2, Yann-Gaël Guéhéneuc1, Hafedh Mili2, Geoffrey Hecht2, Naouel Moha2, Ghizlane El Boussaidi2, Anas Shatnawi2, Jean Privat2 State Of The Practice Of Service Identification In Industry To Support The Migration Of Legacy Software Systems To SOA 1. Introduction We present the state of the practice of Service Identification in Industry to support the migration of legacy software systems to SOA. We surveyed 45 industrial practitioners of legacy-to-SOA migration to understand their experiences with the migration. Our qualitative and quantitative results show that service identification is perceived by practitioners as an important step of legacy-to-SOA migration. We also report that most service identification methods are manual and considered as a process driven by business value rather than software quality. 4.1. Legacy-To-SOA Migration Strategies A. Re-hosting (P1, P3, P6) - Moving a legacy system with minimal changes from one platform, typically legacy mainframes, to more modern alternatives. - The business logic and data of the legacy systems remain unchanged on the new platform. - Re-hosting is done when the hardware or software platforms become too costly to support or are no longer supported by the manufacturer/vendor. B. Legacy Systems Re-architecture (P1, P2, P5) - Applying re-engineering techniques to (1) document the legacy system (2) extract reusable services and (3) repackage the identified services. C. Re-hosting And Re-architecture (P1, P4, P7, P8) - It avoids the “big-bang” migration strategy by (1) re-hosting the legacy systems to modern platforms to minimize hardware costs, (2) creating wrappers to hide the internal legacy functionalities, and (3) replacing progressively the legacy code. 4.2. Recommended practices - Service identification is a business-value driven process: focus on the functional clusters that implement a useful and reusable business function. - A deep understanding of the domain and a great familiarity with the legacy systems are necessary. - The input should be source code and production data. - The output must be high-value, coarse-grained services. - The process must follow a (proven) methodology (e.g. Oracle’s OUM Methodology, IBM’s Service-Oriented Modeling and Architecture (SOMA) methodology, etc.). 5. Conclusion - SI is a process driven by business value rather than quality criteria, even though some practitioners consider some quality criteria (mainly reusability, granularity, and loose coupling) - Service identification is considered by most practitioners an important step in the overall legacy- to-SOA migration process - None of the interviewed practitioners mentioned the use of research papers or academic resources for their migration projects 3. Survey Study We surveyed 45 industrial practitioners of legacy-to-SOA migration 2. Study Design 2% 2% 4% 2% 13% 11% 4% 33% 4% 29% 49% 18% 13% 18% 53% SPL Pascal ORACLEforms PHP Assembler PL/1 Fortran CICS RPG Javascript Java C# C++ C COBOL 0 5 10 15 20 Numberofresponses 24% 38% 64% 38% 42% 38% 64% 82% Other Testability Flexibility Availability Reliability Performance Interoperability Maintenance 0 10 20 30 Number of responses 2% 53% 24% 20% No Idea Mixed Bottom−Up Top−Down 0 5 10 15 20 Number of responses 44% 69% 9% 7% 27% 9% 53% 49% 16% 71% 58% 76% Documentation Human Expertise Ontology State Machines diagrams Data Flow diagrams Activity diagrams Use Case User Interfaces Execution traces Business Process Database Source Code 0 10 20 30 Number of responses 2% 49% 56% 7% N/A Manual Semi−automatic Fully automatic 0 5 10 15 20 25 Number of responses 9% 13% 4% 7% 47% 13% 20% 60% 22% None of the above Feature location Machine learning Genetic algorithms Wrapping Heuristics−based Formal concept analysis Functionality clustering Class clustering 0 5 10 15 20 25 Number of responses 11% 42% 40% 29% 62% 20% 29% 47% 24% 44% None of the above Adaptation Effort Cost Number Of services Service Reuse Self−descriptiveness Composability Granularity High Cohesion Loose Coupling 0 10 20 Number of responses 38% 38% 73% 56% 49% 73% Infrastructure Utility Application Entity Entreprise Business 0 10 20 30 Number of responses 4% 49% 4% 58% 73% None of the above Microservices SCA SOAP REST 0 10 20 30 Number of responses What are the languages used to implement the targeted legacy systems? Why did you do the migration? Finding 1: Practitioners migrate different types of old legacy systems implemented mainly in Cobol and Java. Finding 2: Reducing maintenance costs, improving the flexibility and interoperability of legacy systems are the main motivations to migrate legacy systems to SOA. Finding 4: Practitioners mostly used source code, business process models, databases, and human expertise for SI. Finding 3: Identifying services in legacy applications is an important step in legacy-to-SOA migration. What are the used techniques for SI? Finding 5: Functionality clustering and wrapping are the most used techniques of service identification in industry. What are the used techniques for SI? Finding 6: Only few service quality criteria are desired by practitioners in the service identification process: reusability, granularity, and loose coupling. What are the targeted / desired services quality criteria for SI in Industry used techniques for SI? What are the types of the identified services? Finding 7: was a business-driven process that prioritized the identification of domain-specific services rather than technical services. Finding 8: Restful services are the most targeted service technology in legacy-to-SOA migration. What are the targeted services technology? What are the used tools and automation degree of SI ? Finding 9: There is a lack of automation of service identification techniques in industry but input from human experts is essential to annotate/qualify intermediate or final results of service identification. 4. Interview Sessions Table I: INFORMATION ABOUT THE PARTICIPANTS IN OUR INTERVIEW SESSIONS PTIDEJ1 TEAM (ÉCOLE POLYTECHNIQUE DE MONTRÉAL) AND LATECE2 TEAM (UNIVERSITÉ DU QUÉBEC À MONTRÉAL) EMAIL: MANEL.ABDELLATIF@POLYMTL.CA THE CONSORTIUM FOR SOFTWARE ENGINEERING RESEARCH (CSER) 2018 FALL MEETING, LONDON ONTARIO, CANADA What is the used direction for SI?