0% found this document useful (0 votes)
24 views

Service Oriented Software Engineering SOSEASurveyand Gap Analysis

This document discusses Service-oriented software engineering (SOSE). SOSE is a software engineering paradigm that uses web services to build distributed applications. It provides some advantages over Object-oriented software engineering, including loose coupling between services, scalability, and reusability. The document compares SOSE and OOSE, outlines some advantages of SOSE like reduced costs and agility, and discusses challenges like security and performance issues that can arise with complex SOSE applications.

Uploaded by

iammousambachhar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Service Oriented Software Engineering SOSEASurveyand Gap Analysis

This document discusses Service-oriented software engineering (SOSE). SOSE is a software engineering paradigm that uses web services to build distributed applications. It provides some advantages over Object-oriented software engineering, including loose coupling between services, scalability, and reusability. The document compares SOSE and OOSE, outlines some advantages of SOSE like reduced costs and agility, and discusses challenges like security and performance issues that can arise with complex SOSE applications.

Uploaded by

iammousambachhar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Abstract-

This paper studies Service-oriented software


B. Service Oriented Software Engineering (SOSE)
engineering paradigm in general analysis. Service-
This is a software engineering paradigm that
oriented software engineering (SOSE) is a
uses web services to build and develop
software engineering paradigm for building and
distributed applications. The notion of SOSE
developing distributed applications. There are
came from the early 2000s when organizations
many advantages in terms of SOSE as it facilitates required the ability to access information from
the loose coupling feature. The paper provides a different programs besides dealing with the
comparison between Object-oriented software wide variety of large-scale and complex
engineering and SOSE, advantages and challenges systems. Also, the high demand for speed time-
of using SOSE, some of the most known to-market and business activities. The service-
methodologies exist to develop this paradigm, oriented focus is on business processes on
existing modeling notations and also how SOSE is which serves the flowing exchange among
used within real applications. organizations and corresponds to rapidly
changing environment because of its adaptive
INTRODUCTION- characteristic.
Service-oriented software engineering Service-based applications prompt
(SOSE) is a software engineering paradigm that interaction among various services, and
uses web services to build and develop distributed communication among heterogonous
environments where service-oriented
applications, it is considered as an evolution of
architecture's key element. For example, Cloud
Object-oriented software engineering (OOSE) and
computing is one of the best applications of
component-based development (CBD). SOSE SOSE where computing infrastructure hosts
became widely used by the reason of its reduced services provided by significant
costs and high ability of reuse, besides the suppliers/organizations, Supply Chain
platform-independency this paradigm offers. Management which allows enterprise
companies order goods by extensive exchange
DEFINITIONS- information, e-commerce and business to
A. Object-oriented software engineering business or business to consumer.
OOSE is a software engineering paradigm that SOSE ADVANTAGES-
used in object-oriented programming language. In Loosely-Coupling
the early of 1970s, the Object-oriented paradigm
I. Sommerville in his book “Software
was developed, and it consists of objects which
represent an entity in the physical world. Engineering” mentioned that SOA encourages
independent design, the evolution of a service's
Object-oriented design processes encompass logic and implementation while still
of object classes and their relationship. Its guaranteeing baseline interoperability and
object state is private and cannot be reached providing value to a broader business function.
out directly from outside the object- Scalability
information hiding. Multiple instances of a single service can run
on several servers simultaneously. This
increases scalability and availability of the
service.
Agility testing.
What gives SOA its agility is allowing the IT Reusability
infrastructure to be simply adjusted to business
In SOA, Services are built so that it can be reused
requirements – recalling from Sommerville book
in many applications. This is done by constructing
which enable companies to respond faster to
small, loosely coupled, self-contained pieces.
customer needs.
Therefore, it facilitates re-using existing modules in
In addition, SOA allows different services multiple applications independent of their
packaging, this feature in conjunction with the interactions with other services.
architecture, makes it possible for services to be
B. Composition of services
combined in creative and advanced ways to solve
business problems. In Service-oriented approach, many services can
be assembled to construct one service, so that single
Reduced Costs service can utilize multiple functionalities.
Letchmunan etal in their work in found that
TABLE 1 COMPARISON BETWEEN SERVICE
the service- oriented approach relies on using
existing software modules instead of building ORIENTED AND OBJECT ORIENTED
new ones, and this leads to lower development,
PARADIGMS
Security Referenc Attribute SOS OOSE
es E
The work in illustrates how distributed nature Module Service Object
of SOA applications made them vulnerable to These Loosely, Tightly,
security threats. Since SOA messages are models since the
are taken Coupling services OO
transmitted over the internet, unlike traditional systems
from level
architectures that make use of private networks. include a
SOA messages are exposed to unwanted listening reference are
[7] as independent set of
if unsecured properly.
Breivold and not strongly
Performance said related to coupled
classes
From we can find that some SOA applications exact
business
build a complex mechanism with plenty of
processes
messages exchanged and inessential complexity Focus Business-level Object-
for some software packages, and this makes it not These level
suitable for systems with powerful time constraints. models High, Medium
Moreover, there is a speed differential between a are taken specifically to high
Complexity with a
local call and a remote network call, and most of from where there
reference more
is little control controlled
SOA relies on remote calls which leads to
[8] as over environment
undesired reduced speed. Stubbings technology
Management said
Cohesion high Medium
Managing and providing information on how level
services interact is a complex task as mentioned These High, any
in [6], this is because each service has a models service or
specification of its functionalities and how it is to are taken Low
from Interoperabil service
be invoked, an issue emerged when developing consumer
services where it must correspond to the client reference ity can
operations and data structures, especially when [9] as access
the services use different data structures. Rodrigue
z said other services
regardless of
their
platform,
or

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.

CONCLUSION AND FUTURE WORK

6
7

You might also like