Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

A SOA Based Software Engineering Design Approach in

Service Engineering
Narasimha Pavan Kumar Lankadasu(nl18@mail.zips.uakron.edu)

ABSTRACT

Service oriented architecture(SOA)


is for flexibility,reuse and enables being adopted with the objective to cut
organizations to easily integrate down reproduction cost and promote
systems,data,applications and processes code reusability. However, SOA is hard
through the linking of services.This to adopt and very complex. In
paper focuses on the investigation and comparison with the traditional software
studies on the SOA based software development life cycle it is easy to
engineering methods in the service implement. The effectiveness and
engineering environment.Among the efficiency of the SOA methods cannot
various SOA related software design and be judged correctly as every company
development methods available, has it’s own way of SOA
service oriented modeling implementation based on their needs.
and architecture (SOMA) service Among the various SOA methods,
architectural environment is chosen as IBM’s SOMA method stands out as they
the target platform in the study. A web are constantly reviewing and updating
based service oriented ubiquitous the architecture. The SOMA method has
Healthcare (u-Healthcare) software various phases that emphases on ways to
system was designed and implemented categorize the business functionalities
using the set of the software engineering into service components.
methods developed in the study to gain
empirical knowledge and experience on
2.uCareCenter:
The uCareCenter system has been
applying the approach to construct SOA
designed based on several studies and
service software.
real world scenarios about the demand
and need for health care services. The
1. INTRODUCTION uCareCenter brings both the physicians
Major companies like IBM, Microsoft, and the patients on to a common
Oracle, Sun and HP have conducted platform overcoming the lack of
many years of research and development communication between them. In this
in SOA methods and used them to scenario we concentrate on the mobile
conduct projects of varying scope in health care system. The mobile health
multiple industries worldwide. care should consist of two major portals
IBM has invented and developed a SOA namely doctor portal and the patient
method called service-oriented modeling portal. The system should include
and architecture (SOMA). This is a features as following:
software development life-cycle method
for designing and building SOA-based 1. Appointment center
solutions [4].The SOA method is - Doctor shall be able to view and
validate appointments.
- System shall be able to send email to
Doctor upon
- Patient shall be able to view available appointment request made by patient,
appointment time and and vise versa.
make appointment for consultation. - System shall be able to send email to
remind patients of
2. Online consultation prescription reordering.
- Doctor and patient shall be able to
login and chat online. 5. Refill prescriptions
- Consultation time shall be logged for - Doctor shall be able to enter the
billing purposes. reordering period of
medicine.
3. Health information - Patient shall be able to track their
- Doctor shall be able to enter patient’s medicine dosage and order
health information and the medicine online.
attach reports. - Patient shall be able to choose home
- Doctor shall be able to restrict the delivery or pick up the
access of sensitive medicine from selected pharmacy.
information from patient’s view.
- Patient shall be able to view his own 6. Locate healthcare center
health information - Patient shall be able to locate nearest
assigned by the doctor. healthcare location
available.
4. Health alert

Figure 1: Use Case diagram for uCareCenter[1]

2.1 SDLC process in 5 main steps and they are:


The Software Developmental Life requirements gathering, design
Cycle(SDLC) can be used to describe ,implementation, verification and
the traditional software engineering
maintenance. The SOA processes are to be utilized as needed in different
also very similar with these processes. sequences.
SOMA defines key techniques and Similarily, SOMA can be implemented
describes the roles on an SOA project in a self-similar way in terms of small
and workbreakdown structures (WBS) iteration cycles. In a fractal model the
[1].The WBS includes tasks, the input capabilities of one phase could be
and output for work product for tasks utilized by the other. The support for the
and the perspective guidance needed for design time and runtime governance is
the detailed analysis design, provided by SOMA. The SOMA utilizes
implementation and deployment of a fractal approach ie. the application of
services ,components and flows needed method tasks to self- similar scope. The
to build a robust and a reusable SOA notion of similarity indicates that the
environment.The SOMA method application is similar but not identical.
includes several phases( shown in figure
2).The fractal phases have the capability

Figure 2:Software engineering process and SOA process [1]


The same tasks might be applied for the the main activities are identified in a
large scopes as well as the small scopes. broader scope initially and then
But, the overheads for the large scope elaborated later.
should be handled .This is done by the
evolution of the application. In SOMA

2.2 Identification phase: The KPI’s will provide a measure of


Software services for a business are success of meeting its goals and sub-
identified. The goals for the business to goals[2].
meet its objectives are identified. Sub-
goals are then identified recursively until
services can be identified for fulfilling
each of the sub-goals. Performance
indicators are identified for each of the
sub-goals. Each indicator has a metric
identifying the type of measurements
that need to be collected to assess the
state of the corresponding indicator.
Services and indicators are entered in a
services portfolio database. A services
solution for the business is then
implemented using a services oriented
architecture using the services in the
portfolio.[2]

2.2.1 Goal Service Modeling:


The goal service modeling takes place in
several phases (shown in figure3)
Initially, goals important to the business
are identified. These goals are broken
down into set of sub-goals in a recursive
fashion. Typically three to four levels of
sub-goals will suffice[5].However, the
Figure 3:Goal Service Modeling [2]
braking down stops once the identified
sub-goals reach a point at which services
need to fulfill the sub-goals can be
identified. In the uCareCenter the major goal would
Goals give an indication of what really be to increase the efficiency of health
matters to a business at a specific point care services. This can be done through
in time and what will be the priority in online-services, self-service portals and
the future[2].For each of the sub-goals, mobile services. The set of services that
KPI’s are identified that will be used to meets the business goals greatly refines
determine metrics that can be measured the scope of the service orientation.
for the attainment of the sub-goals These services are listed in table 1
through the identified services. below.
Table 1:Goal-service model for the proposed
uCareCenter[1]

2.2.2 Domain decomposition:


The top-down process is referred to
as domain decomposition, which
consists of the decomposition of the
business domain into its functional areas
and subsystems, including its flow or
process decomposition into processes,
sub-processes, and high-level business
use cases[4].The results of the domain
decomposition are shown below in the
table2. The uCareCenter system focuses
on few business domains:
user management, report services,
appointment services, Consultation
services, alert services, prescription
services and Location services.
Table 2:Functional areas and subsystems[1] exposed as web services are identified.
Most functions are converted to web
services as they have higher reusability.
The services in uCareCenter are
categorized by functional areas
Namely user-profile, health reporting,
appointment activities, online
consultation, alert management,
prescription management and location
management.

2.3 Specification phase


In SOMA, typically ,processes are In the SOMA specification phase, the
developed for a business domain to SOA is designed. High-level design as
initiate the process modeling and well as significant parts of the detailed
decomposition.In uCareCenter, a process design of service components is
hierarchy was first developed for the Get completed in this phase. During the
user business process. Then, the sub specification phase, the services in
process of search user, Retrieve user uCareCenter and flows are further
information and Retrieve user type were elaborated.
identified (table3) We leverage the existing assets and
further elaborate the services, flows, and
components from the identification
Table 3:Process decomposition phase in an iterative and incremental
fashion to help reach the realization
decision [3].
In doing specification, we also focus on
the design of service messages which
include input, output, and error
messages.
Service specification is the core of the
service modeling activity and focuses on
elaborating the detailed design of the
services. There are 4 main service
hierarchies in the uCareCenter namely
For the uCareCenter a common glossary patient record ,user ,medicine and
is essential in-order to understand the appointment. These service operations
terminology and also express them[1]. are grouped within the service
The key business entities identified are hierarchies based on their functionality.
user, healthcare center, appointment and
prescription. In the uCareCenter in-order
to improve the efficiency health report,
online consultation and appointments are
considered to be the main elements.
2.3.1 Subsystem analysis
During the service refactoring activity Subsystems signify logical IT
the services are grouped based on their boundaries for business functionality.
logical grouping .Services that can be Subsystems are identified by functional
decomposition of functional areas.
Functional areas and the subsystems that
exist in those functional areas are refined
into coarse-grained service components
that are each responsible for a functional
aspect of the subsystem[3]. User
Management subsystem (refer Figure 4)
contains one major functional
component, namely User Profile. It
relates to other functional components
(User Type, Patient Record and Health
Center) and is controlled using Rule
Engine. The services identified include
User Management, Password
Management and Physician Patient
Assignment. The Password Management
contains Login Engine that defines the
validation and login rules.
Figure 4:Composition of User Management
2.3.2Component specification subsystem[1]

During component specification we


explore the use of patterns that can help 2.4 Realization phase
us to structure service components into a We validate realization decisions by
set of functional components (supporting performing technical feasibility
business capabilities) and we look for exploration that seeks to exercise the
the technical components responsible for architectural decisions and highest
providing auxiliary support from the project risk factors through extensible
perspective of technology and prototypes designed and developed early
infrastructure [3]. on[3].Selection and instantiation of
patterns is fundamental to successful and
repeatable SOA deployment. The results
of the realization phase is shown in the
SOA reference architecture.
Figure 5:SOA reference architecture for uCareCenter [1]

3. Performance & Results


The results from every phase of SOMA
can be accessed. I have created a matrix
to capture the comparison between the
list of components created after the
realization phase of SOMA and the
service components after
implementation. The results are shown
in the table 4 below. Ratings are given in
terms of poor, average and excellent.

if the component is matching with the


actual service created in all the
requirements, it is rated excellent, if it is
barely matching with any or has minimal
functionality, it is rated poor. Each
rating is given a point number 1 for
poor,2 for average,3 for excellent.
Table 4:Correctness Assessment for health [(2 * 1) + (4 * 2) + (7 * 3)/ 13] = 2.4
reporting[1]
The benchmark of this formula is 2. All
the results after applying this assessment
method should be at least 2 and above
to show the correctness of the services
identified. As a result, the components
defined in Health Reporting are
considered as acceptable.

4.Summary:
A system based on SOA can be designed
Figure 6:Assesment formula[1] and implemented in many way. There
has been a wrong notion about the
The assessment result for Health definition of SOA. Many think SOA is
Reporting is calculated as follows: equivalent to web services this is not
completely true.SOA based system is SOA offers a huge set of benefits by
generally developed with a set of providing loose coupling, platform
services or components and web services neutrality, standards based
are not mandatory. The benefits of using implementation, rigid contracts for
SOA can be seen, especially when the version independence etc. Nowadays,
application needs to interact between many companies already adopt SOA in
various different applications or different their applications. The decision of
types of clients like web, desktops and whether to develop application with or
mobile. without SOA really relies on the usage
In this paper, we used SOMA few key and requirements of the system. It is
methods to assist in identifying a list of always advisable to adopt SOA
services for the healthcare environment. framework if they need to interact with
The main idea is to introduce more code various types of services.
re-use and scalability by developing We have demonstrated the way of
various services that can be shared building a SOA based healthcare
among different parties and are platform application using IBM SOMA method.
independent. The services should SOMA has been designed and developed
be able to be created using any language from hundreds of projects around
and hosted on any platform [4], [5]. the world in multiple industries. The life
We are able to interact with various cycle of a SOMA project uses a fractal
types of services which approach.As a conclusion, SOMA
comprised of web services and local benefits in providing guidance to
services. Some services are created by development of SOA-based solutions.
external parties while others are self-
developed. Since services can be
designed in many ways, we have created
a set of services that fetch data from the
database and also some services that
perform business logic. SOMA helps
define the work breakdown structure of
activities and tasks while designing our
prototype.
5.Conclusion:
REFERENCES:

[1] A SOA Based Software Engineering Design Approach in


Service Engineering
Weider D. Yu Chia H. Ong
Computer Engineering Department, San Jose State University,
San Jose (Silicon Valley), California, USA 95192-0180

[2] UNITED STATES PATENT APPLICATION PUBLICATION


Goal Service Modeling
Pub No.:US 2008/0027784
Inventors:Jenny Slaw Hoon Ang,Ali P.Arsanjani,Lyubov Cherbakov,George M.
Galambos,Kerrie Lamont Holley,David Hugh Janson.
[3] http://www.istockanalyst.com/article/viewnewspaged/articleid/2626954/pageid/1
(Source: IBM Systems Journal) By Arsanjani, A Ghosh, S; Allam, A; Abdollah, T;
Ganapathy, S; Holley, K)

[4] Service Identification Approach to SOA Development- Nafise Fareghzadeh

[5] http://www.ibm.com/developerworks/library/ws-soa-design1
Service Oriented Modeling and Architecture- Ali Arsanjani

You might also like