<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Knowledge-driven SOA Migration</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>supervised by Patricia Lago Department of Computer Science, VU University Amsterdam</institution>
          ,
          <country country="NL">the Netherlands</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Migration of legacy assets to SOA embodies a key software engineering challenge namely rehabilitation of pre-existing enterprise assets into service based systems. Existing service analysis and design methods mostly focus on development of new services while they lack in transforming services from already existing enterprise assets. We argue that, a comprehensive SOA migration methodology is essential for creating a well-constructed SOA out of pre-existing enterprise assets. To this end, the necessary knowledge concerning the migration should be identi ed, captured, analyzed and generalized. We propose an approach for migration that exploits relevant knowledge to transform an existing legacy system into a new service-enabled system. For this purpose, we will devise a reference knowledge model capturing types of knowledge that drive SOA migration.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Facilitating the reuse of existing business functions from legacy systems is
considered as one of the key features of the service oriented paradigm. Many
organizations aim at modernization of legacy systems to SOA to achieve the advantages
o ered by SOA and still reuse the enterprise assets embedded in the pre-existing
legacy systems. Since early use of SOA, migration of legacy assets to services
has caught a lot of attention in research and industrial community. However,
it is mostly assumed among researchers and developers that, existing enterprise
assets are made to act as services simply by creating wrappers and leaving the
underlying implementation untouched. It is worth mentioning that, the main
goal of SOA is to promote highly standardized, loosely coupled services to
foster easy composition of distributed applications [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Unless legacy elements are
\inherently" suitable for use as a service with the aforementioned characteristics
(which usually are not), it takes a considerable e ort to provide an enterprise
asset's functionality through services. As a result, a comprehensive SOA
migration methodology is of critical importance for creating a well-constructed SOA
out of pre-existing enterprise assets.
      </p>
      <p>Let us consider the following example:
A pre-existing legacy system stores and manages a patient's medical records. The
existing knowledge about this legacy system includes the description of the provided
functionality, the business processes the system supports (e.g. update medical record, analyze
patient history to formulate a diagnosis), and the business value for the current/potential</p>
      <p>Design a
Decisions,
Architecture,</p>
      <p>QoS</p>
      <p>Legacy AK Model
Existing Legacy</p>
      <p>System</p>
      <p>Patterns,
Techniques,
Guidelines</p>
      <p>b</p>
      <p>Transformation
AK Elicitation</p>
      <p>Service
Composition</p>
      <p>Enterprise</p>
      <p>Services
“New”
Serviceoriented
Processes</p>
      <p>SOA
Principles,</p>
      <p>SOA
Patterns
c
users (like the medical doctor) embedded in the legacy system. Such information can
then be translated into business processes, business data and user added-value, which
in turn can be associated with, respectively, task-centred services, data-centred services
and end-user applications. For instance, if the knowledge regarding business data and
functionalities associated to patients is not extracted, a smooth transition to patient
data service is not possible. All the knowledge concerning the existing patient
information system, the target SOA environment (e.g. types of services) and transformation
techniques (e.g. wrapping) a ect the migration process in terms of \what"is going to be
migrated and \how" the migration is performed.</p>
      <p>Despite its simplicity, this example already re ects essential requirements and
challenging issues of the migration methodology from a knowledge management
perspective:
{ The main types of knowledge concerning the pre-existing legacy system
should be identi ed (Box a, Fig.1)
{ The knowledge concerning elements of service based systems should be
extracted (Box c)
{ Methods and guidelines should be devised for transforming legacy elements
into types of services (Box b)</p>
      <p>We argue that a comprehensive knowledge management approach is of great
importance for SOA migration methodology. The reason behind this is that,
knowledge management helps to rationalize the investigation of legacy assets as
candidate services, isolate their properties and transform them into meaningful
business services while adhering to service relevant aspects and challenges. This
research is part of a project named the Service-enAbling PreexIsting ENterprISe
Assets- Methodology (SAPIENSA) aiming at proposing a migration
methodology for creating a well-constructed SOA out of pre-existing enterprise assets.
Our contribution in this project is to e ectively exploit architectural knowledge
to migrate an existing enterprise system into a new service-enabled system.</p>
    </sec>
    <sec id="sec-2">
      <title>Proposed Solution</title>
      <p>In this section we further explain our proposed solution. To clarify the idea,
we recall the example presented in Section 1. The following types of
knowledge could shape the migration process of the medical information system: 1)
the body of knowledge concerning the properties of existing system including
lost abstractions (structural design, business processes, business rules, etc.) and
know-how (design decisions, discarded alternatives, etc.) 2) patterns, templates,
and methods that address altering and reshaping the extracted legacy elements
to relevant type of services 3) SOA speci c characteristics and properties. We
aim at devising a reference knowledge model capturing types of knowledge that
drive SOA migration. To this end, we propose to analyze di erent migration
processes (from industrial cases) and extract the implicit and explicit types of
knowledge, which shape the migration. We propose the phases depicted in Fig.
1 for the service-enabling methodology using architectural knowledge (AK). We
argue that these phases facilitate extraction of a reference AK model as it helps
gathering architectural insights and transforms them to well-constructed
services. These phases along with their associated research challenges are discussed
in the followings.
2.1</p>
      <sec id="sec-2-1">
        <title>Architectural Knowledge Elicitation</title>
        <p>
          The main goal of this phase is to identify the legacy elements that are relevant for
migration to SOA and make the decisions regarding how to transfer to services.
To this end, we aim at identifying, isolating and describing the knowledge about
the typical \standard" elements that belong to pre-existing enterprise assets,
and generalize the reusable knowledge. In order to address these aspects, the
following research questions should be resolved:
{ RQ1) what are the knowledge elements that are relevant to be made
explicit? For instance, solution-related knowledge such as architecture, design
decisions, etc., as well as problem-related knowledge including functional
requirements (e.g. business processes and business rules) and non-functional
requirements (e.g. privacy and security), should be externalized.
In order to enable an e ective knowledge capturing and sharing, the knowledge
extracted in this phase should be explicitly represented. Architectural knowledge
models aiming at representing decisions in general are considered as a potential
means of codifying the elicited knowledge. For instance, the AK core model
developed in our previous work [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] is relevant for making AK explicit. Knowledge
elements speci c to an organization or an application domain should be de ned
as speci c extensions to the core model described above. We consider
serviceoriented enterprise architectures as SOA extensions.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Transformation</title>
        <p>The transformation phase embraces the actual migration of legacy assets to
service based assets. The AK acquired during the AK elicitation phase will be used
as a fabric for creating new business services. This transformation could be in
the form of reshaping design elements, restructuring the architecture and/or
altering business models and business strategies. It should be noted that, each one
of these forms of transformation belongs to a speci c level of abstraction. For
instance, a legacy element can be transformed to services by altering its
encapsulation using wrapping techniques. In the same way, a composition of legacy
elements can be transformed to a service or composition of them. At a higher
level, an existing business model is transformed to a to-be business model based
on new requirements as well as opportunities o ered by service based systems.
In all these cases the knowledge element extracted within AK elicitation phase
is converted to another knowledge element in the SOA environment.
Feasibility of each type of migration depends on many additional factors, such as past
design decisions and knowledge about extra functional aspects like
technological constraints or quality attributes. It becomes therefore even more important
to capture the relevant AK in pre-existing and new systems in order to assess
the feasibility of di erent transformation techniques. Recall that in this research
work, we aim at isolating and describing the AK about the typical \standard"
elements that belong to pre-existing enterprise assets; in the same way, we want
to describe the AK about the \standard" elements of an SOA, including the
architectural patterns relevant for SOA transformations like for instance
service topologies and worst-case quality concerns. By carrying out a number of
industrial case studies, we will de ne how we can typically transform a standard
element of preexisting enterprise assets, into a \standard" element of an SOA.
This will result in a number of transformations, as represented in the horizontal,
continuous arrow in Figure 1. In this way, the \SOA migration decision making
process" will be supported by a knowledge base of SOA transformations
capturing necessary technical and nontechnical AK. In order to address all these
aspects of transformation, following research questions should be addressed:
{ RQ2) what are the elements which drive the transformations? For instance,
past design decisions, quality attributes or technical constraints can have
in uence on the solution regarding the transformation problem.
{ RQ3) what are the possible types of transformation regarding di erent levels
of abstraction?
{ RQ4) how to represent the body of knowledge associated to transformation?
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Service Composition</title>
        <p>Processes need to be designed in terms of constellations of the interacting
services obtained in the transformation phase. This is supported in the service
composition phase, which provides the ability to restructure, compose and
decompose services. Certainly, bodies of knowledge addressing SOA environment,
service association, message partnership, transaction ownership, etc., have to be
captured. This phase is researched by another partner of the SAPIENSA project.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        Our work aims at enabling the migration process with knowledge capturing,
sharing and reusing. Therefore, we position ourselves in the elds of
architectural knowledge management and migration process. Accordingly, we discuss the
related work in these two research elds. A vast body of work in the area of SOA
migration mostly focuses on exposing legacy code as (web) services. Sneed
proposes an approach that includes salvaging legacy code, wrapping the extracted
code and making the code available as services [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Typically, the focus of these
works is limited to implementation aspects of migration which usually covers
techniques to alter a segment of legacy code to web services. A further family of
approaches aims for covering the whole migration process. These approaches are
comprised of two main sub-processes: top-down service development and
bottomup service extraction [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ]. The main goal of the bottom-up sub process is to
support understanding of existing legacy system and extracting services from
legacy code using code analysis and architectural recovery techniques. Within
the top-Down process the target services are designed and implemented based on
existing legacy components as well as new requirements in the problem domain.
      </p>
      <p>
        Recently, there is an increasing focus on management of architectural
knowledge including architectural design decisions and their rationale [
        <xref ref-type="bibr" rid="ref2 ref6">6, 2</xref>
        ]. However
existing work focuses on capturing and representing the AK as such it is
relevant for any application domain. To the best of our knowledge, there are limited
results in identifying the architectural knowledge relevant for SOA. A speci c
type of AK is contained in architectural and design patterns, which document
standard solutions to recurring problems in software design. Some research is
emerging in identifying SOA patterns [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ], addressing several important
aspects of service development and management. In these approaches, disciplined
design decisions and compliance to SOA patterns are considered key criteria
for successful development. Still, the documented knowledge mostly captures
reusable technical solutions, while the related rationale or decision process that
led to the solution is missing.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Research Plan</title>
      <p>This research is carried out in a consortium of two universities and industrial
partners. These industries provide us with case studies and give regular feedback.
My research work will adopt an iterative incremental approach where the
industrial partners provide industrial cases on migration of legacy systems to SOA.
The main goal here is to identify the state of practice regarding the migration
problem. More speci cally, we are seeking to nd out how migration process is
performed in practice.</p>
      <p>Also, we aim at identifying the kinds of activities that are performed and
the types of knowledge that are captured. To this end, we plan to perform the
following tasks:
{ Elicit AK of pre-existing enterprise assets from case studies and model it as</p>
      <p>SOA extensions to the AK core model (RQ1)
{ Devise from case studies the transformations to candidate services, SOA
patterns and related AK (RQ2, RQ3, RQ4)
{ Integrate candidate services into the target service-oriented system
After a startup phase de ning the methodology to be used and the AK
reference model for pre-existing systems and SOA, three iterations will occur (one
for each project year). In each iteration, the cases carried out will be followed by
a re ection period aimed at giving feedback on migration process and AK
reference model, and de ning the possible transformation methods. A nal phase
will consolidate all results in a generalized and reusable solution. The expected
contributions of this research work are as follows:
{ SOA model representing the AK relevant for SOA migration
{ Patterns codifying architectural practices as ready-to-use solutions for the
migration problem
{ Prototypes and test beds supporting the reference knowledge model for SOA,
including a pattern repository, a visual modeling environment and AK search</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgement</title>
      <p>This research has been partially sponsored by the Dutch Joint Academic and
Commercial Quality Research and Development (Jacquard) program on Software
Engineering Research via contract 638.001.206 SAPIENSA: Service-enAbling
PreexIsting ENterprISe Assets.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Papazoglou</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heuvel</surname>
          </string-name>
          , W.J.:
          <article-title>Service oriented architectures: approaches, technologies and research issues</article-title>
          .
          <source>The VLDB Journal</source>
          <volume>16</volume>
          (
          <issue>3</issue>
          ) (
          <year>2007</year>
          )
          <volume>389</volume>
          {
          <fpage>415</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. de Boer,
          <string-name>
            <given-names>R.C.</given-names>
            ,
            <surname>Farenhorst</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Lago</surname>
          </string-name>
          , P., van Vliet,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Clerc</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Jansen</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Architectural knowledge: Getting to the core</article-title>
          . In: QoSA. (
          <year>2007</year>
          )
          <volume>197</volume>
          {
          <fpage>214</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Sneed</surname>
            ,
            <given-names>H.M.:</given-names>
          </string-name>
          <article-title>Integrating legacy software into a service oriented architecture</article-title>
          .
          <source>In: CSMR '06: Proceedings of the Conference on Software Maintenance and Reengineering</source>
          , Washington, DC, USA, IEEE Computer Society (
          <year>2006</year>
          )
          <volume>3</volume>
          {
          <fpage>14</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
          </string-name>
          , H.:
          <article-title>Incubating services in legacy systems for architectural migration</article-title>
          .
          <source>In: APSEC '04: Proceedings of the 11th Asia-Paci c Software Engineering Conference</source>
          , Washington, DC, USA, IEEE Computer Society (
          <year>2004</year>
          )
          <volume>196</volume>
          {
          <fpage>203</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Winter</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.Z.</surname>
          </string-name>
          :
          <article-title>Model-based migration to service-oriented architecture</article-title>
          .
          <source>In: the International Workshop on SOA Maintenance Evolution (SOAM</source>
          <year>2007</year>
          ),
          <source>11th European Conference on Software Maintenance and Reengineering (CSMR</source>
          <year>2007</year>
          ).
          <article-title>(</article-title>
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Tyree</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Akerman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Architecture decisions: Demystifying architecture</article-title>
          .
          <source>IEEE Softw</source>
          .
          <volume>22</volume>
          (
          <issue>2</issue>
          ) (
          <year>2005</year>
          )
          <volume>19</volume>
          {
          <fpage>27</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Zimmermann</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grundler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tai</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Architectural decisions and patterns for transactional work ows in SOA</article-title>
          . (
          <year>2007</year>
          )
          <volume>81</volume>
          {
          <fpage>93</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Erl</surname>
            ,
            <given-names>T.: SOA Design</given-names>
          </string-name>
          <string-name>
            <surname>Patterns. Prentice Hall</surname>
            <given-names>PTR</given-names>
          </string-name>
          , Upper Saddle River, NJ, USA (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>