SlideShare a Scribd company logo
1 of 7
Download to read offline
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/330027264
Service Oriented Software Engineering (SOSE):A Survey and Gap Analysis
Conference Paper · April 2018
DOI: 10.1109/NCG.2018.8593028
CITATION
1
READS
1,681
5 authors, including:
Some of the authors of this publication are also working on these related projects:
Software Architicture View project
Arabic Text Encoding View project
Falwah Alhamed
King Abdulaziz City for Science and Technology
6 PUBLICATIONS   4 CITATIONS   
SEE PROFILE
Sarah Aldaweesh
King Abdulaziz City for Science and Technology
8 PUBLICATIONS   4 CITATIONS   
SEE PROFILE
All content following this page was uploaded by Sarah Aldaweesh on 09 April 2020.
The user has requested enhancement of the downloaded file.
Service Oriented Software Engineering (SOSE):A
Survey and Gap Analysis
Felwah Al-Hamed1
, Sara Al-Doweesh1
1. Center of Excellence for Telecom Applications (CETA)
King Abdulaziz City for Science and Technology (KACST)
Riyadh, Saudi Arabia
{falhamed,saldoweesh}@kacst.edu.sa
Rana Al-Omar2
, Wejdan Al-Doweesh2
and Abeer
Najjar3
2. General Organisation for Social Insurance (GOSI)
Riyadh, Saudi Arabia
{Ralomar, Waldaweesh}@gosi.gov.sa
3. King Saud University (KSU)
Riyadh, Saudi Arabia
abbenabid@ksu.edu.sa
Abstract— This paper studies Service-oriented software
engineering paradigm in general analysis. Service-oriented
software engineering (SOSE) is a software engineering paradigm
for building and developing distributed applications. There are
many advantages in terms of SOSE as it facilitates the loose
coupling feature. The paper provides a comparison between
Object-oriented software engineering and SOSE, advantages and
challenges of using SOSE, some of the most known methodologies
exist to develop this paradigm, existing modeling notations and
also how SOSE is used within real applications.
Keywords- Service-oriented software engineering, Object-
oriented software engineering, Service-oriented methods, Service-
oriented applications, service-oriented model notation
I. INTRODUCTION
Service-oriented software engineering (SOSE) is a
software engineering paradigm that uses web services to build
and develop distributed applications, it is considered as an
evolution of Object-oriented software engineering (OOSE) and
component-based development (CBD). SOSE became widely
used by the reason of its reduced costs and high ability of reuse,
besides the platform-independency this paradigm offers.
These days, complex and huge systems are built using
SOSE for overcoming domain problems by integrating some
existing services. Many companies and organizations tend to use
this paradigm to achieve high-quality systems within reasonable
cost. While SOSE turns into a well-known phrase, some people
still find it difficult to differentiate between SOSE and Object-
Oriented software engineering (OOSE). In this work, we define
both SOSE and OOSE, then some advantages of SOSE is listed
beside the challenges that SOSE introduced. A comparison
between the two paradigms using some characteristics followed.
Moreover, we survey some methodologies and applications used
by SOSE in later sections of this paper.
II. DEFINITIONS
A. Object-oriented software engineering (OOSE)
OOSE is a software engineering paradigm that used in
object-oriented programming language. In the early of 1970s,
the Object-oriented paradigm (OOP) was developed, and it
consists of objects which represent an entity in the physical
world.
Object-oriented design processes encompass of object
classes and their relationship. Its object state is private and
cannot be reached out directly from outside the object-
information hiding.[1],[2]
B. Service Oriented Software Engineering (SOSE)
is a software engineering paradigm that uses web services to
build and develop distributed applications. The notion of SOSE
came from the early 2000s when organizations required the
ability to access information from different programs besides
dealing with the wide variety of large-scale and complex
systems. Also, the high demand for speed time-to-market and
business activities. The service-oriented focus is on business
processes on which serves the flowing exchange among
organizations and corresponds to rapidly changing environment
because of its adaptive characteristic.
Service-based applications prompt interaction among
various services, and communication among heterogonous
environments where service-oriented architecture's (SOA) key
element. For example, Cloud computing is one of the best
applications of SOSE where computing infrastructure hosts
services provided by significant suppliers/organizations, Supply
Chain Management(SCM) which allows enterprise companies
order goods by extensive exchange information, e-commerce
and business to business (B2B) or business to consumer (B2C)
[1], [2].
III. SOSE ADVANTAGES
A. Loosely-Coupling
I. Sommerville in his book “Software Engineering”
mentioned that SOA encourages independent design, the
evolution of a service's logic and implementation while still
guaranteeing baseline interoperability and providing value to a
broader business function.
B. Scalability
Multiple instances of a single service can run on several
servers simultaneously. This increases scalability and
availability of the service; this information was supported in [3]
also.
978-1-5386-4110-1/18/$31.00	©2018	IEEE
C. Agility
What gives SOA its agility is allowing the IT infrastructure
to be simply adjusted to business requirements – recalling from
I. Sommerville book [1] - , which enable companies to respond
faster to customer needs.
In addition, SOA allows different services packaging, this
feature in conjunction with the architecture, makes it possible
for services to be combined in creative and advanced ways to
solve business problems.
D. Reduced Costs
Letchmunan et.al in their work in [3], found that the service-
oriented approach relies on using existing software modules
instead of building new ones, and this leads to lower
development, testing and maintenance costs.
E. Reusability
In SOA, Services are built so that it can be reused in many
applications [5]. This is done by constructing small, loosely
coupled, self-contained pieces. Therefore, it facilitates re-using
existing modules in multiple applications independent of their
interactions with other services.
F. Composition of services
In Service-oriented approach, many services can be
assembled to construct one service, so that single service can
utilize multiple functionalities.
IV. SOSE CHALLENGES
A. Security
The work in [4] illustrates how distributed nature of SOA
applications made them vulnerable to security threats. Since
SOA messages are transmitted over the internet, unlike
traditional architectures that make use of private networks. SOA
messages are exposed to unwanted listening if unsecured
properly.
B. Performance
From [1,4], we can find that some SOA applications build a
complex mechanism with plenty of messages exchanged and
inessential complexity for some software packages, and this
makes it not suitable for systems with powerful time constraints.
Moreover, there is a speed differential between a local call and
a remote network call, and most of SOA relies on remote calls
which leads to undesired reduced speed.
C. Management
Managing and providing information on how services
interact is a complex task as mentioned in [6], this is because
each service has a specification of its functionalities and how it
is to be invoked, an issue emerged when developing services
where it must correspond to the client operations and data
structures, especially when the services use different data
structures.
V. SERVICE ORIENTED SOFTWARE ENGINEERING VS.
OBJECT-ORIENTED SOFTWARE ENGINEERING
Since SOSE can be built on the top of OOSE base, it is
important to clarify the key differences between them, this is
illustrated in table 1 below. Based on the following references,
we summarize the differences in this table:
TABLE 1 COMPARISON BETWEEN SERVICE-ORIENTED AND OBJECT-ORIENTED
PARADIGMS
VI. METHODOLOGIES USED IN SOSE
The objective of Service Oriented Methodology is to
translate enterprise business processes to a set of services by
providing set of standardized activities, techniques, guidelines,
References Attribute SOSE OOSE
These models
are taken from
reference [7]
as Breivold
said
Module Service Object
Coupling level
Loosely, since the
services are
independent and
not related to exact
business processes
Tightly, OO
systems
include a set of
strongly
coupled
classes
These models
are taken from
reference [8]
as Stubbings
said
Focus Business-level Object-level
Complexity
High, specifically
where there
is little control over
technology
Medium to
high with a
more
controlled
environment
These models
are taken from
reference [9]
as Rodriguez
said
Cohesion level high Medium
Interoperability
High, any service
or service
consumer can
access other
services regardless
of their platform,
or language
implementations.
Low
This model is
taken from
reference [2]
as Abdelkrim
said
Reusability
High, due to the
loose coupling and
no need of similar
environment
Lower than
SOSE,
because of the
tight coupling
of objects
These models
are taken from
reference [4]
as Manjula
said
Domain to use
Applications in
cooperative and
heterogeneous
environments
Applications
in cooperative
and controlled
environments
Owner’s
responsibility
High, the service
provider is
responsible for the
development,
Quality of Service,
maintenance,
deployment,
execution, and
management.
Low, the client
is free to
manipulate the
class when he
has full
responsibility
for it
Scalability High Low
These models
are taken from
reference [19]
as Koskela
said
Application
Interface
Specific for the
Service description
e.g. WSDL, SOAP
Specific for
the required
object
description
e.g. IDL
Can be built on
top of the other
principle?
yes NO
Typical
technology
Web services C++
roles and responsibilities [37]. In this section, we will summarize
some of the most known methodologies used for service-
oriented system engineering (SOSE) based on the surveys [13]
and [14], also more recent methodologies are illustrated:
A. CBDI – SAE Service Architecture and Engineering
The CBDI-SAE is defined approach for service architecture
provided by CBDI company [10], it covers all software lifecycle
including planning, development, integration and evolution.
They provide some important services such as: well-described
specifications and design, strong assurance on organizing data
in stable, consistent and high-quality manner, it also achieves the
most important principle of SOSE which is loose coupling by
separation of behaviors and Separation of logical and physical
views to achieve high ability of reuse. Moreover, CBDI provide
support of evolution without losing any architectural integrity.
This methodology aims business-IT integration through two
manners: top-down analysis of business needs and bottom-up
system integration.
B. A Service Oriented Architecture Framework for
Collaborative Services
Ivar Jørstad et.al proposed a framework in [11] for
collaborative services, the main goal of this framework is to
facilitate collaboration between people, teams or organizations.
The framework focuses on combining different services in one
service using different web service applications languages such
as BPEL (Business Process Execution Language) and
BPEL4WS (Business Process Execution Language for Web
Services).
The Collaborative Services Layer consists of the following
services: Locking, Presentation Control, User Presence
Management, Organization Management and Communication
Control. A collaborative application can then be built based on
these basic collaborative services and other selected services.
They can be either an application or an orchestration of services
C. SDLC - Service-Oriented Design and Development
Methodology
P. Papazoglou and den Heuvel proposed a methodology in
2006 [12] concentrate on aligning service-oriented software
engineering with business process interactions in order to
achieve a common goal, it was built upon other previously
developed models such as Rational Unified Process (RUP) and
Component-Based Development (CBD).
This methodology covers all software lifecycle phases,
planning, analysis, design, implementation, testing and
deployment. It also encompasses business concerns such as
billing, certification and ranking. Each of the previous phases
and concerns was defined and described in detail, with some
guidelines to show how it should be built. The proposed
methodology contributes to the concept of adaptive service
capabilities which means that services and processes can mutate
continuously to satisfies environmental needs and changes.
D. SOMA - Service-oriented modeling and architecture
IBM has developed iterative and incremental software
development lifecycle method known as Service-oriented
modeling and architecture (SOMA) for analyzing, designing,
implementing, and deploying service-oriented architecture
(SOA-based) solutions [14]. It contains three main phases [15]
[16]:
• Identification phase
The objective of this phase, in general, is to identify the
candidate services. This phase includes three steps:
a) Top-down modeling of an existing business process:
This step focuses on analyzing business domains and process
to identify services, components, and flows (decomposition of
the business domain into functional areas and business use
cases).
b) Bottom-up analysis of existing systems:
This step focuses on analyzing and selecting existing
systems as good candidates.
c) Middle-out goal-service modeling:
This step aims to validate and discover other services not
catch by previous identification steps.
• Specification phase
The objective of this phase is to select candidate services to
be developed and to provide detailed service specifications for
development.
• Realization phase
The objective of this phase is to guide the development of
the selected services using the web service technology.
Moreover, documenting design decisions that are made during
these iterations.
SOMA provides developers with the rational unified process
(RUP) that can be followed to gain service-based applications
(SBAs) [14].
E. SOAF - Service-oriented architecture framework
Erradi et al. [17] have presented a systematic and
architecture-centric framework known as Service Oriented
Architecture Framework (SOAF) to guide the design, evaluation
and development of SOA. It contains five main phases:
• Information elicitation;
SOAF used the business process modeling (BPM) to elicit
the candidate services [14].
• Service identification;
• Service definition;
• Service realization;
• Roadmap and planning [17].
F. SOAD - Service-Oriented Analysis and Design
IBM has combined suitable elements from existing modeling
disciplines such as Object-Oriented Analysis and Design
(OOAD), Enterprise Architecture (EA) frameworks,
and Business Process Modeling (BPM) to come up with a hybrid
SOAD modeling approach that facilitates successful SOA
deployments [18]. In addition to the use of OOAD, BPM and
EA, it also uses the unified modeling language (UML) to extract
the candidate services [14].
G. SOUP - Service-Oriented Unified Process
This method uses the best elements from rational unified
process (RUP) and extreme programming (XP) to build and
maintain SOA projects. It contains six main phases: incept,
define, design, construct, deploy and support [14]. SOUP
methodology can be used in two categories:
• SOUP for initial SOA projects (RUP)
• SOUP for existing SOA applications maintenance (RUP
+ XP) [14].
H. RQ - Repeatable Quality
Sun Microsystems has proposed methodology in [25] named
Repeatable Quality (RQ), it is incremental and iterative
methodology that relies on RUP. This methodology consists of
5 phases: inception, elaboration, construction, transition, and
conception. Like OOSE, this methodology uses UML to model
service artifacts and document all deliverables of system
I. An Improved methodology for Service Oriented
Architecture
Emadi et al. proposed a methodology in [26] that relies on
service-oriented software engineering that consists of ten phases
as follows:
• Requirements Engineering and Analysis:
In this phase, all requirements are gathered and analyzed,
this includes business processes. This phase also includes
browsing existing services to determine what processes already
existing and what needs to be implemented.
• Planning and Project Management:
Identifying project stages, subsystems, cost and time in
details.
• Reuse Management
The variable method content such as tasks, work products,
roles, and guidance specific to each of the solution types is
defined .
• Service identification
Understand the business environment and define services
and sub-services that can be offered
• Service Definition
Identifying requirements in detail, specify policies and
protocols and also naming the service is done in this phase
• Service Aggregation
Services from different layers and different granulate then
combine, compose and decompose 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-oriented solutions
The main highlight of this paper that authors dedicate a phase
to identify existing services and choose well between them, this
give more time to this process and therefore provide successful
results to the service.
J. Garro et al. Methodology
A. Garro et al proposed a method in [27] to develop service-
oriented solutions, their method contains seven stages, for each
stage they defined the requested input and the expected output.
The stages are: Requirements specification, application
definintion, service discovery, service development, services
composition, services integration and application testing
K. MSOAM - Mainstream SOA Methodology
Another popular SOA methodology MSOAM proposed by
Thomas Erl in [28], MSOAM enhance SOA implementation. It
contains seven stages of activities:
• Ontology Definition,
• Business Model Alignment
• Service Oriented Analysis
• Service Oriented Design
• Service Development
• Service Testing
• Service Deployment
MSOAM contributes in high description of the stages of
analysis and design which helps any service developer to
complete his desired work in a better way.
Boutheina Gherib et.al [14] compare different SOSE
methodologies from different points of views as shown in Table
2:
TABLE 2 COMPARISON OF SOSE METHODOLOGIES.
After walking through previous methodologies, we would
like to spot the light on IBM-SOMA and MSOAM since they
are the most popular methodologies based on the study of
Suhardi in [29]. When it comes to industry IBM- SOMA and
IBM-SOAD have a high usage in industry this is basically
because of the support that IBM provides for clients and
responsive developer community there.
In order to ease the selection among these methodologies,
Gu et al. [24] have proposed a framework guides companies in
deciding how to select a SOSE methodology.
They conducted a feature analysis to understand the
characteristics of SOSE methodologies and defined a set of
generic criteria (Objective, Lifecycle, Artifacts, Notations,
Procedure, Principles, Formality, Specialization, Tool, Maturity,
Management and Integration) and service-specific criteria
(Open-world assumption, Service definition, The creation of
services, Development roles, Association of roles to activities,
Architectural change, Runtime activities, Non-functional
requirements, Variability, Perspective and Multiple
organizations) for comparing the existing methodologies. These
defined criteria can be used as a checklist for selecting a suitable
SOSE methodology from the existing methodologies. They
evaluated the proposed framework by analyzing 12 SOSE
methodologies, some of them were mentioned in this paper like:
CBDI-SAE, SDLCand IBM-SOMA.
VII. NOTATIONS FOR SOA:
When it comes to SOA modeling notations, Mohammadi et
al. wrote a survey [30] about existing SOA notations, referring
to this survey, there are six available notations as follows:
• SOA-RM, Reference Model for SOA,
• SOA- RFA SOA Reference Architecture Foundation,
• SOA Ontology,
• SOMF, Service-Oriented Modeling Framework,
• PIM4SOA, Platform-Independent Model for SOA, and
• SOAML, SOA Modeling Language.
Although all of those notations exist, most of methodologies
continue using UML as a modeling notation to illustrate their
work. The second most used notation is SOAML which is an
extension of UML for more complex systems [31]. However,
there are some modeling notations that are not covered in the
previous survey such as Jianpeng Hu’s notation [32] that
combine SOAML with DEVSML. And Boumahdi et al. [33]
notation named SOA+d that considers the modeling of the
decision-making aspect which is a new dimension in SOA. We
can find a research gap in the field of existing modeling
notations for SOA that should be covered in future research.
VIII. APPLICATIONS WHERE SOSE APPLIED
SOSE plays a huge role in a number of domain and
enhancing many areas. We have selected three real-world
applications that applied SOSE in their domain which are
presented in detail below.
A. Cloud computing systems (Service Provider)
Cloud computing system concept in [20] [21] is the delivery
of multiple services that hosted in computing infrastructure and
provided by major stakeholders. It allows sharing resources
among heterogeneous applications over the internet and the
association among the services differs according to the business
need.
These technologies that represented in [20] are used to build
Cloud Computing systems: virtualization, Web service and
service-oriented architecture (SOA), service flows and
workflows, and Web 2.0 and mashup.
SOA as an architectural approach in cloud-computing in [34]
[35] offers many advantages: componentization, reusability
(over multiple application), extensibility, flexibility, agility and
cost saving due to its features which they are low coupling,
modularity, statelessness and semantic interoperability.
B. The Autonomous Decentralized System (Service Provider)
The Autonomous Decentralized System (ADS) concept in
[21] [22] is managing the distributed web applications and be
applicable to correspond to unpredictable business change. It
consists of subsystems that communicate via Data Field (DF).
Each subsystem is autonyms which can operate by itself, and in
case any failure the whole system should not be stopped due to
SOA primary feature in [36] the low-coupling. Moreover, it
allows integrated systems to exchange extensive information
among heterogonous environments which reflects its
interoperability, such as supply chain management (SCM), train
system, and smart grid system.
C. Service Oriented Architecture in banking and financial
industry (Service Consumer):
Service Oriented Architecture can be applied in banking
field in order to provide banks with many features. The main
advantages of using this architecture is the loosely coupled
design that allows reusing services from multiple consumers.
According to [23], using SOA in banking will result in reducing
banking IT costs because of decreasing integration costs. In
addition, it will increase opportunity to provide value-add
services to banks’ customers. Whitney National Bank in New
Orleans is an example of the banks that has adapt SOA to
improve its services, decrease costs, and to streamline the
business.
IX. TRENDS OF METHODOLOGIES AND APPLICATIONS
A number of SOSE methodologies have been proposed in
industry such as SOAD, SOMA, SOUP and CBDI-SAE. Some
of them have been applied in real-life projects such as SOAD
and SOMA. While other methodologies have been proposed in
academia such as SOAF and SDLC. SOAF has been applied in
securities trading [24]. As mentioned previously, IBM-SOMA
and MSOAM are the most popular methodologies based on the
study of Suhardi in [29]. 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.
CONCLUSION AND FUTURE WORK
In this paper, we defined Service-Oriented Software
Engineering, exposed its advantages and challenges, and then
compared it with Object-Oriented Software Engineering. After
that some methodologies for applying SOSE in literature are
proposed, our research showed that IBM-SOMA is the most
popular methodology used based on the literature findings
besides our research of the development community and support
provided. We also walked through existing SOA modeling
notations and we found that the last survey was considering all
notations was published in 2013 in [30], new survey needs to be
made since new notations have emerged in the field. Moreover,
some applications for SOSE in real life were stated in brief. For
future, we suggest making a survey of existing SOA modeling
notations. Also, to the best of our knowledge that the last
guideline written for choosing best SOSE methodology was
designed earlier than the occurrence of new methodologies such
as in [26], a recent updated guideline for the field will be
beneficial in helping companies to decide what methodology to
use in their projects.
REFERENCES
[1] I. Sommerville, Software Engineering, Pearson, 2011.
[2] Abdelkrim AMIRAT, Anthony HOCK-KOON and Mourad Chabane
OUSSALAH, Software Architecture 1, Wiley-ISTE, 2014.
[3] Ahmed M. and Letchmunan S., “A Systematic Literature Review on
Challenges in Service Oriented Software Engineering”, 2015,
International Journal of Software Engineering and Its Applications,
SERSC.
[4] Manjula R , Amit P. and Rushikesh S., “A Review on Service-Oriented
Software Engineering (SOSE) ”, 2016, International Conference on Green
Engineering and Technologies , IEEE.
[5] Papazoglou M., Heuvel W., “Service oriented architectures: approaches,
technologies and research issues”, 2007, The VLDB Journal, Springer.
[6] Bano M. and Naveed I., “Issues and challenges of Requirement
Engineering in Service Oriented Software Development”, 2010, Fifth
International Conference on Software Engineering Advances, IEEE.
[7] H. Breivold and M. Larsson, "Component-Based and Service-Oriented
Software Engineering: Key Concepts and Principles", 33rd
EUROMICRO Conference on Software Engineering and Advanced
Applications (EUROMICRO 2007), 2007.
[8] G. Stubbings, “Service-Orientation and Object-Orientation:
Complementary Design Paradigms,” SPARK-The ACES Journal of
Postgraduate Research, vol. 1, 2010
[9] L. Rodriguez-Martinez, et al. “Review of relevant System Development
Life Cycles (SDLCs) in Service-oriented Software Engineering
(SoSE)”Journal of Applied Research and Technology, 10 (2) (2012), pp.
94-113
[10] P. Allen, “The service oriented process”, in CBDi Journal, February 2007,
http://www.cbdiforum.com/report_summary.php3?page=/secure/interact
/ 2007- 02/service_oriented_process.php&area=silver.
[11] Jørstad et.al, “A Service Oriented Architecture Framework for
Collaborative Services”, proceedings of International Workshops on
Enabling Technologies, IEEE, 2005
[12] M. P. Papazoglou and W. J. van den Heuvel, “Service-oriented design and
devel- opment methodology”, International Journal of Web Engineering
and Technology (IJWET), 2006.
[13] Ramollari, Ervin & Dranidis, Dimitris & J H Simons, A. “A survey of
service oriented development methodologies”,2007, 2nd European
Young Researchers Workshop on Service Oriented Computing, Leicester,
UK.
[14] B. Gherib, Y. Baghdadi and N. Kraiem, "A method engineering
perspective for service-oriented system engineering", International
Journal of Web Information Systems, vol. 11, no. 4, pp. 418-441, 2015.
[15] H. Sasaki, Intelligent and knowledge-based computing for business and
organizational advancements. Hershey, Pa.: IGI Global (701 E. Chocolate
Avenue, Hershey, Pennsylvania, 17033, USA), 2012.
[16] S. services, "Service-oriented modeling and architecture", Ibm.com,
2017. [Online]. Available:
https://www.ibm.com/developerworks/library/ws-soa-design1.
[17] Erradi, A., Anand, S. and Kulkarni, N. (2006), “SOAF: an architectural
framework for service de nition and realization”, Proceedings of the
SCC’06 IEEE International Conference on Services Computing, Chicago,
IL, pp. 151-158.
[18] Zimmermann, O., Krogdahl, P. and Gee, C. (2004), “Elements of service
oriented analysis and design, an interdisciplinary modeling approach for
SOA projects”, available at:
https://www.ibm.com/developerworks/library/ws-soad1/index.html
[19] M. Koskela, M. Rahikainen, and T. Wan, “Software development
methods: SOA vs. CBD, OO and AOP,” 2007.
[20] B. Furht, Handbook of Cloud, Springer.
[21] K. Mori, “Assured Service-Oriented System Engineering,” IEEE, 2010.
[22] [22] K. Mori, “Trend of autonomous decentralized systems,” IEEE, 2004.
[23] Banking Industry Architecture Network. (2012). SOA, standards and IT
systems: how will SOA impact the future of banking services?
[24] Q. Gu and P. Lago, "Guiding the selection of service-oriented software
engineering methodologies", Service Oriented Computing and
Applications, vol. 5, no. 4, pp. 203-223, 2011.
[25] SUN Microsystems, “SOA RQ methodology - A Pragmatic Approach”,
Available at http://www.sun.com/products/soa/soa methodology.pdf.
[26] Emadi, M., Jazi M.D., Moghadam R.A., and Bahredar F. "An Improved
Methodology For Service Oriented Architecture." In Computer Science
and Automation Engineering (CSAE), 2012 IEEE International
Conference on, vol. 2, pp. 350-354. IEEE, 2012.
[27] A. Garro, W. Russo, and A. Tundis “Developing Service-Oriented
Applications: a method engineering based approach”,[Online] ,available:
http://worldcomp-proceedings.com/proc/p2011/SWW4554.pdf
[28] Erl, T. (2005). Service-oriented architecture: concepts, technology, and
design. Pearson Education India.
[29] S. Suhardi, R. Doss, Y. Purnomo, “Service Engineering Based on Service
Oriented Architecture Methodology”,2015, TELKOMNIKA
(Telecommunication Computing Electronics and Control).
[30] Mohammadi, M., and Mukhtar, M. (2013) "A Review of SOA Modeling
Approaches for Enterprise Information Systems." Procedia Technology
(11), 794-800.
[31] P. Yustianto, Suhardi and R. Doss, "Consolidating service enginering
perspectives," 2015 International Conference on Information Technology
Systems and Innovation (ICITSI), Bandung, 2015, pp. 1-7.
[32] J. Hu, L. Huang, B. Cao and X. Chang, "Executable Modeling Approach
to Service Oriented Architecture Using SoaML in Conjunction with
Extended DEVSML," 2014 IEEE International Conference on Services
Computing, Anchorage, AK, 2014, pp. 243-250.
[33] Boumahdi, F., Chalal, R., Guendouz, A. et al. SOCA (2016) 10: 35.
https://doi-org.sdl.idm.oclc.org/10.1007/s11761-014-0162-x
[34] Huimin Zhang, Xiaolong Yang, "Cloud Computing Architecture based-
on SOA," 2012.
[35] Weider D. Yu, Ashwini Sathyanarayana Adiga, Srivarsha Rao, Miby Jose
Panakkel, "A SOA Based System Development Methodology for Cloud
Com-puting Environment: Using uHealthcare as Practice," International
Journal of E-Health and Medical Communications, 2012.
[36] Luis Carlos Coronado-Garcia, Jesus Alejandro Gonzalez-Fuentes,Pedro
Josue Hernandez-Torres and Carlos Perez-Leguizamo, "An Autonomous
Decentralized Service Oriented Architecture for High Reliable Service
Provision," 2011.
[37] Gholami, M. F., Habibi, J., Shams, F., &Khoshnevis, S. (2010, March).
Criteria-Based Evaluation Framework For Service-Oriented
Methodologies. In Computer Modelling and Simulation (UKSim), 2010
12th International Conference on (pp. 122-130). IEEE.
View publication stats
View publication stats

More Related Content

Similar to SOSE Survey Analyzes Service-Oriented Software Engineering

METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMMETRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMijseajournal
 
A Novel Robust &Fault Tolerance Framework for Webservices using ws-I Specific...
A Novel Robust &Fault Tolerance Framework for Webservices using ws-I Specific...A Novel Robust &Fault Tolerance Framework for Webservices using ws-I Specific...
A Novel Robust &Fault Tolerance Framework for Webservices using ws-I Specific...Abhishek Kumar
 
Formalization of SOA concepts with mathematical foundation
Formalization of SOA concepts with mathematical foundation Formalization of SOA concepts with mathematical foundation
Formalization of SOA concepts with mathematical foundation IJECEIAES
 
Service Oriented Computing
Service Oriented ComputingService Oriented Computing
Service Oriented ComputingAie Sa
 
Service orchestration and soa
Service orchestration and soaService orchestration and soa
Service orchestration and soaD.Rajesh Kumar
 
IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET Journal
 
Term paper 2073131
Term paper   2073131Term paper   2073131
Term paper 2073131mtestman
 
Reservoir sla@soi-interop-tech report
Reservoir sla@soi-interop-tech reportReservoir sla@soi-interop-tech report
Reservoir sla@soi-interop-tech reportpsanjeev
 
Soa session 1 part 1(2)
Soa session 1 part 1(2)Soa session 1 part 1(2)
Soa session 1 part 1(2)Shilpi Jain
 
Web Based Secure Soa
Web Based Secure SoaWeb Based Secure Soa
Web Based Secure Soaijbuiiir1
 
Microservices with mule
Microservices with muleMicroservices with mule
Microservices with mulealfa
 
An Empirical Study on Testing of SOA based Services
An Empirical Study on Testing of SOA based ServicesAn Empirical Study on Testing of SOA based Services
An Empirical Study on Testing of SOA based ServicesAbhishek Kumar
 
5 ijitcs v7-n1-7-an empirical study on testing of soa based services
5 ijitcs v7-n1-7-an empirical study on testing of soa based    services5 ijitcs v7-n1-7-an empirical study on testing of soa based    services
5 ijitcs v7-n1-7-an empirical study on testing of soa based servicesAbhishek Srivastava
 

Similar to SOSE Survey Analyzes Service-Oriented Software Engineering (20)

METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMMETRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
 
Cloud
CloudCloud
Cloud
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
SOA Unit I
SOA Unit ISOA Unit I
SOA Unit I
 
integeration
integerationintegeration
integeration
 
A Novel Robust &Fault Tolerance Framework for Webservices using ws-I Specific...
A Novel Robust &Fault Tolerance Framework for Webservices using ws-I Specific...A Novel Robust &Fault Tolerance Framework for Webservices using ws-I Specific...
A Novel Robust &Fault Tolerance Framework for Webservices using ws-I Specific...
 
Unit III.ppt
Unit III.pptUnit III.ppt
Unit III.ppt
 
Formalization of SOA concepts with mathematical foundation
Formalization of SOA concepts with mathematical foundation Formalization of SOA concepts with mathematical foundation
Formalization of SOA concepts with mathematical foundation
 
Service Oriented Computing
Service Oriented ComputingService Oriented Computing
Service Oriented Computing
 
Service orchestration and soa
Service orchestration and soaService orchestration and soa
Service orchestration and soa
 
IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...
 
Term paper 2073131
Term paper   2073131Term paper   2073131
Term paper 2073131
 
Reservoir sla@soi-interop-tech report
Reservoir sla@soi-interop-tech reportReservoir sla@soi-interop-tech report
Reservoir sla@soi-interop-tech report
 
Soa session 1 part 1(2)
Soa session 1 part 1(2)Soa session 1 part 1(2)
Soa session 1 part 1(2)
 
Web Based Secure Soa
Web Based Secure SoaWeb Based Secure Soa
Web Based Secure Soa
 
Mule soa
Mule soaMule soa
Mule soa
 
Microservices with mule
Microservices with muleMicroservices with mule
Microservices with mule
 
An Empirical Study on Testing of SOA based Services
An Empirical Study on Testing of SOA based ServicesAn Empirical Study on Testing of SOA based Services
An Empirical Study on Testing of SOA based Services
 
5 ijitcs v7-n1-7-an empirical study on testing of soa based services
5 ijitcs v7-n1-7-an empirical study on testing of soa based    services5 ijitcs v7-n1-7-an empirical study on testing of soa based    services
5 ijitcs v7-n1-7-an empirical study on testing of soa based services
 

Recently uploaded

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 

Recently uploaded (20)

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 

SOSE Survey Analyzes Service-Oriented Software Engineering

  • 1. See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/330027264 Service Oriented Software Engineering (SOSE):A Survey and Gap Analysis Conference Paper · April 2018 DOI: 10.1109/NCG.2018.8593028 CITATION 1 READS 1,681 5 authors, including: Some of the authors of this publication are also working on these related projects: Software Architicture View project Arabic Text Encoding View project Falwah Alhamed King Abdulaziz City for Science and Technology 6 PUBLICATIONS   4 CITATIONS    SEE PROFILE Sarah Aldaweesh King Abdulaziz City for Science and Technology 8 PUBLICATIONS   4 CITATIONS    SEE PROFILE All content following this page was uploaded by Sarah Aldaweesh on 09 April 2020. The user has requested enhancement of the downloaded file.
  • 2. Service Oriented Software Engineering (SOSE):A Survey and Gap Analysis Felwah Al-Hamed1 , Sara Al-Doweesh1 1. Center of Excellence for Telecom Applications (CETA) King Abdulaziz City for Science and Technology (KACST) Riyadh, Saudi Arabia {falhamed,saldoweesh}@kacst.edu.sa Rana Al-Omar2 , Wejdan Al-Doweesh2 and Abeer Najjar3 2. General Organisation for Social Insurance (GOSI) Riyadh, Saudi Arabia {Ralomar, Waldaweesh}@gosi.gov.sa 3. King Saud University (KSU) Riyadh, Saudi Arabia abbenabid@ksu.edu.sa Abstract— This paper studies Service-oriented software engineering paradigm in general analysis. Service-oriented software engineering (SOSE) is a software engineering paradigm for building and developing distributed applications. There are many advantages in terms of SOSE as it facilitates the loose coupling feature. The paper provides a comparison between Object-oriented software engineering and SOSE, advantages and challenges of using SOSE, some of the most known methodologies exist to develop this paradigm, existing modeling notations and also how SOSE is used within real applications. Keywords- Service-oriented software engineering, Object- oriented software engineering, Service-oriented methods, Service- oriented applications, service-oriented model notation I. INTRODUCTION Service-oriented software engineering (SOSE) is a software engineering paradigm that uses web services to build and develop distributed applications, it is considered as an evolution of Object-oriented software engineering (OOSE) and component-based development (CBD). SOSE became widely used by the reason of its reduced costs and high ability of reuse, besides the platform-independency this paradigm offers. These days, complex and huge systems are built using SOSE for overcoming domain problems by integrating some existing services. Many companies and organizations tend to use this paradigm to achieve high-quality systems within reasonable cost. While SOSE turns into a well-known phrase, some people still find it difficult to differentiate between SOSE and Object- Oriented software engineering (OOSE). In this work, we define both SOSE and OOSE, then some advantages of SOSE is listed beside the challenges that SOSE introduced. A comparison between the two paradigms using some characteristics followed. Moreover, we survey some methodologies and applications used by SOSE in later sections of this paper. II. DEFINITIONS A. Object-oriented software engineering (OOSE) OOSE is a software engineering paradigm that used in object-oriented programming language. In the early of 1970s, the Object-oriented paradigm (OOP) was developed, and it consists of objects which represent an entity in the physical world. Object-oriented design processes encompass of object classes and their relationship. Its object state is private and cannot be reached out directly from outside the object- information hiding.[1],[2] B. Service Oriented Software Engineering (SOSE) is a software engineering paradigm that uses web services to build and develop distributed applications. The notion of SOSE came from the early 2000s when organizations required the ability to access information from different programs besides dealing with the wide variety of large-scale and complex systems. Also, the high demand for speed time-to-market and business activities. The service-oriented focus is on business processes on which serves the flowing exchange among organizations and corresponds to rapidly changing environment because of its adaptive characteristic. Service-based applications prompt interaction among various services, and communication among heterogonous environments where service-oriented architecture's (SOA) key element. For example, Cloud computing is one of the best applications of SOSE where computing infrastructure hosts services provided by significant suppliers/organizations, Supply Chain Management(SCM) which allows enterprise companies order goods by extensive exchange information, e-commerce and business to business (B2B) or business to consumer (B2C) [1], [2]. III. SOSE ADVANTAGES A. Loosely-Coupling I. Sommerville in his book “Software Engineering” mentioned that SOA encourages independent design, the evolution of a service's logic and implementation while still guaranteeing baseline interoperability and providing value to a broader business function. B. Scalability Multiple instances of a single service can run on several servers simultaneously. This increases scalability and availability of the service; this information was supported in [3] also. 978-1-5386-4110-1/18/$31.00 ©2018 IEEE
  • 3. C. Agility What gives SOA its agility is allowing the IT infrastructure to be simply adjusted to business requirements – recalling from I. Sommerville book [1] - , which enable companies to respond faster to customer needs. In addition, SOA allows different services packaging, this feature in conjunction with the architecture, makes it possible for services to be combined in creative and advanced ways to solve business problems. D. Reduced Costs Letchmunan et.al in their work in [3], found that the service- oriented approach relies on using existing software modules instead of building new ones, and this leads to lower development, testing and maintenance costs. E. Reusability In SOA, Services are built so that it can be reused in many applications [5]. This is done by constructing small, loosely coupled, self-contained pieces. Therefore, it facilitates re-using existing modules in multiple applications independent of their interactions with other services. F. Composition of services In Service-oriented approach, many services can be assembled to construct one service, so that single service can utilize multiple functionalities. IV. SOSE CHALLENGES A. Security The work in [4] illustrates how distributed nature of SOA applications made them vulnerable to security threats. Since SOA messages are transmitted over the internet, unlike traditional architectures that make use of private networks. SOA messages are exposed to unwanted listening if unsecured properly. B. Performance From [1,4], we can find that some SOA applications build a complex mechanism with plenty of messages exchanged and inessential complexity for some software packages, and this makes it not suitable for systems with powerful time constraints. Moreover, there is a speed differential between a local call and a remote network call, and most of SOA relies on remote calls which leads to undesired reduced speed. C. Management Managing and providing information on how services interact is a complex task as mentioned in [6], this is because each service has a specification of its functionalities and how it is to be invoked, an issue emerged when developing services where it must correspond to the client operations and data structures, especially when the services use different data structures. V. SERVICE ORIENTED SOFTWARE ENGINEERING VS. OBJECT-ORIENTED SOFTWARE ENGINEERING Since SOSE can be built on the top of OOSE base, it is important to clarify the key differences between them, this is illustrated in table 1 below. Based on the following references, we summarize the differences in this table: TABLE 1 COMPARISON BETWEEN SERVICE-ORIENTED AND OBJECT-ORIENTED PARADIGMS VI. METHODOLOGIES USED IN SOSE The objective of Service Oriented Methodology is to translate enterprise business processes to a set of services by providing set of standardized activities, techniques, guidelines, References Attribute SOSE OOSE These models are taken from reference [7] as Breivold said Module Service Object Coupling level Loosely, since the services are independent and not related to exact business processes Tightly, OO systems include a set of strongly coupled classes These models are taken from reference [8] as Stubbings said Focus Business-level Object-level Complexity High, specifically where there is little control over technology Medium to high with a more controlled environment These models are taken from reference [9] as Rodriguez said Cohesion level high Medium Interoperability High, any service or service consumer can access other services regardless of their platform, or language implementations. Low This model is taken from reference [2] as Abdelkrim said Reusability High, due to the loose coupling and no need of similar environment Lower than SOSE, because of the tight coupling of objects These models are taken from reference [4] as Manjula said Domain to use Applications in cooperative and heterogeneous environments Applications in cooperative and controlled environments Owner’s responsibility High, the service provider is responsible for the development, Quality of Service, maintenance, deployment, execution, and management. Low, the client is free to manipulate the class when he has full responsibility for it Scalability High Low These models are taken from reference [19] as Koskela said Application Interface Specific for the Service description e.g. WSDL, SOAP Specific for the required object description e.g. IDL Can be built on top of the other principle? yes NO Typical technology Web services C++
  • 4. roles and responsibilities [37]. In this section, we will summarize some of the most known methodologies used for service- oriented system engineering (SOSE) based on the surveys [13] and [14], also more recent methodologies are illustrated: A. CBDI – SAE Service Architecture and Engineering The CBDI-SAE is defined approach for service architecture provided by CBDI company [10], it covers all software lifecycle including planning, development, integration and evolution. They provide some important services such as: well-described specifications and design, strong assurance on organizing data in stable, consistent and high-quality manner, it also achieves the most important principle of SOSE which is loose coupling by separation of behaviors and Separation of logical and physical views to achieve high ability of reuse. Moreover, CBDI provide support of evolution without losing any architectural integrity. This methodology aims business-IT integration through two manners: top-down analysis of business needs and bottom-up system integration. B. A Service Oriented Architecture Framework for Collaborative Services Ivar Jørstad et.al proposed a framework in [11] for collaborative services, the main goal of this framework is to facilitate collaboration between people, teams or organizations. The framework focuses on combining different services in one service using different web service applications languages such as BPEL (Business Process Execution Language) and BPEL4WS (Business Process Execution Language for Web Services). The Collaborative Services Layer consists of the following services: Locking, Presentation Control, User Presence Management, Organization Management and Communication Control. A collaborative application can then be built based on these basic collaborative services and other selected services. They can be either an application or an orchestration of services C. SDLC - Service-Oriented Design and Development Methodology P. Papazoglou and den Heuvel proposed a methodology in 2006 [12] concentrate on aligning service-oriented software engineering with business process interactions in order to achieve a common goal, it was built upon other previously developed models such as Rational Unified Process (RUP) and Component-Based Development (CBD). This methodology covers all software lifecycle phases, planning, analysis, design, implementation, testing and deployment. It also encompasses business concerns such as billing, certification and ranking. Each of the previous phases and concerns was defined and described in detail, with some guidelines to show how it should be built. The proposed methodology contributes to the concept of adaptive service capabilities which means that services and processes can mutate continuously to satisfies environmental needs and changes. D. SOMA - Service-oriented modeling and architecture IBM has developed iterative and incremental software development lifecycle method known as Service-oriented modeling and architecture (SOMA) for analyzing, designing, implementing, and deploying service-oriented architecture (SOA-based) solutions [14]. It contains three main phases [15] [16]: • Identification phase The objective of this phase, in general, is to identify the candidate services. This phase includes three steps: a) Top-down modeling of an existing business process: This step focuses on analyzing business domains and process to identify services, components, and flows (decomposition of the business domain into functional areas and business use cases). b) Bottom-up analysis of existing systems: This step focuses on analyzing and selecting existing systems as good candidates. c) Middle-out goal-service modeling: This step aims to validate and discover other services not catch by previous identification steps. • Specification phase The objective of this phase is to select candidate services to be developed and to provide detailed service specifications for development. • Realization phase The objective of this phase is to guide the development of the selected services using the web service technology. Moreover, documenting design decisions that are made during these iterations. SOMA provides developers with the rational unified process (RUP) that can be followed to gain service-based applications (SBAs) [14]. E. SOAF - Service-oriented architecture framework Erradi et al. [17] have presented a systematic and architecture-centric framework known as Service Oriented Architecture Framework (SOAF) to guide the design, evaluation and development of SOA. It contains five main phases: • Information elicitation; SOAF used the business process modeling (BPM) to elicit the candidate services [14]. • Service identification; • Service definition; • Service realization; • Roadmap and planning [17]. F. SOAD - Service-Oriented Analysis and Design IBM has combined suitable elements from existing modeling disciplines such as Object-Oriented Analysis and Design (OOAD), Enterprise Architecture (EA) frameworks, and Business Process Modeling (BPM) to come up with a hybrid SOAD modeling approach that facilitates successful SOA deployments [18]. In addition to the use of OOAD, BPM and EA, it also uses the unified modeling language (UML) to extract the candidate services [14]. G. SOUP - Service-Oriented Unified Process This method uses the best elements from rational unified process (RUP) and extreme programming (XP) to build and maintain SOA projects. It contains six main phases: incept,
  • 5. define, design, construct, deploy and support [14]. SOUP methodology can be used in two categories: • SOUP for initial SOA projects (RUP) • SOUP for existing SOA applications maintenance (RUP + XP) [14]. H. RQ - Repeatable Quality Sun Microsystems has proposed methodology in [25] named Repeatable Quality (RQ), it is incremental and iterative methodology that relies on RUP. This methodology consists of 5 phases: inception, elaboration, construction, transition, and conception. Like OOSE, this methodology uses UML to model service artifacts and document all deliverables of system I. An Improved methodology for Service Oriented Architecture Emadi et al. proposed a methodology in [26] that relies on service-oriented software engineering that consists of ten phases as follows: • Requirements Engineering and Analysis: In this phase, all requirements are gathered and analyzed, this includes business processes. This phase also includes browsing existing services to determine what processes already existing and what needs to be implemented. • Planning and Project Management: Identifying project stages, subsystems, cost and time in details. • Reuse Management The variable method content such as tasks, work products, roles, and guidance specific to each of the solution types is defined . • Service identification Understand the business environment and define services and sub-services that can be offered • Service Definition Identifying requirements in detail, specify policies and protocols and also naming the service is done in this phase • Service Aggregation Services from different layers and different granulate then combine, compose and decompose 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-oriented solutions The main highlight of this paper that authors dedicate a phase to identify existing services and choose well between them, this give more time to this process and therefore provide successful results to the service. J. Garro et al. Methodology A. Garro et al proposed a method in [27] to develop service- oriented solutions, their method contains seven stages, for each stage they defined the requested input and the expected output. The stages are: Requirements specification, application definintion, service discovery, service development, services composition, services integration and application testing K. MSOAM - Mainstream SOA Methodology Another popular SOA methodology MSOAM proposed by Thomas Erl in [28], MSOAM enhance SOA implementation. It contains seven stages of activities: • Ontology Definition, • Business Model Alignment • Service Oriented Analysis • Service Oriented Design • Service Development • Service Testing • Service Deployment MSOAM contributes in high description of the stages of analysis and design which helps any service developer to complete his desired work in a better way. Boutheina Gherib et.al [14] compare different SOSE methodologies from different points of views as shown in Table 2: TABLE 2 COMPARISON OF SOSE METHODOLOGIES. After walking through previous methodologies, we would like to spot the light on IBM-SOMA and MSOAM since they are the most popular methodologies based on the study of Suhardi in [29]. When it comes to industry IBM- SOMA and IBM-SOAD have a high usage in industry this is basically because of the support that IBM provides for clients and responsive developer community there. In order to ease the selection among these methodologies, Gu et al. [24] have proposed a framework guides companies in deciding how to select a SOSE methodology. They conducted a feature analysis to understand the characteristics of SOSE methodologies and defined a set of generic criteria (Objective, Lifecycle, Artifacts, Notations, Procedure, Principles, Formality, Specialization, Tool, Maturity, Management and Integration) and service-specific criteria (Open-world assumption, Service definition, The creation of services, Development roles, Association of roles to activities, Architectural change, Runtime activities, Non-functional requirements, Variability, Perspective and Multiple organizations) for comparing the existing methodologies. These defined criteria can be used as a checklist for selecting a suitable SOSE methodology from the existing methodologies. They
  • 6. evaluated the proposed framework by analyzing 12 SOSE methodologies, some of them were mentioned in this paper like: CBDI-SAE, SDLCand IBM-SOMA. VII. NOTATIONS FOR SOA: When it comes to SOA modeling notations, Mohammadi et al. wrote a survey [30] about existing SOA notations, referring to this survey, there are six available notations as follows: • SOA-RM, Reference Model for SOA, • SOA- RFA SOA Reference Architecture Foundation, • SOA Ontology, • SOMF, Service-Oriented Modeling Framework, • PIM4SOA, Platform-Independent Model for SOA, and • SOAML, SOA Modeling Language. Although all of those notations exist, most of methodologies continue using UML as a modeling notation to illustrate their work. The second most used notation is SOAML which is an extension of UML for more complex systems [31]. However, there are some modeling notations that are not covered in the previous survey such as Jianpeng Hu’s notation [32] that combine SOAML with DEVSML. And Boumahdi et al. [33] notation named SOA+d that considers the modeling of the decision-making aspect which is a new dimension in SOA. We can find a research gap in the field of existing modeling notations for SOA that should be covered in future research. VIII. APPLICATIONS WHERE SOSE APPLIED SOSE plays a huge role in a number of domain and enhancing many areas. We have selected three real-world applications that applied SOSE in their domain which are presented in detail below. A. Cloud computing systems (Service Provider) Cloud computing system concept in [20] [21] is the delivery of multiple services that hosted in computing infrastructure and provided by major stakeholders. It allows sharing resources among heterogeneous applications over the internet and the association among the services differs according to the business need. These technologies that represented in [20] are used to build Cloud Computing systems: virtualization, Web service and service-oriented architecture (SOA), service flows and workflows, and Web 2.0 and mashup. SOA as an architectural approach in cloud-computing in [34] [35] offers many advantages: componentization, reusability (over multiple application), extensibility, flexibility, agility and cost saving due to its features which they are low coupling, modularity, statelessness and semantic interoperability. B. The Autonomous Decentralized System (Service Provider) The Autonomous Decentralized System (ADS) concept in [21] [22] is managing the distributed web applications and be applicable to correspond to unpredictable business change. It consists of subsystems that communicate via Data Field (DF). Each subsystem is autonyms which can operate by itself, and in case any failure the whole system should not be stopped due to SOA primary feature in [36] the low-coupling. Moreover, it allows integrated systems to exchange extensive information among heterogonous environments which reflects its interoperability, such as supply chain management (SCM), train system, and smart grid system. C. Service Oriented Architecture in banking and financial industry (Service Consumer): Service Oriented Architecture can be applied in banking field in order to provide banks with many features. The main advantages of using this architecture is the loosely coupled design that allows reusing services from multiple consumers. According to [23], using SOA in banking will result in reducing banking IT costs because of decreasing integration costs. In addition, it will increase opportunity to provide value-add services to banks’ customers. Whitney National Bank in New Orleans is an example of the banks that has adapt SOA to improve its services, decrease costs, and to streamline the business. IX. TRENDS OF METHODOLOGIES AND APPLICATIONS A number of SOSE methodologies have been proposed in industry such as SOAD, SOMA, SOUP and CBDI-SAE. Some of them have been applied in real-life projects such as SOAD and SOMA. While other methodologies have been proposed in academia such as SOAF and SDLC. SOAF has been applied in securities trading [24]. As mentioned previously, IBM-SOMA and MSOAM are the most popular methodologies based on the study of Suhardi in [29]. 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. CONCLUSION AND FUTURE WORK In this paper, we defined Service-Oriented Software Engineering, exposed its advantages and challenges, and then compared it with Object-Oriented Software Engineering. After that some methodologies for applying SOSE in literature are proposed, our research showed that IBM-SOMA is the most popular methodology used based on the literature findings besides our research of the development community and support provided. We also walked through existing SOA modeling notations and we found that the last survey was considering all notations was published in 2013 in [30], new survey needs to be made since new notations have emerged in the field. Moreover, some applications for SOSE in real life were stated in brief. For future, we suggest making a survey of existing SOA modeling notations. Also, to the best of our knowledge that the last guideline written for choosing best SOSE methodology was designed earlier than the occurrence of new methodologies such as in [26], a recent updated guideline for the field will be
  • 7. beneficial in helping companies to decide what methodology to use in their projects. REFERENCES [1] I. Sommerville, Software Engineering, Pearson, 2011. [2] Abdelkrim AMIRAT, Anthony HOCK-KOON and Mourad Chabane OUSSALAH, Software Architecture 1, Wiley-ISTE, 2014. [3] Ahmed M. and Letchmunan S., “A Systematic Literature Review on Challenges in Service Oriented Software Engineering”, 2015, International Journal of Software Engineering and Its Applications, SERSC. [4] Manjula R , Amit P. and Rushikesh S., “A Review on Service-Oriented Software Engineering (SOSE) ”, 2016, International Conference on Green Engineering and Technologies , IEEE. [5] Papazoglou M., Heuvel W., “Service oriented architectures: approaches, technologies and research issues”, 2007, The VLDB Journal, Springer. [6] Bano M. and Naveed I., “Issues and challenges of Requirement Engineering in Service Oriented Software Development”, 2010, Fifth International Conference on Software Engineering Advances, IEEE. [7] H. Breivold and M. Larsson, "Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles", 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007), 2007. [8] G. Stubbings, “Service-Orientation and Object-Orientation: Complementary Design Paradigms,” SPARK-The ACES Journal of Postgraduate Research, vol. 1, 2010 [9] L. Rodriguez-Martinez, et al. “Review of relevant System Development Life Cycles (SDLCs) in Service-oriented Software Engineering (SoSE)”Journal of Applied Research and Technology, 10 (2) (2012), pp. 94-113 [10] P. Allen, “The service oriented process”, in CBDi Journal, February 2007, http://www.cbdiforum.com/report_summary.php3?page=/secure/interact / 2007- 02/service_oriented_process.php&area=silver. [11] Jørstad et.al, “A Service Oriented Architecture Framework for Collaborative Services”, proceedings of International Workshops on Enabling Technologies, IEEE, 2005 [12] M. P. Papazoglou and W. J. van den Heuvel, “Service-oriented design and devel- opment methodology”, International Journal of Web Engineering and Technology (IJWET), 2006. [13] Ramollari, Ervin & Dranidis, Dimitris & J H Simons, A. “A survey of service oriented development methodologies”,2007, 2nd European Young Researchers Workshop on Service Oriented Computing, Leicester, UK. [14] B. Gherib, Y. Baghdadi and N. Kraiem, "A method engineering perspective for service-oriented system engineering", International Journal of Web Information Systems, vol. 11, no. 4, pp. 418-441, 2015. [15] H. Sasaki, Intelligent and knowledge-based computing for business and organizational advancements. Hershey, Pa.: IGI Global (701 E. Chocolate Avenue, Hershey, Pennsylvania, 17033, USA), 2012. [16] S. services, "Service-oriented modeling and architecture", Ibm.com, 2017. [Online]. Available: https://www.ibm.com/developerworks/library/ws-soa-design1. [17] Erradi, A., Anand, S. and Kulkarni, N. (2006), “SOAF: an architectural framework for service de nition and realization”, Proceedings of the SCC’06 IEEE International Conference on Services Computing, Chicago, IL, pp. 151-158. [18] Zimmermann, O., Krogdahl, P. and Gee, C. (2004), “Elements of service oriented analysis and design, an interdisciplinary modeling approach for SOA projects”, available at: https://www.ibm.com/developerworks/library/ws-soad1/index.html [19] M. Koskela, M. Rahikainen, and T. Wan, “Software development methods: SOA vs. CBD, OO and AOP,” 2007. [20] B. Furht, Handbook of Cloud, Springer. [21] K. Mori, “Assured Service-Oriented System Engineering,” IEEE, 2010. [22] [22] K. Mori, “Trend of autonomous decentralized systems,” IEEE, 2004. [23] Banking Industry Architecture Network. (2012). SOA, standards and IT systems: how will SOA impact the future of banking services? [24] Q. Gu and P. Lago, "Guiding the selection of service-oriented software engineering methodologies", Service Oriented Computing and Applications, vol. 5, no. 4, pp. 203-223, 2011. [25] SUN Microsystems, “SOA RQ methodology - A Pragmatic Approach”, Available at http://www.sun.com/products/soa/soa methodology.pdf. [26] Emadi, M., Jazi M.D., Moghadam R.A., and Bahredar F. "An Improved Methodology For Service Oriented Architecture." In Computer Science and Automation Engineering (CSAE), 2012 IEEE International Conference on, vol. 2, pp. 350-354. IEEE, 2012. [27] A. Garro, W. Russo, and A. Tundis “Developing Service-Oriented Applications: a method engineering based approach”,[Online] ,available: http://worldcomp-proceedings.com/proc/p2011/SWW4554.pdf [28] Erl, T. (2005). Service-oriented architecture: concepts, technology, and design. Pearson Education India. [29] S. Suhardi, R. Doss, Y. Purnomo, “Service Engineering Based on Service Oriented Architecture Methodology”,2015, TELKOMNIKA (Telecommunication Computing Electronics and Control). [30] Mohammadi, M., and Mukhtar, M. (2013) "A Review of SOA Modeling Approaches for Enterprise Information Systems." Procedia Technology (11), 794-800. [31] P. Yustianto, Suhardi and R. Doss, "Consolidating service enginering perspectives," 2015 International Conference on Information Technology Systems and Innovation (ICITSI), Bandung, 2015, pp. 1-7. [32] J. Hu, L. Huang, B. Cao and X. Chang, "Executable Modeling Approach to Service Oriented Architecture Using SoaML in Conjunction with Extended DEVSML," 2014 IEEE International Conference on Services Computing, Anchorage, AK, 2014, pp. 243-250. [33] Boumahdi, F., Chalal, R., Guendouz, A. et al. SOCA (2016) 10: 35. https://doi-org.sdl.idm.oclc.org/10.1007/s11761-014-0162-x [34] Huimin Zhang, Xiaolong Yang, "Cloud Computing Architecture based- on SOA," 2012. [35] Weider D. Yu, Ashwini Sathyanarayana Adiga, Srivarsha Rao, Miby Jose Panakkel, "A SOA Based System Development Methodology for Cloud Com-puting Environment: Using uHealthcare as Practice," International Journal of E-Health and Medical Communications, 2012. [36] Luis Carlos Coronado-Garcia, Jesus Alejandro Gonzalez-Fuentes,Pedro Josue Hernandez-Torres and Carlos Perez-Leguizamo, "An Autonomous Decentralized Service Oriented Architecture for High Reliable Service Provision," 2011. [37] Gholami, M. F., Habibi, J., Shams, F., &Khoshnevis, S. (2010, March). Criteria-Based Evaluation Framework For Service-Oriented Methodologies. In Computer Modelling and Simulation (UKSim), 2010 12th International Conference on (pp. 122-130). IEEE. View publication stats View publication stats