Service Oriented Software Engineering SOSEASurveyand Gap Analysis
Service Oriented Software Engineering SOSEASurveyand Gap Analysis
2
In this section, we will summarize some of the Development (CBD).
most known methodologies used for service- This methodology covers all software lifecycle
oriented system engineering based on the surveys phases, planning, analysis, design, implementation,
and, also more recent methodologies are testing and deployment. It also encompasses business
illustrated: concerns such as billing, certification and ranking.
A. CBDI – SAE Service Architecture and Each of the previous phases and concerns was
Engineering defined and described in detail, with some guidelines
The CBDI-SAE is defined approach for to show how it should be built. The proposed
service architecture provided by CBDI company methodology contributes to the concept of adaptive
[10], it covers all software lifecycle including service capabilities which means that services and
planning, development, integration and evolution. processes can mutate continuously to satisfies
They provide some important services such as: environmental needs and changes.
well-described specifications and design, strong D. SOMA - Service-oriented modeling and
assurance on organizing data in stable, consistent architecture
and high-quality manner, it also achieves the most
IBM has developed iterative and incremental
important principle of SOSE which is loose
software development lifecycle method known as
coupling by separation of behaviors and
Service-oriented modeling and architecture (SOMA)
Separation of logical and physical views to
for analyzing, designing, implementing, and
achieve high ability of reuse. Moreover, CBDI
deploying service-oriented architecture solutions. It
provide support of evolution without losing any
contains three main phases.
architectural integrity. This methodology aims Identification phase
business-IT integration through two manners: The objective of this phase, in general, is to
top-down analysis of business needs and bottom- identify the candidate services. This phase
up system integration. includes three steps:
B. A Service Oriented Architecture a) Top-down modeling of an existing business
Framework for Collaborative Services process:
Ivar Jørstad et.al proposed a framework in [11] This step focuses on analyzing business domains
for collaborative services, the main goal of this and process to identify services, components, and
framework is to facilitate collaboration between flows (decomposition of the business domain into
people, teams or organizations. The framework functional areas and business use cases).
focuses on combining different services in one b) Bottom-up analysis of existing systems:
service using different web service applications This step focuses on analyzing and selecting
languages such as BPEL. existing systems as good candidates.
The Collaborative Services Layer consists of c) Middle-out goal-service modeling:
the following services: Locking, Presentation This step aims to validate and discover other
Control, UserPresenceManagement, Organization services not catch by previous identification
Management and Communication Control. A steps.
collaborative application can then be built based Specification phase
on these basic collaborative services and other The objective of this phase is to select
selected services. They can be either an candidate services to be developed and to provide
application or an orchestration of services detailed service specifications for development.
C. SDLC - Service-Oriented Design and Realization phase
Development Methodology The objective of this phase is to guide the
P. Papazoglou and den Heuvel proposed a development of the selected services using the
methodology in 2006 concentrate on aligning web service technology. Moreover, documenting
service-oriented software engineering with design decisions that are made during these
business process interactions in order to achieve iterations.
a common goal, it was built upon other
previously developed models such as Rational
Unified Process (RUP) and Component-Based
3
oriented solutions
E. RQ - Repeatable Quality The main highlight of this paper that authors
Sun Microsystems has proposed methodology in dedicate a phase to identify existing services and
named Repeatable Quality, it is incremental and choose well between them, this give more time to
iterative methodology that relies on RUP. This this process and therefore provide successful results
methodology consists of 5 phases: inception, to the service.
elaboration, construction, transition, and G. Garro et al. Methodology
conception. Like OOSE, this methodology uses
A. Garro et al proposed a method to develop
UML to model service artifacts and document all
service- oriented solutions, their method contains
deliverables of system
seven stages, for each stage they defined the
F. An Improved methodology for Service requested input and the expected output. The
Oriented Architecture stages are: Requirements specification,
Emadi et al. proposed a methodology in that application definintion, service discovery, service
relies on service-oriented software engineering development, services composition, services
that consists of ten phases as follows: integration and application testing
Requirements Engineering and Analysis:
H. MSOAM - Mainstream SOA Methodology
In this phase, all requirements are gathered
and analyzed, this includes business processes. Another popular SOA methodology MSOAM
This phase also includes browsing existing proposed by Thomas Erl MSOAM enhance SOA
services to determine what processes already implementation. It contains seven stages of
existing and what needs to be implemented. activities:
Planning and Project Management: Ontology Definition,
Identifying project stages, subsystems, cost Business Model Alignment
and time in details. Service Oriented Analysis
Reuse Management Service Oriented Design
The variable method content such as tasks, Service Development
work products, roles, and guidance specific to Service Testing
each of the solution types is defined . Service Deployment
Service identification MSOAM contributes in high description of the
Understand the business environment and stages of analysis and design which helps any
define services and sub-services that can be service developer to complete his desired work in
offered a better way.
Service Definition
Identifying requirements in detail, specify Boutheina Gherib compare different SOSE
policies and protocols and also naming the methodologies from different points of views as
service is done in this phase shown in Table 2:
Service Aggregation
Services from different layers and different TABLE 2 COMPARISON OF SOSE
granulate then combine, compose and decompose METHODOLOGIES.
them.
Service Modeling
Model and design system to well-documented
files and interfaces.
Implementation
Programming is done in this phase beside
requesting services from service providers
Test
Validate that all requirements are met and the
system is well integrated.
Deploy and support
Loop procedure of measuring, monitoring,
reporting and improving the quality of service of
systems and applications delivered by service-
4
After walking through previous However, there are some modeling notations that are
methodologies, we would like to spot the not covered in the previous survey such as Jianpeng
light on IBM-SOMA and MSOAM since they Hu’s notation that combine SOAML with DEVSML.
are the most popular methodologies based on And Boumahdi notation named SOA+d that
the study of Suhardi. When it comes to considers the modeling of the decision-making
industry IBM- SOMA and IBM-SOAD have aspect which is a new dimension in SOA. We can
a high usage in industry this is basically find a research gap in the field of existing modeling
because of the support that IBM provides for notations for SOA that should be covered in future
clients and responsive developer community research.
there.
APPLICATIONS WHERE SOSE APPLIED
In order to ease the selection among these
SOSE plays a huge role in a number of domain
methodologies, have proposed a framework
and enhancing many areas. We have selected three
guides companies in deciding how to select a
real-world applications that applied SOSE in their
SOSE methodology.
domain which are presented in detail below.
They conducted a feature analysis to understand
the characteristics of SOSE methodologies and Cloud computing systems (Service Provider)
defined a set of generic criteria (Objective, Cloud computing system concept in is the delivery
Lifecycle, Artifacts, Notations, Procedure, of multiple services that hosted in computing
Principles, Formality, Specialization, Tool, infrastructure and provided by major stakeholders. It
Maturity, Management and Integration) and allows sharing resources among heterogeneous
service-specific criteria (Open-world assumption, applications over the internet and the association
Service definition, The creation of services, among the services differs according to the business
Development roles, Association of roles to need.
activities, Architectural change, Runtime These technologies that represented in [20] are
activities, Non-functional requirements, used to build Cloud Computing systems:
Variability, Perspective and Multiple virtualization, Web service and service-oriented
organizations) for comparing the existing architecture (SOA), service flows and workflows,
methodologies. These defined criteria can be used and Web 2.0 and mashup.
as a checklist for selecting a suitable SOSE
methodology from the existing methodologies. SOA as an architectural approach in cloud-computing in
They evaluated the proposed framework by offers many advantages: componentization, reusability
analyzing 12 SOSE methodologies, some of them (over multiple application), extensibility, flexibility,
were mentioned in this paper like: CBDI-SAE, agility and cost saving due to its features which they
SDLCand IBM-SOMA. are low coupling, modularity, statelessness and
semantic interoperability.
NOTATIONS FOR SOA:
The Autonomous Decentralized System (Service
When it comes to SOA modeling notations, Provider)
Mohammadi et al. wrote a survey about existing
SOA notations, referring to this survey, there are This system is managing the distributed web
six available notations as follows: applications and be applicable to correspond to
SOA- RFA SOA Reference Architecture unpredictable business change. It consists of
Foundation, subsystems that communicate via Data Field
SOA Ontology, (DF). Each subsystem is autonyms which can
SOMF, Service-Oriented Modeling operate by itself, and in case any failure the
Framework, whole system should not be stopped due to SOA
PIM4SOA, Platform-Independent Model
for SOA, and primary feature in the low-coupling. Moreover, it
SOAML, SOA Modeling Language. allows integrated systems to exchange extensive
Although all of those notations exist, most of information among heterogonous environments
methodologies continue using UML as a which reflects its interoperability, such as supply
modeling notation to illustrate their work. The chain management (SCM), train system, and
second most used notation is SOAML which is smart grid system.
an extension of UML for more complex systems. Service Oriented Architecture in banking and
5
financial industry (Service Consumer): In this paper, we defined Service-Oriented
Service Oriented Architecture can be Software Engineering, exposed its advantages
applied in banking field in order to provide and challenges, and then compared it with
banks with many features. The main Object-Oriented Software Engineering. After that
advantages of using this architecture is the some methodologies for applying SOSE in
loosely coupled design that allows reusing literature are proposed, our research showed that
services from multiple consumers. According IBM-SOMA is the most popular methodology
to [23], using SOA in banking will result in used based on the literature findings besides our
reducing banking IT costs because of research of the development community and
decreasing integration costs. In addition, it support provided. We also walked through
will increase opportunity to provide value-add existing SOA modeling notations and we found
services to banks’ customers. Whitney that the last survey was considering all notations
National Bank in New Orleans is an example was published in 2013 in new survey needs to be
of the banks that has adapt SOA to improve made since new notations have emerged in the
its services, decrease costs, and to streamline field. Moreover, some applications for SOSE in
the business. real life were stated in brief. For future, we
suggest making a survey of existing SOA
TRENDS OF METHODOLOGIES AND modeling notations. Also, to the best of our
APPLICATIONS knowledge that the last guideline written for
A number of SOSE methodologies have choosing best SOSE methodology was designed
been proposed in industry such as SOAD, earlier than the occurrence of new methodologies
SOMA, SOUP and CBDI-SAE. Some of such as a recent updated guideline for the field
them have been applied in real-life projects will be beneficial in helping companies to decide
such as SOAD and SOMA. While other what methodology to use in their projects.
methodologies have been proposed in
academia such as SOAF and SDLC. SOAF
has been applied in securities trading. As
mentioned previously, IBM-SOMA and
MSOAM are the most popular methodologies
based on the study of Suhardi in. Also in this
paper, we represented three key trends
applications in SOSE: Cloud Computing
Systems, Autonomous Decentralized Systems
and SOA impact in financial industries.
We can see from previous paragraphs that
SOSE has been widely used since it occurs,
different companies including large ones have
adapted this paradigm and issued different
methodologies to facilitate reuse for both
individuals and companies. On the other
hand, we can see different applications were
SOSE applied including various domains,
starting from technical domains to finance,
business and also a governmental domain.
Although SOSE has some weaknesses, we
should keep our concentration on the huge
advantages this paradigm offers especially the
ability of reuse and reduced costs.
6
7