Submitted On July 2010
Submitted On July 2010
Submitted On July 2010
On
Service Oriented Architecture:
A Design and Implementation Model
Presented to the Department of Computer Science
Punjabi University, Patiala for registration of
Degree of
DOCTOR OF PHILOSOPHY
Submitted by
Ashish Seth
Supervisor
Dr. Himanshu Aggarwal
Reader, University College of Engineering (UCoE)
Punjabi University, Patiala.
Co-Supervisor
Dr. Ashim Raj Singla
Assistant Professor,
Indian Institute of Foreign Trade (IIFT), New Delhi
INDEX
CONTENTS
PAGE No.
1: INTRODUCTION
02 - 05
2: SURVEY OF LITERATURE
06 - 10
10 - 11
11 - 12
13
13 - 15
16
16 - 19
INTRODUCTION
Service-oriented architecture (SOA) provides methods for systems development
and integration where systems group functionality around business processes and
package these as interoperable services. SOA also describes IT infrastructure which
allows different applications to exchange data with one another as they participate in
business processes. Service-orientation aims at a loose coupling of services with
operating systems, programming languages and other technologies which underlie
applications. SOA separates functions into distinct units, or services, which
developers make accessible over a network in order that users can combine and reuse
them in the production of business applications. These services communicate with
each other by passing data from one service to another, or by coordinating an activity
between two or more services. SOA offers an architecture, which unifies business
processes by structuring large applications as an ad hoc collection of smaller modules
called "services". Different groups of people both inside and outside an organization
can use these applications, and new applications built from a mix of services from the
global pool exhibit greater flexibility and uniformity.
The basic SOA is not architecture only about services; it is a relationship of three
kinds of participants: the service provider, the service discovery agency, and the
service requestor (client). The interactions involve the publish, find and bind
operations, (see Figure-1). These roles and operations act upon the service artifacts:
the service description and the service implementation. In a typical service based
scenario a service provider hosts a network accessible software module (a
implementation of a given service). The service provider defines a service description
of the service and publishes it to a client or service discovery agency through which a
service description is published and made discoverable. The service requestor uses a
find operation to retrieve the service description typically from the discovery agency,
i.e., a registry or repository like UDDI, and uses the service description to bind with
the service provider and invoke the service or interact with service implementation.
Service provider and service requestor roles are logical constructs and a service may
exhibit characteristics of both.
This architectural approach is particularly applicable when multiple applications
running on varied technologies and platforms need to communicate with each other.
In this way, enterprises can mix and match services to perform business transactions
with minimal programming effort. SOA as architecture relies on service-orientation as
its fundamental design principle.
Role of SOA in Organization - SOA has gained ground as a mechanism for defining
business services and operating models (e.g., Business-Agile Enterprise) and thus
provide a structure for IT to deliver against the actual business requirements and adapt
in a similar way to the business. The purpose of using SOA as a business mapping
tool is to ensure that the services created properly represent the business view and are
not just what technologists think the business services should be.
At the heart of SOA planning is the process of defining architectures for the use of
information in support of the business, and the plan for implementing those
architectures. Enterprise Business Architecture should always represent the highest
and most dominant architecture. Every service should be created with the intent to
bring value to the business in some way and must be traceable back to the business
architecture. Thus SOA within business is focused on a strict governance process and
the use of semantics to improve the usefulness of services in business process
innovation. SOA into business can be thought of as a set of layers , each of which has
an objective to integrate business process and services to meet the business objective
in dynamic fashion (see figure 2 )
(3) Information exchange. The various components of the overall system should be
decoupled in space, time and synchronization. The service bus performs these
functions.
Service A Service is an implementation of a well-defined business functionality that
operates independent of the state of any other Service defined within the system.
Services have a well- defined set of interfaces and operate through a pre-defined
contract between the client of the Service and the Service itself. From a dynamic
perspective, there are three fundamental concepts that are important in understanding
what is involved in interacting with services: the visibility between service providers
and consumers, the interaction between them, and the real world effect of interacting
with a service. (See figure 3)
Service Provider
Visibilt
y
Service Consumer
Interaction
SERVICES
Real World
Effect
Use case Diagram shows the interaction between use cases, which represent system
functionality, and actors, which represents the people or systems that provide or
receive information from the system. It represents the requirements of system from
user perspectives, use case are the functionality that system provides
Sequence Diagram are used to show the flow of functionality through the use case
Collaboration Diagram shows exactly the same information as the sequence
diagram. However, this diagram shows this information in a different way and with a
different purpose. People look at this diagram for different purposes, which would not
been possible in sequence diagram
Class Diagram shows the interactions between classes in the systems. Classes can be
seen as the blue prints for objects. This diagram shows the static picture of class and
their relationship
State Transition Diagram provides a way to model the various states in which an
object can exist. This is used to model the more dynamic behavior of a system. They
may not be created for every class; they are used only for very complex classes. They
are created for documentation only
Component Diagram show a physical view of your model, it show s the software
component in your system and the relationship between them
Deployment Diagram shows the physical layout of the network and where the
various components will reside. Project manager, users, architect, and deployment
staff to understand the physical layout of the system and where the various
subsystems will reside.
SURVEY OF LITERATURE
An issue that emerges with this study is how do organizations choose which SOA
infrastructure to acquire and what pieces they will need to build themselves? How
does an organization test the infrastructure sufficiently to guarantee the level of
security, governance and management provided meets their requirements? How is
interoperability between different vendor infrastructures handled? In order to
undertake a project to develop a service or an application from services there is a need
to know the scope and size of the work involved. This will help in determining the
cost and effort for such a project.
According to Liam OBrien, ET al. (ACM 2008) there are various aspects to
the introduction of SOA from mining and reusing legacy components as services in an
SOA-based environment to acquisition and development of an SOA infrastructure.
When an organization wants to introduce the use of SOA there are various aspects that
it needs to consider. These include: (1) The identification and mining of services from
6
considerable business and scientific value and will attract users and developers.
Similarly Kostas Kontogiannis, et al. (IEEE 2007) investigate an initial classification
of challenge areas related to service orientation and service-oriented systems.
From a business perspective, service-oriented systems are a way of exposing legacy
functionality to remote clients, implementing new business process models by
utilizing existing or third-party software assets, reducing the overall IT expenditures
while potentially increasing the potential for innovation through software investments
From either perspective, and despite their initially slow adoption and the conflicting
standards proposed to support them, service-oriented systems are becoming the defacto approach to bridging the gap between business models and software
infrastructure and flexibly supporting changing business needs. Mike P. Papazoglou
,et al (Springer Verlag 2007) also work on unifying the principles and concepts of
SOA with those of event-based programming. The authors proposes an approach to
extend the conventional SOA to cater for essential ESB requirements that include
capabilities such as service orchestration, intelligent routing, provisioning, integrity
and security of message as well as service management.
According to Florian Irmert,et al(ACM 2008) In a SOA environment services as well
as applications build up complex dependencies. Therefore it is crucial for selfmanaging SOA applications to adapt services at runtime without interference of the
application execution and the service availability. For a seamless integration they
strive for a transparent and atomic replacement of a service implementation in respect
to the other services/applications. Similarly Bao rong Zhong,et al (IEEE 2008)
suggest The decision support system for oil production based on SOA is a complete
SOA system. it also has many advantages, such as easy integration, good
maintainability.
Enterprises bus (ESB) for future upgrades does well in expansion. Enterprises Service
Bus is of key status in SOA based enterprise integration application environment. It is
responsible for wrapping legacy application to service, synchronous or asynchronous
transport, and supporting the enterprise business integration across different
organizations. According to Jianqiang Hu, et al(IEEE 2008) Major contribution of
ESB are as follows: (1) presenting unified transport adaptation and service adaptation
8
this
extended
SOA functionality,
and
describe
conformant
Model
To propose an SOA based design and implementation model for value chain
activities (as identified in objective 1)
To identify critical success factors for the proposed SOA model (Risk
Analysis)
To present Use Case Diagram using UML (Unified Modeling Language) for
the proposed model.
Proposed Architecture
The following architecture is proposed for the current research work. The research
work will focus on the service composite part, where different services are combined
considering the governance of overall architecture (see figure 4).
11
Discovery
Service Endpoints
Service
Registry
Applications
SOAP
Servic
e
Compo
site
Business Values
Chain Activities
SERVICE ORCHESTRATION
WSDL
Service
1
Service
2
Service
3
Service
4
Service
5
Service
6
ERP
SCM
CRM
In the proposed architecture, the service on the left accesses the service registry to
discover another service and interacts with it by sending a message, for example
placing an order. This message is often part of a longer conversation between the
services, for example an order, followed by an acknowledgement, an invoice,
payment notice, etc. Some of these messages might be encrypted, or require
authentication. In the above figure the service provider is a composite service, i.e., a
service that uses other services to fulfill its responsibilities. For example, an order
service might need to access inventory or pricing services in order to accept an order
or issue a quote. The implementation of such a composite service is frequently
performed by an orchestration engine, an element optimized to execute a multi-step
process, which includes interactions with other services. A rules engine may be
appended in the architecture to guide the orchestration engine in the execution of the
process by incorporating business rules, such as orders over a certain amounts being
handled with priority. The endpoints manage the translation between the
asynchronous world of messaging and the synchronous, oriented-oriented application
program. Because different applications and services tend to use incompatible data
formats a translation of the message is often required along the way.
12
By using the UML notion of middleware abstraction that can help in making
smooth SCM, CRM, BI activities, which is needed in small and large
enterprises.
RESEARCH METHODOLOGY
Following methodologies will be followed:
1. The five layer SOA architecture (see figure 5) is used to design and implement
the proposed model for current research work
13
Composite The Composite layer represents the services within the scope, which
combine the functionality of other services.
Back End Adapter The Back End Adapter layer represents the services within the
scope which represent the services offered by the back end systems. A FEA service
always invokes another service, either on the Composite layer or directly towards a
Back End Adapter service.
Back End The Back End layer represents the back end systems of the ICT
environment. Each back end system in this scope can be accessed by one or more
services through a back end adapter.
2. On the basis of literature survey and existing models, we identify and fill gap in our
proposed model. Secondary data for research will be collected from related books,
publication, annual reports, and records of organization under study. For the primary
data, questionnaire cum personal interview method from randomly selected managers
working at these selected organizations using SOA systems would be employed
3. Questionnaire will be prepared based on our proposed model and then the response
will be taken from industry person to evaluate it. Data will be collected through
questionnaire-cum-interview technique. Questionnaire would be pre-tested on some
of the managers and thus pre-tested questionnaire would be administered to all the
sampled respondents. Appropriate statistical methods would be applied to analyze the
data to arrive useful conclusions. SPSS packages will be used for the analysis of the
data.
14
Feasibility Study
Identify the need and limitation of
available solutions
Determine the alternatives
System Analysis
Activity- Determining SRS by meeting
managers/executives working in the area of
SOA
End product an SRS for the problem
System Design
Activity - indentifying the activities
/processes and interdependency among
them
End product - An Case diagram/Sequence
diagram/collaborative diagram using UML
System Testing
Activity critical success and risk factors
be identified
End product test cases for proposed
model
15
PROPOSED CHAPTERISATION
Chapter
No.
1.
Chapter Title
Introduction
2.
3.
4.
5.
6.
7.
BIBLIOGRAPHY
[1] Alaa G., (2009), Derivation of Factors Facilitating Organizational Emergence based on Complex
Adaptive Systems & Social Autopoiesis Theories, Emergence: Complexity & Organization Journal,
Vol 11 No. 1, pp. 19-34
[2]Amelia Maurizio, Louis Girolami and Peter Jones, (2007)EAI and SOA: factors and methods
influencing the integration of multiple ERP systems (in an SAP environment) to comply with the
Sarbanes-Oxley Act, Journal of Enterprise Information Management, Vol. 20, No. 1,.pp 28-36
[3]Annika Granebring and Peter Revay (2007). Service-Oriented architecture is a driver for daily
decision support. Emerald, Vol. 36, Issue 5/6, pp 622-635,
[4] A. Mukhija and M. Glinz. (2005). Runtime adaptation of applications through dynamic
recomposition of components. Proc. of 18th International Conference on Architecture of Computing
Systems, pp 99- 112
[5]Bao rong Zhong, Hong Du, Hua yun Yu, (IEEE 2008). The Research and Implementation of
Decision Support System for Oil Production Based on SOA, Second International Conference on
Genetic and Evolutionary Computing, , Pp 86 94,
[6]Boris Shishkov, Marten van Sinderen and Dick Quartel, (IEEE 2006). SOA-Driven BusinessSoftware Alignment. Proceedings of the IEEE International Conference on e-Business Engineering
(ICEBE06), Pg: 86-94
16
17
[24]Liam OBrien, Paul. Jon Gray (ACM 2008). Business Transformation to SOA: Aspects of the
Migration and Performance and QoS Issues. Proceedings of the 2nd international workshop on
Systems development in SOA environments, pp 35-40
[25] M. Keen, S. Bishop, A. Hopkins, S. Milinski (2004). Patterns: Impelmenting an SOA using an
enterprise service bus, IBM corporation, , http://www.redbooks.ibm.com/abstarcts/sg246346.html
[26]Mike P. Papazoglou Willem-Jan van den Heuvel Re (2006). Service oriented architectures:
approaches, technologies and research issues, The International Journal on Very Large Data Bases,
Volume 16 , Issue 3, pp 389-415
[27] Niemann M., Eckert J., Repp N., Steinmetz R., (AMCIS 2008). Towards a Generic Governance
Model for Service-Oriented Architectures, Proceedings of Americas Conference on Information
Systems, pp 190-205
[28]Olaf Zimmermann, Vadim Doubrovski, Jonas Grundler, Kerard Hogg (2005). Service-Oriented
Architecture and Business Process Choreography in an Order Management Scenario: Rationale,
Concepts, Lessons Learned, Conference on Object Oriented Programming Systems Languages and
Applications (OOPSL05), October 16-20, Pg 301 - 312
[29]Ravichandran T., Leong Y., Teo H., Oh L., (2007). Service-Oriented Architecture and
Organizational Integration: An Empirical Study of IT-Enabled Sustained Competitive Advantage,
Proceedings of International Conference on Information Systems, (ICIS), pp 108-122
[30]Ren M., Lyytinen K., (2008). Building Enterprise Architecture Agility and Sustenenace with SOA,
The Communications of the Association for Information Systems (CAIS), Volume 22, Article 4, pp. 7586.
[31] Ricadela, A., The dark side of SOA, information week , 2006, pp 54-58.
[32]S. Navabpour, L. Soltan Ghoraie, A. A. Malayeri, J. Chen, J. Lu, (IEEE, 2008). An Intelligent
Traveling Service Based on SOA, IEEE Congress on Services 2008- Part-I , pp 102-120
[33] Schmidt, M., Hutchinson, B., Lambros, P. (2005). Enterprise service bus : making service oriented
architecture real. IBM Systems Journal,, 44(4) , pp 781-797
[34]S.Bose, L.Walker,A.Lynch, N.Bieberestein (2005). Impact of Service Oriented Architecture on
Enterprise Systems,Organizational Structures, ans Individuals. IBM System Journal, Vol. 44, No. 4, pp
127-138
[35]Sriram Anand, Srinivas Padmanabhuni, Jai Ganesh, (2005). Perspectives on Service Oriented
Architecture, Proceedings of the 2005 IEEE International Conference on Services Computing -, IEEE
Computer Society, Volume 02, Page 17.
[36] Tewcomer E., Lomow G (2008). Understanding SOA with web services, Pearson Education,
India
[37] Vrstraete, C. (2004). Planning for the unexpected (business agility).
Engineer, Vol 83 No. 3, pp 18-21
IEEE manufacturing
[38] Wolfgang Reisig (2005). Modeling- and analysis techniques for web services and business
processes. In FMOODS, of Lecture Notes in Computer Science, volume 3535 pp 243258,.
[39] Progress Software, Why runtime governance is critical for SOA: a SOA Primer, 2005,
[40]Wabral, L., Domingue, J.. (2004). Approaches to semantic web services: an overview and
comparisons. Lecture Notes in Computer Science., Springer Volume 3053, pp 225239
[41] Walker, L. (2007). IBM business transformation enabled by service oriented architecture. IBM
systems journal, 46(4), pp 651-667.
18
[42]Z-Martin Keen, Oscar Adinolfi, Sarah Hemmings, Andrew Humphreys, Hanumanth Kanthi, and
Alasdair Nottingham: ( 2005). Patterns: SOA with an Enterprise Service Bus in WebSphere Application
Server V6. IBM Document No. SG24-6494-00
[43] Zimerman, O., Krogdahl, P and C. Gee (2004). Elements of service oriented analysis and design:
An interdisciplinary modeling approach for SOA projects. www.ibm.com/developerworks/library/wssoad l/index.html
[44] Zhang, D. (2004). Web service composition for process management in e-business. Journal of
Computer information System., 45(2), pp 83-91
19