toward_a_guidance_framework__boutheina_

advertisement
Toward a Guidance Framework for Service
Orientation Engineering Method
Gherib Boutheina,
RIADI. Ecole National des Sciences
de l’Informatique
gh.boutheina@gmail.com
Youcef Baghdadi
Department of Computer Science,
Sultan Qaboos University, Muscat,
Oman
ybaghdadi@squ.edu.om
RIADI. Ecole National des Sciences
de l’Informatique &
Department of Computer Science,
Sultan Qaboos University, Muscat
naoufel@squ.edu.om
Naoufel Kraim
Oman
compositions of services as composites, (iii) the
management of services and compositions [1], (iv) the
quality of both services and compositions [3], and (v) the
engineering of business services for, at least, a defined SOA
maturity [4].
SOSE has entailed, as expected, provision of new methods
in both academia and industry. Most of the well-known
methods such as SOAD [5], SDLC [6], Sensoria [7], SOAF
[8], SOMA[9], Erl’s methodology[10], and WS-SOAR [11]
claim their compliance with SOSE, namely a delivery
Keywords—Service Orientation, Service Oriented Software
strategy from diverse alternatives in order to comply with
Engineering, Engineering Methods; Comparison Frameworks
SO and SOA.
I.
INTRODUCTION
These methods have been engineered by using:
Service Orientation (SO) is a new paradigm in software
1. One of the following method engineering (ME)
engineering that utilizes service as the main block to build
approaches that are proven for other paradigms than SO
Service-based Applications (SBA) with respect to an
such as function, object, or component as main building
architectural style that is Service Oriented Architecture
blocks:
SOA. SOA is a logical way of designing a software system
 Consolidation and integration of concepts, rules
to provide services to either end-user applications or to
and practices, which has required a summarization
other services distributed in a network, via published and
of methods with respect to best practices, and
discoverable interfaces [1].
comparison frameworks [1] [12].
SBAs are built by compositing loosely coupled,
interoperable service, having separate concerns. Loosely
 Extension of existing methods, from different
coupled services, often designed under open-world
paradigms, that have proven robust, namely such as
assumptions, distributed across organizational boundaries,
UML such as in Sensoria project [7] or SOMA [9].
and executed remotely at their service providers’
 Product line, i.e., reuse of fragments of methods
environment [2]. Developing SBAs requires identifying,
[13].
discovering, and composing services in addition to
 Evolution uses a model or initial meta-model (astraditional software engineering (TSE) activities such as
is) as a basis for development to achieve the
coding, testing, and deployment. Therefore, existing
desired model (to-be) [14] [15].
software development methods no longer fulfill the needs
2. Comparison frameworks (e.g., Baghdadi [16], Gu and
for developing SBAs. Consequently, principles known from
Lago [1], or Kohlborn et al. [12]) that summarize to
TSE need to be tailored to service-oriented development.
what extent the output of a method, when applied,
Systematic, disciplined, and quantifiable approaches for
complies with SO and SOA.
designing, developing, and maintaining SBAs are needed.
However, neither the existing ME nor the frameworks have
These approaches are generalized as Service-oriented
covered all the pertinent perspectives and aspects of SOSE,
Software Engineering (SOSE) [2]. SOSE mainly concerns
namely, the foundations and principles of the building
with developing methods that encompass (i) the engineering
block, the most relevant aggregate of a method. Indeed, the
of the services as basic components, (ii) the engineering of
Abstract— the emergence of the paradigms Service
Orientation (SO) and Service Oriented Computing (SOC) has
resulted in new type of applications, referred to as Service Based
Applications. This has entailed many service oriented methods
for developing such kinds of applications. In this paper, we first
present most of the well-known methods from academia and
industry, focusing on their engineering approaches and
comparison frameworks. Then we highlight their strengths and
weaknesses. Finally, we introduce the elements of a
comprehensive framework to guide the engineering of new
methods or benchmarking the existing ones.
construct service, in SOA, has different abstractions, namely
as IT-component and business component.
This is mainly owing to a lack of a framework (abstract
model) that captures the relevant elements of SOSE
environment, the relationships between the elements, and
the constraints (if any).
Because the ME approaches and the comparison
frameworks are relevant to move toward a comprehensive
framework that will guide methods to develop SBAs, we
propose to first start by comparing the existing methods
against four SOSE perspectives:
1. The existing ME approaches
2. The aggregates of a method
3. The building block service from IT and perspective
4. The level of maturity of a SOA adoption process
In this paper, we limit to the three first perspectives and do
not cover SOA maturity model (or orientation ) for SOA
adoption process.
The rest of this paper is organized as follow: section 2
introduces the ME approaches. Section 3 presents the
aggregates of a method. Section 4 summarizes the most
popular existing SOSE methods in literature. In section 5,
we focus in the comparison of these existing methods to
highlight their strengths and their weaknesses. Section 6
discusses our findings. Finally a conclusion section presents
further development.
II.
METHOD ENGINEERING APPROACHES
A large number of ME approaches have been proposed in
the literature. These approaches provide guidance for the
creation of a new method and for the adaptation of an
existing method to some change or to a specific project
situation. A large number of ME approaches have been
proposed in the literature. These are referred to as Ad-Hoc,
Paradigm-Based, Extension- Based and Assembly-Based
[14] as shown in Fig1.
Ad-Hoc approaches: These approaches deal with the
construction of a new method ‘from scratch’. There are
different reasons that can initiate a decision to construct a
new method. The appearance of a new application domain
that is not yet supported by a specific method is an example.
Paradigm-Based ME : These type of approaches use some
initial paradigm model or meta-model as a baseline As-Is
model which is instantiated, abstracted or adapted according
to the current ME objective to develop the new To-Be
model.
Extension-Based ME: Different kinds of extension can be
realized on an existing method. Their objective is to
enhance a method with new concepts and properties. For
example, a static method such the one for construction of an
E/R schema can be extended to deal more systematically
with the representation of time through a calendar of time
points, intervals etc. and temporal aspects such as the
histories of entities.
Assembly-Based ME: These approaches propose to
construct new methods or to enhance existing ones by
reusing parts of other methods. The core concept in these
approaches is one of reusable method component (aka
method chunk, method fragment or method block). An
Assembly-Based method construction consists in defining
method requirements for a current situation, selecting
method components satisfying this situation and assembling
them. Association and integration are two kinds of assembly
that can be applied on the selected method components.
Association concerns assembly of method components with
different purposes and objectives, whereas integration deals
with overlapping method components having the same or
similar objective, but providing different manners to satisfy
it.
Fig. 1.Typology of ME Approaches
In addition to these approaches, we also found the following
techniques:
Using a CAME tool: Significant growth in the number of
engineering methods systems and their environments
support influenced the emergence of a new technical
engineering methods called CAME (Computer Aided
Method Engineering). The engineering practice in this area
is defined by as a disciplined process to build, evaluate or
modify a method by means of component specification
method and the relationship between them [17].
Using generic patterns: The essence of a pattern is the fact
that it provides a reusable solution in any situation where
the problem concerned with the pattern appears. With its
ability to reuse, this concept has recently been introduced in
the field of engineering methods [17].
Product Line: Instead of continually "reinventing the
wheel", or incorporating parts of "old" systems in an ad-hoc
manner, organizations following a product line approach
can consolidate their key software assets within a highquality, reusable software core, and concentrate their
resources on adapting this core to meet the changing needs
of customers [18].
III.
METHOD AGGREGATES
Most the methods have a sound set of invariant aggregates
that we can represent in a meta-model, where each distinct
instantiation of the meta-model produces a method. These
aggregates are summarized in Table 1.
TABLE 1: AGGREGATES OF A METHOD
Aggregates
Description
Building block
The main construct used by the method to
build a solution. In our case, the building
blocks are services of different abstractions,
having fundamental properties and design
principles provided by service science and
SO respectively.
The architecture of the solution (or the view)
is made up of a set of components along
with their relationships, and the mechanisms
of their interaction. SOA shapes the
architecture of the produced service-oriented
solution as a composition of services.
A set of coordinated engineering activities
that produce solutions made up of (a) views
(artifacts) of the solution at different levels
of abstraction/refinement with respect to
different types of stakeholders. Each view is
either a level of abstraction/refinement or a
facet of the solution, and (b) documentation
of the product, including documentation of
all the views (artifacts).
Models, formalisms, or languages, along
with notations and diagrams, used to
represent and express the views in order to
reduce their complexity and make them
understandable
by
their
respective
stakeholders. From the perspective of
complexity, a view is a level of abstraction
of the solution, whereby the problem is the
highest level of abstraction, and the solution
is the lowest one.
CASE tools assist in producing the views of
the solutions and managing these views
Techniques used to asses and evaluate the
quality of each view of the solution. These
are metrics that concern with the quality of:
services, views, and solutions
Any method can reuse patterns from the
existing methods. Patterns may be wellknown aggregates such as process,
representation techniques, or inspection
techniques.
Architecture
Process
Representation
techniques
Tools
Inspection
techniques
Pattern
IV.
EXISTING SOSE METHODS
In this section we present the most popular methods that are
used to develop SBAs.
a. Service Oriented Modeling and Architecture (SOMA)
[9]
SOMA is a software development life-cycle method
invented and initially developed in IBM for designing and
building SOA-based solutions. It consists of three steps:
identification, specification, and realization of services,
flows, and components realizing services.
b. Service Oriented Architecture Framework (SOAF) [8]
SOAF provides a systematic approach and a well defined
process to guide the design, evaluation and development of
a SOA. It consists of five main phases: information
elicitation, service identification, service definition, service
realization, and roadmap and planning.
c. Service-Oriented Analysis and Design (SOAD) [5]
Existing modeling disciplines such as Object-Oriented
Analysis and Design (OOAD), Enterprise Architecture (EA)
frameworks, and Business Process Modeling (BPM) fall
short when being applied independently of each other. For
that, we need for a hybrid approach that combines elements
of all of the disciplines, with a number of distinct, new
elements. The resulting, interdisciplinary OOAD method
facilitating successful SOA deployments is ServiceOriented Analysis and Design (SOAD).
d. Service-Oriented Unified Process (SOUP) [19]
As the name suggests, this approach is primarily based on
the Rational Unified Process. Its lifecycle consists of six
phases: incept, define, design, construct, deploy, and
support.
e. Papazoglou's Method [6]
It is based on an iterative and incremental process that
comprises one preparatory and eight distinct main phases.
These are planning, analysis and design (A&D),
construction and testing, provisioning, deployment,
execution and monitoring.
f. Thomas Erl’s [10]
This methodology is a step by step guide through the two
main phases: analysis and design. Service candidates are
identified in the analysis phase. These serve as input for the
next phase where the service candidates are specified.
g. SENSORIA Development Approach (SDA) [7]
The aim of the project SENSORIA is the development of a
novel comprehensive approach to the engineering of
service-oriented software systems where foundational
theories, techniques and methods are fully integrated into
pragmatic software engineering process.
h. Identification and Analysis of Business and Software
Services—A Consolidated Approach [12]
Based on a review, analysis, and evaluation of the 30
existing service oriented approaches it has shown that a
comprehensive approach is missing. Based on this
evaluation, an integrated, consolidated approach is emerged
and it is called Identification and Analysis of Business and
Software Services.
i. The CBDI-SAE Process [20]:
The SAE Reference Framework is designed to provide a
comprehensive Framework of all components necessary to
support the migration to and subsequent upkeep of a service
oriented enterprise.
V.
COMPARISON OF EXISTING SOSE METHODS
In this section we compare the above-mentioned service
oriented methods according to three perspectives:
P1. The ME approaches, where we identify the method
engineering technique used by the service oriented
method as summarized in Table 2.
P2. Method aggregates, where we classify the service
oriented method according to the different aggregates
of method used, namely process, product, tool, model,
and pattern as summarized in Table 3.
P3. Aspects of service engineering, where we show which
is the way used by the service oriented method to
describe the relative services as summarized in Table 4.
A. ME approaches used in SOSE
The method SOMA is created from scratch since this SOA
method was harvested from hundreds of successful
experiences and lessons learned from the difficulties and
challenges encountered in early SOA design and
implementation projects. So the developers of SOMA have
not started from a model or an existing method but from the
initial experiences in different domains to apply the SOA
design and implementation in their projects. SOAF method
also use an ad hoc approach since it offers the best practices
and guidelines to follow, in the aim to obtain a service based
application and it does not rely on any existing paradigm or
method. While the method SOUP uses the best elements
from RUP and XP to build and manage a SOA project, so it
is clear to conclude that this method uses an extension
technique. Then the method SOAD not only combines
existing elements such as Object-Oriented Analysis and
Design (OOAD), Enterprise Architecture (EA) frameworks,
and Business Process Modeling (BPM) but also add new
elements to obtain a method so it uses the technique of
Product Line. As the SOAD method, the Papazoglou's
method use a Product Line approach also since it is partly
based on other successful related development models such
as the Rational Unified Process (RUP), Component-based
Development (CBD) and Business Process Modeling
(BPM). Concerning the Erl’s method, we note that is a step
by step guide through the two main phases: service-oriented
analysis and design; and it does not use any existing
paradigm or method so the method engineering approach
used in is ad hoc one. Regarding SENSORIA method, it
uses the Paradigm-Based ME technique since The
SENSORIA Development Approach (SDA) follows the
patterns described in the OMG’s Model Driven Architecture
(MDA), which is “an approach that uses models in software
development”. So this method is based on the paradigm of
SDA, which is a variation of MDA that is why we have
chosen the paradigm based ME. As we have shown,
consolidated approach to business and software service
analysis evaluates 30 existing service oriented methods to
investigate their weaknesses and their strengths and then
combines and extends the strengths of the different
examined methods so it is clear that this method have used
the assembly technique. Finally the CBDI-SAE process
method have used an ad hoc approach as it does not use any
existing method or paradigm but it uses a Framework that
guides the developer to obtain SBA.
TABLE 2: ME APPROACHES USED BY SOSE METHODS
SOMA
SOAF
SOAD
SOUP
Papazoglou's
method
Thomas Erl’s
SENSORIA
Consolidated
Approach
CBDI-SAE
Process
Ad
hoc
X
X
ParadigmBased ME
ExtensionBased ME
AssemblyBased ME
Product
line
X
X
X
X
X
X
X
B. Aggregates of method used in SOSE
SOMA is proprietary to IBM and its full specification is not
available. But recently, the Rational Unified Process has
been combined with SOMA to result in what is called IBM
RUP for SOMA. So SOMA provides developers with a
process that can be followed to obtain SBA. However it
does not provide any tool or model that makes SOMA more
understandable for developers. SOAF method does not use
any of the aggregate of method cited below since it does not
employ any process model and also any tools or techniques
are involved in it. As we have shown, SOAD is a method
that combines several existing techniques which are OOAD,
BPM and EA. In addition it also uses the Unified Modeling
Language (UML) since the Object Oriented Analysis and
Design (OOAD) relies on it and SOAD method uses UML
in the application level to extract the different classes and
objects that will be then transformed to services in SBAs.
As its name suggests, the SOUP method is based on two
processes which are RUP and XP. However it does not use
any technique, model or tool that guides the engineer in
developing a service based application.
Papazoglou’s method is based on RUP process and it uses
the two techniques which are Component Based
development (CBD) and BPM. The methodology of Erl
uses also the Business Process Modeling in extracting the
candidate services from the business process of application
wanted to be a SBA. SENSORIA method is based on the
SDA, which is an approach like MDA (Model Driven
Architecture). In addition, SENSORIA utilizes several tools
and techniques to obtain the service based application
desired. SENSORIA uses the UML4SOA which is a variant
of UML that supports the characteristics of service oriented
development. Also SENSORIA employ Pepa tool that
captures the non functional proprieties, in particular
performance aspects. WS-Engineer is a tool for analyzing
the problem of engineering software components as services
and the interaction behavior between them in a qualitative
fashion. It worth noting that SENSORIA development
approach is tool-assisted, which means that all tools are
integrated into a common integration platform that is
SENSORIA development environment (SDE).
The consolidated method is a result of an analysis of 30
existing service oriented method and it is obtained in
combining their strengths and overcoming their weaknesses
or limits so this method does not follow any process and
does not use any technique or tools. Finally the CBDI-SAE
Process provides a Framework which allows the developers
to obtain the SBA. This Framework helps the engineer by
providing the best practices and guidelines to obtain the
desired result. But this method does not use any of the
aggregate of method.
TABLE 3: AGGREGATES OF METHOD USED IN SOSE METHODS
Proce Produ Tool
Mod
Patte
Techniq
ss
ct
el
rn
ue
RUP
NO
NO
NO
NO
NO
SOMA
NO
NO
NO
NO
NO
NO
SOAF
OOAD
NO
NO
UML
NO
NO
BPM
SOAD
EA
RUP,
NO
NO
NO
NO
NO
SOUP
XP
NO
NO
NO
NO
CBD
Papazoglo RUP
BPM
u's
method
NO
NO
NO
NO
NO
BPM
Erl’s
UML4S
SENSORI
NO
NO
OA
NO
NO
NO
A
Pepa
WSEngineer
NO
NO
NO
NO
NO
NO
Consolida
ted
NO
NO
NO
NO
NO
NO
CBDI-
C. aspects of service engineering
In this section, we present the way used by the service
oriented methods to describe the construct services. The
concept service may be seen as IT-component, a composite,
business services, or a business process proving value.
SOMA method has three phases which are identification,
specification and realization. The aim of the phase of
identification is to identify the fundamental construct of
SOA which is service. However, during the phase of
information election of the SOAF method the as-is and the
to-be business process models are defined so business
services can be properly identified.
To obtain services with the SOAD method, we start from
the legacy application to extract from it the future services.
Doing that, we obtain services that are generated from the
reusable functional components and business services
generated from the business process of application. The
SOUP method contains six phases. The definition of
services is done in the define phase. During this phase the
services are identified based on business process and the
existing uses cases of the application that can be
transformed to services. To obtain the services in
Papazoglou’s method, it is necessary to explore the as-is
model to understand the available services and the business
process. According to this, the analysts decide what are the
required changes to obtain the to-be model. So the services
are created based on the business process. Also the
identification of services in Thomas Erl’s method is based
on the explore of as-is model which states the current
situation and allows stakeholders to understand which
business processes are already in place and which has to be
introduced and automated, which application components
can be reused. The SENSORIA method, the consolidated
method and the CBDI process use business process as a start
to obtain the services desired in the service based
application.
VI.
DISCUSSION
According to the comparison made above, we note that most
of SOSE methods studied extract their services from the
business process of the application, i.e., the actual
application is analyzed to extract the business process that
will be transformed to services in the future SBA solution.
We note also that the most of studied SOSE methods do not
use any process (some methods used RUP or XP process).
In addition, these methods suffer from the absence of
models since no one of the examined methods uses a model.
They just use some tools such as UML and some techniques
such as BPM, CBD and OOAD. So it is clear that these
methods suffer from the lack of the notation, tools and
models that make the SOSE method more employed and
understandable by developers.
TABLE 4: ASPECTS OF SERVICE USED IN SOSE METHODS
Service Composition
Service and
Business
Composition
services
SOMA
SOAF
X
X
X
X
SOAD
SOUP
Papazoglou's
method
Thomas
Erl’s
Business
processes
as
services
X
X
X
X
SENSORIA
X
Consolidated
Approach
CBDI-SAE
Process
X
X
VII. CONCLUSION
In this paper, we have provided a new framework that
compare existing SOSE methods according to three
characteristics: the ME approach used to produce a new
method, the aggregates any method should embody, and the
type of main building blocks used to build SBA. This has
implication in completing the existing frameworks, by
taking into account more relevant perspectives of SOSE,
toward a comprehensive framework that be a meta-model
for SOSE methods.
In further development we will show how to consider a
SOA maturity adoption process and propose a
comprehensive framework to generate or benchmark new
methods.
REFERENCES
[1] Papazoglou, M.P., Andrikopoulos, V. and Benbernou:, B. (2011)
‘Managing Evolving Services. IEEE Software, 28(3), pp. 49-55
[2] Gu, Q. and Lago, P. (2011) ‘Guiding the selection of service-oriented
software engineering methodologies’, Service Oriented Computing
and Applications, 5(4), pp. 203-223.
[3] Bianco, P., Kotermanski, R., and Merson, P. (2007) ‘Evaluating a
Service-Oriented Architecture’, Technical Report CMU/SEI-2007TR-015, Software Architecture Technology Initiative, Carnegie
Mellon.
[4] Welke, R., Hirschheim, R. and Andrew Schwarz, A. (2011) ‘ ServiceOriented Architecture Maturity’, IEEE Computer, 56(1), pp. 61 – 67.
[5] Zimmermann, O., Krogdahl, P. and Gee, C. (2004) ‘Elements of service
oriented analysis and design. An interdisciplinary modeling approach
for
SOA
projects’.
Onlinee
at:
http://www.ibm.com/developerworks/webservices/library/ws-soad1/
last accessed 2012.
[6] Papazoglou, M. P. and van den Heuvel, W. J. (2006) ‘Service-Oriented
Design and Development Methodology’, International Journal of
Web Engineering and Technology, 2(4), pp. 412-442.
[7] Wirsing, M., Hoelzl, M., Koch, N., Mayer, P., and Schroeder, A. (2008)
’Service engineering: the sensoria model driven approach’, in:
Proceedings of Software Engineering Research, Management and
Applications (SERA 2008), Prague, Czech Republic, pp. XIV–XVI.
[8] Erradi, A. Anand, S. and Kulkarni, N. (2006) ‘SOAF: An architectural
framework for service definition and realization’, In Proc. of Services
Computing, SCC'06. IEEE International Conference, pp. 151-158.
[9] Arsanjani, A., Ghosh, S., Allam, A., Abdollah, T, Ganapathy, S. and
Holley, K. (2008) ‘Service-oriented modeling and architecture’, IBM
Systems Journal, 47(3), pp. 377-396.
[10] Erl, T. (2009) ‘SOA design patterns’, Prentice Hall.
[11] Baghdadi, Y. (2012)‘A Methodology for Web services-based SOA
realization’, Int. Journal of Business Information Systems, 10(3), pp.
264-297, 2012
[12] Kohlborn, T., Korthaus, A., Chan, T., and Rosemann, M. (2009),
‘Identification and analysis of business and software services—a
consolidated approach’, IEEE Transactions on Services Computing,
2(1), pp. 50–64.
[13] Mazo, R., Salinesi, C., Djebbi, O., Diaz, D. and Lora-Michiels A.,
(2012), Constraints: the Heart of Domain and Application
Engineering in the Product
[14] Ralyté, J., Rolland, C., & Deneckère, R. (2004). Towards a meta-tool
for change-centric method engineering: A typology of generic
operators. In: Advanced Information Systems Engineering (pp. 202218). Springer Berlin Heidelberg.
[15] Rolland, C. (2005) ‘L’ingénierie des méthodes: une visite guide, Lines
Engineering Strategy, Int. Journal of Information System Modeling
and Design, 3(2)
[16] Baghdadi, Y. (2013) ‘A comparison framework for service-oriented
software engineering approaches: issues and solutions’, Int. Journal of
Web Information Systems, 9(4), pp. 279-316
[17] Ralyté, J. (2001) ‘ Vue stratégique sur l’ingénierie des méthodes’, pp.
43-66
[18] CAtkinson, C., Bayer, J. and Muthig, D. (2000) ‘Component-Based
Product Line Development: The KobrA Approach’, pp 289-309
[19]. Mittal, K. (2006) ‘Service Oriented Unified Process (SOUP)’,
available from http://www.ibm.com/developerworks/library/ws-soamethod3/index.html#initial
[20] Allen, P. (2007) ‘The service-oriented process’, CBDi Journal, at
http://www.cbdiforum.com/reportsummary.php3?page=/secure/interact
/20007-02/service oriented process.php&area=silve
Download