agile and adaptive qos aware management and discovery...
TRANSCRIPT
Agile and Adaptive QoS AwareManagement and Discovery in Service
Oriented Systems
THESIS
Submitted in partial fulfilmentof the requirements for the degree of
DOCTOR OF PHILOSOPHY
by
MONIKA SIKRI
Under the Supervision of
Dr. Rajkumar Gell
BIRLA INSTITUTE OF TECHNOLOGY ANDSCIENCE, PILANI
2016
Agile and Adaptive QoS AwareManagement and Discovery in Service
Oriented Systems
THESIS
Submitted in partial fulfilmentof the requirements for the degree of
DOCTOR OF PHILOSOPHY
by
MONIKA SIKRI
Under the Supervision of
Dr. Rajkumar Gell
BIRLA INSTITUTE OF TECHNOLOGY ANDSCIENCE, PILANI
2016
BIRLA INSTITUTE OF TECHNOLOGYAND SCIENCE, PILANI
CERTIFICATE
This is to certify that the thesis entitled Agile and Adaptive QoS Aware Man-
agement and Discovery in Service Oriented Systems submitted by Monika
Sikri ID No. 2007PHXF429P for award of Ph.D. of the Institute embodies
original work done by her under my supervision.
Signature of the Supervisor
Dr. RAJKUMAR GELL
Manager
Cisco Systems India Pvt Ltd
Bangalore
Date
i
ACKNOWLEDGEMENTS
Foremost, I would like to express my sincere gratitude to my supervisor Dr.
Rajkumar Gell for his continuous support for PhD research and study. His
guidance helped me during the complete research as well as writing the thesis.
Beside my current supervisor, I would like to acknowledge support from
my previous guide Dr Datta Subrahmanya. He was a great support in the
initial years of this journey. Due to his departure from Cisco, he couldn’t
support us beyond that in this endeavour.
I’m greatly indebted to my colleagues and managers at Cisco whose sup-
port has been a source of major comfort during hard times.
I am also grateful to BITS Pilani and it’s professors for allowing me to
pursue my passion and providing all the necessary help and support during
the complete journey.
And finally, this journey would not be possible without the support of
my family. Their unrelenting support kept me going all these years.
Monika Sikri
ii
ABSTRACT
Service Oriented Architecture is a widely adopted architectural paradigm to
model integration needs of the distributed enterprise systems. The tradi-
tional way of designing SOA systems could sustain monolithic development
methodology and static QoS-aware needs. However the same can no longer
support the adaptive and quality driven needs of measured and managed
service delivery.
In order to address this, an exhaustive review of the existing QoS-aware
design and discovery approaches supporting agile and adaptive needs of SOA
was carried out. It is realized that there is a scope and need to address QoS
progression in the adaptive layer of the SOA stack.
Considering the gaps this thesis intends to build the foundation for adap-
tive and QoS aware SOA systems. It argues the need for promoting adaptive
design for agile requirements. As a result, a modified Blitz QFD technique
is defined for requirements elicitation to yield prioritized set of agile require-
ments, promoting adaptive design.
Besides that a significant need for adaptive discovery framework is real-
ized, for an enterprise-wide adoption. An adaptive framework for QoS-aware
discovery is designed for redundant SOA services. In the process a light-
weight QoS domain specific language, classification and evaluation mecha-
nism, and a selection algorithm for ranking and choosing the best service
based on QoS goals, as specified by end-user is implemented as a part of this
framework.
All the associated algorithms and simulation software has been open
sourced on GitHub.
iii
Table of Contents
Certificate i
Acknowledgements ii
Abstract iii
List of Figures viii
List of Tables x
List of Abbreviations xi
1 Introduction 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Research Objectives . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Organization of the thesis . . . . . . . . . . . . . . . . . . . . 13
2 Background 16
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Service Oriented Architecture . . . . . . . . . . . . . . . . . . 18
2.3 Aligning SOA with EA . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . 23
iv
2.5 Agile Methodology . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3 Review Work 29
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Agile and Adaptive SOA . . . . . . . . . . . . . . . . . . . . . 33
3.3 QoS-aware discovery mechanisms . . . . . . . . . . . . . . . . 43
3.4 Syntactic QoS-aware discovery . . . . . . . . . . . . . . . . . 47
3.5 QoS-aware discovery in Semantic SOA . . . . . . . . . . . . . 59
3.6 State of the Art . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4 Agile SOA Methodology 79
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2 Blitz-QFD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.3 Blitz-CSOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.4 Why these stages? . . . . . . . . . . . . . . . . . . . . . . . . 94
4.5 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5 Webservice Topological Selection 110
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.2 Web Services Proximity Resolution Framework . . . . . . . . . 111
5.3 Network Topological Information Service . . . . . . . . . . . . 113
5.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6 QoS DSL for Web Services 126
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.2 Domain Specific Language . . . . . . . . . . . . . . . . . . . . 127
v
6.3 Sample QSL . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7 QoS-aware Discovery Mechanism 136
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
7.2 Service Discovery Approaches . . . . . . . . . . . . . . . . . . 137
7.3 Sample for Measured QoS Assertion . . . . . . . . . . . . . . . 141
7.4 Results and Experimental set-up . . . . . . . . . . . . . . . . 146
7.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
8 Adaptive QoS-aware SOA Discovery 150
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
8.2 Adaptive Discovery Framework . . . . . . . . . . . . . . . . . 151
8.3 Distributed Coordination Discovery Mechanism . . . . . . . . 153
8.4 Quality Classification Model . . . . . . . . . . . . . . . . . . . 155
8.5 Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.6 QoS Evaluation Mechanism . . . . . . . . . . . . . . . . . . . 160
8.7 Service Selection Algorithm . . . . . . . . . . . . . . . . . . . 166
8.8 A Motivating Example . . . . . . . . . . . . . . . . . . . . . . 171
8.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
9 Conclusion and Future Work 191
9.1 Scientific Contributions . . . . . . . . . . . . . . . . . . . . . . 193
9.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Appendix 197
A Webservice Topological Selection NTIS Details 197
A.1 Service definition for Services . . . . . . . . . . . . . . . . . . 197
vi
List of Figures
1.1 Components of SOA . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 SOA stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 Agile Methodology . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Classification of QoS-aware discovery approaches . . . . . . . . 46
3.4 Architecture for QoS discovery in syntactic SOA . . . . . . . . 55
3.5 Current Mechanism of QoS-aware discovery in semantic SOA . 65
3.6 Agent based QoS discovery architecture for semantic SOA . . 70
4.1 Blitz CSOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.2 Normalized Curve of Saaty Scale . . . . . . . . . . . . . . . . 91
4.3 Convex Curve of Saaty Scale . . . . . . . . . . . . . . . . . . . 92
4.4 Extract of Gemba Visit Table for E-procurement System . . . 100
4.5 Hierarchy Diagram . . . . . . . . . . . . . . . . . . . . . . . . 101
4.6 HOQ Matrix for customer needs and Non-Functional SOA Re-
quirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.7 Sensitivity Analysis for normalized distribution . . . . . . . . 106
4.8 Sensitivity Analysis for convex distribution . . . . . . . . . . . 108
5.1 Sample Topology of Network . . . . . . . . . . . . . . . . . . . 112
7.1 Blind Belief Discovery Mechanism . . . . . . . . . . . . . . . . 139
viii
7.2 Sequence Diagram for Blind Belief Discovery Mechanism . . . 140
7.3 Measured QoS Assertions Discovery Mechanism . . . . . . . . 141
7.4 Sequence Diagram for Measured QoS Assertions Discovery
Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.5 ESB Enabled framework . . . . . . . . . . . . . . . . . . . . . 143
7.6 RTT for co-located client with and without NTIS . . . . . . . 147
7.7 RTT for remote client with and without NTIS . . . . . . . . 148
8.1 Distributed Coordination Discovery Mechanism . . . . . . . . 153
8.2 Quality Classification Model . . . . . . . . . . . . . . . . . . . 157
8.3 Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.4 Enterprise Service deployment . . . . . . . . . . . . . . . . . . 172
8.5 Client Rtt plots for minimum RTT . . . . . . . . . . . . . . . 176
8.6 Client Cost plots for minimum RTT . . . . . . . . . . . . . . . 177
8.7 Plot for J(1) showing nonconvex nature of function. . . . . . . 181
8.8 Client Rtt plots for minimum RTT with SSL . . . . . . . . . . 182
8.9 Client Cost plots for minimum RTT with SSL . . . . . . . . . 182
8.10 Plot for J(1) showing nonconvex nature of function. . . . . . . 184
8.11 Client Rtt plots for QoS Goals as minimum Rtt and Cost . . . 185
8.12 Client Cost plots for minimization function as product of Rtt
and Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
ix
List of Tables
3.1 Classical SOA Spec . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2 Specification mechanisms for QoS in semantic SOA . . . . . . 66
3.3 Literature Survey for Adaptive QoS-aware approaches for SOA
systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.1 Project Goals Table for B2B e-procurement system . . . . . . 97
4.2 Customer Segment Table for B2B e-procurement System . . . 99
4.3 Extract of SOA Context Table for e-Procurement. . . . . . . . 104
4.4 Results of Architects Decision Matrix . . . . . . . . . . . . . . 107
8.1 Cost per Operation for each Server . . . . . . . . . . . . . . . 173
9.1 Table containing all publication . . . . . . . . . . . . . . . . . 194
x
List of Abbreviations
SOA Service Oriented Architecture
QoS Quality of Service
QFD Quality Function Deployment
Blitz-CSOA Blitz-Collaborative Service Oriented Architecture
IOT Internet of Things
QCM QoS classification mechanism
QEM QoS evaluation mechanism
EA Enterprise Architecture
ASOE Adaptive Service Oriented Enterprise
CORBA Common Object Request Broker Architecture
ESB Enterprise Service Bus
SOE Service Oriented Enterprise
SDC Service Development Cycle
HOQ House of Quality
DSL Domain Specific Language
SLA Service Level Agreement
xi
xii
WS-PR Webservice Proximity Resolution Framework
QSL Query Specification Language
DSL Domain Specific Language
NTIS Network Topological Information Service
Chapter 1
Introduction
1.1 Introduction
The marketplace agility and dynamic business requirements require organi-
zations to respond rapidly and cost-effectively to customer needs. Organi-
zations seek both organic and inorganic growth to comply with these agile
business needs led by mergers, acquisitions, changing business scope. The
complex business demands and ever changing technology stack led to the re-
quirements of standardization and homogenization. Past efforts of standard-
ization with fixed set of standards, specifications and enterprise data models
have not been very successful. Dynamics of business scenarios, globalization
and agility made it challenging for enterprises to bring multiple stakehold-
ers to a common agreement. Enterprise architecture (EA) formally emerged
to align architecture principles and practices to guide organizations through
business, information, process, and technology changes necessary to execute
their strategies. Federation of EA Professional Organizations (FEAPO) [1]
has defined EA as follows:
1
CHAPTER 1. INTRODUCTION 2
Enterprise architecture (EA) is "a well-defined practice for con-
ducting enterprise analysis, design, planning, and implementation,
using a holistic approach at all times, for the successful develop-
ment and execution of strategy. Enterprise architecture applies ar-
chitecture principles and practices to guide organizations through
the business, information, process, and technology changes neces-
sary to execute their strategies. These practices utilize the various
aspects of an enterprise to identify, motivate, and achieve these
changes
Another definition by Gartner [2] defines it as follows:
Enterprise architecture (EA) is a discipline for proactively and
holistically leading enterprise responses to disruptive forces by iden-
tifying and analyzing the execution of change toward desired busi-
ness vision and outcomes. EA delivers value by presenting business
and IT leaders with signature-ready recommendations for adjust-
ing policies and projects to achieve target business outcomes that
capitalize on relevant business disruptions. EA is used to steer de-
cision making toward the evolution of the future state architecture
In brief EA provides a framework to align architecture, products and sys-
tems to the organizational goals [3] by steering the decision-making process
and eliminating disruptive forces. It aligns people, process and technology
with business needs to achieve outcomes based on compliance and future-
state. It is a perspective realized by frameworks resulting in documented
processes and guidelines which in turn result in agility in terms of communi-
CHAPTER 1. INTRODUCTION 3
cation among different views of application.
Over a period of time enterprise landscape has become highly distributed
and heterogeneous with myriad of platforms, technology stacks and proto-
cols. Application silos crept into enterprise eco-system resulting in increased
complexity and maintenance overhead. Thought process of homogenization
at the technology or metamodel level no longer holds, because it was costly
to re-invent the wheel for sake of homogeneity. Though EA provided frame-
work for organizational alignment, there was a need at an architectural level
to scale and build applications embracing ever changing technology stan-
dards, multiple technology platform and respond with agility to business
demands. Moreover, to support business agility it is important to align and
map architectural governance at an enterprise level.
EA is not specific to any architectural style or technology. It is based on
enterprises, on how to instantiate EA. Service Oriented Architecture (SOA)
formally emerged as an evolution of the necessities and realizations of varied
inter-related concepts combining disciplines of distributed computing, mid-
dleware, database systems, programming languages. SOA is an architectural
paradigm to design and integrate distributed systems in a technology and
vendor neutral mechanisms using re-usable entities called services. Service is
a very important concept in SOA. It represents autonomous, self-contained
well-defined independent entities. This nature of services provides the capa-
bility to compose them into applications representing complex business pro-
cess leveraging existing and new technologies. The past efforts of distributed
computing specifications like Common Object Request Broker Architecture
(CORBA) and Distributed Component Object Model (DCOM) were realized
important, but didn’t succeed in building an open framework and model that
was envisioned in WebServices [4].
CHAPTER 1. INTRODUCTION 4
SOA Infrastructure ( ESB , Gateways , Middleware )
Enterprise RegistryStore
ServiceConsumers
Service Provider
PublishSubscribe
Bind
Figure 1.1: Components of SOA
As shown in Figure 1.1 enterprise SOA deployment can be depicted with
four basic elements: service provider, service consumer, service repository
and SOA infrastructure backbone. Service provider exposes business func-
tionality abstracted via service interface to hide implementation details along
with underlying technology. Service consumer refers to clients in SOA, which
interacts with the service via service interface. Service registry acts as a ser-
vice repository to store service information that can be used by the client
to discover the required service. Enterprise wide service repository enables
governance and promotes re-use. SOA infrastructure components comprise
Enterprise Service Bus (ESB), gateways and middleware components, which
act as mediation components for various common tasks. Service providers
publish service information in registry to be subscribed by consumers. Con-
sumers interact with services either directly or leveraging SOA infrastructure
CHAPTER 1. INTRODUCTION 5
backbone .
SOA instantiates EA [5] with service-orientation for enterprises. Though
enterprises have now built their complete technological backbone using SOA,
aligning SOA with EA broadly requires realizing the vision of Service Ori-
ented Enterprise (SOE) as described in [6]. There is lot to achieve to real-
ize the vision of SOE. Recent advances in services driven business models,
agile delivery methodology, and distributed integration requirements have
reinforced attention on consumer-focused business operations and product
delivery using service-orientation. The maturity level and scope of service-
orientation requires delivering quality-aware adaptive service-oriented enter-
prise systems under the purview of these recent advances. This is an under-
lying motivation of this research. The next section details the motivation for
thesis
1.2 Motivation
For businesses to sustain it has become important that IT must support
them. All modern organizations serve many business needs with IT like
supply-chain management functions of receiving parts from supplier, supply-
ing goods, purchase order management, billing management. It caters to all
major business groups like sales, finance, human resource, accounting and
marketing. Overall job of IT is to provide an infrastructure to automate
business processes leveraging its capabilities. But there are challenges in
managing IT with growing business demands and synchronization of local
and global demands. It is not uncommon to see IT as a cost center. Enter-
prise systems had grown huge with ivory tower architectures to manage these
systems. Increased need of globalization, led by re-occurring economic crisis
CHAPTER 1. INTRODUCTION 6
has put lot of demands on IT to support agility, flexibility and simplicity.
IT needs to drive efficiency and ease the cross-enterprise and intra enterprise
business integration. Most importantly, it needs to be responsive and act as
a growth enabler of emerging business requirements. It is still a challenge
to build an IT system complying with these demands and is really being
realized hard and inadvertent to move IT from cost center to a value center.
Cost reduction and faster time-to-market are key requirements to stay com-
petitive. This leads to redundant infrastructure and increases overall cost of
IT management.
SOA by virtue of service-orientation enables organizational agility [7] by
aligning business with IT. Followed by its huge adoption at an application
level, scope of SOA is now changed to enterprise level (Service Oriented
Enterprise (SOE)) [8] as envisioned by EA. However not every application is
service-oriented.
Adoption of cloud computing [9] as services based business delivery model
is an innovation, which thrives on SOA. Enterprises have very well realized
that successful delivery of cloud based services require convergence [10] with
SOA. Without providing service-orientation, the conceptualization of Soft-
ware As a Service (SAAS), Platform As a Service (PAAS) and Infrastructure
as a Service (IAAS) in a virtual environment of cloud cannot be successful.
The integration of SOA and cloud opens the vast development space [11]
for measured and managed services delivery. This integration has long-term
impact of delivering on-demand service-orientation that can truly yield the
benefit of re-use, interoperability and flexible architecture.
Emergence of concept like ‘Internet of everything’ (IOT) have directed
researcher community for convergence on Internet and distributed comput-
ing [12] despite the type of client. Many of these connected objects on the
CHAPTER 1. INTRODUCTION 7
Internet will be resource limited devices. Employing SOA in such a case
cannot sustain without guaranteed QoS and on-time delivery. Discovery of
services and on-demand provisioning of missing functionality will be a sig-
nificant challenge in such a case. For instance, say a service running on a
physical device fails re-deployment. In such a case the discovery of a similar
service will be a possible option for running system to provide high availabil-
ity and not to impact consumer base. The next section discusses the research
questions in view of these recent advances and adoption of SOA.
1.2.1 Research Questions
The formal adoption of service-orientation began around 2006 with the re-
alization of standards like SOAP and WSDL [13]. The wave of adoption is
huge since then due to its sheer benefits and promising characteristics. The
true value of SOA is obtained, on services being shared across business units
and functional boundaries in an enterprise. Re-use of the same service cannot
be simply achieved by the onus of sharing it as a functional entity alone. In
fact, non-functional attributes play a very important role to enable proper
reuse. The de-facto standards for syntactic QoS-specification like WS-Policy
[14], UDDI [15] cannot support holistically the dynamic aspects of generic
QoS needs. Modern enterprises have the need for dynamic and run-time in-
tegration of services of different QoS-aware maturity level. The reason being
during this pragmatic adoption of SOA, they are in a heterogeneous state
with respect to QoS provisioning. For example:
• Legacy applications can be wrapped as services to fulfill operational
integration needs. The static or nil QoS specification mechanism can
serve the need of such services. These services cannot be tied with the
CHAPTER 1. INTRODUCTION 8
mainstream application to be a pool of common re-usable services.
• There are some services which are designed for internal or on-the-
premise usage during their inception. Dynamic QoS reporting could
not have been the criteria for these services at that time. These services
generally report QoS numbers based on load testing, static observations
or predictions to a centralized enterprise SOA registry.
• There can be some services using the common middleware such as
Enterprise Service Bus (ESB) for dynamic QoS management using me-
diation capabilities of ESB while others can use standalone way of
interaction.
The managed and measured delivery of services has become a minimal ex-
pectation and customers ask in recent times. It is also one of the essential
requirements of cloud computing. The services designed for on premise usage
can also become a part of off-the-shelf external application. Nevertheless, in-
ternal or external, this is the time when run-time aspects need to be seriously
considered to cope up with the increased need of agility and adaptation. The
way of exposing as well as managing services need to evolve to assure, confirm
and determine the non-functional aspects in a consistent manner coping with
the heterogeneity of QoS-aware maturity. However, it has two requirements:
1.) It demands services to be designed for re-usability with due consideration
of non-functional aspects.
2.) Redundancy management to allow consumers to choose the best services
adaptively based on all possible options. Considering the need of this evo-
lution, the overall focus requires building and managing re-usable services
in an agile manner with a QoS management consideration despite the var-
ied degree of maturity. A generic QoS-aware framework that can adapt to
CHAPTER 1. INTRODUCTION 9
this varied level of maturity requires consideration of both design time and
run-time aspects. The two key questions are raised to identify the problem
statement.
1. How to elicit and derive consistent set of prioritized func-
tional and non-functional requirements, explicit or implicit,
in a multi-stakeholder scenario?
A methodology that can provide a way to translate implicit and
explicit needs to requirements from disparate customer segments and
stakeholders would be an effective approach in such scenarios. The
same is detailed out as Blitz-CSOA (modified Blitz QFD [16]) explained
in Chapter 4 in the thesis. As part of this approach, two new scales
(normal and convex) have been defined for relative prioritization and
a decision matrix for bidirectional alignment between business and ar-
chitectural communities [17].
2. How to provide a consistent end user experience amidst chang-
ing eco-system (network characteristics, component service
cost and other QoS parameters) in an enterprise environment?
There is a need of a common framework for enterprise-wide
adoption, which adapts to these changing non-functional characteristics
leveraging self-management and feedback capabilities. The framework
is built in phases with Web Service Proximity Resolution Framework
(WS-PR) [18] (Chapter 5) and Domain Specific Language [19] (Chapter
6) developed as part of this work as an underlying foundation. Finally,
an adaptive framework has been developed as part of the thesis that
CHAPTER 1. INTRODUCTION 10
includes high-level domain specific language, QoS evaluation mecha-
nism and service selection algorithm (open-sourced in GitHub). The
framework is explained in detail along with results in Chapter 8.
Based on the questions above it is realized it is important for enterprises
to address the gaps to agile business needs that can be gained by fast and
adaptive IT. For businesses talking of ‘Services Everything’ an adaptive IT
is the realization of Service Oriented Enterprise (SOE). The next section
determines the research area mapping to the questions above with respect to
Service Development Cycle (SDC).
1.3 Research Objectives
Managing these diverse sets of recent advances in utility-based computing,
agile development methodology, proliferation and diverse integration require
adaptive quality aware SOA systems. The following gaps in enterprise SOA
deployments in Service Development Cycle[SDC] need to be addressed for
adaptive QoS aware SOA systems as listed below:
• Requirement Analysis
Agile development methodology yields functionally working chunks in
each cycle to its customers. This ensures lesser time to delivery for key
features. Since delivery cycles have become smaller it has become even
more important to ensure associated nonfunctional requirements. Gen-
erally, focus is on features delivery catering to functional requirements.
A formal methodology driving agile functional and non-functional re-
quirements with the collaboration of all relevant stakeholders will drive
customer success along in consensus with enterprise standards.
CHAPTER 1. INTRODUCTION 11
• Design
Designing SOA systems based on the requirements has become nat-
ural to enterprises to support its distributed nature. However huge
deployment and adoption of SOA has led to the proliferation of ser-
vices providing similar functionality with different QoS. Re-usability
and composability by their very virtue support agility as a SOA prin-
ciple. Redundant services need to be managed and controlled at an
enterprise level to yield maximum re-use and quality delivery. Enter-
prise Registry and design tools support static aspects of these design
patterns. There has been work done in dynamic discovery of redun-
dant services but adaptive behavior requires an autonomic QoS discov-
ery along with redundancy management framework. Without redun-
dancy management real advantage of controlling proliferation will not
be achieved.
• Development
Development phase till date was more focused on writing business logic
for applications. For developing quality aware adaptive SOA systems,
it is required to provide a mechanism for QoS assertions for both ser-
vice provider and consumer. Also communication among participating
entities should be for non-functional attributes need to be incorpo-
rated during development phase for all the participating entities. This
communication mechanism should be consistent for all SOA system en-
terprise wide, which will lead to wider adoption and interoperable QoS
aware SOA systems.
• Testing
CHAPTER 1. INTRODUCTION 12
This step is kept out of scope of this work.
Based on the research questions and corresponding impact on service devel-
opment cycle the next section details the research objectives formulated as
part of the thesis. These objectives are formulated to determine the goal
need to be achieved in each of the required phases in service development
cycle.
• Research Objective 1 (RO1)
Evaluate QoS-aware maturity in SOA .
• Research Objective 2 (RO2)
Assess the gaps to address agile and adaptive QoS management in SOA.
• Research Objective 3 (RO3)
Determine agile requirements in a multi-stakeholder scenario of service-
oriented development to aid adaptive design.
• Research Objective 4 (RO4)
Develop a framework to manage QoS based re-provisioning adaptively
at run-time.
In light of these demands in Service Development Cycle(SDC), there is a
need for guidelines and frameworks that can provision management of redun-
dant services in new as well as existing SOA deployments. This framework
should handle resource allocation, imposition of non-functional requirements
and QoS-aware adaptive service re-provisioning for SOA systems. The next
section briefly details briefly the organization of the thesis.
CHAPTER 1. INTRODUCTION 13
1.4 Organization of the thesis
In this section, we would briefly look at the organization of this thesis. The
thesis is divided in multiple chapters as detailed below.
Chapter 1: Introduction
In this chapter, problem is briefly defined along with an overview of the
work done determining the layout of the thesis. The research questions
followed by research objectives are being shared to lead to the direction
of research.
Chapter 2: Background
As part of background, various foundational technologies like SOA,
cloud computing referred to in this work are explained. This chapter
explains the rationale for the profound need of adaptive QoS-aware
SOA systems in light of these recent advances.
Chapter 3: Review Work
This chapter reviews and analyzes the current state of the work in
Adaptive and Quality of Service in SOA domain across both require-
ments gathering and discovery phase.
Chapter 4: Agile SOA Methodology
This chapter explains in detail Blitz-CSOA methodology developed as
part of this work by modifying Blitz QFD approach for requirements
elicitation. Two new scales have been developed to determine the rel-
ative priority of the functional and non-functional requirements based
on time-to-capability and time-to-market needs. A new decision ma-
trix has been proposed to ensure prioritization based on bidirectional
alignment of stakeholders and architects.
CHAPTER 1. INTRODUCTION 14
Chapter 5: WebService Topological Selection
This chapter details the design of a new framework called Web Service
Proximity Resolution (WS-PR), which can carry out web service selec-
tion based on topological information of network. It describes a new
web service called Network Topological Information Service (NTIS),
that acts as a broker for service matchmaking and ranking. NTIS lever-
ages an existing Network Description Language [20] as a standard to
model enterprise network topology using Resource Description Frame-
work (RDF). The selection algorithm implemented as part of NTIS
uses network topology information of clients and server for ranking
and matchmaking based on proximity as QoS. The extended WSDL
for service uses WS-Policy for location metadata specification.
Chapter 6: DSL for WebService QoS Constraints
This chapter describes a new high-level language, that has been de-
veloped as part of this work. This language is a QoS domain specific
language (DSL) for Web Services. The syntax of the language is be-
ing kept closer to conceptual model of Web Service Modeling Ontology
(WSMO) to ensure interoperability with standards. It leverages the
syntax of writing DSL language in Groovy. An example has also been
provided. The source code shared in github demonstrates the imple-
mentation.
Chapter 7: QoS Aware Discovery Mechanism
Architectural Principles and framework for QoS-aware discovery are
defined in this chapter. The DSL and NTIS framework are brought
together to embed them in various discovery mechanisms based on the
QoS-aware maturity level of the SOA systems.
CHAPTER 1. INTRODUCTION 15
Chapter 8: Adaptive QoS-Aware Discovery Mechanism
This chapter explains in-depth the new adaptive discovery framework
developed in this work. The work described in Chapter 5 and 6 acted as
foundation to build this framework. The work done in Chapter 5 con-
siders proximity as the only criteria for service selection. It is extended
in this framework to include generic QoS for service selection. The
DSL designed in Chapter 6 acted as a common language for commu-
nication across the framework to express service characteristics, client
requirements, sharing feedback and response. A motivating example is
discussed in detail with a number of objective functions to explain the
system behaviour using the framework.
Chapter 9: Conclusion and Future work
This chapter summarizes the key contributions of the thesis. It lists
the scientific contributions arising out of this work. It establishes the
link of evaluation and contributions to research objectives. The scope
for future work has also been outlined.
Chapter 2
Background
2.1 Introduction
Software Systems have come a long way from standalone programs serving
automation of specific task to development of large enterprise systems. Enter-
prises have a structure determining the way in which it operates [21]. People,
processes, technologies and business scope determine this structure. With
re-occurring economic crisis success of an enterprise depends on its adapta-
tion to market-place agility and elastic business needs. Enterprise systems
have grown widely heterogeneous and diverse over a period of time embrac-
ing to diverse business needs. Thus adaptation is not a one-click operation,
it requires complex integration and interaction of business and technology
stakeholders to achieve a business goal based on the customer expectation.
Architecture lies at the heart of enabling this interaction and integra-
tion. It provides an abstraction for designing software systems based on the
interaction pattern of underlying components along with the relevant and
most appropriate positioning of these components. Distributed computing
architecture and technologies is the cornerstone to model globally distributed
16
CHAPTER 2. BACKGROUND 17
enterprise systems. The concept of distributed computing emerged way back
in 1980’s with Remote Procedure Call (RPC). Object orientation henceforth
became the mainstream programming methodology. In order to support dis-
tributed computing for objects standards Object Resource Broker (ORB)
emerged as a specification for inter object communication. Standards like
CORBA, COM/DCOM, and RMI emerged as an implementation of ORB.
The fine grained and tight coupling nature of object interaction and grow-
ing heterogeneity in enterprise applications gave birth to Service Oriented
Architecture as an architectural paradigm.
This chapter defines and explains the key concepts and technologies used
while building the motivation of the thesis. During the course of explaining
these concepts, it also sets the context and rationale of using them as part
of this work . It first defines Service Oriented Architecture (SOA), which
is the core concept in the thesis. It then discusses the relationship of SOA
with Enterprise Architecture (EA) and how SOA serves as an instantiation
of EA. Next it introduces the concepts of cloud computing and the need for
current enterprise deployments to converge to SOA. It then introduces Agile
methodology and the need for driving SOA using Agile methodology. All
these concepts and terms are detailed to establish the need to support en-
hanced quality needs for enterprise SOA systems not only to support growth
but also to consider the scope of service-orientation in view of these impact-
ing factors. The next section introduces the emergence of Service Oriented
Architecture.
CHAPTER 2. BACKGROUND 18
2.2 Service Oriented Architecture
Service Oriented Architecture (SOA) emerged as a paradigm to design and
integrate distributed systems by yielding vendor neutral technology inde-
pendent entities called services. It has formally emerged as an evolution
of the necessities and realizations of varied inter-related concepts combin-
ing disciplines of distributed computing, middleware, database systems, pro-
gramming languages [22]. Operationalization of open source standards like
Web Service Description Language (WSDL) [23] and SOAP [24] in 2001 was
benefited by the emergence of a concept called ’Web Services’. Web Service
[25] introduced the concept of exposing functionalities as services rather than
components or modules. Service itself is a very important concept in SOA. It
is an autonomous, self-contained well-defined independent entities described
by service interface . It is not as fine-grained as functions and objects but
enough coarse-grained to represent an atomic function. Self-contained and
autonomous nature of services provides the capability to compose them into
applications representing complex business process leveraging existing and
new technologies. Though Web Service is one of the most successful im-
plementation of SOA, it is not the only implementation. Technologies like
CORBA, EJB [26], and Apache Thrift [27] are other standards that are used
for scalable cross-language services development. Emergence of open source
frameworks and technologies promote cross-language and platform interac-
tion of heterogeneous environments leading to pioneering job of making SOA
real.
Over a period of time enterprises have become heterogeneous. Enter-
prises acquired varied application and technology stack to serve their current
and future needs. They witness adoption and dissemination of technology
CHAPTER 2. BACKGROUND 19
stacks, programming methodologies and industry standards. There is also a
wealth of useful code in legacy applications that remains despite the dissem-
ination and evolution. Re-inventing or developing applications from scratch
is a very cost intensive solution. Integration in a vendor neutral and technol-
ogy independent manner with a loosely coupled and sustainable and stable
architecture is the need to solve the problem. This need for homogeneity
and harmony is the top-down requirement as well. Business-IT alignment is
one of the top managerial concerns since 1994. “Business-IT alignment” and
“Speed and Agility” are among the top issues for IT executives as pointed
out by Luftman [28] explained the in MIS quarterly executive report.
"applying IT in an appropriate and timely way, in harmony with
business strategies, goals and needs" is a strategic business asset.."
IBM CIO survey in 2006 [29] also reflected the inadvertent need and re-
sults of enterprises to align business goals with IT.
"Organizations that effectively integrated business and technology
insight delivered greater financial results in terms of revenue growth
and operating margin."
SOA provides the means of achieving organizational agility. It provides
flexibility and means of alignment of business adaptation in execution of
modern-day businesses. Organizational restructuring, dissemination and adop-
tion of new platforms and technologies are common way to stay competitive
and meet business requirements. SOA, by virtue of service-orientation, pro-
vides an abstraction to design systems using business process and technol-
ogy agnostic entities called services. These services are used across business
groups and boundaries independent of ownership. It provides a capability
to respond fast to business needs. Another virtue of SOA is to provide the
CHAPTER 2. BACKGROUND 20
capability of embracing new and existing technologies. It serves the need to
integrate existing and new applications even if they are on different technol-
ogy stacks and platforms. The buzzwords around SOA entered into main-
stream application design and integration in 2006. It aligns business and
technology in a way to allow wrapping legacy applications as services. Busi-
ness IT alignment and its capability of adaptation with respect to existing
and new technologies and platforms are the key drivers for SOA adoption.
Though SOA started with focus on technology to develop applications as a
bunch of services deployed across an enterprise. This wide adoption of SOA
had to be recognized at an enterprise level to gain consistency and visibility
at all appropriate level. As service started growing over enterprise network
the need for management and governance arose at an enterprise level. SOA
governance formally emerged as a standard body in many enterprises. SOA
governance has henceforth existed as formal mechanism to ensure the same.
Not only that one of the key benefits of this governed mechanism can be
to create or increase injection points in the system to achieve the required
results. That means with changing business dynamics and recent trends gov-
ernance can be a useful mechanism to ensure the new and key requirements.
SOA governance emerged as a necessity of it. It becomes important to align
it with the overall Enterprise Architecture and governance to a SOA view
point and understand the relationship between the two.
The scope of service-orientation nowadays transmits to all levels includ-
ing strategic, business operation model, technological, infrastructure and de-
ployment.Recent advances in utility-based business models realized by cloud
computing, short product development lifecycle driven by agile methodology,
and diverse integration needs for Internet of Things (IoT) require renewed
focus on enterprise system SOA deployments. In view of this, impact and
CHAPTER 2. BACKGROUND 21
urgency of QoS-aware design and adaptive management of SOA services has
been studied as part of this work. Next section details the industry overview
of aligning EA with SOA followed by the discussion on these recent trends
an impact on the same on service-orientation.
2.3 Aligning SOA with EA
EA is key to the success of organization, but it requires proper engineer-
ing and enforcement across the enterprise. EA is realized with common
frameworks as TOGAF[30], Zachman[31]. It can be represented by various
views based on the specifics of enterprise stakeholders. SOA instantiates EA
with service orientation. EA should have services and process view to sup-
port SOA. Figure 1.1 shows the alignment with EA. Aligning SOA with
EA yields benefit of avoiding services sprawl, reuse and enhanced business
agility, end-to-end visibility and ease of implementing change as explained
below:
• Systematic growth
Huge adoption of SOA may lead to ”not so required” or unnecessary
services on an enterprise network. It need to be realized ‘Not everything
should be wrapped into services’.
• Governance
With EA governance bodies in place, SOA governance teams can be
a subset of these teams. They can work in sync with EA governance
for service management and role of adherence to align business policies
with requirements of service-orientation .
• Ease of implementing change
CHAPTER 2. BACKGROUND 22
SOA systems can be designed to leverage end-to-end view provided by
EA from strategy to implementation.
• Consistent Quality
Leveraging EA product and systems helps in alignment with strategy
and organizations business practices. The underlying processes are
linked to performance measures, which ensures consistent in quality
delivery.
Gartner made a strategic assumption in 2008 [32]
"By 2011, 30 % of organizations will be remediating and re-
fining their SOA services to be driven by EA processes and frame-
works , with a focus on EA”
Gaining consistent quality requires governance that enforces design method-
ologies and principles enterprise-wide. Dynamics of organizational structure
determines communication pattern among different business groups.
EA and SOA both share common goals of aligning business strategy and
its corresponding execution in alignment with policies, processes and perfor-
mance measures of organization. SOA should leverage EA to categorically
deliver service oriented capabilities and align its role with vision and strategy
of enterprise. Without unification, they will lead to entering into an era of
service silos while solving the issue of application silos. Realizing it, many
standard bodies and institutes have formalized this alignment. Also there
are various works studying this alignment.
Aligning SOA with EA supports conceptualization of Service Oriented
Enterprise (SOE) as envisaged in [8]. SOE view of service-orientation has
a larger scope than development of services. Enterprises are still hybrid in
CHAPTER 2. BACKGROUND 23
nature due to existing operational business requirements. Enterprises have
become enough mature in SOA realization. The pragmatic approach to
service-orientation [33] was the viable option for enterprises for successful
SOA strategy. However various dimensions were added and impacted the
view of service-orientation. Recent advances in cloud computing, Internet
of Things (IoT) are the trends impacting business models and integration
needs of enterprises. Agile development methodology is a common approach
for enterprise application development. All these recent trends and adoption
development methodologies have impacted SOA . They have added dimen-
sions to the way SOA can be and should be adopted and implemented within
organizations. Next section details the understanding and relationship of
cloud computing with SOA.
2.4 Cloud Computing
Cloud computing as an advancement of utility computing thrives on service-
orientation. It has changed the business models conceptualization from op-
erations based delivery to service orientation delivery model. The definition
of cloud computing as provided by National Institute of Standards and Tech-
nology (NIST) [34] is as follows
Cloud computing is a model for enabling ubiquitous, convenient,
on-demand network access to a shared pool of configurable comput-
ing resources (e.g., networks, servers, storage, applications, and
services) that can be rapidly provisioned and released with mini-
mal management effort or service provider interaction.
Cloud computing, is an innovation that thrives on SOA and efficient
CHAPTER 2. BACKGROUND 24
utilization of distributed infrastructure and resources to provide exhaustive
computing resources. Cloud computing provides these capabilities as ser-
vices. These services are managed in a virtualized environment. Flexibility,
scalability and elasticity are the key characteristics of cloud. There are three
important variations in cloud computing stack.
Platform As a Service
As the name suggests it provides a platform on which software can be
developed and deployed. It provides clients the necessary operating
system, hardware and server processing, data bases of the platform. A
typical PAAS capability within an organization creates a vanilla soft-
ware stack with necessary standardized components. The key benefit
is re-use in terms of infrastructure processing and standardization of
platform software technologies.
Software As A Service
This model has evolved with the move of service providers to the cloud.
Earlier called utility computing this actually means that the required
application and software is offered by services providers to be used by
end user. This software is managed and deployed at service providers
site.
Infrastructure As A Service
In this model, the cloud offers virtualized hardware with services for
create, maintenance and recovery for the same. This is the most prim-
itive form of cloud computing with most flexibility and control. At
the same time due to lack of higher order services and platform, it can
become very cumbersome to develop and maintain.
CHAPTER 2. BACKGROUND 25
Enterprises have very well realized that successful delivery of cloud-based
deployment requires convergence with SOA [33]. Enterprise systems can
either leverage cloud computing services offered by other enterprise providers
or they can have a cloud computing backbone for the same.
The key characteristics of cloud computing is its stack and business de-
livery model. Offering infrastructure, software and platform as a service to
consumers requires a quality driven measured approach. The purpose of
cloud computing from a business delivery model is to provide self-service
model to elastic resources. The allocation of these resources will be changed
dynamically based on consumer needs. The consumer expects the delivery of
declared service level agreement (SLA) for its services . These offerings are
offered on payment model and are ideally metered and billed based on usage.
Traditional enterprise SOA deployments were mostly servicing the internal
needs of organizations. These deployments could sustain and were built upon
on static-driven and declared QoS. The consumer oriented business model of
cloud computing extends service orientation to the business model but it can
no longer work traditionally based on static SLA.
An incremental and iterative development methodology known as "Agile
development" is a popular approach among many organizations for software
development. It challenges the traditional project development approach
adopted by many companies to deliver software products. It supports in-
cremental development of software with each iteration building on top of
previous iteration and development cycle. Contrary to traditional develop-
ment methodology, that requires a lot of emphasis on lot of analysis and
product development vision during the initial phases. Next section details
about Agile development methodology
CHAPTER 2. BACKGROUND 26
2.5 Agile Methodology
Agile development approach has gained a lot of popularity in software de-
velopment. It supports unpredictability in consumer demands as well as any
blocking issues during design and development to be addressed. The model
works with gathering agile set of requirements for an iterative manner. Agile
manifesto delivers some key capabilities that mostly get ignored in traditional
development methodology.
The ten principles listed by Agile Manifesto explain the reason of its
wide popularity. As a methodology, it promotes and entails involvement of
key stakeholders in the system. Continuous feedback from customer and key
stakeholders in the systems provides the key benefit of consumer satisfaction.
Another key benefit of Agile is self-organizing team based obtained from and
resulting in well-defined skill set . This methodology empowers customers
and key stakeholders to contribute to product development by providing their
feedback ,suggestions or contribution to design.
SOA is an architectural style while agile is a development methodology.
Though they serve different purposes they have common goal from the busi-
ness perspective that is "agility”. Enterprises are now operating in Agile
model. Driving SOA adoption using agile methodology is an opportunity to
drive integration and development of services in an agile manner. By na-
ture services serve different functionality and generally owned by functional
groups. Architecture is key to SOA to look forward to future state of services
integration and client interaction. Too much focus on long term architecture
may conflict with the strategy of agile. Driving SOA development in an agile
manner has been addressed, studied, suggested as well as practiced by many
authors in different ways. It is observed that while unifying SOA develop-
CHAPTER 2. BACKGROUND 27
ment with agile development methodology, the focus is on functional design
of services and integration of the disparate services delivery.
Driving SOA using agile methodology requires addressing three main
challenges. One is dealing with complexity of SOA design and development
activities (issues like resolving conflicts for assigning roles for functionally
different services owned by different functional groups). Another one is how
to ensure quality while building a complex system using agile methodol-
ogy. First challenge is resolved in different ways by many organizations
and already SOA applications are delivered in an agile development man-
ner. However implementing adaptively Service Oriented Architecture using
Agile methods considering non-functional aspects is an open area. In the
next chapter, we would look at existing works and current state of research
both in the area of Adaptive design and discovery based on non-functional
properties. And How it gets buried in the issues dealing with complexities,
conflicts resolution and role assignment for the application.
2.6 Summary
This chapter discussed the background leading to the rationale of conducting
this research. It is realized that the traditional way of enterprises offering
static SLA and QoS parameters for SOA services will no longer be success-
ful. The fast and adaptive IT response to business needs is one of the key
requirements of enterprises. The recent trends in industry corresponding to
Agile development methodology for SOA development can result in a reac-
tive behavior. At the same time it may not provide high quality systems, be-
cause they do not imply each other. The non-functional aspects are equally
important for the successful agile SOA execution. The run-time reactive-
CHAPTER 2. BACKGROUND 28
ness for SOA systems is seen as adaptation corresponding to dynamic and
run-time changes due to end-user preferences or pre-defined requirements.
With the huge proliferation of services adaptive discovery mechanisms be-
come important to discover the service based on the differentiating criteria
of non-functional aspects. Next chapter reviews the works in these areas to
understand the gaps and viable contributions that need to be made for design
time and run-time needs for QoS-aware SOA systems.
"A great wind is blowing and that gives you either imagination or a
headache."
Catherine the Great
Chapter 3
Review Work
3.1 Introduction
Marketplace agility and dynamic business needs require organizations to re-
spond rapidly and cost effectively to business demands. SOA provides an
architectural solution to model heterogeneous and complex integration prob-
lems using flexible and loosely-coupled interaction of services. The services
in SOA are designed to be reusable and composable units that can be used
across varied applications. A service-oriented application is no longer a self-
contained world. It involves communication of services via interfaces in-
dependent of underlying technology. ‘Agility to Adapt’ is one of the key
benefits of enterprise SOA adoption obtained by hiding the complexity and
intricacies of implementation behind interfaces. Real-world SOA integration
models complex enterprise systems and applications using simplified inter-
face communication mechanism hiding the complexity. The huge adoption
of SOA has led enterprises to get reformed to shared service center. In an
enterprise scenario a flexible business process can be obtained by selecting
from the set of services available from a shared service repository. The cur-
29
CHAPTER 3. REVIEW WORK 30
rent state of enterprise applications support dynamic service-orientation. As
a next step enterprises need to provision adaptive SOA to step beyond the
regular predictable behavior modeling of dynamic systems and processes.
The adaptation requires providing autonomous behavior to exhibit adaptive
properties [35].
Figure 3.1 shows the phases of SOA solution stack maturity growth in an
enterprise both in terms of services and Quality of Service (QoS) progression.
As described below it can be denoted using four levels:
Figure 3.1: SOA stack
• [Basic Services:] First phase of SOA adoption begins with basic ser-
vice capabilities. These services should be enough coarse-grained to
represent foundational capabilities of an organization. QoS at basic
services layer means individual service quality characteristics.
• [Composite Services:] This layer represents composite application,
which can leverage basic services layer to aggregate and orchestrate
CHAPTER 3. REVIEW WORK 31
composite application. A business process can leverage composite ser-
vices as well as basic services to represent clinical business functions.
Quality at this layer means composite QoS determined by each indi-
vidual service in the chain or composition.
• [Dynamically reconfigurable Services:] Dynamic reconfigurabil-
ity has become a necessity to evolve SOA to a phase where services can
re-configure themselves based on run-time requirements. This capabil-
ity takes care of a predictive un-required behavior in reaction to fault.
Dynamically changing QoS characteristics need to be monitored as well
updated to predict and decide reconfigurability. Dynamic selection and
invocation of service has recently been studied a lot and has become
very important.
• [Adaptive SOA:] Next logical step is Adaptive SOA. It subsumes dy-
namic behavior along with self* [36] properties to act on un-predictable
run-time error or performance behavior. To attain self* behavior de-
manded by adaptive systems non-functional properties need to be adap-
tively managed both at design time and run-time. It also requires QoS
attributes to be specified at each individual service level to determine
QoS for composite SOA application.
Enterprise business capability model need to be extended to support
adaptation. The layer at the top demands research to support adaptive
growth of service-orientation within enterprise. The research plane of SOA
systems as depicted by Papalozou et al. [37] describes research roadmap for
CHAPTER 3. REVIEW WORK 32
different layers in the SOA stack. It is realized that the conventional software
development methodologies do not address the interface design, re-usability,
composability adaptively. The grand challenges in monitoring and manage-
ment layer identified the need of adaptive service management capabilities.
The research agenda described by Software Engineering Institute [38] and
[39] emphasized the need of evolution of existing SOA deployments to cater
to design-time and run-time adaptation. QoS is pervasive [Sikri and Gell
2014] to the complete SOA research plane. Consistent user experience need
to be provided beyond network boundaries, devices and accessibility. Qual-
ity is paramount for any modern day business service offering and business
process execution. While identifying the adaptation needs non-functional
properties are considered as a paramount requirement for SOA systems. It is
needed to support the recent developments in industry like Agile development
methodology, that requires SOA applications to support adaptive design to
accommodate unpredictable changes. The rapid deployment of SOA need
to adaptively scale to support discovery of a unique service that fulfills it
requirement amidst the multiple functionally similar services available on an
enterprise network. These services offer similar functionality but different
QoS. The two key areas in SOA life cycle that are of paramount importance
are adaptive design and discovery based on non-functional properties. The
review work in this chapter focuses on these two areas. The next section de-
scribes the review works supporting Agile and Adaptive SOA development.
It is followed by another section that focuses on review works for QoS-aware
discovery mechanism.
CHAPTER 3. REVIEW WORK 33
3.2 Agile and Adaptive SOA
Successful design is one of the key success criteria for stable and adapt-
able [40] distributed application. SOA is an approach to model distributed
application integration using services. In order to achieve adaptation it
is suggested to use [41] iterative software development framework to de-
velop service-oriented systems. Agile development methodology is the re-
cent trend for consumer-driven, iterative development. It promotes faster
time-to-market, time to delivery and adaptive design and development ca-
pability. Figure 3.2 shows the typical iterative cycle in Agile methodology.
These methodologies are both iterative and incremental. The iterative pro-
cess makes progress through successive refinement based on early and fre-
quent feedback in agile methodologies. It is an incremental process as each
deliverable in agile methodology represents a subset of functionality that is
built on previous one. Each iteration results in an incremental deliverable
subjected to stakeholder review. The backlog represents the prioritized set
of requirements that are being picked in iterations to deliver incremental
functionality.
Roa
dMap
Requirements
Deliverab
le
Backlog
Iteration
Iteration
Iterat
ion
Daily Review
Feedback
Figure 3.2: Agile Methodology
CHAPTER 3. REVIEW WORK 34
The benefits of SOA were very well foreseen, leading to its wave of adop-
tion in 2005 and trough of disillusionment [42] in 2006. Currently both SOA
and agile development methodology are in the Plateau of Productivity in
Gartner’s curve. SOA supports organizational agility by virtue of service-
orientation. Sustainable development and delivery [43] despite changing re-
quirements in an adaptive manner is the primary reason of agility in Agile
development methodology. There are two important points to be highlighted
here: Agile methodology and SOA share the same goals but they are not de-
rived from or imply each other. Secondly Architecture and development
methodology are not at odds. It is required to align them in a way, to lever-
age the benefit of agility with the execution of Agile principles that can take
advantage of modular and loosely-coupled architecture capabilities of SOA.
In order to provide an inherent support for faster time to delivery, time-to-
market, and consumer-driven design and development of SOA system agile
methodology is an inadvertent need. Having said that, grass rooted and
fundamental requirements need be considered, to see how to align them to
achieve the maximum benefit. As discussed below these requirements include
the foreseen challenges that need to be addressed for a distributed and global
service-oriented integration in an enterprise environment.
• People orientation vs Process orientation: Agile is more people-
oriented and less process-oriented. Face-to-face communication, stake-
holder review, continuous feedbacks considers people-orientation from
requirement analysis to design decisions to delivery and development.
For small scale and simple integrations it may work. However for com-
plex enterprise systems process-orientation is required for better main-
tainability and to avoid any disruptive design decisions and changes
that can affect the future evolution. modeling
CHAPTER 3. REVIEW WORK 35
• Complexity vs Agile principles: Considering the fact that SOA
models complex distributed systems, the impact of change will be per-
vasive as well as costly. Therefore design is key to service-orientation.
On the other hand Agile is about incremental delivery of continuous
backlog of features welcoming changing requirements in the middle of
development. SOA models complex distributed integration that are
not very small in size. In order to support such agility it is required to
adaptively design SOA systems.
• Ownership: From an enterprise perspective different services owner-
ship in a single SOA application can be spread across multiple business
units that have different priorities. It is imperative to bring these mul-
tiple stakeholders to consensus with different priorities. Many of these
stakeholders may not even be aware of the impact the services make at
the end user level. Hence it is not simply important to prioritize the
customer requirements but enable collaborative SOA design identifying
the key stakeholders impacting the system.
• Modeling of customer requirements: One of the primary areas of
study in agile methodology is requirements engineering more specifi-
cally for large and complex distributed systems. It is even said that
Agile and requirements engineering are not compatible and Agile meth-
ods are ideally suited for systems supporting adaptive development
[44] rather than predictive development. However for large and com-
plex projects [45] requirements’ modeling is required to support future
growth despite development methodology. Also the modeling of cus-
tomer requirements needs to capture the current as well as future state
• Non-functional requirements in Agile: The customer satisfaction
CHAPTER 3. REVIEW WORK 36
actually entails by fulfilling its needs. Needs is mainly the manifestation
of non-functional requirements. Agile does not mandate and talk about
non-functional requirements (NFRs). It is even said that they are ill-
defined in Agile methods. NFRs are important mandatory for complex
SOA system design. For Agile delivery of adaptive requirements NFRs
are a reflection of customer needs. This requires planning and focus on
key design attributes early in the SOA life cycle.
Considering the above factors there are works in literature addressing
them in different ways. It is realized [46] agile methods are difficult to scale
for large and complex projects due to lack of planning and focus on early
delivery of result. One key aspect in planning is requirements engineering.
Quality is directly impacted by the kind of requirements engineering prac-
tices adopted. Requirements engineering for traditional and Agile develop-
ment methodologies are not compatible [47]. Unlike traditional requirement
engineering (RE) practice of freezing the requirements before development
begins, agile welcomes the changing requirements during the course of it-
erations. There is no exhaustive documentation and contract agreement in
agile. Agile contracts are a characteristic that is being discussed these days.
Elssamadisy [48] discussed that some practices of agile methodologies (with
XP as an agile approach) such as iterative development, frequent testing
and feedback, small release, and refactoring, are suitable for large projects.
However others like standing-meetings, use of metaphors to describe system
architectures, factors like informal design discussion meetings and making
assumptions about the architecture can become topsy-turvy for distributed
and large scale projects.
The commonalities and differences in traditional requirements engineer-
ing and agile software development approaches are discussed in [44]. The RE
CHAPTER 3. REVIEW WORK 37
approach used for traditional development can be described using following
main activities: elicitation, analysis, negotiation and documentation. The re-
quirement elicitation is about discovering requirements based on the context
based information, interviews, design approaches, use cases, focus groups,
brainstorming and prototyping. These are different types of collaboration
techniques in requirements elicitation. Once requirements are captured, next
step in requirement analysis is conflict resolution and prioritization. Require-
ments documentation followed by validation of this document is used further
for requirements management. Customer involvement is crucial for RE in
both traditional approaches and agile methods and is considered an impor-
tant aspect for project success. In traditional approaches, the customer is
mainly involved in initial phases whereas Agile emphasizes on continuous cus-
tomer collaboration throughout the development cycle. Authors have high-
lighted that non-functional requirements are ill-defined in agile approaches.
The agile development mainly focuses on functional aspects reflected as fea-
tures delivery. The study also expressed that most non-functional require-
ments need to consider in the development phase itself because it affects
the design and technology decisions. This work specifically identifies the
need for agile methods to consider and deal with NFRs in agile development
methodology.
Cao et al. [49] in 2004 provided a tailored agile method (XP) approach
for large-scale projects. Authors did point out lack of guidance using agile
methods for large and complex projects and demonstrated the applicability
of XP as an agile approach for it. The tailoring included upfront-deign, sur-
rogate customer engagement, flexible pair programming, short release cycles
with layered approach, re-use with forward refactoring. A case study has
been shared demonstrating the applicability of agile methodology for an ap-
CHAPTER 3. REVIEW WORK 38
plication development in large software development organization FinApp.
FinApp is involved in the development of a complex enterprise system that
provides financial services to banks, insurance companies, loans and bro-
kerages. The application to be redesigned is huge. Beyond the size, the
application involved corporate cash management, which is a very complex
domain. Security is critical and quality is the focus of development effort.
There were two main reasons for FinApp to choose XP as a tailored agile
method. First was the understanding that agility is required to accommodate
evolving requirements. Secondly solely relying on formal communication in
Agile methodology causes problem in bringing different stakeholders at a for-
mal consensus. It also becomes challenging to communicate the requirements
to the development team. Designing upfront is seen as one of the key require-
ments for large-scale and complex projects in enterprise systems. Enterprises
have a structure determining the way in which it operates. Enterprise soft-
ware systems fulfill the need for managing business by using an information
flow between different business verticals: finance, accounting, supply chain,
customer information and sales. The integration among these channels is
nowadays performed using SOA that enables the information flow using a
simplified technology agnostic interface based service-oriented design. The
services are designed for maximum re-use in an enterprise to leverage an ex-
isting functionality across the board consistently to avoid business silos and
re-inventing the wheel. Authors also expressed the need of tailoring more
specifically needed for the reason that they are dealing with enterprise sys-
tems. In the words of project manager at FinApp:
“The difference is what we got here is an enterprise application
and that is what drive everything. We have an extremely modified
CHAPTER 3. REVIEW WORK 39
version of XP exactly because we have enterprise application”. in
the words of one the project managers in FinApp.
Architecture and design is key for enterprise SOA development not only
because of the fact that it models complex systems. It also nails down to the
fact that the overall design is important for distributed system modeling. As
the systems grow in complexity [49] a big picture of the overall project [50] is
required to align it with enterprise quality standards. Too many stakeholders
can dismantle the communication of the key features need to be achieved by
the developers. The challenge is reflected by FinApp manager as:
“It is found that without an overall design, it is difficult to maintain
a big picture of the project as the systems grows. The communi-
cation between developers is also problematic when a large number
of stakeholders are included.”
Most of the enterprise systems business logic can be designed using pat-
tern based design promoted by SOA. In turn re-use is promoted by pattern-
based design of SOA. ‘Forward Refactoring’ of existing features is suggested
by FinApp to enable adaptive design for future requirements by reusing ex-
isting code base.
Benefiled [51] shared his experience for Agile adoption in a large enter-
prise Yahoo. Author has put forth real-time challenges faced due to high
competitiveness faced by the organizations. He exemplifies his experiences
in getting product to market quickly, staying flexible and adaptive to change
leading to the need of Agile and Lean software development process. Yahoo
supports around 800 million active internet users worldwide. Agile journey
CHAPTER 3. REVIEW WORK 40
in Yahoo began in 2004 by the convincing presentation from Jeff Sutherland
[43].Peter Demer, the VP of product development that time was given the
budget and mandate to lead the effort ‘grounds up’ to ensure agile adoption
within the company. The company chose the path of grounds up adoption
rather than top-down mandate to study the real need of Agile. The adop-
tion started with the coaching of Scrum for various teams with continuous
follow ups and surveys. The survey results indicated that 77 percent had
positive feedback about using Scrum, 68 percent found that Scrum reduced
the amount of time wasted, 64 percent of respondents believe that Scrum im-
proved the business value of their product at the thirty-day mark. Within a
one-year mark twenty-five teams started using Scrum with 84 percent of team
members supporting this new Agile method. The ongoing feedback helped
in capturing the motivation of the team for Scrum adoption. The number
of teams using Scrum increased from 4 to 40 within next year realizing the
evident benefits of adoption. Architecture is not key to Agile. But contin-
uous collaboration and meetings helped Yahoo! mail team unravel major
architectural issues early in the life cycle to fix them before launch. This led
them respond to a major competitive threat during the development phase.
They released a major storage improvement ahead of schedule, saving the
company millions of dollars. The positivity and adaptability exhibited by
the development team at Yahoo was one of the major reasons for smooth
transition to Agile resulting in its adoption. Design had always been key in
large organizations and same is the case with Yahoo. They have a separate
design team that is heavily consumer focused and involve user experience
experts, UI designers. The Scrum teams worked hard to address their con-
cerns and build a common ground. Continuous refactoring and evolutionary
design was at odds with the existing design team culture. As part of this
CHAPTER 3. REVIEW WORK 41
effort it became a practice for design teams to come find common ground as
else consumer focus will get deprioritized.
Lucia and Qusef [52] have discussed how requirements engineering tech-
niques can be combined with agile methods. This study provides guidelines
on how requirement engineering can be mapped to different agile methods.
The authors have given their views on Agile RE by mapping traditional RE
practices to XP and Scrum agile methods. Prioritization of requirements is
done based on understanding of product owners and business collaboration
with customers. The user stories in XP and product backlog in scrum are
used for requirement elicitation. Face-to-face communication and collabora-
tion is the replacement of exhaustive documentation in Agile. Authors have
mapped traditional RE phases with RE practice in Agile methods by mod-
ifying it with the addition of feasibility study phase. The feasibility phase
conducts an analysis of whether or not the target system is worthwhile based
on organizational objective. The key guidelines for RE in agile environment
is provided with the emphasis on key stakeholders identification.
Architecture and design is very important for real-world distributed en-
terprise application. Service Oriented Enterprise, Services of Everything and
Services of Anything are the direction and vision for enterprises to stay ag-
ile, competitive and ahead of the curve. IT needs to tie in and support
business in a way to yield agility in this move. In this highly competitive en-
vironment handling agility with respect to dynamic consumer requirements
require architects to have an adaptive futuristic view to system design. As
system grows with these dynamic consumer needs requiring delivery in con-
stricted time frame it is difficult to ignore the role of architecture and design.
Along with the focus on overall picture and end goal it is important to cap-
ture the consumer needs (related to satisfaction) to yield a quality product.
CHAPTER 3. REVIEW WORK 42
Agile development expect a continuous backlog of features to enable unin-
terrupted iterations and development. A distributed SOA application would
require capturing these requirements by doing the prior work of planning
based on roadmap and requirements. This should result in building this
catalog of agile requirements that helps in adaptive and agile development.
Most of the works theoretically discusses issues and provide guidance and
best practices to address them while practicing Agile methodology in dis-
tributed or complex scenarios. The review addresses the key issues and gaps
that need to be addressed in the areas of Agile Requirement Elicitation in-
cluding Requirement engineering, non-functional requirements, stakeholder
identification and formalization. A mechanism that can formally establish
this connection of customer needs with required set of stakeholders will help
in adaptive development with agile set of requirements.
Prioritization of requirements is realized as a vexing issue in SOA sys-
tems to address requirements engineering practice for SOA systems. The
formalization need to address the issue of collaborative design, stakeholder
management, non-functional requirements and alignment of technical gover-
nance aspects with enterprise governance and customer needs. The proposed
solution and formalized methodology is developed as part of this thesis to
address the gaps. The methodology is being explained in detail in next chap-
ter. The next section reviews works in understanding the state of QoS-aware
discovery approaches in SOA systems to formalize the gaps that need to be
addressed.
CHAPTER 3. REVIEW WORK 43
3.3 QoS-aware discovery mechanisms
Diverse integration needs for SOA, metering and billing based services deliv-
ery model can only be successfully delivered based on measured quality at-
tributes. Traditional SOA deployments for enterprises were mainly internal
and statically monitored. However enterprises have stepped ahead to under-
stand the need for dynamic service-orientation. Discovery is the huge and
rapid adoption of SOA has enticed lot of attention on discovery approaches.
It is common to see multiple services providing similar functionality on the
enterprise network. Reuse and replication are two use cases to provide better
quality. With the existing infrastructure well suited to their SOA application
requirements, enterprises require all of their systems to adopt a QoS-aware
management and discovery mechanism. With shared services registry de-
ployed in an enterprise, redundant services management and deployment is
the first step to build dynamic and adaptive QoS-aware service discovery that
can serve the varied consumer needs. There are works in literature address-
ing QoS-aware discovery at different levels. These works are studied as part
of this review to form an understanding of the current state and gaps that
need to be addressed. It is realized during the pragmatic journey in SOA
adoption, there is a shift in the use of standards from syntactic to semantic.
This transition also mostly aligns with the time during this journey.
If the discovery approach and QoS specification mechanism is leverag-
ing syntactic standards, it is termed as ‘Syntactic SOA’. The standard dis-
covery architecture for SOA systems comprises interaction among the key
components of SOA architecture i.e: consumer, provider and service registry.
WSDL [13] is a W3C recommendation for web service specification. It pro-
vides a structured mechanism (XML) to describe web services. A WSDL
CHAPTER 3. REVIEW WORK 44
structure consists of two parts: one part represents abstract operations and
messages. The other part concretely binds it to network protocol and mes-
sage format. The WSDL structure provides elements data types and message
structure definitions supported by the service and operations indicating pos-
sible actions like one-way, request response along with input and output for-
mat. All this information enable clients to access the syntactic information
they need to interact with the service. The elements of WSDL do not provide
mechanism to specify QoS attributes and associated information. Universal
Description Discovery and Integration (UDDI) [15] is the registry specifica-
tion for SOA systems. It provides a mechanism to publish service providers
discovery metadata that can be subscribed by service customers to discover
the services. The UDDI data model consists of four main components:
businessService: Offers description of a service.
businessEntity: Offers information about a provider that publishes the ser-
vice.
bindingTemplate: Represents the service technical details, including a ref-
erence to the service programmatic interface or API.
tModel: Represents the interface, classification information and namespaces
to add meaning to the UDDI data structure.
The default UDDI specification does not describe a mechanism to represent
non-functional attributes. Standard bodies like OASIS [53] has recommended
extending existing data structure UDDI tModel to represent QoS related in-
formation. WS-Policy [14] is a standard framework that provides mechanism
for service provider to specify policies representing QoS information provided
by them. It also allows consumers to specify their requirements with policy
CHAPTER 3. REVIEW WORK 45
assertions. The information provided in WS-Policy gets mapped to limited
ability for expressing many characteristics and attributes. Not every pos-
sible expression can be represented using policy assertions, such as request
parameters range, security domain specification, consumer capabilities [54]
and dynamic QoS attributes. Efforts have been made to extend WS-Policy
in various dimensions, to leverage its capabilities for QoS specifications.
There are set of standards that add semantics to the specification and
corresponding protocols and specifications to reason with them. ‘Semantic
SOA’ got its origination from ‘Semantic Web’ that was envisioned by Tim
Berners-Lee in 2001 [55] as an extension to the World Wide Web (WWW).
Ontologies are the backbone to provide semantics. It describes artifacts, their
properties and relationships in a knowledge domain. It empowers Semantic
Web Services (SWS) to allow consumers to express their requirements for
services rather than how to ask for them. The semantic markup enabled in-
formation can be used to create a knowledge base on the information obtained
from different sources. These semantically enabled service descriptions are
interpreted by the software systems presented by the providers and clients
to discover the desired service. Consumers can use the information pub-
lished in semantic descriptions to reach out to the service provider, though
their detailed interfaces may differ. We refer to such a service-orientation
as ‘Semantic SOA’. The standards in Syntactic SOA and Semantic SOA do
not provide comprehensive support for QoS. These standards have been ex-
tended in many works to provide QoS-aware discovery. The review work has
classified as shown in Figure 3.3.
As indicated Syntactic QoS-aware discovery mechanism mainly involves
extending syntactic standards like Web Service Description Language (WSDL)
[13], UDDI [15] and WS-Policy [14] majorly to address QoS specification and
CHAPTER 3. REVIEW WORK 46
Qos-baseddiscoverymechanism
Syntatic
ExtendingUDDI
ExtendingWS-
Policy
ExtendingWSDL
Semantic OWL-Sextension
WSMOextension
Agentbased
dicovery
Figure 3.3: Classification of QoS-aware discovery approaches
discovery needs. Similarly Semantic QoS-aware discovery extends semantic
standards, such as OWL-S [56] and WSMO [57]. A separate classification
has been provided to address the work done for multi-Agent based approach
based architectural framework Semantic Web Service Architecture (SWSA)
[58], specially designed for semantic web service discovery. The classifica-
tion aids in systematic research. The review also analyzes the feasibility of
these approaches in a real-world enterprise environment. To further gener-
alize this study also provides an architectural evolution of these discovery
approaches. It is realized that a QoS-aware discovery mechanism has two
major requirements:
[QoS Specification:]
This requirement involves determination of how and where to spec-
ify QoS requirements. ’How’ involves the characterization of QoS at-
tributes based on domain, capabilities and relationship. ’Where’ de-
termines the components that require QoS attributes to be specified.
’How’ is largely taken care of by extending WSDL and WS-Policy for
syntactic discovery approaches. For semantic descriptions ontologies
such as OWL-Q [59], QoSOnt [60], onQoS [61], QoS-MO [62], WSMO-
QoS [63], and WS-QoSOnto [64] are designed in many works to enable
CHAPTER 3. REVIEW WORK 47
QoS-aware specification. ’Where’ is generally being taken care by ex-
tending UDDI.
[Discovery approach:]
This step characterizes the matchmaking and ranking methodology em-
ployed in the service discovery mechanism. It utilizes the QoS specifi-
cation approach to provide a mechanism and steps for QoS discovery.
Most of the approaches discover services based first on the functional
requirements, followed by QoS characteristics.
Next section describes the works leveraging Syntactic QoS-aware discovery
and analysis of its gaps and adoption in an enterprise environment.
3.4 Syntactic QoS-aware discovery
The basic flow in discovery architecture involves three basic components
and the interaction between them: service provider, consumer and registry.
The discovery mechanism is characterized by aiding consumers to select the
unique service out of multiple services available on the network. The mecha-
nism to select this unique service varies based on standards, QoS specification
mechanism, selection and discovery algorithm. To provide interoperability
most authors have extended the existing standards UDDI, WSDL and WS-
Policy specifications to cater to generic QoS specification and discovery. The
next section describes works that have achieved the same by extending UDDI.
3.4.1 Extending UDDI
The benefits of SOA were very well foreseen, leading to its wave of adoption
in 2005 and trough of disillusionment [42] in 2006. The global and diverse
CHAPTER 3. REVIEW WORK 48
nature of organizations with predicted large-scale growth of service-oriented
applications would require usage of many registries. In that case, there would
be a need for infrastructure to support the specification as well as discovery
from federated registries. A QoS-aware extension to UDDI [65] was proposed
using UX based on network characteristics. The network model is abstracted
into domains, based on QoS characteristics, such as bandwidth, latency and
congestion. The UX system has four main components: the service requester,
local UDDI registry, UX server and Test Host. The QoS broker component
in the service requester reports its observed QoS to the reporter component.
The Test Host generates the QoS reports for local registered services because
it may not be possible to predict service performance in all cases. The UX
server receives an inquiry from the requester and processes it based on QoS
reports information available and its interaction with the local UDDI reg-
istry. Using a federated discovery mechanism promotes scalability and avoids
synchronization issues such as replication. The authors, in this case, used
federated discovery based on network capabilities. We noticed that until this
time, QoS-aware discovery was still in the early stages of determining how to
specify QoS. It was in 2005 that Serhani et al. [66] introduced the concept of
verification of QoS information using a verifier component. This information
was represented in extended UDDI, termed UDDIe. A broker component is
added to interact with both the service provider and consumer. As a first
step, the service provider interacts with UDDIe to subscribe to the broker
information. It then requests that the broker verify the QoS information
before publishing it in registry. A WSDL parser is used to extract functional
and QoS information from WSDL. QoS verification is performed by a set
of test cases and includes the verification of a fixed set of QoS attributes
based on the network and bandwidth. The result of verification is stored in a
CHAPTER 3. REVIEW WORK 49
database. Based on the claim made by the provider and the results returned
by the verification process, the web service is classified as bronze, silver or
gold. Once the verification is complete, the provider is awarded a certificate,
which is stored in the broker to confirm the verification. The verification pro-
cess requires a fairly in-depth validation of the syntactical attributes, which
would require accessing providers implementation. This may not be prac-
tical all the time, since service providers platform and implementation may
not even be accessible. Fixed set of QoS parameters are being captured and
tested using java implementation and SOAP handler.
Many works extend the default UDDI and its APIs for QoS-related infor-
mation, and the work done in [67] extends UDDI with an extra component
known as QoS Registry. The reference to the business and technical context
of the information in the QoS registry, is stored in UDDI. This add-on com-
ponent holds, specifically, the QoS information from service providers. It also
verifies the QoS information at the time of registration, with no considera-
tion of any run-time or dynamic changes in QoS information. It is observed,
that two levels of indirections for the QoS registry will incur extra cost for
deployment and management. This work is primarily focused on extending
UDDI to provision QoS information and does not focus on discovery aspects.
To further evolve the discovery mechanism to the next level, verification
based on client feedback was realized to be important, as studied in [68].
The authors have used the mechanism of a reputation score. UDDI was
extended to represent QoS information in keyedReference for the tModel
data structure in UDDI as suggested by OASIS. The ranking of services is
determined by a reputation manager, which assigns reputation scores to web
services based on the feedback received from the clients. A discovery agent
receives service requests and discovers the service based on client QoS and
CHAPTER 3. REVIEW WORK 50
reputation requirements. There are many representative works in reputation
based ranking of web services in SOA. The above works did not discuss the
specification mechanism of QoS attributes by the service provider, but there
is an assumption that providers will need to somehow provide QoS details to
UDDI, and that clients can specify their QoS goals, which will be analyzed
and processed by the broker on behalf of clients.
With the wide adoption of SOA, the dynamic business scope and large-
scale growth witnessed by organizations require federated QoS-aware dis-
covery was required.YE et al. [69] proposed a QoS-aware model for Web
Services discovery using QoS brokers for federated discovery. QoS attributes
are categorized on the basis of computational behavior, business behavior and
metadata restriction. The QoS broker is the main component in the architec-
ture, resulting in distributed discovery. It discovers the service by interacting
with distributed QoS brokers in the system, when sufficient information is
not available in the local UDDI registry. It also filters and merges the results
from different QoS brokers. The authors have not provided results or the
implementation of the proposed architecture. The next section details works
extending WS-Policy to serve specialized needs for QoS specification.
3.4.2 Extending WS-Policy
WS-Policy [70] became a W3C recommendation in 2007. WS-Policy is a
metadata specification. It emerged as a standard way to describe web service
properties using policies. Policies are a set of assertions that can represent
both functional and non-functional aspects. There are many aspects of non-
functional specifications that cannot be expressed using the standard WS-
Policy framework.
Diego and Maria [71] extended WS-Policy and the UDDI information
CHAPTER 3. REVIEW WORK 51
model, along with its APIs, to provide a framework for QoS-based discov-
ery. WS-Policy has been extended to include a QoS policy by referring to
the QoS information model. tModel in UDDI is extended to specify QoS
characteristics along with the capability to refer to the WS-Policy structure
for storing QoS policies. The UDDI APIs for publication, subscription and
inquiry sets have been modified for QoS-aware discovery. The broker com-
ponent interacts with the consumer, extended UDDI registry and service
provider to provide the required service to the consumer. First a list of func-
tionally similar services is found followed by the intersecting QoS policies of
these services. Intersection is determined by policy and attributes compati-
bility. The monitoring component intercepts between services and consumers
to monitor changing QoS attributes and communicate updated QoS infor-
mation to the broker. The broker in turn updates the same in the UDDI
registry. This work has demonstrated an extension to WS-Policy via QoS
information model representing QoS Policy. However, to support such an
extension, changes must be made in the UDDI tModel structure along with
its APIs. Representation of individual QoS characteristics can be modeled
using an information model, but time-based management of individual QoS
attributes cannot be provided using WS-Policy.
WS-temporal Policy [72] defines an extension to WS-Policy to offer time-
based constraints. A validity period attribute has been provided for each
policy attribute by using add-on characteristics for the attributes related to
time, including duration, start time, end time and expiration. The life cycle
management of these policies is performed using Temporal Run Time En-
gine (TPRE). The implementation of TPRE is done using Axis 1.4 [73] as a
SOAP-based framework, with the actions defined in XML schema. The client
side implementation is done using callback handlers of the axis framework.
CHAPTER 3. REVIEW WORK 52
This work enables a service developer to attach a validity period to the prop-
erties described in WS-Policy, but not at the services level. Business owners
adore SOA [74] because of its capability to align business and IT. Theoret-
ically, it sounds great, but it requires a mechanism to include the business
view of policies. The WS-Policy4MASC language [75] has been designed to
define business metrics along with conflict resolution strategies to return the
maximum value for autonomic running systems. New policy assertions have
been added to promote business-driven metrics. These new assertions do not
address the issue of dynamic attributes and are more focused on business
scope.
Web services are identified using an endpoint as specified by WSDL. The
Web Service proximity resolution framework proposed an extension to the
[18] WS-Policy framework to represent a location policy that can represent
and identify web services and consumers using a topological endpoint uri.
A Network Topological Information Service (NTIS) is used as a broker to
discover and rank services. The discovery mechanism implemented in NTIS
uses topological metadata that representing network topology to determine
the service ranking. Clients interact with UDDI to obtain the service location
and send this information to NTIS. NTIS determines the ranking of services
based on the proximity and topological location of consumers. This work is
further extended in [76] to adaptively discover services based on generic QoS
requirements of clients apart from proximity. Because WS-Policy does not
provide inclusive support for QoS, many authors have also extended WSDL
separately to represent QoS information. The next section details works
extending WSDL
CHAPTER 3. REVIEW WORK 53
3.4.3 Extending WSDL
D’Ambrogio, A. [77] defined Q-WSDL to represent QoS properties using a
meta-model extension to WSDL based on the principles of Model Driven
Architecture (MDA). The extended meta-model is represented using classes
and associations for Q-WSDL. The transformation from WSDL meta-model
to extended QoS metamodel is inspired by standard UML profiles from OMG
[78].This meta-model is translated into XML documents to represent Q-
WSDL XML documents. However, the authors did not address advanced
QoS management features and suggested that users utilize available standard
languages, such as WSLA, in such a manner that the existing design would
not be impacted. A meta-model extension to WSDL is also suggested in [79]
to describe non-functional attributes of services and properties of physical
objects based on MDA. The representation of physical objects as services is
done to achieve requirements of web service integration for the Internet of
Things. The meta-model extension is implemented by transforming UML
models and XML documents, resulting in WSDL representations of physical
objects to ensure the mapping between physical objects and the web service.
This extension is not applicable to complicated objects that require multiple
factors to represent them. In addition to meta-model modification, authors
have adopted an approach to modify the schema or adding a new namespace
to the existing WSDL specifications.
. WSDL is extended in [80] by adding criteria as a non-functional prop-
erty, to express client intent of attributes apart from functional characteris-
tics. The extended WSDL is known as X-WSDL. A new namespace has been
added to represent the attribute criteria. A new Inquiry API has been added,
to search the service based on this element. QoS-aware discovery and spec-
CHAPTER 3. REVIEW WORK 54
ification is also performed using particular frameworks, such as HP’s Web
Services Management Framework (WSMF) [81]. WSMF has addressed web
services management aspects such as advertisement, description and assign-
ing web services at different QoS levels. IBM’s Web Service Level Agreement
(WSLA) is another framework [82] for specifying, negotiating and monitor-
ing service level agreements (SLAs) in web services interactions. The next
section analyzes the pros and cons as well as the feasibility of leveraging
syntactical discovery implementations in real-world enterprise environments.
3.4.4 Syntactic discovery in enterprise scenarios
Figure 3.4 depicts a generic QoS-aware discovery architecture in syntactic
SOA. The figure describes the extension mechanism employed in a UDDI
registry, WSDL and WS-Policy for QoS specification in syntactic SOA. The
broker component is used in many works to mediate and serve the needs
of QoS discovery. UDDI extensions generally involve tModel extensions.
tModel can be extended to represent static QoS information by reference to
a static WS-Policy file, an extended QoS registry reference, and a QoS policy
file that may not be necessarily WS-Policy compliant or extended WSDL for
QoS specification. This QoS-enriched information is provided to the UDDI
registry by either the service provider, a monitoring component or a broker.
To trust the broker, the certifier and verifier components are used to first
verify the information and then certify it using a certificate authority. These
components can be used when there is a requirement for a trusted broker.
Table 3.1 summarizes all of the works that we have discussed on QoS-aware
syntactic SOA discovery based on UDDI, WSDL or WS-Policy extension.
Many authors have used a broker component for processing consumer
requests and interacting with publishers. The broker introduces multiple
CHAPTER 3. REVIEW WORK 55
Service Broker
Extended Registry
Verfiercomponent
Certifiercomponent
QoS Monitoringfor dynamicattributes
Client ServiceProvider
tModel ->QoS Pol-icy file
(static/dynamic)
extended byQoS-Registry
(static)
tModel ->WS-Policy file
(static)
tModel ->QoS info
publication(static)
ExtendedQoS-awareWSDL(static)
QoS enriched ser-vice publication
Binding
find_bindingtModel request
QoS Metris
Figure 3.4: Architecture for QoS discovery in syntactic SOA
Table 3.1: Classical SOA Spec
SpecificationMechanism
[83] [65] [67] [72] [75] [71] [18] [77] [79] [80]
ExtendingUDDI
Y Y Y
ExtendingWS-Policy
Y Y Y Y
ExtendingWSDL
Y Y Y Y
CHAPTER 3. REVIEW WORK 56
levels of indirections resulting in a higher complexity of the system because
all services in the eco-system must adopt it. The reliability and trustwor-
thiness of the broker must also be controlled and managed. The presence of
a broker interface in the UDDIe registry limits its adoption for large scale
services, internet services and external clients. The need for a broker arises
for dynamic QoS attributes, negotiation, billing, validation, and certification,
which means that the functionality is beyond the capabilities of existing com-
ponents of syntactic SOA .
Serhani et al. [66] used the broker for the verification, certification, QoS
negotiation, monitoring and adaptation processes that the components of
syntactic SOA cannot handle. The broker architecture proposed by them
is more suitable to telecom, finance and billing-related applications, where
clients need to stay up-to-date in real-time via adaptation, negotiation and re-
negotiation to ensure the QoS provided. In this case, the broker ensures the
QoS provided and billing takes place accordingly. Similarly in [18], NTIS acts
a broker component. It not only acts as a central repository for enterprise-
wide topological metadata but also determines the rank of services leveraging
the metadata information. The QoS broker described in [69] provides spe-
cialized functionality of distributed federated discovery. With these types
of specific requirements, the broker architecture provides a viable option to
cater to specific use-case and it becomes unavoidable to use these multiple
levels of indirections.
Some authors have modified UDDI by extending the API or custom
tModel references. The approach of extending UDDI [71] provokes chal-
lenges in the implementation of the organizational set up because it intends
CHAPTER 3. REVIEW WORK 57
to change the behavior of the well-published server. Some companies may
even use an external UDDI vendor who will not change APIs. The tModel
extension approach is recommended because it does not involve changing
APIs but, at the same time creates a complex metadata that must be under-
stood by all components participating in the architecture. Modification of
the UDDI registry must be a controlled mechanism that considers the service
management aspects of versioning, service identification, and inter-domain
and business-related QoS attributes that cannot be ignored.
SOA is no longer about SOAP implementation. Leveraging SOAP mes-
sages to provide run-time QoS information as in [83] and [72] may not be
applicable for all enterprise services. SOAP is the de facto for B2B services
and external transactions, but this may not hold true for other architectural
standards for Web services, such as REST and implementation specifications,
such as EJB and Apache thrift [27] which are very common in enterprise sce-
narios.
For dynamic and run-time QoS attributes, a monitoring component has
been provided in some of these studies to monitor and capture run-time QoS
information. To store and update these run-time values, a few authors have
used UDDI, policy files or some type of repository or database. Updating
UDDI for run-time attributes as in [71] is not a recommended solution be-
cause its core purpose is to act as a central repository for enterprise services.
Run-time attributes should be calculated and updated separately [18] and
should not impact the virtue of UDDI to act as an enterprise service repos-
itory. The enterprise service repository (UDDI registry) is an important
component for the SOA governance process and is, for all practical purposes,
static and read-only. This governance process permits services to be pub-
lished in the registry based on the feedback provided by the SOA architect
CHAPTER 3. REVIEW WORK 58
and enterprise governance stakeholders. The services are permitted to be
published in the registry only if they prove to be compliant with the enter-
prise security and infrastructure requirements. The service provider must
be specific about the QoS provided the service and the value delivered by
lending this service to the enterprise network. Thus, dynamic writing ca-
pability in UDDI will make the enterprise-wide registry slow, unmanageable
and inconsistent.
If an organization has multiple private registries across different domains,
business verticals or business units, federated discovery will play a key role
within enterprise registries. QoS-aware federated discovery mechanisms as
described in [65] [69] require determining the service ranking of similar ser-
vices or services complaint with QoS goals, across multiple registries. How-
ever, federation requires multiple levels of trust, hence, discovery across dif-
ferent enterprise registries will be a challenge because of security, audit and
compliance issues.
The policy assertion mechanism provided by WS-Policy is not complete
in regard to catering to dynamic QoS attributes and is limited in expressibil-
ity. The efforts made by extending WS-Policy and WSDL [72], [75] act as
significant motivation to provide different characteristics and types of QoS
attributes, but none of them are standardized to meet real-time adoption.
Multiple versions of policies and WSDL definitions with different extension
mechanisms have created interoperability issues while addressing QoS. Any
adoption of these extensions should be governed at an enterprise level to
maintain consistency and interoperability. WSDL extension [80] will not
serve for QoS attributes specification. The meta-model extension to WSDL
[77], [79] would primarily change the classes and interaction that would im-
pact all of the entities participating in the system. It would be difficult
CHAPTER 3. REVIEW WORK 59
to support dynamic changes in QoS characteristics. For this, a QoS meta-
model’s changes need to be scalable enough to consider all aspects of client re-
quirements. WSDL being a syntactic specification, QoS specification should
not be merged with the interface description. The separation would benefit
from exposing the same interface with different QoS attributes. It would also
provide flexibility for using different QoS model specifications for the same
WSDL interface. Hence, it is recommended to keep functional descriptions
separate from interface descriptions. In a specific case of the least dynamic
QoS requirements, WSDL can be extended but may not be consistent for
enterprise-level adoption. The next section details QoS-aware discovery in
Semantic SOA.
3.5 QoS-aware discovery in Semantic SOA
Similar to syntactic SOA, semantic SOA discovery mechanisms have two
major requirements:
QoS Specification: WSMO and OWL-S are two core ontology specifica-
tions for semantic SOA, but neither of them addresses QoS specifi-
cation comprehensively. As a result many ontologies such as OWl-Q
[59], QoSOnt [60], onQoS [61], QoS-MO [62], WSMO-QoS [63], and
WS-QoSOnto [64] have been developed.
Discovery approach: To address QoS-based discovery, there is need to
map QoS descriptions to the expressions that can represent QoS of-
fers and goals. QoS offers depict the capabilities of the services, and
QoS goals model the client requirements. The reasoning mechanism
and discovery approach should be able to solve these expressions to
CHAPTER 3. REVIEW WORK 60
yield a list of ranked or best services.
The next section details works extending OWL-S and discovery approaches
based on it.
3.5.1 Extending OWL-S
OWL-S is an upper ontology based on Web Ontology Language (OWL). In
syntactic SOA, UDDI allows for a classification- and keyword-based search
mechanism. Using OWL-S also allows, capability-based search in addition
to classification-based discovery, but these searches provide only functional
discovery. An upper ontology, OWL-Q was developed by Kritkos et al. [84],
as part of a thesis to describe QoS parameters. A matching algorithm [59]
has been developed to infer the equivalence of two QoS metrics descriptions
defined using OWL-Q. It does this by specifying three rules, with the last
rule either simplifying the difference between two mathematical expressions
using a mathematical engine or resulting in the solution of a constraint sat-
isfaction problem (CSP). Both of these mechanisms can work in parallel. It
does not provide utility support in its ontologies for quality, priority or rec-
ommendation for flexibility for attribute flexibility.
Ma and Wang [85] defined a QoS-aware discovery framework for Semantic
Web services. The framework uses a three-layered approach for the entire
discovery process. The first layer performs semantic matchmaking. This
layer applies the Description Logic (DL) reasoning based on the proposed
QoS ontology. The DL reasoning, can only guarantee the compatibility of
the request with the advertisement. As a second step, QoS conditions are
translated into mathematical expressions, representing constraints that are
CHAPTER 3. REVIEW WORK 61
then solved using constraint programming (CP). The third layer selects the
best service by weighting each possibility by the priority of the QoS require-
ment determined by the value of the data tendency. Data Tendency is a
predefined value that represents user expectation on the QoS attribute val-
ues. For example, in this study, the authors defined the tendency as High,
if the client wishes the values to be as large as possible and Low if as low as
possible. The authors defined the tendency as Given, if the parameter is as
close as possible to a given range and as NullTendency if it cannot be clearly
determined. The authors implemented a prototype and shared experimental
data based on price and availability as QoS attributes. The next section
explains works extending WSMO
3.5.2 Extending WSMO
Wang, Vitvar et al. [86] described a QoS ontology based on WSMO along
with a selection model. QoS attributes are classified as either static or dy-
namic. The selection algorithm works in two steps. The first processing
step involves normalization of the matrix, reflecting the quality requirement
matrix and quality values of candidate services based on the maximum and
minimum value of each quality metric. The second step is ‘uniformity anal-
ysis’, based on the value of a specific QoS metric to determine the relative
evaluation of each service’s QoS.
A high-level Domain Specific Language (DSL) is implemented in [19] by ex-
tending WSMO. The work in [87] uses the language defined in [19] to describe
two discovery mechanisms: ‘Blind Belief’ and ‘Measured QoS Assertion’. In
Blind Belief, the client blindly believes the QoS assertions declared during
the services during bootstrap. The approach aids in quick adoption by legacy
CHAPTER 3. REVIEW WORK 62
applications without re-writing but may not be suitable for the needs of dy-
namic QoS management. However, in Measured QoS Assertion discovery, all
interaction in the system occurs through an enterprise service bus (ESB) that
acts as a communication backbone for the measurement of QoS attributes.
These approaches can be adopted pragmatically based on the QoS maturity
level [88] of an enterprise. The authors have also used standard multi-agent-
based architecture for QoS-aware discovery as defined in Semantic Web Ser-
vices Architecture (SWSA). These works will also use QoS ontologies that
may extend WSMO or OWL-S. For brevity, we have classified such works
using an agent-based discovery mechanism, as described in the next section.
3.5.3 Agent-based discovery
The Semantic Web Services Architecture (SWSA) committee established a
set of architectural and protocol abstractions [89] for publishing and discover-
ing semantic web services using agents. It is based on the W3C Web Services
Architecture, with the combined vision of the OWL-S consortium and the
WSMO group. It also leverages standard ontologies for service description.
Hence, services can be built using any of the standards, such as OWL-S and
WSMO along with an enhanced QoS ontology to specify the QoS informa-
tion. The key aspect of SWSA is the interaction among agents with different
roles and specializations to communicate and provide automatic discovery
for web services.
The Foundation of Physical Agents (FIPA) [90] provides standards for
agents and multi-agent systems (MAS) to promote the interoperability of
heterogeneous agents and the services represented by them. It provides the
use of agent management system (AMS), Message Transport Service (MTS)
and Directory Facilitator (DF) to manage MAS. Every agent needs to reg-
CHAPTER 3. REVIEW WORK 63
ister with AMS, which controls the access to and use of the agent platform
along with nomenclature. MTS provides a transportation layer for inter- and
intra-agent communication among agent platforms using the Agent Commu-
nication Language(ACL). The Directory Facilitator (DF) provides agents
with the capability to register and query their services with the DF. FIPA
was actually not meant for semantic web services. It has been extended in
most of the works to provide semantic discovery to provide interoperability
with agent standards.
Gumus and Grucan et al. [91] used SWSA for semantic web services
discovery. The authors proposed a broker agent that acts as an intermedi-
ary to perform all of the agents interaction tasks i.e., negotiation, mediation
and matchmaking, for the consumer via a requester agent in Multi-Agent
Systems (MAS). The overall infrastructure consists of four ontology agents,
i.e., an agent to interact with the ontology repository and knowledge base, a
service provider agent for service providers, a requester agent for consumers
and a broker agent for all other mediation tasks. Services are described us-
ing WSMO and interact with the service provider agent using SOAP. ACL is
used for inter-agent communication. FIPA provides a brokering Interaction
Protocol for agents, but it is not suitable for semantic services. In this case,
the authors extended the brokering agent with a protocol with more inputs
and QoS parameters. It has enhanced FIPA for semantic services, though
QoS has not been a part of the study, except for its consideration in the
brokering protocol .
SQoSWSAF Architecture is defined in [92] for QoS-based semantic web
services discovery. A service broker retrieves a service on behalf of the con-
CHAPTER 3. REVIEW WORK 64
sumer. A reasoning agent interacts with the OWL-parser, knowledge base
and inference to reason and return the desired web service based on the re-
quest message. The authors suggested a planning agent for each domain
that refers to its generic plan. The request from the consumer is routed to a
specific planning agent with the help of an Intelligent Assistant Agent(IAA),
which uses the local knowledge base to route the request to the required plan-
ning agent. The authors proposed a robust architecture to cater to multiple
domains, but service specification is always assumed to be based on OWL-S
and an assumed QoS ontology. There is no mention of an inter-agent com-
munication channel or any standard specification for agent interaction. Next,
we discuss and come to understand the challenges and gaps in semantic QoS-
aware discovery mechanisms along with architectural characterization.
3.5.4 Semantic Discovery in Enterprise Scenarios
Figure 3.5 represents a generic architectural framework encompassing se-
mantic web service discovery using a service provider, consumer and registry.
The publishing manager acts as the service provider to provide a semanti-
cally enriched service description and publishes it in the service registry. A
component acting as a discovery manager performs matchmaking and rank-
ing on the interaction with a reasoning mechanism, knowledge base and QoS
database, as required, to return the result to the client. ExtendedWSMO and
OWL-S, representing the QoS ontology, are used for service descriptions. The
Resource Description Framework (RDF) [93] provides the capability to merge
more than one ontology, even if the underlying schemas differ. The discovery
mechanism of semantic Web Services broadly uses the concept of Degree of
Matching (DOM) to determine the ranking. DOM determines the similar-
CHAPTER 3. REVIEW WORK 65
ity of two entities based on similarity metrics. The matchmaking approach
adopted in semantic discovery can be categorized as capabilities matching,
logic-based, similarity-based and graph matching. Capability matching refers
to semantic capability matching that performs description logic (DL) sub-
sumption between inputs and outputs or service classification. Logic-based
reasoning uses DL subsumption matching, where reasoners create an ontol-
ogy tree and determine the DOM along with the knowledge base. However,
using only logic-based reasoning may not return correct results each time.
The use of similarity measures and information retrieval techniques serve as
better reasoning mechanisms. Another approach is graph-based where each
service is represented by a directed-acyclic graph (DAG). In this case struc-
tural matching of graphs and existing graph matching algorithms are used
for matchmaking.
Discovery Manager
Service Registry (se-mantically enhanced)
ServiceProvide
r
Reasoning
Mecha
nism
WSMO
OWL-S
RDF
Input/OutputSub-
sumption
Multi-levelMatching
DL-matching
Graph-based
Matching
ConstraintProgram-ming
OntologyKnowl-
edge Base
QOSDatabase
Figure 3.5: Current Mechanism of QoS-aware discovery in semantic SOA
The growing needs of dynamism and adaptation require enterprises to
CHAPTER 3. REVIEW WORK 66
Table 3.2: Specification mechanisms for QoS in semantic SOA
Specification Mecha-nism
[84] [85] [92] [86] [94] [19]
Extending OWL-S Y Y Y
Extending WSMO Y Y Y
move from syntax towards semantics. Improving operational efficiency can
no longer provide sustainability and profit to organizations. The diverse
portfolio of applications, services, business scope, globalization and virtual-
ization has increased the complexity of products and systems. Thus, the
knowledge base of an organization relies on a large number of heterogeneous
data sources. The data in these data sources can be structured or unstruc-
tured. Accounting, sales, products, services, and ERP data are structured
data, whereas data in emails, text, audio, and images are generally unstruc-
tured. Syntactic standards can no longer successfully integrate these dis-
parate sources and data silos to support dynamically integrated processes
or applications. A much more abstract level of knowledge management is
required to turn information in these data sources into knowledge that can
be shared across enterprises. Enterprise taxonomy is one of the ways in
which communication uses categorizations and common terms. However, it
has its limitations in resolving dynamic conflicts for similar data sources.
Semantic integration using ontology-directed metadata extraction will help
disambiguate and link heterogeneous data sources with correct and auto-
mated discovery mechanisms and integration. The use of ontologies also
opens the door for organizations to move from a closed-world model to open-
world model to integrate with external applications and other enterprises.
From an IT perspective, various systems, such as human resources, product
CHAPTER 3. REVIEW WORK 67
ordering, and finance, have domain knowledge that can be modeled using on-
tologies. The most important job of IT is to deliver agility to achieve business
functions. Modeling both structured and unstructured data using ontologies
provides a common structure for domain knowledge. This information not
only is useful for integration but also has strategic imperatives. Intelligent
data analytics and prediction are some of the visible benefits to using se-
mantics. SOA discovery, integration and composition will be most benefited
due to the addition of semantics to information. The standard discovery and
reasoning mechanisms comprise many frameworks, such as Jena. However,
description logic is not sufficient to address QoS-aware discovery involving
complex constraints and relationships. For example, expressions such as Re-
sponseTime <1ms represent QoS constraints that cannot be solved using
Description Logic. With the existing tools, standards and reasoning mecha-
nisms, QoS-based discovery can be successfully achieved as a hybrid of DL
and Constraint programming’s along with the well-defined methodology to
map specifications to QoS constraints. Constraint programming two most
important requirements to provide a comprehensive solution is as follows.
1 A transparent mechanism to map QoS descriptions to expressions repre-
senting constraints.
2 If constraint programming is used, a satisfiable CSP is required to solve
these constraints.
However there are gaps in the manner in which constraint programming
is used for semantic QoS-based discovery. Benbemou et al. [95] have used
their own mechanism to axiomatically describe semantic web services. There
CHAPTER 3. REVIEW WORK 68
is a reference to specifying QoS characteristics in service descriptions to rep-
resent constraints, but details of the service descriptions are not available.
Additionally, there is no mention of CSP to solve these constraints. Without
using CSP, it may not be possible to solve these constraints. Kritikos et al.
[96] described OWL-Q as an ontology for QoS descriptions. They have used a
rule-based semantic matchmaking algorithm for discovery, but details of the
mapping of descriptions to constraints are not available. Wang et al. [94]
presented a QoS ontology by extending WSMO. Their published approach
does not detail the matchmaking mechanism. They have also provided a
selection algorithm using normalization, but this resolution is not specific to
QoS discovery because it is not clear on how the ontology is being leveraged
for constraints mapping. From an implementation perspective, it may not
be possible to provide a decision at run-time for every CSP in every use case.
Such use cases will need to be dealt with at design-time.
The generic QoS ontology as proposed by Ma and Wang [85] may not
be interoperable with all of the existing standards. The authors themselves
made assumptions about terms with reference to ontology while matching
requests with advertisements, for example, while matching syntactic aspects
of QoS. We have discussed the provision of QoS specifications as constraints
and the reasoning mechanisms based on constraint programming to solve
them. Issues such as distributed discovery and automation are prominent re-
quirement of modern-day businesses. An agent-based architecture is another
approach formally adopted in industry to formalize discovery for Semantic-
based Web Services.
SWSA provides a standardized choice for distributed coordination dis-
CHAPTER 3. REVIEW WORK 69
covery, but standards around agents for semantic web services have yet to
propel. There is work going on to extend FIPA standards to semantic web
services. We have realized that the solution to addressing QoS in a Multi
Agent Environment (MAE) is primarily modeling agent interactions model-
ing and QoS modeling and matchmaking with the ultimate goal of optimiz-
ing distributed interactions and interoperability in SOA systems. Figure 3.6
shows the broader architectural components and an interaction diagram for
QoS matchmaking in agent- based systems. As shown, QoS is mostly rep-
resented by an ontology that is specifically for semantic services. Discovery
agents parse the goals specified by the consumer, referring to the database
or knowledge base with the corresponding inference engine to discover the
service. Service Agents are the communicating agents that act on behalf
of service providers to represent various service interactions. These agents
will pass a request to another agent if it cannot serve the request. All of this
agent management requires an environment that is provided by agencies. The
requester agent requests on behalf of consumers and interacts with service
agents based on requests. Independent of leveraging FIPA, their needs to be
a communication mechanism for inter-agent communication, as indicated by
the Agent Communication Channel (ACL) in figure. All interaction between
agents occurs using ACL.
Agent-based discovery has specific infrastructure requirements for agents
to participate. Additionally, standards around it are still maturing for se-
mantic SOA discovery. Because agents perform all of the processing and
coordination, they have memory requirements. Being distributed, a large
memory map will further slow down the SOA systems. Hence, when using
agents, there will be a need for fast and memory-efficient multi-agent systems
to provide a collaborative discovery environment. Though many works have
CHAPTER 3. REVIEW WORK 70
ServiceProviders
SemanticRegistry
Ontologies
Agent Communication Channel
Service Agent Service Agent Service Agent
Service Agent Service AgentService Agent
RequestAgent
Local KB
Discovery Agent
OntologyParser
ReasoningEngine
KB
Consumer
Figure 3.6: Agent based QoS discovery architecture for semantic SOA
CHAPTER 3. REVIEW WORK 71
leveraged agent-based architectures for semantic interoperability and func-
tional matchmaking, not much work has been done with respect to QoS in
semantic web services for Multi-Agent Systems (MAS). Most of these works
are based on dynamic QoS-aware discovery. In real-time enterprise environ-
ment, services are added and removed from the network on the fly. With
services defined as a composition of other services, invocation of the required
services may be chained or composite dependent on QoS of each service. In
view of this, there is a need for adaptive discovery approach that can ac-
commodate these run-time changes, the unpredictability introduced in the
system due to dynamic conditions and keep the system functioning despite
any run-time changes. In sync with the needs of Adaptive SOA the next
section explores works in the domain of adaptive QoS-aware discovery.
3.6 State of the Art
This section discusses the works in adaptive QoS-aware web service discov-
ery to understand the current state [97] and its gaps with respect to the
enterprise deployment. QoS-aware discovery requires choosing the best web
service from the host of multiple functionally similar services based on the
QoS constraints. It can be modeled as an optimization problem. An op-
timization problem is the one that has more than one feasible solution. It
uses an objective function to choose a unique solution under the given set of
constraints. It can be mathematically represented as follows:
CHAPTER 3. REVIEW WORK 72
The standard form of an optimization problem is:
minimizex
fO(x) (3.1)
subject to ai(x) ≥ 1, i = 1, . . . ,m (3.2)
bi(x) = 0, i = 1, . . . , p (3.3)
Equation 3.1 shows the objective function that need to be minimized.
Equation 3.2 and 3.3 are the constraints. Many authors have provided local
and global optimization solutions to address the adaptive discovery approach.
Ag-Flow [98] is being proposed as a middleware platform for adaptive com-
position of web services. It uses statecharts [99] to represent the composite
web service dependencies. The execution paths are represented by Directed
Acyclic Graph(DAG). The authors have proposed two approaches for ser-
vice selection based on local and global optimization. The local optimization
approach merges the quality vector of all the candidate services to build a
quality matrix to determine the best service for a given task. A simple ad-
ditive weighting approach is used for first scaling the quality vector followed
by the additive weighting to determine the overall score of service. As a
first phase scaling is used to reduce quality vector for the candidate services
based on maximum and minimum QoS values. As a next phase overall weight
is computed based on the weightage provided by the end users and scaled
quality vector. The global planning method uses mixed integer programming
approach for selecting the optimal plan without enlisting all possible execu-
tion paths. The frequency of the path is used as a measure to determine
the future selection. The statecharts used in this work by default models
reactive systems which respond to events. The adaptiveness is achieved by
choosing the best service using the weighted approach limited by QoS val-
CHAPTER 3. REVIEW WORK 73
ues. AMPOL-Q [100],[101] is being proposed an adaptive middleware for
Web Service selection and composition. It provides an integrated framework
for description, discovery and monitoring. The framework has also provided
an ontology, to model generic QoS characteristics and relationship. A policy
model has been described to represent policy rules that describe constraints
and capabilities. Entity profile model is a useful construct to represent QoS
constraints, dependencies and dependent request formats. The discovery
framework performs chaining to enlist all the possible chains in the service
composition corresponding to the required flow. The discovery process itera-
tively discovers the services, by using IOPE (inputs, outputs, preconditions,
and effects) [102] based approach [103] to gather profile of all the dependent
services yielding an AND-OR graph. Global QoS analysis maps policies to
all the nodes in all the service chains. The service chains that cannot fulfill
constraints are scored less, to avoid further selection. The approach sug-
gested by the authors can become highly complex for large number of nodes
or intricate compositions. There is no training and learning mechanism to
provide feedback to the system and exhaustive computation may not scale for
all the client constraints. The details of implementation are also not shared.
The global optimization approaches require exhaustive computation. It
can get very complex for dynamic environments due to run-time changes in
QoS. Many authors have used mixed integer programming for service selec-
tion to evaluate process and end-user constraints.
Ardanga and Pernici [104] have proposed a mechanism for adaptive ser-
vice composition for flexible business processes. The authors, have agree-
ably explained the fact that the first generation solutions are based on local
approaches, whereas second generation solutions are focusing on global ap-
proaches. Many earlier works are based on the default consideration of the
CHAPTER 3. REVIEW WORK 74
statelessness of the web services. The global optimization approach, sug-
gested in this work, uses MAIS (Multichannel Adaptive Information Sys-
tems) [105] for run-time optimization and web service selection using mixed
integer linear programming for stateful web services. MAIS framework pro-
vides mechanism for process orchestration and concrete service invoker. The
discovery approach performs business process optimization at run-time with
varying QoS. As a part of future work, the framework had to ensure the
performance for large traffic on the same service.
PAWS [106] is proposed as a framework for adaptive and flexible business
processes execution. It uses URBE [107], which is proved to be 80 percent ac-
curate in determining similarity. The framework exhibits the characteristics
of self-healing, self-optimization using mediation support and optimizer com-
ponent. The framework exploits the design-time and runtime mechanisms for
flexible and adaptive process specification. Specific jobs like identification of
a set of services for each process task, mediation requirements for invoking
these services, negotiation of QoS and specification of quality constraints
are performed at design-time. At runtime, it performs the selection of best
service for each task to execute the process, adapts to service failures and
context changes.
Alrifai et al. [108] have provided a hybrid approach for web services com-
position using both global and local optimization. The QoS computation
model suggested by them is distributed in nature. The computation takes
place by decomposing the global constraints into a set of local constraints.
The local constraints are then resolved by local service brokers. A mixed
integer linear programming approach is employed for constraints decomposi-
tion. The service selection is performed locally within a service class based
on upper bound of local constraints within that class. The qualified sets of
CHAPTER 3. REVIEW WORK 75
services are sorted based on utility function. This approach can scale and
provide near optimal solutions subjected to the fact that there is always pos-
sible to calculate lower and upper bounds on the local constraints for the
provided global constraints.
Adaptive SOA solution stack [109] gives insight, into the requirement of
handling adaptiveness at the operational, integration, and service component
layer level. This paper has taken a different approach, by ensuring the im-
portance to exhibit consistent adaptive behavior across all the layers beyond
application layer [110]. Enterprise Service Bus (ESB) [111] is the de-facto
standard for message-oriented middleware for SOA systems. The authors
have implemented adaptive ESB at the integration services layer for central-
ized monitoring and re-routing pipeline. They have left the discussion of
adaptation across multiple layers as an opportunity to be explored further.
The tool set of adaptation across all the layers was yet under development
when this study was conceived. The use of ESB or SOA middleware, require
centralization of all the monitoring and routing decisions. This is an effec-
tive solution. The limitation is ESB being a centralized component [112],
can become a single point of failure.
Beneviste et al. [113] has proposed a mathematically sound framework for
contract-based management of service orchestrations having data-dependent
workflows. The authors used probabilistic QoS [114] to handle uncertainties
in service composition flows. Most of the works assume data independence
for composition workflows. The aim of the work is to model service orches-
trations monotonically despite data-dependence. The capability to provide
monotonicity for these orchestrations QoS calculus has been developed for
compositions to deal with uncertainty in QoS computation. The authors have
developed Orchnet as a model for QoS-aware service composition defined as
CHAPTER 3. REVIEW WORK 76
a model to capture QoS in composite services. This model is an extension
of Petri net based modeling [115] of service orchestrations. Probabilistic
OrchNets are then developed based on Orchenet modeling to deal with prob-
abilistic QoS. The work done by authors does formalize the importance of
monotonicity in service orchestrations mathematically.
The Table 3.3 summarizes the works discussing adaptive service discovery
based on non-functional properties in SOA systems.
3.7 Summary
This chapter reviewed existing works providing insight into the methodolo-
gies and approaches supporting agile development and QoS-aware discovery
in SOA systems. Enterprise SOA deployments are facing a paradigm shift
with the next wave towards adaptive [116] processes and systems. The true
vision of Adaptive Service-Oriented Enterprise (ASOE) requires understand-
ing the needs of implementing Adaptive SOA. The discovery is an inherent
need for SOA systems being distributed in nature. Enabling reuse via shared
repository requires managed discovery of shared services. The proliferation
of services offering similar functionality is common due to rapid adoption and
vast deployment needs of SOA. Many of these services are similar in func-
tionality but they differ in QoS provided by them. In such a case, managing
redundancy at run-time shall help delivering value from all these services
without creating silos and inconsistency in an enterprise environment. In
fact this measured QoS-aware systems require managed redundancy as a first
step. Further steps would require QoS management followed by discovery
mechanism. Shared repository offers a static publishing model for managing
redundancy. External monitoring frameworks and dynamic approaches are
CHAPTER 3. REVIEW WORK 77
Pap
erQoS
Mod
elObjective
G/L
Algorithm
[100
]
Anextensionof
OW
L-Sas
aseman
-ticQoS
ontology
mod
el.QoS
Fea-
turesarerepresentedas
polic
yrules.
Ameta-specification
isused
toen
-forcean
devalua
tethesepo
licyrules
AMPOL-Q:A
nad
aptive
mid-
dlew
arefram
eworkfordiscov-
eryan
dcompo
sition
G
ServiceDiscovery
ispe
rformed
byfirst
using
IOPE,follo
wed
byde
-scription
ofall
possible
service
chains
intheprocesselim
inatingthe
ones.
[98]
Anextensible
QoS
mod
elis
defin
edformulti-dim
ension
alQoS
.It
has
been
representedform
ainlyfiv
eQoS
criteria.
Ag-Flow:A
middlew
areplat-
form
that
performsop
timiza-
tion
and
re-con
figuration
ofservicecompo
sition
.
L/G
The
glob
alop
timization
approa
chuses
MIP
tode
term
inetheservices
basedon
varyingconstraintsdu
ring
run-timeforthegivenop
timization
func
tion
.
[106
]A
genericQoS
mod
elis
specified
todefin
eQoS
characteristics.
PAW
S:A
fram
eworkforbu
si-
ness
processop
timizationan
dad
aptation
forchan
ging
con-
texts
GMIP
isused
for
optimization
ex-
ploiting
both
design
-tim
ean
drun-
timemod
ules
forad
aptation
.
[104
]Anextensible
QoS
mod
elis
defin
edba
sed
onthe
aggregation
pattern
andnego
tiab
ility
Ada
ptiveservicecompo
sition
andop
timization
GMIP
isused
forserviceselectionus-
ingMAIS
architecture.
[108
]A
genericQoS
mod
elha
sbe
enas-
sumed
withdiscrete
QoS
values
Dyn
amic
servicecompo
sition
basedon
client
constraints
H
MIP
isused
todivide
glob
alcon-
straints
into
distribu
ted
localcon-
straints
follo
wed
byadistribu
tedlo-
cals
ervice
selection.
[113
]A
prob
abilistic
mod
elfor
multi-
dimension
alQoS
isused
toha
ndle
mon
oton
icity
QoS
-aware
man
agem
ent
ofmod
eling
mon
oton
icservice
orchestrations
forda
tade
pen-
dent
workfl
ows
L/G
Amathe
matically
soun
dfram
ework
forcontract
based
QoS
-aware
ser-
vice
compo
sition
sha
sbe
ende
vel-
oped
.
Table3.3:
Literature
Survey
forAda
ptiveQoS
-awareap
proa
ches
forSO
Asystem
s.
LLoc
alop
tim
izat
ion
GG
loba
lO
ptim
izat
ion
HH
ybri
dM
IPM
ixed
inte
ger
prog
ram
min
gM
AIS
Mul
tich
anne
lA
dapt
ive
Info
rmat
ion
Syst
ems
CHAPTER 3. REVIEW WORK 78
used to enable dynamic discovery. Adaptation requires self-managed frame-
works. State of the Art work in Adaptive QoS-aware discovery reveals that
this problem is modeled as an optimization problem in the literature. How-
ever there is a need of managed redundancy, that is yet not been addressed,
which shall make re-use easy and natural. The review work results in two
key observations. Firstly, it is required to formally address Agile SOA de-
velopment for non-functional requirements enabling Adaptive SOA design.
Secondly, there is a need to enhance the dynamic discovery approaches to
address adaptive enterprise needs. Considering these needs the next chapter
explains the first key contribution of this work, which is a formal methodology
to design Agile SOA systems.Later chapters address the second observation
and need resulting in the design and development of Adaptive QoS-aware
discovery framework.
Chapter 4
Agile SOA Methodology
4.1 Introduction
In current dynamic scenarios business develops faster than organizational
structure, which is most often true for IT-driven organizations. Business
groups form and purge with changing business demands. Increased need of
globalization led by re-occurring economic crisis has put lot of demands on
agility and flexibility. Organizations have addressed this inadvertent need
of organizational agility by adopting cultural, technological and process-
oriented changes as required. SOA addresses the issue of organizational
agility [117] by adapting applications to suit business requirements. Agile
development methodology has also been widely adopted and supported by
evangelist to yield agility. Agility is achieved through regular cadences of
work, known as Sprints or iterations, at the end of which teams must present
a potentially shippable product increment. By focusing on the repetition of
abbreviated work cycles as well as the functional product they yield, agile
methodology is described as ‘iterative’ and ‘incremental’. Agile and SOA
complement each other with common goals of agility and flexibility. Using
79
CHAPTER 4. AGILE SOA METHODOLOGY 80
them together can yield designing robust large-scale SOA systems in lesser
time and shorter delivery cycles. This will lead to cost-effective solution with
greater customer satisfaction.
Applying agility to SOA will require it to scale agile. A successful archi-
tecture needs to consider both functional and non-functional characteristics.
There may be multiple ways to provide same functionality. However non-
functional requirement is discerning criteria to choose the required function-
ality. It is very important not to compromise on quality even though product
life cycle time is reduced. One way to ensure this is by involving customers
who could give their constant feedback on working systems and products to
them. However there is a need to ‘design SOA systems in quality’. This
means relevant aspects of quality need to be handled while determining the
design of SOA systems from all the key stakeholders including customers.
Quality Function Deployment was originally introduced [118] for product de-
velopment in 1980s. It is explained, as an approach to encourage ‘Design
in Quality’, by translating customer needs into design objectives. Classical
QFD approach was mainly used in industrial and manufacturing domain.
Though it could be used for software but due to basic differences between
development approaches of software and hardware [119], it was more success-
ful with manufacturing industry. Richard Zultner formally integrated QFD
with software engineering for the first time in 1987 by introducing Blitz QFD
approach. It provides systematic, matrix-free [120], low-cost , lean [121] and
extensible approach for software development.
This chapter explains the Blitz-Collaborative SOA (Blitz-CSOA) tech-
nique as an extension of Blitz Quality Function Deployment Blitz QFD
methodology [16] to design SOA systems. The modified methodology yields
prioritized functional and non-functional requirements derived from customer
CHAPTER 4. AGILE SOA METHODOLOGY 81
feedback. It is an extension of Blitz-QFD, which is one of the most promi-
nent Software QFD [16] technique. The next section explains the modified
Blitz QFD to set the context of Blitz-CSOA.
4.2 Blitz-QFD
Richard Zultner, co-founder of the QFD institute first introduced Blitz QFD
[119] in 1990s for ever-changing software landscape in terms of technology
and business models. In contrast to traditional QFD that is based on heavy
matrix based approach Blitz QFD is matrix-free. Its lean nature makes it
promising for adoption in Software world. Figure 4.1 demonstrates nine steps
of Blitz QFD. In this section all the steps of Blitz QFD are discussed in brief.
Step 1: Project Goals
This step determines the key project goals that define the success of the
project. The project goals are defined based on organizational strategy,
which is multi-dimensional. The strategy is based on various impacting
factors like market models, behavioral patterns of organizational busi-
ness, strengths on which business is done. Tighter alignment of project
goals to organizational strategy ensures allocating resources correctly,
eliminating redundancies in job area, tasks and executing what is really
useful to the organization. In fact goals cannot be defined successfully
unless they are aligned to strategy. In order to determine the true
success these goals need to be specific, measurable, achievable, time-
bound and most importantly relevant to organizational strategy. Based
on these the output of this step is a Project Goal Table that enlists the
goals and corresponding ways to measure them (How measured: Target
state, Current State, New State), Time frame, Means of achieving the
CHAPTER 4. AGILE SOA METHODOLOGY 82
same. Once the goals are defined the next step is to determine the key
customer segments related to these goals.
Step 2: Customer Segmentation
This step identifies the key customers i.e. those who will impact the
goals positively. There can be a large number of customers impacting
the projects. However it is important to identify them based on the rel-
ative merit. This merit is determined by the impact of these customers
on the project goals. The table relates each goal to type of customer.
For example for a procurement project the customer segments will be
employee, operations staff, approval manager, accounts team , accounts
manager.
For a CRM system it can Sales and Marketing manager, Support staff,
Clients and Security Manager. All of these customers will have variable
impact on each project goal. Customer segment table enlists all the
goals and studies their behavior with respect to who (customers) will
get impacted or are responsible for execution of these project goals,
why do they use them responsible and why is the system.
Based on these inputs the relative prioritization of these customers
is calculated for these project goals. There can be large number of
customers related to the project but this step ensures that we take only
critical ones. Once these customers are identified the relative impact of
these customers is determined based on the delivery of the project goals.
This shall yield the key customers eliminating the ones that are not
required. Once the customers are characterized along with their relative
merit the next step is to understand the key phases of the system. This
CHAPTER 4. AGILE SOA METHODOLOGY 83
is determined using process modeling. The next step determines the
current process model based on the customer interaction.
Step 3: Process Steps
This step analyzes the AS-IS state of customer context using process
models in the form of Data flow diagram. It indicates the sequence of
steps and phases to understand how key customer segments interact
with the system. There can be various business process model views
from the perspective of key customers. The project teams designs this
process map based on their understanding as well as the customer in-
puts to determine how they will interact with the system. The basis
of interviewing customers in their real work environment is to under-
stand where do they need improvements in a process model. This step
helps driving the next step, which captures customer verbatims to un-
derstand their needs and pain points to capture the benefits needed
by them. The next step is based on the famous Japnese term called
Gemba
Step 4: Gemba Visit
Gemba is a Japnese word meaning ‘in real place’. It is explained nicely
in the book [122].
"Gemba. What a wonderful word. The place—any place in any organization—
where humans create value. But how do we understand the gemba?
And, more important, how do we make it a better place—one where
we can create more value with less waste, variation, and overburden
(also known, respectively, as muda, mura, and muri)?"
CHAPTER 4. AGILE SOA METHODOLOGY 84
This step is very important for Software QFD as most of the software is
developed to be used by others. Being at the customer site helps cap-
turing customers verbatims and elimination of any assumptions being
made by development team on behalf of customers.
A typical Gemba table captures customer observations, verbatims and
team notes for each process step in the process model. These verbatims
help capturing customer needs in the next step.
Step 5: Customer Needs
The clarified statements provided by the customers in the previous
step need to be mapped to benefit-statements. These statements are
solution-independent customer desires. In order to enlist these needs
Customer Voice Table is built in this step to map the inputs received
in previous steps to be mapped to the needs .
These needs can be large in size. It is important to analyze them in view
of the various dimensions in the development scope to see which one
to use. Some of these inputs will come while mapping these needs to
the functional and non-functional requirements. The Affinity diagram
helps in classifying these needs based on similarity. The next step
analyzes these needs further into Hierarchy diagram
Step 6: Analysis of Customer Needs
In this step customer needs are structured and grouped in a way to
uncover high-value needs. It organizes these needs with respect to each
other so as to evaluate them to uncover any unstated needs of cus-
tomers. It is basically a requirements discovery mechanism to analyze
and derive needs that is not spoken bur desired by customers. Post this,
CHAPTER 4. AGILE SOA METHODOLOGY 85
the needs are prioritized using Analytical Hierarchy Process (AHP) as
explained in the next step.
Step 7: Prioritize the Customer Needs
The relative prioritization of these structured needs is done using An-
alytical Hierarchy Process. This shall help determining the priority
of top-down needs to identify the top priority (10 to 20) needs that
captures less than 30 to 40 percent of the key requirements. The inten-
tion is to discover only sufficient requirements that need to be deployed.
The remaining needs can go through iterations in the next phase. Once
these top needs are determined, now is the time to deploy these needs
by mapping them to design requirements. The next step explains the
same.
Step 9: Deploy Customer Needs
This step determines solution characteristics and tasks corresponding
to the high-value needs. The tool used in this case is called Maximum
Value Table (MVT). It provides a way to deliver most important cus-
tomer needs. It is at this stage when design requirements are listed
corresponding to these needs along with the tasks needed to achieve
them. The project has now entered into requirement elicitation corre-
sponding to these needs.
The next section explains Blitz-CSOA, which begins by extending Blitz QFD
at this step.
CHAPTER 4. AGILE SOA METHODOLOGY 86
4.3 Blitz-CSOA
In software real value comes in designing the system based on customer de-
mands [123]. Collaborative SOA design including key customers and stake-
holders is realised as an important factor for the success of product or system
delivered. There is a lot of research done to affirm the importance and ne-
cessity of customer participation in collaborative design methodology. Mills
and Morris [124] explained the involvement of customers leading to consis-
tent productivity improvement for organizations. The continued customer
loyalty [125] is another need to ensure run-the-business needs. The study
[126] has suggested involving customers beyond requirement gathering in a
way to provide product value. Such a technique will be more beneficial for
complex design of distributed systems. SOA is the key architecture to realise
distributed systems [127] for enterprises.
All the steps of original Blitz QFD are shown in detail by [16] in his book .
We have modified this technique into Blitz-CSOA as shown in Figure 4.1. All
the steps are same till step 9 as Blitz QFD. Step 10 onwards we have modified
this approach for robust and collaborative SOA design. The highlighted
portion of Figure 4.1 is new and modified steps in this approach. The first
step involves incorporating contextual information in the SOA design.
The next section discusses the first step added as a modification to the
Blitz-QFD flow.
4.3.1 Context Information
Contextual information serves as a very important factor for non-functional
requirements. Without relevant contextual information would amount to
considering the very big picture that shall not amount to much of benefit.
CHAPTER 4. AGILE SOA METHODOLOGY 88
For example ‘Usability’ may be one the key design requirements. Without
specifying the contextual information [128] the simple information for ‘Prod-
uct Catalogue to be useful’ may not be meaningful. The information like
which components are needed to be usable shall be helpful to narrow down
the problem domain. This step mandates providing contextual information
for design requirements and most importantly for non-functional require-
ments [129] determined in Step 9. This results in SOA context table in Step
10. The clarity of context will be carried forward to next step to yield agile
development [130]. Wherever possible this information should be provided
for functional design requirements as well. Considering the fact that mapping
customer needs into design requirements usually loses the contextual infor-
mation [39] this marks as one of the key steps. The next section explains the
step added to incorporate relative prioritization using HOQ Matrix.
4.3.2 HOQ Matrix
House of Quality (HOQ) matrix is an important tool in QFD, which captures
number of key impacting factors in the planning phase. It translates the cus-
tomer needs into a prioritized targets based on different impacting factors.
This work adds Step 11 to derive HOQ for design requirements. This step
11 derives its motivation from the work done in [131], that determines addi-
tionally the House of Quality (HOQ) matrix for non-functional requirements
apart from functional requirements. This matrix results in determining the
relative priority of the design requirements based on the customer needs. The
row and columns for the HOQ matrix are as follows:
1. Each row describes voice of the customer modeled as customer need or
demand
CHAPTER 4. AGILE SOA METHODOLOGY 89
2. Each column describes a measure to respond to these needs. In this work
it represents design requirement. A single requirement can affect the
varying customer needs in different manner.
3. Each cell asks the domain experts ( architects/design team) to evaluate
a relationship between the intersecting row and column.
In order to evaluate the relationship this work has devised two possible
weightage for Saaty scale [132] using normal and convex distribution for the
calculation of HOQ matrix to cater to a gradual or expedited software deliv-
ery. In order to calculate HOQ matrix the needs are assigned weights (W)
based on the global priority determined as a part of Analytical Hierarchy
Process (AHP) [133] analysis shown in Step 8. Equation (4.1) - (4.4) shows
the calculation of HOQ matrix. The customer needs and requirement are
represented by j and k respectively. Sj,k denotes the Saaty score assigned
to each combination of customer needs and requirements in Equation (4.1).
Equation (4.2) is a function of Equation (4.1), which assigns priority rating
to Saaty values. In this study we have used normal and convex distributions
to define these functions. Given that each customer need is associated with
a weight (Wj), the absolute weight (AWk) associated with each requirement
is then calculated as a weighted sum of priorities in Equation (4.3). The
Requirement Weights (RWk) is finally obtained by normalization of the ab-
solute weights with its sum. The function f(Sj,k ) to assign priority weight
is mathematically defined as follows:
Sj,k ∈ [1− 9] (4.1)
Pj,k = f(Sj,k) (4.2)
CHAPTER 4. AGILE SOA METHODOLOGY 90
AWk =∑j
WjPj,k (4.3)
RWk =AWk∑k AWk
(4.4)
The design requirements are compared with respect to their impact on
customer needs and rated based on strength of relationship assigned using
Saaty scale. Saaty Scale weightage HOQ matrix is determined based on 9-
point Saaty scale with a range of 1 as weak and 9 as extreme relationship.
Equation 4.5 - 4.8 shows the normalized distribution employed for calculating
weightages for Saaty scale. φ(x) is normal distribution. fn(x) is a function
of φ(x) with mean of 10 and standard deviation 5.
φ(x) =1√2πe−
12x2
(4.5)
fn(x) =1
5φ(x− 10
5) (4.6)
M =Max(fn(i)), i ∈ [1− 10] (4.7)
Pj,k = fn(Sj,k )/M, Sj,k ∈ [1− 9] (4.8)
Equation 4.8 determines the weightage for priority. Figure 4.2 shows
the graph for normalize Gaussian curve. The highlighted portion is used for
calculating Saaty scale priority weights. Similarly Equation (4.9) to Equation
(4.11) shows the convex function employed in calculation of Saaty weights.
f(x) is a convex function.
CHAPTER 4. AGILE SOA METHODOLOGY 91
Figure 4.2: Normalized Curve of Saaty Scale
fc(x) = x2 (4.9)
M =Max(fc(i)), i ∈ [1− 10] (4.10)
PWi = fc(Sj,k )/M, Sj,k ∈ [1− 9] (4.11)
Based on max value of fc(i) Equation 4.11 is used to determine the pri-
ority weight for ith design requirement. Corresponding graph along with the
highlighted area used for priority weights calculation is shown in Figure 4.3.
The basis for providing two different scales is to provide architects an op-
tion for choosing large versus small set of agile requirements based on the
time to delivery for working software. The comparison between Figure 4.2
CHAPTER 4. AGILE SOA METHODOLOGY 92
Figure 4.3: Convex Curve of Saaty Scale
and Figure 4.3 indicates that the normal distribution has slower gradient as
compared to convex. It can be observed that in case of convex distribution
the dips in values for lower priority are higher.
The requirements that need to quickly carve out small set of prioritized
agile requirements can use convex distribution. For example a competitive
product launch in the market with most important set of basic features can
consider convex distribution. The normalized distribution can be used to
determine larger set of agile requirements with more gradual time for devel-
opment.
The resulting prioritization is then evaluated in Step 12 to determine
final rating using decision matrix based on architect’s feedback. The next
section details the new step added in the methodology to ensure bi-directional
feedback including architects.
CHAPTER 4. AGILE SOA METHODOLOGY 93
4.3.3 Determination of agile requirements by architects
Architects and developers may not be first hand users of the system. There-
fore they need to collaborate with the customers to understand their needs.
Heiskanen [134] has emphasised in his work the need for development team
to work collaboratively with the customers to yield a stable design. Agile
development methodology does ensure customer participation in its mani-
festo. However it is not just important to get high-value design requirements
derived from customer demands but also to understand their complexity.
This would successfully develop an agile system with required set of agile
attributes [135] for multiple iterations.
Considering the same Step 12 creates agile set of requirements based on
architect’s feedback. Though HOQ matrix developed in Step 11 yields the
relative priority of design requirements, it is not reflecting design architect
views. This step ensures each of these requirements is weighed by archi-
tects in Step 12.The requirements, which are non-core to the system can be
weighted lower and considered at later stage. While requirements, which are
core to system, should be weighted higher. These weights in collaboration
with the relative values obtained from previous step for both normal and
convex Saaty weights are used to derive agile set of requirements.
Let Wk ∈ [1 − 10] be the priority assigned by architect to kth design
requirement for mth criteria. In this case m is either convex or normalize.
In order to calculate the agile weights a decision matrix is formed for k
alternatives and m criteria. The resulting agile weight (RA) is calculated as
follows
Wk ∈ [1− 10] (4.12)
CHAPTER 4. AGILE SOA METHODOLOGY 94
m =
1 for normal
2 for convex
(4.13)
RAk,m =Wk ∗RWk,m∑kWk ∗RWk,m
(4.14)
This enhancement to the system provides an early architectural feedback
in the design process. The collaborative nature of this process is a marked
differential, which intends to make it more aligned to agile software develop-
ment technique and hence increase the overall adoption of QFD methodology
as a whole. The next section explains the rationale of these stages.
4.4 Why these stages?
The existing Software QFD methodology is very generic. In order to use it
in context of real-time enterprise SOA deployment the following need to be
addressed:
1.) While focusing on customer value it lacks ability to capture bi-directional
feedback from design stakeholders (eg: Architects) in the system.
2.) It does talk of deriving design characteristics based on high value cus-
tomer needs but does not mandate the inclusion of NFPs.
Blitz QFD ensures derivation of design characteristics from customer
stated and unstated needs. Non-functional Properties(NFPs) evolve most
naturally from unstated needs. Till Step 8 in Blitz-QFD the customer needs
are stated, explored and analyzed to yield high value needs with due consid-
eration of all the dimensions of project. At Step 9 these high-value needs are
CHAPTER 4. AGILE SOA METHODOLOGY 95
mapped to solution characteristics (features) and non-functional characteris-
tics. It is very well realized that contextual information plays an important
role in actual and complete determination of design characteristics. Once
these characteristics are determined it is important to review them to add
enough contextual information. Context describes the interactions between
humans, applications, and the environment in which a given application will
be used. The context has a real impact on the design and specifically on
non-functional characteristics. Missing functionality would amount to miss-
ing a feature but missing contextual information can have a lasting impact
on customer satisfaction and adoption. To exemplify:
A design requirement can be to develop a common interface to avoid
multiple entries into the system. This is a potential use case of SOA exposing
single interface for multiple clients.
However it would be worthwhile to add the context information in which
this application will be used. For example whether it will be used by mobile
devices or web-based client, on a dedicated physical-storage or cloud based
storage, bandwidth constraints, within firewalls or externally etc.
Considering the last use case for external facing applications. Security is
a paramount requirement. There may be a need to design interfaces, which
do not expose critical data by default or provides specialized APIs just for
secure data. For mobile clients for example a restricted capability of no
search capability while search can be enabled for on-the-premise usage. In
nutshell it is very important to add context information for the non-functional
characteristics to design the product based on user experience.
This step can be interleaved with the development of Maximum Value
table (MVT) based on the maturity of QFD in the project.
Once the design characteristics are refined with contextual information
CHAPTER 4. AGILE SOA METHODOLOGY 96
the next step is to determine prioritized design requirements using HOQ.
HOQ can be a natural transition step, post MVT. This step is improvised to
cater to two major requirements
• First HOQ for non-functional characteristics for SOA systems is intro-
duced
• Secondly two new scales have been developed to fulfill the varied needs
of prioritization of design requirements
The two new scales provide the flexibility to develop and launch product
based on impacting arrributes such as time constraints, competitiveness and
delivery capabilities of the team. This step will only be created after Step9
once the design characteristics are obtained. The result of this step is a
prioritized set of design requirements.
Once these requirements are obtained the next step ensures the need to
conclude the priorities of agile requirements based on not only customer ver-
batim but design team (Architect) feedback who has end-to-end understand-
ing of the real-time development, deployment constraints, company policies
and competitive market constraints for the product launch. The next sec-
tion applies the methodology step by step on a case study for Business-to-
Business( B2B) purchasing system.
4.5 Case Study
The aim of this case study is to redesign a B2B e-procurement system for a
large global enterprise using Blitz-CSOA methodology. The existing procure-
ment system is not based on service-orientation. The components interact
with each other using application specific logic that is extended on-demand
CHAPTER 4. AGILE SOA METHODOLOGY 97
SNo
Goal
How
tomeasure
Tim
e(m
onths)
Tasks
1Enh
ancing
consolidation
ofsiloed
compo
nentsof
POM
Elim
inate
man
ual
order
processing
,increase
incoun
tof
orders,consistent
orderinform
ationforallthe
stak
eholders,
tran
sparency
inorderman
agem
ent
3Abstracting
POM
com-
ponents
and
relation
ships
amon
gcompo
nents
2New
System
Costshou
ldno
tbe
morethan
existing
system
.
Abilityto
useexisting
sys-
tems,
learning
curveshou
ldno
tbe
high
,nonew
cost
for
custom
ers.
1Create
wrapp
erfor
criti-
calinform
ation
hidd
enin
lega
cysystem
[136
]
3Strong
partnersupp
lier
relation
ship
,exp
erience
Perform
ance
Tracking
for
supp
liers,
optimization
ofsupp
lier
base,
automation
ofsupp
lierman
agem
ent
3Su
pplier
across
the
glob
ecan
beaccessed
and
man
-ag
edviasing
leinterface
4Im
proved
controla
ndvisibilityof
Finan
ce
Con
trol
andvisualizelia
bil-
ities,
mak
efin
ancial
predic-
tion
s3
Autom
ationof
invoicepro-
cessing,
approval
ofpu
r-chaseorders
Table4.1:
Project
Goa
lsTa
bleforB2B
e-procurem
entsystem
CHAPTER 4. AGILE SOA METHODOLOGY 98
based on growing business needs. It is non-extensible platform specific logic
that becomes complex and unmanageable [137] for any dynamic customer re-
quirement. Loosely coupled extensible architecture [138] is the need for this
existing system that is best achieved by using SOA. The key steps of Blitz-
CSOA are demonstrated along with results and derivations of agile functional
and non-functional requirements.
The first step defines project goals for e-procurement system. The goals
ensure clear definition of the business objectives that need to be achieved.
The output of this step is a Project Goals Table, which defines goals, how to
measure them, expected time required, and tasks required to achieve them.
Table 4.1 lists the project goals for e-procurement system. Redesigning
the system from scratch is costly. In order to build an interoperable sys-
tem leveraging most of the existing business logic SOA is used to enable
integration.
Step 2 identifies the key customers interacting and impacted by the sys-
tem. These customers also determine the future state of the system. Provid-
ing customer segmentation to identify key customers along with their type
of impact results in Customer Segment Table. Procurement Team, Sales, In-
ventory and Accounts are the key customers directly interacting or impacted
by the design of e-procurement system. In case of this system these cus-
tomers are also the key stakeholders since they bear the risk of overrun and
design of system. Hence though it is technically possible to use SOA but it
is inadvertently important to interact with responsible customer segments.
Table 4.2 describes the customer segments along with the roles, time they
take to interact with the system, issues aced and their views on the future
state. For example one of the major issues for purchasing teams is multiple
ordering systems for different business units. Team views it to resolve by
CHAPTER 4. AGILE SOA METHODOLOGY 99
Custom
erSegment
Who
What
When
(%)
Where
Why
How
Purchasing
Procurement
man
ager
andTe
am.
For
raising,
man
aging
PO
50Multiple
Ordering
Portals
man
uala
ndno
n-au
tomated
interactionwith
compo
nents
prov
iding
consolida-
tion
for
integration
end-po
ints
Sales
SalesLe
adan
dsales
team
Forsales
prediction
15
Needto
interact
with
Inventory
and
Purchasing
system
s
man
ualinteraction
withpu
rcha
sing
team
toan
alyzean
dpredict
salesop
portun
ities
design
sing
letouch-
pointto
inventorysys-
tem
which
lead
sto
furtherdetails.
Inventory
Inventory
and
Goo
ds-in
team
Forstock
analysis
and
prediction
20
Inventory
and
Purchasing
System
logicforinventory
data
view
isrespon
sibilityof
clients
develops
consistent
in-
terfaces
forinv
entories
tobe
used
glob
ally
Accou
nts
Accou
nts
team
Forecast
for
accoun
ts10
Accou
nts
System
Multipletouch-po
ints
toaccoun
tsinform
ationan
ddevelopconsolidated
abstractionlayerwith
shared
interface.
Table4.2:
Customer
Segm
entTa
bleforB2B
e-procurem
entSy
stem
CHAPTER 4. AGILE SOA METHODOLOGY 100
Figure 4.4: Extract of Gemba Visit Table for E-procurement System
providing single interface for an ordering system for all business functions. It
is possible with SOA by providing a common interface to existing ordering
applications in short-term and incorporating common business logic for all
ordering application via single interface in long-term. Consolidation will also
yield in cost reduction, control and visibility, as is also the goal of project.
Step 3 is customer process model creation to understand the whole flow of
current process. The key processes in e-procurement system are PO creation,
PO approval, Sending PO and receiving goods. The customer process model
also captures customer concerns in process steps.
Step4 is termed as Gemba visit which means interacting with customer on
their site [131] to understand their end-to-end interaction with the system. It
captures nature of interaction, interviewer, and interviewee verbatim, issues
and time of interaction using Gemba Visit Table [139]. Figure 4.4 shows the
extract of Gemba visit table resulted on interviewing a senior procurement
employee while interacting with the system. For example after going through
the interaction it is understood that existence of multiple systems is leading
to inconsistent and redundant data in the system.
Step 5 captures voice of customer and translates them into needs using
Customer Voice Table. Customer voice may point to concerns, issues or
requirements, which needs to be addressed. This may not be the true need,
since they may not have end-to-end understanding of the domain and may
CHAPTER 4. AGILE SOA METHODOLOGY 102
be limited to a particular customer segment. These needs are further carried
and acted upon in future steps.
Step 6 performs categorisation of these needs by arranging them into
affinity groups. During this process any unstated and implied needs is also
included in the group. Affinity Diagrams are used to represent the resulting
structured needs.
Step7 arranges the resulting structured needs into primary, secondary and
tertiary levels using Hierarchy diagram. The diagram shows the needs along
with secondary and primary categorisation.
Step 8 applies Analytical Hierarchy Process on these needs to assign global
and local priority. Figure 4.5 shows the Hierarchy Diagram of this system
with global and local priority. In this case primary categorisation is customer
segment interactions. Second level is type of interaction and third level is the
actual needs in those interactions. For example online acknowledgement for
Purchase Order (PO) by vendor is a vendor management function related to
input or output of PO by procurement team. The global priority of the needs
is taken forward in next step to determine Maximum Value Table (MVT).
Step 9 is a key milestone since in this step customer needs are trans-
lated into design requirements. In Blitz-CSOA, it is required to map needs
into non-functional requirements. Injection of non-functional requirements
reassures the customer satisfaction with highly usable and robust design.
The output of this step is a set of design requirements to be considered for
deployment
At this point, the requirements are filtered based on priority to determine
high-value design requirements.
Step 10 is a new step in Blitz-CSOA to add SOA contextual information
to resulting design requirements.
CHAPTER 4. AGILE SOA METHODOLOGY 103
Both functional and non-functional requirements are associated with con-
textual information in terms of which components need to be considered and
what the required expectation is. Table 4.3 shows the resulting SOA context
table for this system .It can be seen requirements are being clearly associ-
ated with context. Since it is derived from MVT we can analyse the fact that
the requirement for Purchasing Team will go to deployment because of high
global priority, but not of those specific to sales team. The reason being one
of them is redundant and other is less in priority. The contextual information
for design requirement is also shown. As can be seen ‘Usability’ is associated
with the product catalogue component rather than system as a whole.
Step 11 determines the relative priority of the resulting design require-
ments from Step 10 using House of Quality Matrix. Figure 4.6 shows the
HOQ matrix for non-functional SOA requirements for Purchasing interac-
tions. The resulting priorities of these requirements for both convex and
normalize distribution are shown in last two rows.
Step 12 is a key step in this process .The architect provides feedback
in the scale of 1- 10 to design requirement based on his understanding of
technical feasibility and deployment. For e-procurement system Table 4.4
shows the assigned priority to non-functional requirements.
Auditability is rated higher because it is a cross-system requirement and
mechanism for it should be provided earlier in the development cycle so that
all the resultant systems can re-use this framework. High Availability is also
ranked high since this e-procurement system is critical to the organisation
and its availability is paramount.
The system should be designed from ground up for the same. Security
is a cross cutting concern [140] and integration with external systems may
vary depending on data confidentiality. It hence needs to be rated higher.
CHAPTER 4. AGILE SOA METHODOLOGY 104
Segments
Needs
Wt
Cap
abilities
Functional
Req
Non
-Functional
Req
Tasks
Purchasing
Team
Customersneed
sing
leinterfaceforallprod
-uct
8.9
Produ
ctda
taread
ilyavail-
able
forPOM
FR1:
Enterprise
wide
master
data
forprod
uct
QU1:
Usability
ofProdu
ctCatalog
QU2:Interope
rability
with
Produ
ctCat-
alog
prom
ote
for
HOQ
SalesTe
amPrediction,commitment
,negotiation
based
onPO
visibility
3.5
PO
interface
forsalesteam
NA
NA
redu
ndan
tno
tneeded
Supe
rvision
ofOrder-
ing
1.2
Can
mon
itor
orders
NA
NA
aban
don
Table4.3:
Extract
ofSO
ACon
text
Tablefore-Procurement.
CHAPTER 4. AGILE SOA METHODOLOGY 105
Figure 4.6: HOQ Matrix for customer needs and Non-Functional SOA Re-quirements
CHAPTER 4. AGILE SOA METHODOLOGY 106
Figure 4.7: Sensitivity Analysis for normalized distribution
E-procurement needs to integrate with number of external systems including
vendor management and finance. These integrations need to be handled
carefully hence are also rated higher.
Once the priorities are assigned an architect’s decision matrix is calcu-
lated based on Equation (4.14) to determine the relative rating of design
requirement. The resulting priorities are shown in Table 4.4. These priority
weights are agile set of requirements to be taken further based on descending
weights in design and development cycle.
For e-procurement system we performed sensitivity analysis for these agile
non-functional requirements for both convex and normalize. Figure 4.7 and
4.8 shows the resulting sensitivity graph for agile non-functional requirement
normalize and convex distributions.
The sensitivity analysis shows that for convex distribution overlap of pri-
ority weights occurs earlier and more than normalize. Hence normalize dis-
tribution shows much more consistency than convex for this set of priority
weights.
CHAPTER 4. AGILE SOA METHODOLOGY 107
S.No Non-FunctionalRequirements
Wt ConvexWt
NormalWt
NF1 Usability of ProductCatalogue
5 1.34 0.85
NF2 Interoperability with ProductCatalogue
5 2.28 1.92
NF3 Usability of Vendor catalogue 8 2.4 1.58
NF4 Interoperability with suppliercatalogue
5 2.66 2.5
NF5 Auditability 10 5.58 5.89
NF6 Usability for PO using lineitems
8 4.62 4.64
NF7 Interoperability with vendormanagement
7 4.32 4.75
NF8 Interoperability withInventory System
7 3.77 3.37
NF9 Interoperability with Financesystem
9 5.1 4.9
NF10 Security with role basedaccess
9 3.8 3.46
NF11 High availability of POMsystem
10 6.67 8.12
NF12 Scalability 6 3.61 3.59
NF13 Extensibility 6 3.87 4.44
Table 4.4: Results of Architects Decision Matrix
CHAPTER 4. AGILE SOA METHODOLOGY 108
Figure 4.8: Sensitivity Analysis for convex distribution
4.6 Summary
The usage of Blitz-CSOA QFD approach has ensured that customer needs
drive design decisions. The provisioning of two scales, convex and normal for
relative ranking provide the opportunity to prioritize the agile requirement
based on factors like time-to-market and time-to-delivery. Though customer’s
feedback is one of the key criteria in determining the relative priority of func-
tional and non-functional requirement, there is a need to consider enterprise
business priorities, policies, infrastructure capabilities and other relevant fac-
tors which can impact these priorities. The methodology has provided ca-
pability to capture architect’s feedback using a decision matrix. Hence, the
final prioritization is yielded on the common consideration of both the con-
sumer needs and feedback of an architect. The whole methodology has been
demonstrated with key steps using case study of B2B e-procurement system
using both convex and normal prioritization scales.
However Blitz-CSOA is a representative methodology of the needs of sys-
tematic approach to address the adaptive and agile design for SOA systems.
CHAPTER 4. AGILE SOA METHODOLOGY 109
It is inevitably the need of real-time distributed systems to drive correct de-
sign designs end-to-end from the planning phase to execution. Demonstrat-
ing the usage of extended steps in Blitz-CSOA we do see potential promise
with respect to the benefits that will be achieved. QFD can always be tai-
lored based on the project needs. To further enrich and support QoS-aware
discovery for SOA systems, the next chapter starts with first step of adap-
tive QoS-aware discovery framework. It explains the design of a dynamic
discovery framework for enterprise systems.
Chapter 5
Webservice Topological Selection
5.1 Introduction
This chapter marks the first step in the journey of Adaptive Discovery Frame-
work designed as part of this thesis. It proposes a framework for dynamic
web service selection in an enterprise environment. It is common to see mul-
tiple instances of fundamental services [141] to meet varied consumer and
high availability needs on an enterprise network. The consumers should be
able to leverage the service provider capabilities provided by virtue of this
redundant deployment. To deal with site failures the services are gener-
ally hosted at geographically distinct data centers managed by internal and
external gateways access. Enterprise registry or UDDI [15] excellently man-
ages the location transparency by acting as a passive data source for service
providers information. Active service access information like current load,
proximity to the client, average turn around time requires monitoring and
management framework. The Web Services Proximity Resolution Frame-
work (WS-PR) framework proposed in this chapter solves this problem by
enabling service consumers to dynamically locate the preferred service based
110
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 111
on the active proximity information. The framework computes this informa-
tion using both topological and end point location of service providers and
consumers. The next section explains the framework, its key components
and the interaction of these components using UDDI.
5.2 Web Services Proximity Resolution Frame-
work
Figure 5.1 explains the information flow in an enterprise using the proposed
Webservice-Proximity Resolution Framework . The figure indicates a client
X looking for a service offering of type S1. The service S1 is hosted at three
distinct sites each one of which is located at a geographical distinct loca-
tion. The system consists of four network elements D1,D2,D3 and D4 which
connects various data centers containing the Service Provider. The client in-
teracts with UDDI registry for obtaining WSDL [142]. This WSDL contains
the topological metadata. As part of this framework a new service provider
is introduced called Network Topological Information Service (NTIS). NTIS
is the backbone of this framework. It computes and provides necessary topo-
logical preference information to the service consumer. The information flow
between the participating entities can be explained in four steps:
Step1: Interaction with UDDI The service consumer contacts the UDDI
registry for the service endpoints. The UDDI registry returns service
description annotated with specialized topological metadata.
Step2: Interaction with NTIS The service consumer interacts with NTIS
providing its requirement and metadata information. NTIS server com-
putes the proximity list using the service provider information provided
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 112
DataCenter 1
DataCenter 2
Router Located At HQ
D4
Router D1
Router D2
DataCenter 3
Router D3
Service Host 2 Service Host 3
WebService Client
UDDI Service Registry
Step 1. Interaction with Uddi Service
NTIS
Step 2. Interaction with NTIS
Step 3: Interaction with Service
R1
R2
R3
Service Host 1
S1
S1 S1
Figure 5.1: Sample Topology of Network
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 113
by the client and respond to the client with the same.
The client uses the information provided in Step 2 to invoke the closest
service .This framework further provides a mechanism for routing to the
nearest server using NTIS service proximity list. The next section explains
Network Topological Information Service, that is the pivotal part of this
framework.
5.3 Network Topological Information Service
Network Topological information service (NTIS) is a core of this architecture.
The web service interface provided by this service enables consumers to reach
to the nearest service provider. The interface consist of the consumer loca-
tion information and the list of sites the service nodes are associated with.
The service consumer needs to be aware of its location in the network. It
obtains the provider site location from the UDDI metadata. The consumer
need to contact NTIS with this information. The topological information is
encapsulated in NTIS using Network Topology language. The next section
explains the structure of Network Topology Description explained used in
this chapter.
5.3.1 Network Topology Description
Enterprise environment is controlled with predefined or less fluid network
topology. The framework used Network Topology Description(NDL) for
modeling enterprise network topology. In order to use standard based ap-
proach for topology description network topology is described using RDF[143]
[144] as specified in Network topology language[20]. The elements of the Net-
work Topology Ontology language are explained below:
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 114
Location : A Physical location/site/room where the hardware is place.
Device : A network connected entity which is connected to other ele-
ments of the network. This can be a Router/Machine.
Interface: A Network Connection which connects Devices together.
Attributes of Location: A location as a name associated with it. It can
also optionally be associated with a geographical data like latitude and
longitude.
Attributes of Device: A Device is located at a site. And is connected to
other devices using multiple interface.
Attributes of Interface: An Interface is a connection between 2 devices
and also has a name associated with it.
Listing 6.1 provides the Network topology language RDF for the Fig 5.1
network structure.
<?xml version="1.0" encoding="UTF−8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22−rdf−
syntax−ns#" xmlns:ndl="http://www.science.uva.nl/research/
air/ndl#">
<ndl:Location rdf:about="#HQ">
<ndl:name>HeadQuarters</ndl:name>
</ndl:Location>
<ndl:Location rdf:about="#DataCenter1">
<ndl:name>DataCenter1</ndl:name>
</ndl:Location>
<ndl:Location rdf:about="#DataCenter2">
<ndl:name>DataCenter2</ndl:name>
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 115
</ndl:Location>
<ndl:Location rdf:about="#DataCenter3">
<ndl:name>DataCenter3</ndl:name>
</ndl:Location>
<ndl:Device rdf:about="#RouterHQ">
<ndl:name>RouterHQ</ndl:name>
<ndl:locatedAt rdf:resource="#HQ" />
<ndl:hasInterface rdf:resource="#RouterHQ:port" />
</ndl:Device>
<ndl:Device rdf:about="#RouterD1">
<ndl:name>RouterD1</ndl:name>
<ndl:locatedAt rdf:resource="#DataCenter1" />
<ndl:hasInterface rdf:resource="#RouterD1:port" />
</ndl:Device>
<ndl:Device rdf:about="#RouterD2">
<ndl:name>RouterD2</ndl:name>
<ndl:locatedAt rdf:resource="#DataCenter2" />
<ndl:hasInterface rdf:resource="#RouterD2:port" />
</ndl:Device>
<ndl:Device rdf:about="#RouterD3">
<ndl:name>RouterD3</ndl:name>
<ndl:locatedAt rdf:resource="#DataCenter3" />
<ndl:hasInterface rdf:resource="#RouterD3:port" />
</ndl:Device>
<ndl:Interface rdf:about="#RouterHQ:port">
<ndl:name>RouterD1:port</ndl:name>
<ndl:connectedTo rdf:resource="#RouterD1:port" />
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 116
<ndl:connectedTo rdf:resource="#RouterD2:port" />
</ndl:Interface>
<ndl:Interface rdf:about="#RouterD1:port">
<ndl:name>RouterD1:port</ndl:name>
<ndl:connectedTo rdf:resource="#RouterHQ:port" />
</ndl:Interface>
<ndl:Interface rdf:about="#RouterD2:port">
<ndl:name>RouterD1:port</ndl:name>
<ndl:connectedTo rdf:resource="#RouterHQ:port" />
<ndl:connectedTo rdf:resource="#RouterD3:port" />
</ndl:Interface>
<ndl:Interface rdf:about="#RouterD3:port">
<ndl:name>RouterD1:port</ndl:name>
<ndl:connectedTo rdf:resource="#RouterD2:port" />
</ndl:Interface>
</rdf:RDF>
Listing 5.1: Topology description for network in Fig 5.1 using Network
Topology Ontology Language.
The next section explains the NTIS interface provided for service con-
sumer.
5.3.2 NTIS interface for WS consumer
NTIS provides an interface for service consumer that accepts the list of service
locations. It internally maintains a graph representation of the network based
on the ontological description. Based on the location information of the
service, as obtained from the consumer, it provides the proximity list. It
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 117
computes the same using the shortest path traversal of the topological graph.
Listing 5.2 provides for the WSDL which describes NTIS service interaction
with the client.
<?xml version="1.0" encoding="UTF−8" standalone="yes"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/
soap/" xmlns:tns="http://www.example.org/NTISService/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" name="NTISService
" targetNamespace="http://www.example.org/NTISService/"
>
<wsdl:types>
<xsd:schema targetNamespace="http://www.example.org/
NTISService/" xmlns:Q1="http://www.ntis.org/schema">
<xsd:import namespace="http://www.ntis.org/schema"
schemaLocation="./NTIS.xsd" id="ntis" />
<xsd:element name="getProximityList">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="servicelocation" type="tns:
ServiceLocationType" maxOccurs="1" minOccurs="1"
/>
<xsd:element name="clientlocation" type="Q1:
LocationType" maxOccurs="1" minOccurs="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getProximityListResponse">
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 118
<xsd:complexType>
<xsd:sequence>
<xsd:element name="locationProximityData" type="tns:
locationProximityDataType" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ServiceLocationType">
<xsd:sequence>
<xsd:element name="site" type="Q1:LocationType" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="locationProximityDataType">
<xsd:sequence>
<xsd:element name="locationProximity" type="Q1:
LocationProximityType" maxOccurs="unbounded"
minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="getProximityListRequest">
<wsdl:part element="tns:getProximityList" name="
parameters" />
</wsdl:message>
<wsdl:message name="getProximityListResponse">
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 119
<wsdl:part element="tns:getProximityListResponse" name="
parameters" />
</wsdl:message>
<wsdl:portType name="NTISService">
<wsdl:operation name="getProximityList">
<wsdl:input message="tns:getProximityListRequest" />
<wsdl:output message="tns:getProximityListResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="NTISServiceSOAP" type="tns:
NTISService">
<soap:binding style="document" transport="http://schemas.
xmlsoap.org/soap/http" />
<wsdl:operation name="getProximityList">
<soap:operation soapAction="http://www.example.org/
NTISService/getProximityList" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="NTISService">
<wsdl:port binding="tns:NTISServiceSOAP" name="
NTISServiceSOAP">
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 120
<soap:address location="http://www.example.org/" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Listing 5.2: WSDL for NTIS Service.
The next section explains the key steps involved in service invocation.
5.3.3 Step1: Interaction with UDDI
The client interacts with UDDI to obtain the service location information.
The service endpoint need to provide its site information . This information
can be obtained in one of the following manner.
• TModel site classification system to associate a TModel uniquely to
identify the site.
• Policy metadata associated with the endpoint WSDL
Either of the above approaches can be used for service provider metadata
publication. TModel site classification approach is UDDI specific .WSDL
approach of policy metadata exposure is a generic mechanism for topological
metadata publication even in absence of UDDI. Henceforth WSDL approach
for topological information is being considered in this Framework. The List-
ing 5.3 describes a sample Stock Quote Service with Policy annotation for
topological information.
<?xml version="1.0" encoding="UTF−8" standalone="yes"?>
<wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.example.org/StockQuote/"
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 121
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="StockQuote"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
targetNamespace="http://www.example.org/StockQuote/"
xmlns:wsu="http://docs.oasis−open.org/wss/2004/01/oasis
−200401−wss−wssecurity−utility−1.0.xsd"
xmlns:wsml="http://www.w3.org/Submission/WSML/" xmlns:
ntis="http://www.ntis.org/schema">
<wsp:Policy wsu:Id="LocationPolicy">
<ntis:location uri="http://servicehost1/service1" >ServiceHost
1</ntis:location>
<ntis:location uri="http://servicehost2/service1" >ServiceHost
2</ntis:location>
<ntis:location uri="http://servicehost3/service1" >ServiceHost
3</ntis:location>
</wsp:Policy>
<wsdl:types>
..........
..........
</wsdl:types>
...
<wsdl:service name="StockQuoteService">
<wsp:PolicyReference URI="#LocationPolicy" />
<wsdl:port binding="tns:StockQuoteServiceSOAP" name
="GetStockTrade">
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 122
<soap:address location="http://www.example.org/xyz
" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Listing 5.3: Sample WSDL with ws policy containing the service location
The next section explains interaction with NTIS as Step 2 for service invo-
cation.
5.3.4 Step2: Interaction with NTIS
When interacting with NTIS server the service client specifies its own location
and the list of nodes providing the service as obtained from UDDI server to
the NTIS service provider. NTIS server then uses Dijkstra algorithm [145]
for proximity search and returns the list of locations with the number of
hops from the client service. The number of hops are calculated based on
the network topological data as available with the NTIS server. The Listing
5.4 and Listing 5.5 shows a sample interaction with the NTIS Server.
<?xml version="1.0" encoding="UTF−8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/
soap/envelope/" xmlns:ntis="http://www.example.org/
NTISService/">
<soapenv:Header/>
<soapenv:Body>
<ntis:getProximityList>
<servicelocation>
<site>Service Host1</site>
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 123
<site>Service Host2</site>
<site>Service Host3</site>
</servicelocation>
<clientlocation>Client Host1</clientlocation>
</ntis:getProximityList>
</soapenv:Body>
</soapenv:Envelope>
Listing 5.4: Sample Request for NTIS Service
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/
soap/envelope/" xmlns:ntis="http://www.example.org/
NTISService/" xmlns:sch="http://www.ntis.org/schema">
<soapenv:Header/>
<soapenv:Body>
<ntis:getProximityListResponse>
<locationProximityData>
<locationProximity>
<sch:location>Service Host1</sch:location>
<sch:proximity>1</sch:proximity>
</locationProximity>
<locationProximity>
<sch:location>Service Host2</sch:location>
<sch:proximity>2</sch:proximity>
</locationProximity>
<locationProximity>
<sch:location>Service Host3</sch:location>
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 124
<sch:proximity>3</sch:proximity>
</locationProximity>
</locationProximityData>
</ntis:getProximityListResponse>
</soapenv:Body>
</soapenv:Envelope>
Listing 5.5: Sample Response for NTIS Service
Once NITS provides the list of sites based on the topological ordering.
Based on this information service client invokes the service endpoint. Client
can also invoke second or third service endpoint in ranking from the list
provided in case first one is not available or falters. This information is
persisted on the client for smaller durations to avoid repeated interaction
with NTIS. This cache should be refreshed after a fixed specified interval
to take advantage of the topological changes. Next section summarizes the
work done in this chapter.
5.4 Summary
This chapter explains the WS-PR framework that enables the pull model of
service discovery. Client can fetch the proximity information at regular in-
tervals for discovery based on the active information provided by the NTIS.
Encapsulating topological metadata in a centralized broker also provides a
secure way of preserving the network topological information. This is the
only repository that need to be modified to capture any site failure. Cen-
tralization of topological information in NTIS most importantly helps in cal-
culating and determining the proximity to service provider. It uses Dijkstra
algorithm on network graph represented by RDF to determine the ranking.
CHAPTER 5. WEBSERVICE TOPOLOGICAL SELECTION 125
This approach is interoperable and easy to adopt and support as it is based
on standards. From an enterprise deployment perspective, consumer need to
support NTIS Web Service transparently. This chapter solved the dynamic
discovery problem based on proximity as the quality attribute. In order to
support generic QoS attributes there is a need to provision a way to model
QoS information and relationship between its attributes. It should also be
able to express service provider QoS offering and client QoS requirements.
Not only that, there is a need for common glue to enable communication
among participating entities in the system. In order to achieve the same a
high-level domain specific language has been developed to enable QoS spec-
ification and communication in the SOA system. The next chapter explains
the language in detail.
Chapter 6
QoS DSL for Web Services
6.1 Introduction
The use of ontology and semantics promises ‘Proactive Services-Oriented En-
terprise’. Ontologies provides the next level of abstraction for knowledge rep-
resentation by encapsulating different information models in a domain using
concepts, axioms and relationships. They serve as the backbone for Seman-
tic Web [146], that foresees web as a mesh of information linked together
with contexts. The semantic standards when mapped to SOA yields Seman-
tic Web services (SWS) [147]. SWS are moving towards actual deployment.
The motivation for this semantically enabled linking of information behind
semantic web is to achieve automation, integration, and reuse of data across
various applications. Due to this ontologies are used for capabilities based
web services discovery and composition based on their capabilities and prop-
erties. Domain Ontologies are becoming a common norm for enterprise sys-
tems catering to a knowledge domain encompassing multiple problem areas.
It is recommended that enterprises [148] should move towards the semantics
journey in a pragmatic manner to support adaptive ontological growth. This
126
CHAPTER 6. QOS DSL FOR WEB SERVICES 127
can be enabled by using light-weight ontologies that can be linked together to
avoid the development of complex data structures. In the words of Simperl
et al. [149] :
"... ontology engineering research should strive for a unified,
lightweight and component-based methodological framework, prin-
cipally targeted at domain experts ...."
Two common ontologies exist in the form of WSMO [150] and OWL-
S [151] to offer service description. Both of them provide a rich model to
describe SWS functionalities but they offer few restricted QoS concepts to
express their qualities. Many works have extended them to obtain QoS-aware
ontologies. For example the Web Service Modeling Language (WSML) [152]
framework provides a proposed mechanism to specify both functional and
nonfunctional aspects of WSMO. QoS is not central to WSML and its def-
inition using nonfunctional properties and rule syntax is quite complex. In
this work a high-level domain specific language (DSL) written in groovy is
defined by extending WSMO. The use of high-level language enables quick
adoption and fast development due its light-weight nature. It is based on
constraint programming[153] ideas and provide a verbose syntactical mech-
anism for defining QoS constraints. The next section explains the DSL and
its elements in detail.
6.2 Domain Specific Language
QoS specification language(QSL) is created as an embedded DSL for Groovy
for the purpose of using it as a light-weight mechanism to communicate
QoS capabilities and constraints to enable QoS-aware web service discovery.
CHAPTER 6. QOS DSL FOR WEB SERVICES 128
Groovy [154] is a dynamic language written using Java [155]. It provides a
mechanism to write embedded DSL [156].The use of standard language also
ensures that conditions on QoS constraints can be easily expressed without
the need for an elaborate grammar as in WSML Rule Syntax [152]. The user
can use standard java or groovy Syntax interchangeably. To be interoperable
the syntax is being kept closer to ontological hierarchy of WSML structure.
Next section explains the needs to be fulfilled by QSL language.
6.2.1 QSL Syntax
At first it is required to identify the requirements that need to be fulfilled by
the language. As a next step syntax is defined based on these requirements.
The key needs to be fulfilled are as follows:
• Defining QoS parameters that need to be supported by the Web Service.
QosConcept tags is used to define the same.
• Declaration of Web services provider that can define expected/observed
values of QoS parameters. QosWebService tag is used for QoS values.
• Specification of goals or conditions, that need to be satisfied for a web
service consumer. QosAxiom is used to define the actual conditions on
QoS parameters. QosGoal is used to associate web service client with
a set of conditions or axioms.
While designing the language, a special focus has been kept on ease of
syntax. The key features that the language exhibits are; separation of multi-
ple statement using newline, and use of equal to sign between property name
and its value to separate them. The various keywords are followed by curly
brackets. The language is defined based on various important pieces of DSL
CHAPTER 6. QOS DSL FOR WEB SERVICES 129
syntax and elements of QoS characteristics for which parameters need to be
found are as follows. The syntax of the language is defined as follows:
• QosLanguage
This keyword forms external most qualifier which is used to assert the
presence of QoS constraint language. The line 1 in Listings 6.1 defines
the outer QosLanguage tag.
• QosConcept.
The QosConcept is used to define QoS parameter/characteristics. It
is an important element since it defines the parameters on which QoS
selection is based. The concept is used to define both functional and
non functional parameters like availability and security. The lines 3 to
9 in Listings 6.1 defines the QosConcept. The various parameters that
are defined as part of QoSConcept are as follows
– description
A verbal comment on the content of this tag.
– name
unique name to identify this particular QoSConcept.
– dataType
defines the datatype used to represent this QoSConcept.
This Datatype should be a well defined Groovy Datatype(or Java
datatype).
– lowerBound
defines the lower expectable bound on the value of this QoS pa-
rameter. The value is defined as a String and it is converted into
dataType unit.
CHAPTER 6. QOS DSL FOR WEB SERVICES 130
– upperBound defined the upper threshold value on this parameter.
• QosWebService
QosWebservice tag is used to define actual web service and associates
value for each QoS concept. This parameter is used for binding QoS
language to actual web services provider. Elaborate mechanism need to
be developed for mapping the data to WSDL or UDDI based systems.
The lines 11 to 20 in Listings 6.1 defines the QosWebService. The
various parameter are as follows:-
– description
A verbal comment on the content of this tag.
– name
unique name to identify this particular WebService.
– capability
Use to associate web service interface with this tag.
– qosinterface
Embedded tag inside web service which is used to specify values
for actual QOS concepts.
A nested tag, which contains one tag for each of QoSConcept. The
rough syntax for QosInterface is provided in listing 6.1.
• QosAxiom
The QosAxiom forms the center piece of QoS Language. It is used
to define conditions on QoS parameters. Condition on QoSAxiom is
defined as a closure. It contains a groovy syntax for defining a con-
dition statement on passed value of the concept "Availability". The
CHAPTER 6. QOS DSL FOR WEB SERVICES 131
term axiom is chosen from WSML ontology to provide for easy inter-
operability. The lines 22 to 29 in Listings 6.1 defines the QosAxiom.
The parameters for QosAxiom are as follows:-
– description
A verbal comment on the content of this axiom.
– name
Specifies a unique name to identify this axiom.
– concept
name of the QosConcept on which on which conditions are defined.
– condition
Closure structure to define actual condition for verification.
Condition tag needs some further discussion. This tag contains a Clo-
sure which must return a boolean value which is true or false. That
implies, that the last statement in this Groovy block must evaluate to
true or false. And since this is a groovy block, user can write a valid
groovy code to define the condition. One explicit value, which is the
current QoS concept value of a known web service is passed to this
closure.
• QosGoal
QosGoal is used to define requirements of web service consumer. It de-
fines the conditions that web service consumer requires to be satisfied.
The actual set of condition on individual QoS parameters is defined
as part of QoSAxioms..The lines 31 to 35 in Listings 6.1 defines the
QosGoal. The goals are used to specify set of axioms that need to be
satisfied as part of this web service consumer
CHAPTER 6. QOS DSL FOR WEB SERVICES 132
The syntax of QosGoal is as follows:-
– description
A verbal comment on the content of this tag.
– name
unique name to identify this goal.
– axiomRequired
A groovy string array containing names of QosAxiom (conditions)
that need to be satisfied.
QosGoal is also a binding point for QoS Language to the actual web
service client (or consumer). The success evaluation of goal ensures the
selection of a QoS web service endpoint.
Next section defines a sample QSL based on the syntax above.
6.3 Sample QSL
The Listing 6.1 provides an sample of the Domain Specific Language for a
sample Stock Quote service.
1 QosLanguage
2
3 QosConcept
4 name "Availability"
5 description "Describes the availability capability of
web service"
6 unit Integer
7 lowerBound "0"
CHAPTER 6. QOS DSL FOR WEB SERVICES 133
8 upperBound "100"
9
10
11 QosWebService
12 name "webserviceQos"
13 capability "StockQuoteWS"
14 qosinterface
15 Availability
16 description " availability description"
17 value "8"
18
19
20
21
22 QosAxiom
23 name "myQosCondition"
24 concept "Availability"
25 description "Describe the mechanism of comparing
the availability"
26 condition$value −>
27 return (value > 50)
28
29
30
31 QosGoal
32 description "Goals we wanted to achieve"
33 name "goalWeb"
CHAPTER 6. QOS DSL FOR WEB SERVICES 134
34 axiomRequired ["myQosCondition"]
35
36
Listing 6.1: Domain Specific Language for Web services QoS Parameters.
In the above syntax QosWebService indicates a StockQuote Service that
exhibits a QoS property defined by QoSConcept tag. QoSConcept defines
availability as a QoS parameter with lower and upper bounds. The possible
‘lowerBound’ and ‘upperBound’ is provided as ‘0’ and ‘100’. The default
value provided by StockQuote service is ‘8’. QoSAxiom is used to describe the
conditions that needs to be defined for the QoS goals as required by service
consumer. The xtext grammar for this language is shared in Appendix B.
6.4 Summary
The DSL defined in this work (QSL) provides an easy mechanism for web
service QoS parameters and constraints definition. It adds a lot of value to
provide a consistent QoS representation in an enterprise environment[157].
QoS concepts once defined can be used generically across all the SOA sys-
tems. QSL provides interoperability with WSML standard. It enables service
consumer discovering the required service based on differential QoS provided
among similar Web Services by providing it a capability to define QoS con-
straints. Computing the difference would require a discovery approach where
language shall act as a common glue by enabling communication among par-
ticipating entities in the system. The next chapter explains the usage of NTIS
driven architecture and QSL in existing QoS-aware discovery approaches for
enterprise systems. The intent of studying these approaches is to build a
solution that can expand as well as subsume the capabilities of the current
Chapter 7
QoS-aware Discovery Mechanism
7.1 Introduction
Sustainability in operational business is an important criteria for enterprises
to evolve or adopt any innovation. Keeping this essential need of run-the-
business for enterprises, this chapter studies and shares the resulting flow of
using NTIS [18] and QSL [19] in existing state of QoS-aware SOA deploy-
ments. To enlist some of the very common use cases of redundancy for these
QoS-aware systems are as follows:
1.) Reusability [158] is one of the key reasons for enterprise SOA deploy-
ments. A single service can be re-used in different application and can
be accessed by different consumers. These consumers may have differ-
ent QoS requirements from the same service. For example: An appli-
cation would prefer to use services either co-located or in closer data
centers while building composite application for higher performance.
2.) Services are used across organizational units [127] which means if it is
developed by one business unit it should be exposed across it bound-
136
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 137
aries to be re-used by other organizational entities and units. A service
provider may provide multiple end-point to segregate users across busi-
ness unit boundaries .
3.) Services may also be replicated to meet differential operational cost. If
cost gets varied due location of data centers, service provider would
like to replicate the same to less-cost location.
4.) The same implementation of service may be redundantly deployed to
cater to provide differential QoS requirements. The demand for these
requirements may change based on-the-fly or planned depending on the
needs.
However the level of maturity of these QoS-aware deployments are not
same across enterprises. The next section discusses the two most viable
QoS-aware service discovery approaches in current enterprise scenarios. It
explains the information flow and interaction diagram of these approaches,
when adding NTIS and QSL to support the discovery approach. It shares
the results of enhanced ESB based discovery architecture leveraging NTIS
and QSL.
7.2 Service Discovery Approaches
Both Network Topological Information Service(NTIS) and Query Specifica-
tion Language (QSL) shall be used to create a framework for QoS-aware dy-
namic discovery for existing service deployments. NTIS server can be used
to define and centrally manage QoS concepts, that client and service can
use to negotiate. The service provider defines QoS assertions and provides
the same to NTIS server .The clients provides the axioms and goals along
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 138
with topological location, that is used by the NTIS server to find and rank
the suitable services. These services are filtered and ranked based on QoS
constraints leveraging topological metadata. The information flow shall vary
based on the SOA stack deployment maturity. The next section explains the
most fundamental QoS-aware discovery approach in the enterprise systems.
7.2.1 Blind Belief QoS Assertions Discovery
In this mechanism the client blindly believes on the QoS assertions declared
by the services during bootstrap. To achieve the same using NTIS, the ser-
vice provider will declare its QoS capabilities either at bootstrap or off-band
through manual entry in the NTIS information repository. The client re-
quests services based on its QoS requirements. The client blindly believes on
the declared QoS assertions from the service provider, it is henceforth named
as ‘Blind Belief’. The service ranking is obtained based on the declared QoS
constraints from the service. It may not be the most effective mechanism
for handling QoS discovery but plays a critical role to begin with deploying
a QoS aware environment. In other words this methodology provides low
entry bar for legacy or older services [117] without re-writing the same. As
a result it allows for fast QoS adoption with varied degree of QoS maturity
[159, 117] in the enterprise. The Figure 7.1 indicates the QoS Assertions
(QA) declared by all the services being send to NTIS during bootstrap and
QoS Requirements (QR) being provided by the client to NTIS. .
The diagram in Figure 7.2 further explains the sequence of interaction
between different components. As a first step client queries NTIS for service
information specifying its requirement for QoSGoals and current location
to calculate the service proximity. NTIS then returns the ranked service
information as a response to the client. Henceforth client interacts with the
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 139
1
Figure 7.1: Blind Belief Discovery Mechanism
corresponding service based on relative ranking obtained. In this mechanism
the ranking is computed by NTIS based on the information provided by the
service provider and QoS requirements of the client without any run-time
feedback and dynamic monitoring of the system. The client believes on the
information provided.
The next section explains the discovery mechanism that measures the
changing QoS at run-time during client service interaction using Enterprise
Service Bus (ESB).
7.2.2 Measured QoS assertions Discovery
In this mechanism QoS assertion as declared by the service will be measured
via middleware component known as Enterprise Service Bus (ESB) [111].
ESB is one of the most commonly used component in the SOA deployment
stack. It provides mediation, transformation, routing of messages among
different components in the SOA system [117]. Since it sits in the middle
client and server perform each communication via ESB. The ESB acts as
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 140
Service NTIS Client
1
2 "Response"
3 "Client-Service Interaction"
Figure 7.2: Sequence Diagram for Blind Belief Discovery Mechanism
a communication backbone for measurement of QoS attributes since all the
data is routed through the same. The ESB in turn provides the measured
QoS assertions for the specified service to the NTIS server.
The Figure 7.3 shows the client sending QoS Requirements to the ESB.
The dotted line indicates the services sending QoS Assertions during boot-
strap. It can be noticed that the client service interaction will take place
via ESB. ESB collects this real time metadata and sends it to NTIS. NTIS
performs computation and responds to clients based on the measured asser-
tions provided by the ESB. NTIS improvises QoS metadata based on the
regular feedback received from the ESB. All future responses to the client
are being send using this improvised information. The computation based
on the real-time metadata provides a more realistic measure to QoS routing.
Figure 7.4 explains the flow of information in Measured QoS Assertions
Discovery mechanism. The client first interacts with the NTIS specifying
its discovery requirements via QoS goals and proximity requirements. NTIS
in turn responds with service ranking to the client. Based on the ranked
response client interacts with ESB for the required service. In this mechanism
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 141
Client ESB
S1
S3
S2
NTISQoS
Analyzer
Figure 7.3: Measured QoS Assertions Discovery Mechanism
ESB asynchronously communicates the metrics to the NTIS server at regular
intervals. NTIS server uses this metrics to evaluate QoSAxiom.
Dynamic monitoring is a most adopted approach to capture changing
QoS characteristics [160]. Measured QoS Assertion achieved the same using
ESB. The next section demonstrates the sample execution run for Measured
QoS Assertion Discovery mechanism.
7.3 Sample for Measured QoS Assertion
In order to demonstrate the working of Measure QoS assertion approach with
NTIS the architecture WS-PR framework [18] is extended using ESB as a
middleware. The Figure 7.5 shows the extended architecture where all the
client service interactions are taking place via. ESB.
The next section explains the invocation details about service interaction
with NTIS and ESB architecture for the Figure 7.5.
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 142
Client NTIS Service ESB
1
3"Interaction via ESB"
"Measured QoS assertions"
2
4
"Response"5
Figure 7.4: Sequence Diagram for Measured QoS Assertions Discovery Mech-anism
7.3.1 Service interaction with NTIS
Service providers sends QoS information to NTIS during bootstrap. This
information gets updated based on the inputs obtained from QoS analyzer.
For any new service on-boarded bootstrap message will act as first set of
inputs for QoS information. Service S1, S2 and S3 are Purchase Order ser-
vices. Each service will inform its endpointURI and topological location to
NTIS along with QoS offers. QoSWebService defines expected/observed QoS
values for Web Service provider along with service characteristics defined as
name, capability, endpointURI and topological location. These service char-
acteristics identify and characterize the service. This value is associated with
set of QoS interfaces which define QoS concepts. For service S1 message on
the network is shown in Listing 7.1. Name of the service is ’POService’ and
its capability is ’PurchaseOrder’. EndpointURI defines deployed endpoint
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 143
DataCenter 1
DataCenter 2
Router Located At HQ
D4
Router D1
Router D2
DataCenter 3
Router D3
Service Host 2 Service Host 3
WebService Client
UDDI Service Registry
Step 1. Interaction with Uddi Service
NTIS
Step 3. Interaction with NTIS
Step 2: Interaction with ESB
R1
R2
R3
Service Host 1
S1
S1 S1
Enterprise Service Bus
Step 4: Interaction with Service
C 1
C 2
Data Flow
Network Route
Figure 7.5: ESB Enabled framework
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 144
location URI of the service whereas the tag ’topologylocation’ defines topol-
ogy location of the service as defined using NDL in [18]. Service S1 offers
an availability of 90, has endpointURI e1 and topologylocation tS1. Next
section describes client interaction with PurchaseOrder service.
1 <?xml version="1.0"?>
2 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/
envelope/"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema−instance"
4 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5 xmlns:ntis="http://www.example.org">
6 <soap:Header/>
7 <soap:Body>
8 <ntis:QoSWebService>
9 <name>POService</name>
10 <capability>PurchaseOrder</capability>
11 <endpointuri>e1</endpointuri>
12 <topologylocation>tS1</topologylocation>
13 <qosinterfaces>
14 <interface>
15 <type>Availability</type>
16 <value>90</value>
17 </interface>
18 </qosinterfaces>
19 </ntis:QoSWebService>
20 </soap:Body>
21 </soap:Envelope>
Listing 7.1: Message for Service NTIS interaction
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 145
The next section explains the consumer interaction with ESB.
7.3.2 Consumer Interaction with ESB
Client communicates with ESB specifying its QoS goals along with topo-
logical information. ESB interacts with NTIS to fetch and route request to
service based on ranking information obtained from NTIS. ESB adaptively
manages system by routing request to next available service in case higher
rank service is not available or heavily loaded. The message for client ESB
interaction will be as shown in Listing 7.2.
1 <?xml version="1.0"?>
2 <soap:Envelope
3 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema−instance"
5 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6 xmlns:ntis="http://www.example.org">
7 <soap:Header/>
8 <soap:Body>
9 <getProximityList>
10 <serviceidentifier>sid1</serviceidentifier>
11 <clientlocation>tc1</clientlocation>
12 <qosgoal>
13 <description>manadatorygoals</description>
14 <type>mandatory</type>
15 <name>PurchaseOrder</name>
16 <axiomrequired>availability.greater.70,rtt.less.3sec </
axiomrequired>
17 </qosgoal>
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 146
18 </getProximityList>
19 </soap:Body>
20 </soap:Envelope>
Listing 7.2: Consumer Interaction with ESB
It invokes an operation with the name getProximityList. This operation
specifies service identifier which identifies the service. In this case servicei-
dentifier is ’sd1’ for service S1. Clients also need to provide its topology
location. In this case it is tc1 for client C1. In alignment with QoS DSL
QosGoal specified client requirement using a set of axioms. Client C1 re-
quires availability greater than 70 and round trip time less than 3 sec. The
next section details the results obtained using RTT as a client QoS goals.
7.4 Results and Experimental set-up
This experimental set up is simulated to calculate Round Trip Time (RTT)
for both the clients C1 and C2 for sample enterprise topology shown in Figure
7.5. In the figure S1, S2 and S3 are redundant services located in three
different data centers. Client C1 is co-located with S1 and C2 with S2.
Clients C1 and C2 specify their QoS goals using QSL to ESB. Similarly S1,
S2 and S3 inform NTIS about QoS assertions using QSL during bootstrap. In
order to understand the impact of client and service topological location both
C1 and C2 are being located at different data centers. They both request
‘Purchase Order’ service with the same QoS goals. Services S1 and S2 offer
availability of 90 but service S3 offers availability of 60. First execution
sequence is done without using NTIS followed by second execution sequence
with NTIS. To evaluate the impact, it is assumed that no other redundancy
management technique at application or hardware. UDDI is assumed to
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 147
Figure 7.6: RTT for co-located client with and without NTIS
store the list of all redundant services. The impact of the system is studies
by bringing down the service S1 at 40 ms.
Figure 7.6 shows results obtained for client C1, that is co-located with
S1 with and without using NTIS. Without NTIS client C1, directly contacts
service S1. When S1 becomes unavailable at 40ms, request fails. For second
execution sequence with NTIS, client C1 sends request to ESB, that interacts
with NTIS along with the client QoS goals and topological location. The
NTIS responds to ESB with the ranking information shown in Listing 7.3.
1 Location: DataCenter1 rank:1
2 Location: DataCenter2 rank:2
Listing 7.3: NTIS ranking
It can be seen that the NTIS returns only service S1 and S2, since these
services satisfy client QoS goal of availability greater than 70. Availability of
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 148
Figure 7.7: RTT for remote client with and without NTIS
S3 is 60, hence it got eliminated in ranking. NTIS ranks S1 with rank1 and
S2 with rank2 for RTT, that should be the case as well since S1 and C1 are
co-located. ESB therefore routed C1 to S1. Figure 7.6 also indicates behavior
of SST independent of using NTIS. RTT remains same for co-located client
till both the services are available. When service S1 becomes C1 connects to
next possible ranked service.
Figure 7.7 shows behavior of RTT for client C2. Client C2 is remotely
located to S1 and is co-located with S2. Without NTIS, client C2 connects
with service S1, since it is first available service returned from UDDI. It sees
a larger RTT of 2200 ms and no re-routing in case of failure. With AQDF
C2 contacted S2 based on ranking determined by NTIS as shown on Listing
7.4 .
1 Location: DataCenter2 rank:1
CHAPTER 7. QOS-AWARE DISCOVERY MECHANISM 149
2 Location: DataCenter1 rank:2
Listing 7.4: NTIS ranking for C2
In case of failure ESB routes it to service S1, which is next available service in
ranking. One can see obvious advantage of high availability, faster response
time and fault-tolerance with ESB architecture. This experiment demon-
strated that correct identification, ranking and routing the services based on
client selection criteria. It also eliminates services not satisfying client QoS
goals and routes client to another next most appropriate service. The next
section summarizes the work done in this chapter.
7.5 Summary
The work done in this chapter demonstrated the injection of NTIS and QSL
in the existing QoS-aware discovery approaches. The obvious advantage of
introducing NTIS and QSL is to obtain the maximum value from existing
system deployments with redundancy management in a controlled enterprise
set-up. The results indicate the obvious advantage of the enhanced architec-
ture with NTIS and QSL. The current state of enterprises is hybrid with re-
spect to the maturity of SOA stack. Not all applications are service-oriented
and availability of the standard middleware like ESB may not be standard-
ized across the enterprise. In order to address and improvise the middleware
and nascent dynamic approach the next chapter demonstrates an Adaptive
Service Discovery framework for generic QoS attributes suiting the hybrid
state of enterprise SOA systems.
Chapter 8
Adaptive QoS-aware SOA
Discovery
8.1 Introduction
Adaptive discovery is one of the key needs for enterprise SOA systems. It
is seen that State-of-the Art works in Adaptive discovery approaches mainly
focus on the aspects of reconfiguration, optimization and adaptation in the
business process orchestration and service-composition layers. The suggested
approaches are mainly based on the assumption of pre-defined workflow for
orchestrations and composition. In real-world, the number of similar services
in these cases may not be very large. However it is realized, that there is
an exclusive need to address the issue of adaptation for foundational services
layer or platform services where replication and redundancy is one of the key
ways to improve QoS. These services are the most commonly used fundamen-
tal services and can be deployed redundantly across the network based on
the consumer demands. The adaptive QoS-aware discovery problem is mod-
eled as an optimization problem in the literature. As part of this thesis, an
150
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 151
adaptive discovery framework has been designed along with a discovery mech-
anism and a global optimization approach for service selection. This chapter
explains the Adaptive discovery framework and the corresponding discovery
mechanism along with the experimental results. It first introduces and briefs
the key elements of the framework. Next it explains the Distributed Coor-
dination Discovery Mechanism ( DCDM) followed by Quality Classification
Model (QCM), Quality Evaluation Mechanism (QEM) and service selection
algorithm. The simulation software is developed for implementation of the
framework. The results of simulation are discussed and explained to exhibit
adaptive behavior. The next section details the adaptive QoS-aware frame-
work.
8.2 Adaptive Discovery Framework
This framework is designed considering the accuracy in matchmaking and
performance as one of critical requirement [161] for business services. Based
on these requirements, this study provides a distributed coordination discov-
ery mechanism for generic adaptive QoS-aware discovery using topological
approximation. In contrary to most of the works, that provide an optimiza-
tion based on a single utility function this approach supports optimization for
multiple minimization functions, which are derived from client QoS Goals.
A global optimization approach has been developed to reduce the problem
space, and to solve the problem of multiple local minima using non-convex op-
timization [162]. The mechanism exhibit two key characteristics of adaptive
behavior namely: self-healing and self-management. This framework builds
upon and leverage the previous works [18] and [19]. The extensions to [18] in-
clude consideration of generic QoS parameters, development of common QoS
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 152
model, service selection algorithm for adaptive QoS-aware discovery and sim-
ulator implementation. The work uses high-level QoS language proposed by
us [19] for communication among participating entities in the systems. The
key elements of the framework are:
• Distributed Coordination Discovery Mechanism :] It provides
an adaptive discovery mechanism by coordinating and evaluating the
changes in system, based on the feedback provided by the consumers
and service providers on QoS parameters. This feedback is provided
as assertions by service providers, and observations by consumers to
a centralized broker NTIS. NTIS calculate the ranking of the services
based on client QoS Goals.
• [Quality Classification Model (QCM):] A classification model has
been developed to categorize QoS attributes based on its measurable
characteristics. Another level of categorization is introduced based on
its relationship to the network topology.
• [Quality Evaluation Mechanism (QEM)]: A QEM is devised to
evaluate and measure QoS characteristics based on the QCM. Quality
attributes of each server node are periodically evaluated based on the
feedback of active clients in the system.
The next section explains the interaction and information flow in the
discovery mechanism using NTIS and QSL.
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 153
Client
ESB
S1
S3
S2
NTISQoS
Analyzer
Push Push
Push
Push
PushPush
Figure 8.1: Distributed Coordination Discovery Mechanism
8.3 Distributed Coordination Discovery Mech-
anism
Figure 8.1 explains the interaction of client and services. The client sends ob-
servations, and service sends measured QoS assertions periodically to NTIS.
A high-level domain specific language developed by us in [19] is used by ser-
vices and consumers to communicate QoS assertions and QoS observations
to NTIS.
ESB [163] provides a standard middleware infrastructure for enterprise
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 154
SOA systems. However enterprises are heterogeneous with respect to the
SOA deployment. It means, not all applications are service-oriented or use a
common middleware such as Enterprise Service Bus (ESB) for interaction. In
practice, all applications may not be mature enough for managed QoS-aware
discovery approach. In this approach, there is no fixed transport for com-
munication. As shown in Figure 8.1 clients can interact directly with NTIS
or can use SOA middleware (ESB) as a transport mechanism. After the ini-
tial bootstrap, the client will send measured QoS observations based on its
experience of service interaction to NTIS. Services will update NTIS peri-
odically for any changes in QoS capabilities. For consumers leveraging SOA
infrastructure, updated QoS information is sent to by the Enterprise Service
Bus. Any new service added into the system can self-declaratively inform
NTIS about its QoS assertions. Client and services may also communicate
via ESB, and ESB will update NTIS, regarding updated QoS assertion. As
clients and services do not rely on any fixed transport, this approach serves
the current state of heterogeneous SOA deployments in enterprise systems.
The key steps of service interaction with NTIS are as follows:
• Service sends initial QoS declaration assertions to NTIS.
• Service will periodically push assertions to NTIS based on self-evaluation.
• NTIS updates its information about service QoS.
Similarly, client interaction with NTIS takes place in two major ways, as
explained below
• Clients can also send dynamic updated information about QoS request
based on updates it gets from NTIS.
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 155
• Clients will refresh its cache based on the response from NTIS and
can send updated QoS request to interact with the service in changing
dynamic conditions.
The key extensions in NTIS to support this approach are as follows:
• Computes and processes declarative QoS assertions and observations,
send to it by distributed service providers and consumers.
• Analyses client QoS Goals.
• Determines service ranking and path to the best service based on the
QoS constraints.
A QoS classification model (QCM) is used for consistent evaluation of
QoS parameters based on its measurable characteristics and topological de-
pendence. Leveraging topological information at an application level helps
in taking care of user-defined and application-defined QoS-aware discovery
mechanism on the enterprise network. A QoS evaluation mechanism (QEM),
is developed based on QCM, to consistently calculate QoS values of all ser-
vice nodes in the system. The next section details the Quality Classification
Model (QCM) and its characteristics .
8.4 Quality Classification Model
Figure 8.2 depicts the Quality Classification model(QCM) conceived in this
study for categorizing QoS attributes. There are two levels of categorization.
The first level marks attributes based on their measurable characteristics as
Measurable vs. Non-Measurable, defined as follows:
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 156
• [Measurable:] Measurable attributes can be assigned discrete nu-
merical values. For example, Availability or Response Time can be
assigned a numerical value. Such attributes can be defined using three
major characteristics: name, unit, range and values.
• [Non-measurable:] Non-measurable attributes cannot be numeri-
cally measured but can be verified and asserted by the system. These
attributes can be assigned Boolean values of true or false. For exam-
ple, if a server asserts that it supports SSL as a security protocol, a
numerical value cannot be associated with this assertion. It can only be
assigned a Boolean value, and the system can only verify the claim and
return a Boolean value accordingly. These attributes can be defined
using three major characteristics: name, description, unit and value.
Unit in this case is Boolean and value can be “true or false”.
Measurable and Non-measurable attributes and their characteristics are de-
fined using the QoS concept element of QoS DSL defined in [19]. Measurable
QoS attributes are further classified at the second-level into Topologically
Dependent (TD) and Topologically Independent(TI), as defined below:
• [Topologically Dependent:] Measurable attributes that are im-
pacted by the relative location of the client and server in a network
topology are termed “Topologically Dependent (TD)” attributes. For
example, the Response Time of a server is dependent on the relative
location of client. For a set of redundant services, a service that is
topologically nearer will yield a shorter round-trip time (RTT).
• [Topologically Independent (TI):] Measurable attributes that are
independent of client and server are termed “Topologically Independent
(TI)” attributes but are more dependent on individual server capacity.
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 157
For example, the availability of a server is dependent on deployment
server characteristics and should not vary with the relative location of
consumers interacting with it.
QualityClassification
Model
Measurable
Topologydepen-dent
Topologyinde-
pendent
Non Mea-surable
Figure 8.2: Quality Classification Model
QoS assertions and observations provided during bootstrap will evolve
and change for a running system. A dynamic QoS evaluation mechanism is
developed to evaluate these QoS attributes using QCM. To evaluate these
QoS characteristics, it is required to use a network model to uniquely repre-
sent the nodes in the system and its participating entities. The next section
explains the network model depicted for client-server interaction as a part of
this study.
8.5 Network Model
NTIS already has a topological representation of the network. The foremost
requirement of computation, is for each client using one of the known servers,
to periodically send its measurements of server QoS attributes to NTIS. We
envision that this activity should happen once every 5 minutes. Figure 8.3
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 158
Node 1C11
Node 2C12
Node 3
Node 4S11
Node 5S12
Node 6S13
Node j
DC1
DC1
DC1
DC1DC2
DC3DCn
Figure 8.3: Network Model
shows the network model used in this study to model client-server behavior
for QoS evaluation.
There are multiple nodes in the system. These nodes are distributed
across data centers in an enterprise. Figure 8.3 shows multiple copies of ser-
vice interface 1 deployed across data centers. S11 indicates the first instance
of service interface 1 at Node 4 in data center 1( DC1). S12 indicates the
second instance of service interface 1 at Node 5 in data center 2 (DC2). Sim-
ilarly S13 indicates the third instance of service interface1 deployed at Node
6 in network at data center 3 (DC3). C11 indicates the first client interacting
with service interface 1 at Node 1 in data center 1 (DC1). C12 indicates the
second client interacting with service interface 1 acting from Node 2 in data
center 1( DC1). These clients can be local to the deployed service interface.
With this depiction of the network model, we identify each service inter-
face uniquely in the system. Each client in the system is identified based
on the service interface it is interacting with. Let each interface or service
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 159
functionality be represented by index “i” and each instance of the specified
interface be identified by unique index “j”. As a result, Sij represents the jth
server serving the ith interface. Similarly, Cik defines the kth client needing to
interact with the ith interface. It can connect with one of Si’s servers based
on ranking results.
The feedback provided by each client is represented in a quality matrix
of size m*n. In this matrix, a row represents unique deployment of a service
interface identified by “i”, and a column represents a quality attribute iden-
tified by “l”. Let “n” be the total number of quality attributes. For client “k”
interacting with Sij the quality matrix will be as shown in Equation 8.1.
Qjil(k) =
0, row 6= j
qlik, row = j & col = l
(8.1)
qlik measure of lth attribute for kth client
One can see Qilj(k) represents the observations of the kth client for the
ith service interface. We represent Qilj(k) by the short hand notation Q(i,k)
because the other variables are implicit. It is a sparse matrix with only
one row per jth server it is interacting with. During service composition in
an orchestrated environment, one client can interact with multiple service
interfaces, resulting in multiple matrices per server interface.
For client C11 in Figure8.3 interacting with S12, the quality matrix will
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 160
be as shown in Equation 8.2.
Q(1, 1) =
1 2 3 .... lthcolumn .... nlthcolumn
0 0 0 ...... lth0 .... ....
95 1 80 ...... lthmeasure .... ....
(8.2)
All these observations are sent by each client to NTIS. The next section
details the Quality Evaluation Mechanism of quality attributes based on
Q(i,k).
8.6 QoS Evaluation Mechanism
NTIS has current QoS measurements of all the clients interacting with the
service interface captured using Q(i,k). It also has server QoS measurements
communicated to it during boot strap for that specific interface. With this
data set from the client and server for QoS observations, NTIS processes and
evaluates QoS attributes using the QoS evaluation mechanism. As the client
is the first-hand user of the system, we have devised an evaluation mechanism
of these redundantly deployed services based on its actual invocation feedback
of QoS values. But it differs based on their classification category determined
by QCM. The next section explains the evaluation mechanism of these non-
measurable QoS attributes.
8.6.1 Evaluation of Non-Measurable attribute
Each of the non-measurable(NM) attribute is assigned a Boolean value of true
or false (0/1). Initially, a default value of “false” is assigned to all Boolean
attributes. Let us consider we need to determine the value of the nth NM
attribute. We introduce a Reduction Matrix as shown in Equation 8.3 to
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 161
filter out the nth measure of quality vector.
Rn =
0, l 6= n
1, l = n
(8.3)
The Reduction Matrix in Equation 8.3 represents a row vector of size “n’
whose value is 0 for all quality attributes except the nth attribute, whose
value needs to be determined.
In principle, we argue that we can obtain the nth NM attribute by the
Hadamard Product [164], using element-wise multiplication of individual
measures of server ‘j’ with the Reduction Matrix. Equation 8.4 represents
qn as the value of nth NM attribute for a server j. Here, the operator ‘o’
represents a Hadamard Product representing element-wise multiplication of
the corresponding vectors. Qa,b and Qa,c represent the quality vector data
set of clients b and c calculated using Equation 8.1.
RnT represents the transpose of the Reduction matrix shown in Equation
8.3. Multiplying the Hadamard product of the whole quality matrices with
RnT results in a Boolean value of 0 or 1 for the nth NM attribute.
qn = RTn ×
∑j
(Q(a, b)oQ(a, c)
) ij (8.4)
For the topology in Figure 8.3, we demonstrate the calculation of SSL
as a NM attribute at server 1 for 1st instance of service (S11). Say SSL
is represented by the 4th index of the Quality matrix. Consider that there
are 4 quality attributes measured for each server: Response Time (RT),
Transaction time (TT), SSL Security (SSL) and Availability (Al). Sample
values of the Quality matrix for server 1 for client 1 are indicated as Q(1,1)
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 162
as shown in Equation 8.5 .
Q(1, 1)1 =
RT TT SSL AL
1 2 1 90
0 0 0 0
(8.5)
The value of SSL will be calculated, using Equation 8.6:
q4 = RT4 ∗(Q(1, 1)1oQ(1, 2)1)11 =
[0 0 1 0
]T∗([1 2 1 90]o[2 5 1 95]) = [1]
(8.6)
The calculated value indicates that SSL is 1, i.e., SSL is “true” for server
1. The next section explains the evaluation mechanism for Measurable At-
tributes
8.6.2 Determination of Measurable attributes
Discrete measurable quality attributes must be handled in a different manner,
as categorized by QCM classification. These quality attributes can be further
classified into topologically dependent or independent, as shown in Figure 8.2.
We first detail the evaluation methodology of TD attributes.These attributes
use Dijkstra algorithm to determine network cost based on distance.
Evaluation of Topologically Dependent Measurable Attributes
To measure the value of Topologically Dependent (TD) attributes, it is im-
portant to understand and define their relationship with topology. The un-
derlying mechanism of collaborating feedback is same. We propose a mecha-
nism to calculate values of TD attributes at a specific server by considering
the statistical aggregation of network distance (ND) as determined by Algo-
rithm 1.
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 163
Algorithm 1: Determination of TD Measurable attributesData: rmk: current response time of server with interface m at location k;Rmk: a set with new observations of Response Time with m at location k;ndij: denote the network distance from node i to node j considering there is adirect edge from i to j;Ob: defines all set of observations for TD attributes in previous cycle;Obm: current set of observations for TD attributes grouped by interface m;NDij : observation of distance from node i to j;Result: Network distance matrix/* 1 */forall Obm ∈ Ob do
Let Smk be the set of observations for server k for interface m;/* 2 */forall Smk ∈ Obm do
Let Cmkr be an element of Smk if |Smk| =1 thenfor i = ktor do
ndij+ = ndij;endRmk = Cmkr -ndij;
end/* calculate the minimum value from the set Smk and assign it
Cmk */else
Cminmkr=min(Smk);
foreach Cmkr ∈ Smk doif Cmkris firstelement then
rtmk =Cmkr-ndij ;endelse
NT=Cmkr-rtmk;end/* Find path from k to r */foreach edge e from y to z do
eyz = NT ∗ ndyz/∑
ndij ;NDyz=NDyz +eyz;
endend
endend
endforeach NDij do
NDij += NDij ;if |(NDij)| < 5 then
ndij=Mean(NDij);endelse
ndij=Median(NDij);end
end
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 164
To explain the algorithm, let us measure the TD attribute Response Time
(RT). Response Time can be defined as a sum of “Network Transmission time”
(NTT) and “ Server processing time” (SPT), as shown in Equation 8.7.
Responsetime = SPT +NTT (8.7)
SPT is independent of topology. It is more dependent on server char-
acteristics. In contrast, NPT is dependent on relative network topological
distance of the client from the server. The measure of response time sent by
the client cannot be simply used to determine the root cause of the delay.To
solve this puzzle, we made certain simple assumptions as listed below:
• Server Processing Time (SPT) is defined to be the least time re-
ported by any client interacting with that service in that “Reporting
Cycle”.
• Reporting cycle is defined as the time in which we record responses
from all clients and process them in a single batch. It can be in the
range of 15 to 30 min based on the scenario.
Next we explain the stepwise execution sequence of Algorithm 1 to calculate
response time. Let the network delay from node i to j be denoted by NDij
and let NDSij denote the set with current observation for edge “ij”. Let Smk
be defined as the current observations of server k for interface m. The steps
of execution of the algorithm are as follows:
• [Step1:] As a first step, group all the observations of the last cycle
QoS data-set by server interface.
• [Step2:] Repeat Step 2 to Step 7 for all known service interfaces when
current is j.
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 165
• [Step 3]: For jth interface repeat Step 3 to Step7.
• [Step4:] For Smk, obtain all the client observations and repeat Step 4
to Step7.
• [Step5:] If there is only one observation for Smk ‘Use the current values
of ND ij to determine server time’ else ‘Use the lowest Response Time
measure as a Server Response Time of Smk and proportionally distribute
remaining time along the path from Ckm to Sij’.
• [Step6:] For each NDij, if the number of elements in the set is less
than or equal to“5” “ndij = Mean(NDSij) ” else “ndij = Median(NDSij)
”
• [Step7:] If new value of NDij is within the tolerance level for all values,
double the reporting cycle capping it at once an hour. If the value of
NDij is more than 5 times the tolerance level for any value, reduce the
repeat cycle time.
To further explain we begin by choosing a minimum value of an attribute
from the QoS measurements data set as a base value. The current value is
determined based by proportionally distributing the next minimum value of
the data set along the path from source to destination. This path can also
be weighted. Finally, statistical measurements are used to determine the
weighted average value.
Topologically independent (TI) attributes are not impacted by the relative
topological location of client and server. Hence, these attributes can be
determined at a specific server node independent of client location. The next
section explains the mechanism for evaluating these attributes.
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 166
Evaluation of Topologically Independent Attributes
These attributes do not depend on the location of client and server. We em-
ployed a similar statistical algorithm to evaluate them. The process consists
of taking the median of all the observations in the previous reporting cycle
for the specified server, which works perfectly because the median value de-
fines the half-way mark in terms of agreement among all clients of the service
which can act as a good measure of the behavior of the service.
So far, we have described a mechanism to define and measure QoS attributes
in a distributed environment. The next section explains the Service Selection
Algorithm implemented in NTIS to discover services adaptively based on the
dynamic QoS requirements of consumers.
8.7 Service Selection Algorithm
The QoS selection process requires clients to specify criteria on which to se-
lect a service endpoint. QoS DSL[19], is used as a language for specifying
QoS constraints to the NTIS server. QoS measurements are centralized in
the NTIS server, which further uses them for service selection. A client re-
quest specifies conditions by which to choose the service. NTIS acts as a
service selection engine to select service based on selection criteria provided
in client request. Clients can specify two types of conditions, Boolean and
minimization, to specify QoS constraints also known as QoS Goals. Boolean
constraints express client requirements using Boolean constraints like ‘Avail-
ability should be greater than 0.95’. Minimization constraints express mini-
mization conditions such as ‘Minimum Response Time’ or ‘Minimum Cost’.
These constraints need to be analyzed for service selection. Based on the
type of constraints, we have different resolution mechanisms to resolve these
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 167
constraints. Results from both resolution mechanisms are later consolidated
to select the required service.
To resolve QoS constraints, the results obtained from QoS evaluation
mechanism in the previous section are leveraged. As a result of QEM, NTIS
has QoS measurements for all server deployments. Let QMi be the Qual-
ity Matrix for service interface i whose rows represents servers and whose
columns represent quality attributes. We will leverage QMi to resolve client
constraints based on the service interface required by the client. The next
section explains the resolution mechanism for Boolean client constraints.
8.7.1 Resolution of Boolean Client Constraints
We define two terms to evaluate Boolean Client Constraints, the Boolean
Reduction Factor (BRF) and Boolean Condition Vectors (BCV) as defined
below.
• [Boolean Condition Vector (BCV):] The BCV of a quality at-
tribute is a column vector obtained by the evaluation of Boolean con-
ditions on the lth attribute column of QMik for client k.
• [Boolean Reduction Factor (BRF):] BRF is a reduction function
obtained by boolean ”AND” of all the Boolean Condition Vectors. Per-
forming Boolean ”AND” of all the Boolean Conditions Vectors results
in a single vector representing all the Boolean conditions.
Once Boolean conditions are evaluated, all these BCV’s are evaluated to
yield BRF. BRF is a reduction function that is obtained by boolean ”AND”
of all BCV as defined in Equation 8.8. Equation 8.8 represents ”Boolean
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 168
AND” of n BCV’s for the ith server interface as requested by client k
BRFk =n∏
i=1
BCVi (8.8)
For client k needing to interact with service interface i, QMik represents the
QMi vector it will act upon. Boolean conditions specified by the client are
picked up one by one to create the Bik vector. Each Bi
k vector results from
the evaluation of the Boolean condition on the ith column of QMik.
Hence, each individual BCV represents the set of servers satisfying partic-
ular Boolean conditions for that interface. The Boolean Reduction Function
reduces the Boolean constraints to a single vector representing servers ca-
pable of satisfying the client conditions. The next section demonstrates the
resolution mechanism for minimization conditions in client QoS constraints.
8.7.2 Minimization of Discrete conditions
The final phase of the selection process is the minimization of discrete con-
ditions. The BRF derived in the previous section also participates in this
process. Discrete conditions can be defined as being topologically aware or
unaware based on the attributes they are defined for. For TD attributes such
as Response Time, we derive Network Cost (NC) based on Network Distance
(ND) derived in Algorithm 1. ND captures the cost of traversal in network
topology. We ran the Dijkstra algorithm to obtain NC from ND.
The next stage consists of resolving the QoS constraints together. All Boolean
conditions are reduced to a single BRF vector, and all discrete conditions are
either dependent on the NC matrix or have a discrete vector for TI attributes
as Cost.
Say there is an operation cost associated with each server in the network.
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 169
Let Cn represent the operation cost for the server located at nth node in
topology. This value is a standard cost for interacting with that server for
any specific operation and is a TI attribute.
On the other hand, TD cost is obtained by reducing the network cost
matrix based on client location. A Reduction Vector as defined in Equation
8.9 is used to determine network cost(NC).
R(j)k = 1 forj = k
= 0 otherwise(8.9)
The Network Cost(NC) for the client running at node k is then calculated
by reducing NC as shown in Equation 8.10
NCk = NC ∗Rk (8.10)
8.7.3 Optimization Approach
Once network cost and BRF is calculated, we need to minimize the combined
cost. An optimization approach is then used to discover the services based on
the minimized cost. The next step involves the Hadamard product of Ck and
NCk respectively, with the BRF(k) vector resulting in two feature vectors,
the Topologically Independent Feature Vector(TIFV) and the Topologically
Dependent Feature Vector(TDFV). This step ensures the removal of nodes
that do not satisfy Boolean constraints. We define two costs as listed below,
for TI and TD attributes .
• Topologically Independent Feature Vector (TIFV): This vector filters
out servers satisfying BRF for topologically independent costs in the
network. It is calculated as a Hadamard Product of the TI cost vector
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 170
and the Transpose of BRF. For Cn it is calculated as shown in Equation
8.11.
TIFVk = CnoBRFTk
(8.11)
• Topologically Dependent Feature Vector (TDFV): This vector captures
servers satisfying BRF for topologically dependent costs in the network.
This cost is determined using Network Cost for that specific client.
It is obtained by Hadamard Product of NCk with BRF, as shown in
Equation 8.12.
TDFVk = NCkoBRFk (8.12)
Finally, we define a minimization function using linear regression to yield
the lowest value as the normalized sum of both feature vectors. Equation
8.13 and 8.14 calculate the normalized values of TIFV and TDFV.
FC(k) = norm(TIFVk) (8.13)
FNC(k) = norm(TDFVk) (8.14)
Equation 8.15 shows the optimization function obtained by element wise
multiplication of Equation 8.13 and 8.14.
J(k) =
FC(k) ∗ FNC(k), if FC(k) > 0 FNC(k) > 0
MaxInteger, otherwise
(8.15)
Based on the equation 8.15, it is clear that it is not strictly convex. The
fact that we have Maxinteger across the equation make it difficult to create a
convex optimization [165] for linear regression. A straight forward approach
to solve this problem would be to iterate through all the elements in J(k).
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 171
We present an optimization that would reduce the problem space drastically.
It uses the fact that global optimum is not present at a point, where the
value of J(k) is MaxInteger. Hence we should not iterate over the elements
which represent MaxInteger. Also it can be argued that MaxInteger represent
points, which do not satisfy the constraints for the QoS Goals.
As a result of the above argument, we use the BRF matrix to find set
of elements that need to participate in global optima selection. This process
helps to drastically reduce the problem space to the candidate services that
satisfies discrete function requirements. The optimization approach has been
fully explained in section 8.8.2 with example and data-points.
The next section provides a motivating example of a distributed enterprise
using this mechanism to discover redundant services based on client QoS
requirements.
8.8 A Motivating Example
Consider an example of a typical enterprise having four data centers located
in New York (NYC), London(LND), Singapore(SNG), and San Jose (SJC).
Nodes in each of these data centers NYC, LND, SNG and SJC host a re-
dundant service represented by a single service interface. We identify it as
service interface 1.
Figure 8.4 shows the topology of this typical enterprise employed for the
execution. Consistently with the terminology adopted, S11, S12, S13 and
S14 represent four redundant services with a common interface 1. Each of
the services S11, S12, S13 and S14 is an inventory service. Clients C1 to C4
for these services are located across all these data centers. As every client
is interacting with service interface 1, we have removed the subscript 1 from
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 172
SJC
NYC SNG
LND
1 2
3
4
5
6
7
8
9
1011
1312
14 15 16
100
100
300
200
100
75
250
200
100
100
100
500
200
200 200
C11
C12C13
C14
S11
S12
S13
S14
Figure 8.4: Enterprise Service deployment
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 173
the client identification. Based on our earlier discussion, C2 represents the
second client interacting with service interface 1, and further clients are des-
ignated likewise. The specifications of the network model, of this enterprise
explaining individual client and service deployment in each of these data
centers are explained below.
1. S11 is the first implementation of service interface 1, deployed in the
SJC data center.
2. S12 is the second implementation of service interface 1, deployed in the
NYC data center.
3. S13 is the third implementation, deployed in the LND data center.
4. S14 is the fourth implementation of service interface 1, deployed in
SNG data center.
5. Client C1 is located in the SJC data center.
6. Client C2 is located in the NYC data center.
7. Client C3 is located in the SNG data center.
8. Client C4 is located in the LND data center.
Server CostS11 500S12 600S13 400S14 300
Table 8.1: Cost per Operation for each Server
There is a cost associated with any operation using these server nodes
in different data centers. The cost for the various servers is explained in
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 174
Listing 8.1: Execution Run
E1 Kill S11 inventory service in SJC
T1 Wait for 2 hrs
E2 Kill S13 inventory service in LND
T2 Wait for 3 hrs
E3 Start service S11 in SJC
T3 Wait for 5 hrs
E4 Kill server S14 in SNG
T4 Wait for 5 hrs
E5 Kill server S12 in NYC
T5 Wait for 5 hrs
E6 Start inventory service S13 in LND
T6 Wait for 6 hrs
E7 Start server S12 in NYC
T7 Wait for 3 hrs
E8 Start server S14 in SNG
Table 8.1.There is also a server processing time of 100 ms for each server.
Clients in each of these data centers will connect to servers within or outside
their respective data centers based on their QoS requirements. The system
is made to run for 5 hrs initially using this algorithm to attain a state of
network equilibrium.
To study the behavior of the system, we inundated a sequence of time
series and event series in the system, as shown in Listing 8.1. Time series [T]
indicates the time for which the state of system remains the same before the
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 175
next event is triggered. Event series [E] indicates the specific event triggered.
We studied the behavior of all the four clients for different QosGoals. The
next section details and analyses the results of the system behavior for the
minimized Round Trip Time (RTT) as Qos constraint.
8.8.1 Round Trip Time as Qos Goals
In the first example, we define the QoS Goal as minimum RTT (Equation
8.16). Round Trip time is the time delay incurred by the client in the request-
response cycle. It is a topologically dependent attribute and is impacted by
the topological distance between client and service.
QosGoals = Minimum RTT (8.16)
We now try to run the service selection algorithm for client 1. In the
QoS Goal, we don’t have any topologically independent factor. Hence there
is a need to look at the Topologically dependent feature vector (TDFV) in
this case. The equation 8.17 defines the TDFV for the first client (k=1).
The corresponding normalized values, FNC(1) are defined in equation 8.18.
Based on the equation 8.15, J(1) will result as shown in equation 8.19. On
running the service selection algorithm, we would get S11 as the server for
C1. The values of feature vector, cost function and minimization function
will be as follows:
TDFV1 =
250.0
825.0
1850.0
1300.0
(8.17)
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 176
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
10500
11000
11500
12000
12500
13000
10500
11000
11500
12000
12500
13000
10500
11000
11500
12000
12500
13000
10500
11000
11500
12000
12500
13000
12
34
0 10 20 30 40Time
TotalR
ound
Trip
Tim
e
client1234
Figure 8.5: Client Rtt plots for minimum RTT
FNC(1) =
5.92
19.53
43.79
30.77
(8.18)
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 177
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
300
400
500
600
300
400
500
600
300
400
500
600
300
400
500
600
12
34
0 10 20 30 40Time
TotalC
ost client
1234
Figure 8.6: Client Cost plots for minimum RTT
J(1) =
5.92
19.53
43.79
30.77
(8.19)
Extending the above selection process every 15 minutes, and on connec-
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 178
tivity failure to server, we plotted the time series graph for client round trip
and cost for events run in Listing 8.1. Cost is determined by the server the
client is connecting with at any point in time. The time series graphs in
Figure 8.5 show the behavior of client round trip time. The corresponding
transition in client behavior for the cost is shown in Figure 8.6.
Let us now try to understand the events impact on the minimization. We
start the discussion with Client 1 and Rtt graph in Figure 8.5. It indicates
that upon event E1, when server S11 goes down in SJC, C1 starts interacting
with S12 in NYC, which is next in ranking for the least topological distance.
On E3, when SJ comes up, C1 resumes interacting with S11 in SJC because
it is local and offers the least topological distance. The remaining events
have no impact on C1 due to topological distance. For client C1 in Figure
8.6, the cost of the server changes from 500 cents to 600 cents and back,
depending on the cost of the server it is connecting with, that is S11 and S12
respectively.
In case of Client 2, it is impacted by the event E5. Upon E5, when S12
goes down, C2 starts interacting with S11 in SJC because it provides the
same RTT, resulting in a near constant line. But at the same if we look at
cost(Figure 8.6), we would see a drastic reduction in the cost since S11 has
lower cost. Notice that since the minimization function is dependent on RTT
and not Cost, client first connects to S12 even when S11 shows lower Cost.
Client C3 is by default connecting to the server S14 for minimum RTT.
Figure 8.5 indicates that upon E4, when S14 goes down, the client transitions
to S12 in NYC. When S12 goes down after 3hrs(E5), C3 starts connecting
to the server S11 in SJC, reconnects to S12 on E7, and returns to S14 upon
E8. The corresponding change in cost is shown in Figure8.6.
Figure 8.5 indicates that when server S13 goes down at E2, C4 connects
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 179
with S12 in NYC. Upon E5, when S12 goes down, C4 connects with S11 in
SJC, as it is the next available server, and reconnects with S12 at E7.
We demonstrated, that once the system attains a state of equilibrium, it
adaptively manages any service failure by re-connecting to another service in
ranking. The next section demonstrates and analyzes the system adaptation
and discovery approach for SSL as a client’s requirement, in addition to
minimum RTT.
8.8.2 SSL and minimum RTT as client QoS Goals
QosGoals =Minimum RTTAnd
SSL Present
where SSL is boolean function
(8.20)
This section analyzes the behavior of the system for client QoS require-
ments of SSL as a security protocol and minimum RTT (Equation 8.20).
SSL is a non-measurable Boolean attribute. The minimization Function in
this case is determined by using the Boolean Reduction Factor to eliminate
services not providing SSL. The remaining services are then ranked for mini-
mum RTT. In our current example, SSL is not supported by S13. As a result,
S13 would be removed by BRF matrix.
In this case, let us first try to study selection algorithm for C1. Since
RTT is Topologically dependent Attribute, the TDFV function is defined in
Equation 8.21. Notice the third row is 0, this is due to BRF matrix and SSL
is false for S13. The corresponding normalized values are defined in Equation
8.22. Since this Qos Goal has no topologically independent attributes, we
would ignore FC(k) as defined in equation 8.13. The final J(1) for the same
is defined in Equation 8.23. The Figure 8.7 tries to plot the function J(1).
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 180
This plot proves the nonconvex nature of the function J(1).
TDFV1 =
250.0
825.0
0
1300.0
(8.21)
FNC(1) =
10.53
34.74
0
54.74
(8.22)
J(1) =
10.53
34.74
MAXINT
54.74
(8.23)
Further the same selection algorithm is repeated for sequence of events
as shown in Listing 8.1.This impacts the client 4, which connects to S13
in the previous example. Figure 8.8 shows client C4 connecting to S12 for
minimum RTT . Upon E5 when S12 dies, it connects to S11 in SJC, resulting
in a higher RTT.
The corresponding cost graph can be seen in Figure 8.9. The initial
connecting cost for client C6 is 600 cents, which is the cost for server S12 in
NYC, followed by connection to S11, resulting in a cost of 500 cents. In this
case, we see the impact of non-measurable attributes on service selection and
corresponding system behavior. The next section discusses client behavior
for another minimization Functions, defined as a product of RTT and cost.
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 181
25
50
75
100
1 2 3 4Index
J(k)
Figure 8.7: Plot for J(1) showing nonconvex nature of function.
8.8.3 Qos Goals as Minimum RTT, SSL and Cost
In the third and last example, we employed QoS Goal as minimum RTT,
SSL and cost. The function is defined in Equation 8.24. This is the most
advanced formulation of the algorithm, since we have all the three types of
constraints: boolean (SSL), topologically dependent (RTT) and topologically
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 182
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
10500
11000
11500
12000
12500
13000
4
0 10 20 30 40Time
TotalR
ound
Trip
Tim
e
Figure 8.8: Client Rtt plots for minimum RTT with SSL
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
300
400
500
600
4
TotalC
ost
Time
Figure 8.9: Client Cost plots for minimum RTT with SSL
independent(Cost).
QosGoals =Minimize RTTAnd
Minimize Server Operation CostAnd
SSL Present
(8.24)
To run the selection algorithm for C1, we need to recall that S13 is with-
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 183
out SSL support, and hence the corresponding row (3rd row) would be empty
in Boolean Reduction Function. The corresponding TDFV is defined in equa-
tion 8.25. The Normalized FNC(1) is as defined in equation 8.26. Cost is
a topologically independent attribute , and corresponding TIFV(1) is given
in the equation 8.27. The normalized version of the same is called FC(1),
and is defined in equation 8.28. J(1) in this case is defined in equation 8.29.
Notice that J(1) is not convex in nature again. The figure 8.10 shows the
corresponding plot for J(1) that clearly proves its nonconvex nature.
TDFV1 =
250.0
825.0
0
1300.0
(8.25)
FNC(1) =
10.53
34.74
0
54.74
(8.26)
TIFV1 =
500.0
600.0
0
300.0
(8.27)
FC(1) =
35.71
42.86
0
21.43
(8.28)
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 184
J(1) =
375.94
1488.72
MAXINT
1172.93
(8.29)
0
2500
5000
7500
10000
1 2 3 4Index
J(k)
Figure 8.10: Plot for J(1) showing nonconvex nature of function.
On repeating the same, for the duration of the simulation, we get the
RTT time series as shown in Figure 8.11. It shows client 1 connecting to S11
due to the least value of minimization function. We can see that upon E1,
despite S14 offering inferior RTT, the product of server operation cost and
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 185
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
10500
11000
11500
12000
12500
13000
10500
11000
11500
12000
12500
13000
10500
11000
11500
12000
12500
13000
10500
11000
11500
12000
12500
13000
12
34
0 10 20 30 40Time
TotalR
ound
Trip
Tim
e
client1234
Figure 8.11: Client Rtt plots for QoS Goals as minimum Rtt and Cost
RTT is the least for S14, resulting in C1 connecting to S14. Upon E3, when
S11 resumed operation, C1 connected to it.
The corresponding cost graph in Figure 8.12 indicates the server operation
cost incurred while transitioning to different servers. Figure 8.11 indicates
an initial cost of 500 cents for client C1, which is the operation cost for server
S11, changing to 300 cents upon event E1 when C1 connects instead to S14.
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 186
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8
300
400
500
600
300
400
500
600
300
400
500
600
300
400
500
600
12
34
0 10 20 30 40Time
TotalC
ost client
1234
Figure 8.12: Client Cost plots for minimization function as product of Rttand Cost
We observed that when using the product of RTT and server operation
cost as a minimization function, if the cost per operation is less than RTT,
clients will connect to the server offering the lower cost, and vice versa.
The above three examples in the simulation, clearly shows execution of the
selection algorithm and also impact of the various type of variables: boolean,
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 187
topologically dependent and topologically independent. In the next section,
we detail at the simulation software that is developed as part of this work.
8.8.4 Simulation Software and Reproducibility
The above algorithm is implemented as simulation software in Scala, and the
same is open sourced at https://github.com/msikri/simulation. The
software is written in Scala and the associated graphs are plotted using R.
The R scripts are also provided in repository. The application was executed
on Ubuntu 14.04, But should in principle work on any Unix. The steps to
reproduce the above simulation are as follows:-
• Setup Scala project.
We have used Scala ide http://scala-ide.org/ for building the sim-
ulator system. But any Scala aware editor would work.
• Modify the experiment for execution.
The experiment or simulation setup is done in Creator2.scala https://
github.com/msikri/simulation/blob/master/expt2/src/main/scala/
org/apache/ntis/sim/base/creator/Creator2.scala. The line no
47-53 defines the QoSGoal for the experiment. Based on the need, we
need to select one of them.
• Running the experiment.
The simulation can be executing by running Exp2App.scala https://
github.com/msikri/simulation/blob/master/expt2/src/main/scala/
org/apache/ntis/sim/base/Exp2App.scala. It results in generation
of metrics.txt file (location user.home/sim/metric.txt). The metrics
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 188
file contains the cost and Rtt readings as observed on the clients at the
various times during the experiment.
• Data Cleanup.
The data cleanup setup involves taking up metric files and cleaning
it and converting it into csv format for analysis and plotting. The
cleanup operation is carried out by DataClean.scala https://github.
com/msikri/simulation/blob/master/base1/src/main/scala/org/
apache/ntis/sim/data/DataClean.scala . We should execute Dat-
aClean.scala for generation of processed files clientRttall.csv location
(user.home/sim/process/clientRttall.csv) and clientCostall.csv loca-
tion (user.home/sim/process/clientCostall.csv).
• Plotting the Graphs
The data is plotted using Rproject/ggplotscript.R. The script also as-
sumes the location of the files clientRttall.csv and clientRttall.csv as
defined above. It uses the time series data in the csv files and plots the
corresponding time series graphs for cost and Rtt respectively.
All of the above examples, can be recreated using the steps provided
above. For each set of experiment, the Creator2.scala need to be modified
to be re-execute. The Open source software contains a Time Multiplexed
simulator complete written in Scala using Akka based Eventing. The source
code is open sourced for bringing in reproducibility in the data provided.
8.9 Summary
The vision of Adaptive Service Oriented Enterprise (ASOE) requires engrain-
ing the adaptiveness in the core and foundational layers. In case of SOA it
CHAPTER 8. ADAPTIVE QOS-AWARE SOA DISCOVERY 189
starts foundational services layer. Managed redundancy and replication are
required to provide a quality driven controlled environment for enterprise sys-
tems. This chapter explains an adaptive framework and supporting artifacts
developed to enable the same. Distributed Coordination Discovery mecha-
nism (DCDM), Quality Classification Model (QCM) and Quality Evaluation
Mechanism (QEM) are three key contributions of this framework. DCDM
enables distributed interaction of service providers and service consumers
with NTIS to provide real-time feedback of the system. The feedback is used
to evaluate QoS at each node in the system using Quality Evaluation Mech-
anism to attain a state of network equilibrium. Ranking is determined by
NTIS based on QEM and a service selection algorithm allowing considera-
tion of the cost of servers across different data centers. The value of QoS
attributes as observed or asserted by the consumer and provider are pro-
vided as feedback to a centralized broker. In literature there are various
ways to provide feedback [166] like fuzzy logic [64], prediction-based [167],
reputation-based [168], [169]. In our approach QoS values provided by the
clients, are values observed by the actual invocation of the services. The ap-
proach of quality vector aggregation has also been proposed in other works
like [98] and [108]. In[98] QoS data retrieval mechanism differs based on the
QoS dimension of the attributes. The work in [108] calculates aggregated
quality vectors for composite tasks in services based on their relationship in
the workflow. In current approach, these values are regularly provided by
consumers and services themselves using the common QoS domain specific
language[19]. It aids in selecting the best service out of multiple functional
similar services given the client constraints. The solution provided in this
approach is generic enough to cater to different minimization functions and
is not bound to a single objective function as is the requirement. The next
Chapter 9
Conclusion and Future Work
The major contributions of the thesis are the following:
First a formal methodology is designed that allows agile SOA develop-
ment by providing a prioritized set of functional and non-functional agile
requirements. This methodology is a modified form of Software Quality Func-
tion Deployment technique known as Blitz-QFD. The default methodology
is not SOA specific and does not mandate non-functional requirements. The
modified methodology known as Blitz-CSOA takes care of designing service-
oriented systems with specific consideration of non-functional requirements
allowing prioritization of requirements based on customer needs. The three
key steps added in the methodology are related to adding contextual in-
formation for design requirements, building HOQ matrix for non-functional
requirements and adding decision matrix to align customer needs with the
architect feedback. To suit the differentiated needs of enterprise systems two
new scales (convex and normal), have been developed to rate the require-
ments based on time-to-delivery needs. The methodology has been demon-
strated using a Case Study for B2B e-procurement system.
The second key contribution of this work is an Adaptive QoS-aware dis-
191
CHAPTER 9. CONCLUSION AND FUTURE WORK 192
covery framework for redundant-services, describing Distributed Coordina-
tion Discovery Mechanism (DCDM) developed as part of this work. It ex-
hibits self-healing and self-management capabilities. The self-healing is ex-
hibited by automatic of the system and clients from service failures during
run-time. The self-management capabilities are engrained in the architecture
by enabling service providers and consumers to share there state, capabilities,
goals and feedback during run-time. This mechanism has been developed in
a phased manner. At first an architecture has been proposed that uses Net-
work Topological Information Service (NTIS) as a broker to determine the
ranking of services . This calculates the ranking of services using using Dijk-
stra algorithm and topological metadata information of the service providers
and consumers. As a next step a high-level domain specific language is being
defined in order to enable communication among the participating entities
in the system. It allows defining QoS capabilities and client QoS goals. Web
Service Proximity Resolution Framework(WS-PR) framework is a represen-
tative architecture, that is built to understand the success of using service as
NTIS and topological metadata to determine the ranking of service. It could
only detemine the ranking based on proximity as QoS.
Finally DCDM uses NTIS and DSL, all of them are developed in this work,
to enable adaptive discovery for generic QoS parameters. A QoS classification
mechanism(QCM) is defined to classify quality attributes in the system. A
QoS evaluation approach (QEM) is designed to calculate QoS at each node in
the system leveraging feedback provided by consumers. NTIS determines the
ranking of service using topological metadata, quality evaluation mechanism
and service selection algorithm. A new service selection algorithm has been
designed using global optimization approach to calculate the ranking of the
service based on the minimization function determined by client QoS goals.
CHAPTER 9. CONCLUSION AND FUTURE WORK 193
The service selection algorithm ranks the service. The next section explains
the key scientific contributions of the research work.
9.1 Scientific Contributions
During the tenure of this research papers have been submitted and publica-
tions are made. This section summarizes the individual works in the table
9.1.
The research is divided based on the service development cycle phase it is
targeting. As part of enhancing the requirement phase, we decided to extend
the QFD model for Non-functional agile SOA requirements. The work related
to this was published in International Journal on Collaborative Enterprise
[17] in 2014.
In the design phase we first defined the framework for web service selection
using topological metadata called Web Service Proximity Resolution (WS-
PR). This work is published in ACE 2010 by IEEE [18]. The framework is
written in Java. Post to this work we defined the QoS language [in Groovy],
which can be used to define the constraints and assertions, in the web services
domain. This work is published by Springer [19] in 2011. In the third work
in the series, the foundation is laid by connecting the first two works(NTIS
and QoS), and build the framework for using QOS language in web service
selection framework. The same was published in ICC 2014, that is published
by IEEE [170]. The survey of the existing discovery mechanism is also carried
out to understand the gaps and alignment with enterprise needs. The paper
related to that is submitted in Computer Science Review Journal, Elsevier.
In the development phase, various models and mechanism in which dis-
covery frameworks can be implemented is discussed. This work was published
CHAPTER 9. CONCLUSION AND FUTURE WORK 194
Phase Title Conference or Journal
Requirement Derivation of agile SOArequirements usingcollaborative QFD
International Journal ofCollaborative Enterprise 4(4), 234-248 ,Year 2014
Design
Web Service Selection UsingTopological Metadata
International Conference onAdvances in Computer
Engineering (ACE), Year2010
Design of Domain SpecificLanguage for Web ServicesQoS Constraints Definition
Information Technology andMobile Communication,
411-416 ,Year 2011
Service Discovery for SOASystems with Topological and
QoS Constraints
International Conference onCommunication and
Computing (ICC-2014), 5 ,Year 2014
Survey and Impact ofQoS-aware SOA discoverymechanism in real-worldenterprise environments
Computer Science ReviewJournal, Elsevier (Submitted)
Development
Adaptive SOA stack anddiscovery framework for
redundant services
9th International Conferenceon Industrial and InformationSystems (ICIIS), Year 2014
Adaptive QoS-awarediscovery mechanism forenterprise SOA systems
ACM Journal, Transactionon the web (Submitted)
Table 9.1: Table containing all publication
in ICIIS 2014 [76] by IEEE. And finally, an adaptive QoS-aware discovery
SOA solution is proposed bringing all the components defined above in a sin-
gle system. Then the system is defined and simulated in the Scala language.
All the associated source code is open sourced on GitHub. This final paper
with simulation data and details is submitted in ACM Journal, Transaction
CHAPTER 9. CONCLUSION AND FUTURE WORK 195
of the Web.
Blitz-CSOA is a methodology which adds and modifies steps in Blitz-QFD
to suit adaptive SOA design needs . This methodology has been evaluated
via case study for complex distributed architecture of B2B system. The
Agile requirements yielded as part of this methodology will result in devel-
oping the required foundational services. While designing the system using
these services the adaptive discovery needs are fulfilled by Adaptive discov-
ery framework developed as part of Chapter 8 in the thesis. The framework
ensures that services and consumer communicate with each other using NTIS
and DCDM to yield the benefit of adaptive discovery. The evaluation results
of this framework for generic QoS parameters (like SSL, RTT) have been
discussed in the same chapter.
A simulation software has also been developed to simulate the discovery
for a given network topology. The software is open sourced for sharing and
future research. The results are being shared with a motivating example
indicating the high performance and correct behavior of the system. The
architecture proposed for the framework is highly scalable, self-managing
and self-discovering catering to the plug and play nature of adaptive services
in global enterprise environment. The next section details the scope of future
work.
9.2 Future Work
The above contributions are the key steps in realizing the vision of Adaptive
SOA. It enables measured design and discovery of service oriented enterprise
systems that can scale to Adaptive enterprise needs. The manual or verbal
prioritisation by product managers in Agile development methodology is not
CHAPTER 9. CONCLUSION AND FUTURE WORK 196
a fool-proof solution. Requirement Elicitation is an important activity in
SOA systems to avoid any pervasive impact of recurrring cost of re-design.
Not only that, it is important that prioritized requirements are also served in
each iteration in a manner to yield adaptive design. Being consumer driven,
there is less risk of requirements variability using Blitz-CSOA as it is derived
from top customer needs.
Blitz-CSOA is limited to HOQ as a deployment mechanism for require-
ments elicitation. It would be worthwhile to extend it to consider other
aspects of deployment like Kansei engineering [171] and FMEA [172] for
Blitz-CSOA. The adaptive discovery framework has been demonstrated for
generic QoS use cases. However it would be more beneficial to consider its
applicability for dynamic IoT use cases, where devices may add and leave the
network on the fly. The simulation software, language and the broker ser-
vice implementations are shared for further extension for the SOA research
community.
Appendix A
Webservice Topological Selection
NTIS Details
A.1 Service definition for Services
A.1.1 NTIS Service
1 <?xml version="1.0" encoding="UTF−8" standalone="yes"?>
2 <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/
soap/" xmlns:tns="http://www.example.org/NTISService/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" name="NTISService"
targetNamespace="http://www.example.org/NTISService/">
3 <wsdl:types>
4 <xsd:schema targetNamespace="http://www.example.org/
NTISService/" xmlns:Q1="http://www.ntis.org/schema">
5 <xsd:import namespace="http://www.ntis.org/schema"
schemaLocation="./NTIS.xsd" id="ntis" />
197
APPENDIX A. WEBSERVICE TOPOLOGICAL SELECTION NTIS DETAILS198
6 <xsd:element name="getProximityList">
7 <xsd:complexType>
8 <xsd:sequence>
9 <xsd:element name="servicelocation" type="tns:
ServiceLocationType" maxOccurs="1" minOccurs="1" />
10 <xsd:element name="clientlocation" type="Q1:LocationType
" maxOccurs="1" minOccurs="1" />
11 </xsd:sequence>
12 </xsd:complexType>
13 </xsd:element>
14 <xsd:element name="getProximityListResponse">
15 <xsd:complexType>
16 <xsd:sequence>
17 <xsd:element name="locationProximityData" type="tns:
locationProximityDataType" />
18 </xsd:sequence>
19 </xsd:complexType>
20 </xsd:element>
21 <xsd:complexType name="ServiceLocationType">
22 <xsd:sequence>
23 <xsd:element name="site" type="Q1:LocationType" />
24 </xsd:sequence>
25 </xsd:complexType>
26 <xsd:complexType name="locationProximityDataType">
27 <xsd:sequence>
28 <xsd:element name="locationProximity" type="Q1:
LocationProximityType" maxOccurs="unbounded"
APPENDIX A. WEBSERVICE TOPOLOGICAL SELECTION NTIS DETAILS199
minOccurs="0" />
29 </xsd:sequence>
30 </xsd:complexType>
31 </xsd:schema>
32 </wsdl:types>
33 <wsdl:message name="getProximityListRequest">
34 <wsdl:part element="tns:getProximityList" name="parameters"
/>
35 </wsdl:message>
36 <wsdl:message name="getProximityListResponse">
37 <wsdl:part element="tns:getProximityListResponse" name="
parameters" />
38 </wsdl:message>
39 <wsdl:portType name="NTISService">
40 <wsdl:operation name="getProximityList">
41 <wsdl:input message="tns:getProximityListRequest" />
42 <wsdl:output message="tns:getProximityListResponse" />
43 </wsdl:operation>
44 </wsdl:portType>
45 <wsdl:binding name="NTISServiceSOAP" type="tns:NTISService
">
46 <soap:binding style="document" transport="http://schemas.
xmlsoap.org/soap/http" />
47 <wsdl:operation name="getProximityList">
48 <soap:operation soapAction="http://www.example.org/
NTISService/getProximityList" />
49 <wsdl:input>
APPENDIX A. WEBSERVICE TOPOLOGICAL SELECTION NTIS DETAILS200
50 <soap:body use="literal" />
51 </wsdl:input>
52 <wsdl:output>
53 <soap:body use="literal" />
54 </wsdl:output>
55 </wsdl:operation>
56 </wsdl:binding>
57 <wsdl:service name="NTISService">
58 <wsdl:port binding="tns:NTISServiceSOAP" name="
NTISServiceSOAP">
59 <soap:address location="http://www.example.org/" />
60 </wsdl:port>
61 </wsdl:service>
62 </wsdl:definitions>
Listing A.1: NTIS service WSDL
1 <?xml version="1.0" encoding="UTF−8"?>
2 <schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.ntis.org/schema"
3 xmlns:tns="http://www.ntis.org/schema"
elementFormDefault="qualified">
4
5 <simpleType name="LocationType">
6 <restriction base="string"></restriction>
7 </simpleType>
8 <element name="location" type="tns:LocationType"></
element>
APPENDIX A. WEBSERVICE TOPOLOGICAL SELECTION NTIS DETAILS201
9
10
11 <element name="LocationProximity" type="tns:
LocationProximityType">
12 </element>
13
14 <complexType name="LocationProximityType">
15 <sequence>
16 <element name="location" type="tns:
LocationType" maxOccurs="1"
17 minOccurs="1">
18 </element>
19 <element name="proximity" type="tns:
ProximityType" maxOccurs="1"
20 minOccurs="1"></element>
21 </sequence>
22 </complexType>
23
24 <simpleType name="ProximityType">
25 <restriction base="long"></restriction>
26 </simpleType>
27
28 <complexType name="ServiceLocationType">
29 <sequence>
30 <element name="site" type="tns:
LocationType" maxOccurs="unbounded"
minOccurs="0"></element>
APPENDIX A. WEBSERVICE TOPOLOGICAL SELECTION NTIS DETAILS202
31 </sequence>
32 </complexType>
33
34 <complexType name="locationProximityDataType">
35 <sequence>
36 <element name="locationProximity" type="
tns:LocationProximityType"
37 maxOccurs="unbounded" minOccurs="
0">
38 </element>
39 </sequence>
40 </complexType>
41
42
43
44 <element name="getProximityList">
45 <complexType>
46 <sequence>
47 <element name="servicelocation" type
="tns:ServiceLocationType"
48 maxOccurs="1" minOccurs="1"
/>
49 <element name="clientlocation" type=
"tns:LocationType"
50 maxOccurs="1" minOccurs="1"
>
51 </element>
APPENDIX A. WEBSERVICE TOPOLOGICAL SELECTION NTIS DETAILS203
52 </sequence>
53 </complexType>
54 </element>
55 <element name="getProximityListResponse">
56 <complexType>
57 <sequence>
58 <element name="
locationProximityData" type="
tns:locationProximityDataType"
/>
59 </sequence>
60 </complexType>
61 </element>
62 </schema>
Listing A.2: NTIS service schema refered in WSDL NTIS.xsd
A.1.2 Stock Quote Service
1 <?xml version="1.0" encoding="UTF−8" standalone="yes"?>
2 <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/
soap/" xmlns:tns="http://www.example.org/NTISService/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" name="NTISService"
targetNamespace="http://www.example.org/NTISService/">
3 <wsdl:types>
4 <xsd:schema targetNamespace="http://www.example.org/
NTISService/" xmlns:Q1="http://www.ntis.org/schema">
5 <xsd:import namespace="http://www.ntis.org/schema"
APPENDIX A. WEBSERVICE TOPOLOGICAL SELECTION NTIS DETAILS204
schemaLocation="./NTIS.xsd" id="ntis" />
6 <xsd:element name="getProximityList">
7 <xsd:complexType>
8 <xsd:sequence>
9 <xsd:element name="servicelocation" type="tns:
ServiceLocationType" maxOccurs="1" minOccurs="1" />
10 <xsd:element name="clientlocation" type="Q1:LocationType
" maxOccurs="1" minOccurs="1" />
11 </xsd:sequence>
12 </xsd:complexType>
13 </xsd:element>
14 <xsd:element name="getProximityListResponse">
15 <xsd:complexType>
16 <xsd:sequence>
17 <xsd:element name="locationProximityData" type="tns:
locationProximityDataType" />
18 </xsd:sequence>
19 </xsd:complexType>
20 </xsd:element>
21 <xsd:complexType name="ServiceLocationType">
22 <xsd:sequence>
23 <xsd:element name="site" type="Q1:LocationType" />
24 </xsd:sequence>
25 </xsd:complexType>
26 <xsd:complexType name="locationProximityDataType">
27 <xsd:sequence>
28 <xsd:element name="locationProximity" type="Q1:
APPENDIX A. WEBSERVICE TOPOLOGICAL SELECTION NTIS DETAILS205
LocationProximityType" maxOccurs="unbounded"
minOccurs="0" />
29 </xsd:sequence>
30 </xsd:complexType>
31 </xsd:schema>
32 </wsdl:types>
33 <wsdl:message name="getProximityListRequest">
34 <wsdl:part element="tns:getProximityList" name="parameters"
/>
35 </wsdl:message>
36 <wsdl:message name="getProximityListResponse">
37 <wsdl:part element="tns:getProximityListResponse" name="
parameters" />
38 </wsdl:message>
39 <wsdl:portType name="NTISService">
40 <wsdl:operation name="getProximityList">
41 <wsdl:input message="tns:getProximityListRequest" />
42 <wsdl:output message="tns:getProximityListResponse" />
43 </wsdl:operation>
44 </wsdl:portType>
45 <wsdl:binding name="NTISServiceSOAP" type="tns:NTISService
">
46 <soap:binding style="document" transport="http://schemas.
xmlsoap.org/soap/http" />
47 <wsdl:operation name="getProximityList">
48 <soap:operation soapAction="http://www.example.org/
NTISService/getProximityList" />
APPENDIX A. WEBSERVICE TOPOLOGICAL SELECTION NTIS DETAILS206
49 <wsdl:input>
50 <soap:body use="literal" />
51 </wsdl:input>
52 <wsdl:output>
53 <soap:body use="literal" />
54 </wsdl:output>
55 </wsdl:operation>
56 </wsdl:binding>
57 <wsdl:service name="NTISService">
58 <wsdl:port binding="tns:NTISServiceSOAP" name="
NTISServiceSOAP">
59 <soap:address location="http://www.example.org/" />
60 </wsdl:port>
61 </wsdl:service>
62 </wsdl:definitions>
Listing A.3: Stock Quote Service WSDL
Appendix B
Qos Language
As part of the thesis, we have written QosLanguage which can be used to
define Qosconstraint on a service.The Xtext Grammer definition is defined
below.
B.0.1 Xtext Grammer
1 grammar org.apache.qos.dsl.QosLanguage with org.eclipse.xtext.
xbase.Xbase
2
3 generate qoslanguage "http://www.apache.org/qos/dsl/QosLang"
4
5 QosLanguage:
6 qoslanguage="QosLanguage" ""
7 concepts+=concept+
8 "";
9
10 concept:
207
APPENDIX B. QOS LANGUAGE 208
11 QosConcept | QosAxiom | QosWebService | QosGoal;
12
13 QosConcept:
14 "QosConcept" ""
15 "name" name=ID
16 "description" des=STRING
17 "unit" unit=ID (type=JvmTypeReference)?
18 "lowerBound" lbound=STRING
19 "upperBound" upbound=STRING
20 "";
21
22 QosAxiom:
23 "QosAxiom" ""
24 "name" name=Axiom
25 "description" desc=STRING
26 "concept" concept=STRING
27 "condition" "" "$value−>"
28 qcond=QConditionExpression
29 ""
30 "";
31
32 QosWebService:
33 "QosWebService" ""
34 "name" name=ID
35 "capability" capability=STRING
36 "qosinterface" ""
37 qosinterfaces=QOSINTERFACES
APPENDIX B. QOS LANGUAGE 209
38 ""
39 "";
40
41 QOSINTERFACES:
42 interfaces+=QOSINTERFACE (’,’ interfaces+=
QOSINTERFACE)∗;
43
44 QOSINTERFACE:
45 name=ID ""
46 "description" des=STRING
47 "value" val=STRING
48 "";
49
50 QosGoal:
51 "QosGoal" ""
52 "name" name=ID
53 "description" descripton=STRING
54 "axiomRequired" "[" axiom=AxiomList "]"
55 "";
56
57 AxiomList:
58 ids+=Axiom (’,’ ids+=Axiom)∗;
59
60 Axiom:
61 ID;
62
63 QConditionExpression:
APPENDIX B. QOS LANGUAGE 210
64 "return" valexp=QExpression;
65
66 QExpression:
67 "(" "value" opc=OpCompare num=Number ")"
68 ;
Listing B.1: Xtext definition of Qos Language
Appendix C
Open Source Contributions
As part of the thesis, we have written framework and application to demon-
strate the principle and also to simulate some of the algorithms. All of the
associated code has been open sourced in a GitHub Repository.
C.0.1 NTIS Repository
The GitHub ntis repository at https://github.com/msikri/ntis is used
to host the NTIS and associated code bases. The NTIS code base contains
the implementation for the following:-
• QOS DSL implementation in Groovy.
• NTIS Server implementation in Groovy (and Java) for the WS PR
Framework Algorithms.
• Inventory Server and Client which are the applications capable of using
WS PR Framework for topological selection and discovery using Java.
The Services are implemented using Spring Framework. We have done some
work using Felix framework for OSGI deployment. OSGI Deployment tools
211
APPENDIX C. OPEN SOURCE CONTRIBUTIONS 212
are not tested completed.
C.0.2 Adaptive Algorithm Repository
The GitHub repository at https://github.com/msikri/simulation hosts
the Algorithms for QoS Awareness and adaptively as outlined in Chapter 8.
The application is implemented in Scala using a Custom Time Series Sim-
ulation software development for this implementation. The software allows
us to emulate the client and server interaction and delays using Async mes-
saging build on top of Akka Framework. The application consists of a same
Simulator and also plotting methods using R. Once the simulator completes
the execution the R library can be used to aggregate the plot the data.
• Setup Scala project.
We have used Scala ide http://scala-ide.org/ for building the sim-
ulator system. But any Scala aware editor would work.
• Modify the experiment for execution.
The experiment or simulation setup is done in Creator2.scala https://
github.com/msikri/simulation/blob/master/expt2/src/main/scala/
org/apache/ntis/sim/base/creator/Creator2.scala. The line no
47-53 defines the Qos Goal for the experiment. Based on the need, we
need to select one of them.
• Running the experiment.
The simulation can be executing by running Exp2App.scala https://
github.com/msikri/simulation/blob/master/expt2/src/main/scala/
org/apache/ntis/sim/base/Exp2App.scala. It results in generation
of metrics.txt file (location user.home/sim/metric.txt). The metrics
APPENDIX C. OPEN SOURCE CONTRIBUTIONS 213
file contains the cost and Rtt readings as observed on the clients at the
various times during the experiment.
• Data Cleanup.
The data cleanup setup involves taking up metric files and cleaning
it and converting it into csv format for analysis and plotting. The
cleanup operation is carried out by DataClean.scala https://github.
com/msikri/simulation/blob/master/base1/src/main/scala/org/
apache/ntis/sim/data/DataClean.scala . We should execute Dat-
aClean.scala for generation of processed files clientRttall.csv location
(user.home/sim/process/clientRttall.csv) and clientCostall.csv loca-
tion (user.home/sim/process/clientCostall.csv).
• Plotting the Graphs
The data is plotted using Rproject/ggplotscript.R. The script also as-
sumes the location of the files clientRttall.csv and clientRttall.csv as
defined above. It uses the time series data in the csv files and plots the
corresponding time series graphs for cost and Rtt respectively.
For each set of experiment, the Creator2.scala need to be modified and
to be reexecuted.
Bibliography
[1] FEAPO | Federation of Enterprise Architecture Professional Organiza-
tions. http://feapo.org/, 2011.
[2] Gartner. Enterprise architecture (ea). http://www.gartner.com/
it-glossary/enterprise-architecture-ea/, 2013.
[3] J. McGovern. A Practical Guide to Enterprise Architecture. The Coad
series. Prentice Hall PTR, 2004.
[4] Aniruddha Gokhale, Bharat Kumar, and Arnaud Sahuguet. Reinvent-
ing the wheel? corba vs. web services. In Proceedings of international
world wide Web conference, 2002.
[5] Christopher Kistasamy, Alta van der Merwe, and Andre de la Harpe.
The Relationship between Service Oriented Architecture and En-
terprise Architecture. In 2010 14th IEEE International Enterprise
Distributed Object Computing Conference Workshops, pages 129–137.
IEEE, oct 2010.
[6] Hamid Tohidi. Modelling of business services in service oriented enter-
prises. Procedia Computer Science, 3:1147–1156, 2011.
214
BIBLIOGRAPHY 215
[7] J. Schelp and Stephan Aier. SOA and EA - Sustainable Contributions
for Increasing Corporate Agility. In 2009 42nd Hawaii International
Conference on System Sciences, pages 1–8. IEEE, 2009.
[8] Institute For Enterprise Architecture Developments (IFEAD).
Enterprise Architecture & Services Oriented Enter-
prise (SOE). http://www.enterprise-architecture.
info/Images/ServicesOrientedEnterprise/
EA_Services-Oriented-Enterprise1.htm.
[9] Ds Linthicum. Cloud Computing and SOA Convergence in Your En-
terprise: A Step-by-Step Guide. Pearson Education, 2009.
[10] Xiaolong Yang and Huimin Zhang. Cloud Computing and SOA Con-
vergence Research. In 2012 Fifth International Symposium on Compu-
tational Intelligence and Design, volume 1, pages 330–335. IEEE, oct
2012.
[11] Huimin Zhang and Xiaolong Yang. Cloud computing architecture
based-on SOA. In Proceedings - 2012 5th International Symposium on
Computational Intelligence and Design, ISCID 2012, volume 1, pages
369–373, 2012.
[12] Jayavardhana Gubbi, Rajkumar Buyya, Slaven Marusic, and
Marimuthu Palaniswami. Internet of Things (IoT): A vision, archi-
tectural elements, and future directions. Future Generation Computer
Systems, 29(7):1645–1660, sep 2013.
[13] Roberto Chinnici, Jean-Jacques Moreau, Arthur Ryman, and Sanjiva
Weerawarana. Web services description language (wsdl) version 2.0
BIBLIOGRAPHY 216
part 1: Core language. World Wide Web Consortium, Recommenda-
tion REC-wsdl20-20070626, June 2007.
[14] BEA, IBM, Microsoft, and SAP AG. Web services policy framework
(WS-Policy). https://www.w3.org/Submission/WS-Policy/, May
2003.
[15] L. Clement, a. Hately, C. von Riegen, and T. Rogers. UDDI Version
3.0.2 UDDI Specification Technical Committee Draft. Oasis committee
draft, OASIS, 2004.
[16] Bijay K. Jayaswal, Peter C. Patton, and Richard E. Zultner. Under-
standing Customer Needs (Digital Short Cut): Software QFD and the
Voice of the Customer. Pearson Education, 2003.
[17] Monika Sikri and Rajkumar Gell. Derivation of agile SOA requirements
using collaborative QFD. Int. J. Collaborative Enterprise, pages 234–
248, 2014.
[18] Monika Sikri. Web Service Selection Using Topological Metadata. Ad-
vances in Computer Engineering (ACE), 2010 International Confer-
ence on, pages 247–251, jun 2010.
[19] Monika Sikri. Design of Domain Specific Language for Web Services
QoS Constraints Definition. In VinuV Das, Gylson Thomas, and Ford
Lumban Gaol, editors, Information Technology and Mobile Communi-
cation, volume 147 of Communications in Computer and Information
Science, pages 411–416. Springer Berlin Heidelberg, 2011.
[20] Jeroen J. van der Ham, Freek Dijkstra, Franco Travostino, Hubertus
M a Andree, and Cees T a M de Laat. Using RDF to describe networks.
Future Generation Computer Systems, 22(8):862–867, oct 2006.
BIBLIOGRAPHY 217
[21] N. Bieberstein, S. Bose, L. Walker, and a. Lynch. Impact of service-
oriented architecture on enterprise systems, organizational structures,
and individuals. IBM Systems Journal, 44(4):691–708, 2005.
[22] Michael P. Papazoglou, Paolo Traverso, Schahram Dustdar, and Frank
Leymann. Service-oriented computing: State of the art and research
challenges. Computer, 40(11):38–45, nov 2007.
[23] Robin Cover. Web services description language (wsdl). http://xml.
coverpages.org/wsdl.html.
[24] Robin Cover. Simple Object Access Protocol (SOAP). http://xml.
coverpages.org/soap.html.
[25] Paul Muschamp. An introduction to Web Services. BT Technology
Journal, 22(1):9–18, 2004.
[26] D. Vassilopoulos, T. Pilioura, and A. Tsalgatidou. Distributed tech-
nologies CORBA, Enterprise JavaBeans, Web services: a comparative
presentation. In 14th Euromicro International Conference on Paral-
lel, Distributed, and Network-Based Processing (PDP’06), page 5 pp.
IEEE, 2006.
[27] Apache Software Foundation. Apache thrift. http://thrift.apache.
org/, March 2010.
[28] D Remenyi. Proceedings of the 3rd European Conference on Manage-
ment Leadership and Governance. Number October. Academic Con-
ferences Limited, 2007.
BIBLIOGRAPHY 218
[29] George Pohle and Marc Chapman. IBM’s global CEO report 2006:
business model innovation matters. Strategy & Leadership, 34(5):34–
40, sep 2006.
[30] The Open Group | TOGAFÂő, an Open Group standard. http://
www.opengroup.org/subjectareas/enterprise/togaf/.
[31] Zachman International - The Official Home of The Zachman Frame-
work. http://www.zachman.com/.
[32] Daryl C Plummer, Charles Smulders, Leslie Fiering, Yefim V Natis,
Simon Mingay, Mark Driver, Jackie Fenn, Laura McLellan, and Debbie
Wilson. Gartner’s top predictions for it organizations and users, 2008
and beyond: Going green and self-healing. Gartner Research, 8, 2008.
[33] Girish Juneja, Blake Dournaee, Joe Natoli, and Steve Birkel. Service
Oriented Architecture Demystified: A pragmatic approach to SOA for
the IT executive. September 2007.
[34] Peter M. Mell and Timothy Grance. SP 800-145. The NIST Definition
of Cloud Computing. sep 2011.
[35] Frank D. Macías-Escrivá, Rodolfo Haber, Raul del Toro, and Vicente
Hernandez. Self-adaptive systems: A survey of current approaches,
research challenges and applications. Expert Systems with Applications,
40(18):7267–7279, dec 2013.
[36] G. Denaro, M. Pezzé, D. Tosi, and Daniela Schilling. Towards self-
adaptive service-oriented architectures. In Proceedings of the 2006
workshop on Testing, analysis, and verification of web services and ap-
plications - TAV-WEB ’06, pages 10–16, New York, New York, USA,
jul 2006. ACM Press.
BIBLIOGRAPHY 219
[37] Michael P. Papazoglou, Paolo Traverso, Schahram Dustdar, and Frank
Leymann. Service-Oriented Computing: a Research Roadmap. Inter-
national Journal of Cooperative Information Systems, 17(02):223–255,
jun 2008.
[38] Padmal Vitharana, Kumar Bhaskaran, Hemant Jain, Harry Wang,
Leon Zhao, and Leon Zhao. Service-oriented enterprises and archi-
tectures: state of the art and research opportunities. AMCIS 2007
Proceedings, page 343, 2007.
[39] Grace Lewis, Dennis Smith, and Kostas Kontogiannis. A Research
Agenda for Service-Oriented Architecture (SOA): Maintenance and
Evolution of Service-Oriented Systems, 2010.
[40] Elisabetta Di Nitto, Carlo Ghezzi, Andreas Metzger, Mike Papazoglou,
and Klaus Pohl. A journey to highly dynamic, self-adaptive service-
based applications. Automated Software Engineering, 15(3-4):313–341,
sep 2008.
[41] Michael P Papazoglou, Paolo Traverso, Schahram Dustdar, and Frank
Leymann. Research directions in service-oriented computing. 4a IC-
SOC 2006, page 28, 2006.
[42] Yefim V Natis, Massimo Pezzini, Roy W Schulte, and Kimihiko Iijima.
Predicts 2007: Soa advances. Gartner Group Report, 2006.
[43] Kent Beck, Mike Beedle, Arie Van Bennekum, Alistair Cockburn, Ward
Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew
Hunt, Ron Jeffries, et al. Manifesto for agile software development.
2001.
BIBLIOGRAPHY 220
[44] F. Paetsch, A. Eberlein, and F. Maurer. Requirements engineering and
agile software development. In WET ICE 2003. Proceedings. Twelfth
IEEE International Workshops on Enabling Technologies: Infrastruc-
ture for Collaborative Enterprises, 2003., pages 308–313. IEEE Com-
put. Soc, 2003.
[45] L. Rising and N.S. Janoff. The Scrum software development process
for small teams. IEEE Software, 17(4):26–32, 2000.
[46] B. Boehm. Get ready for agile methods, with care. Computer, 35(1):64–
69, 2002.
[47] Jordan Barlow, Justin Giboney, Mark J Keith, David Wilson, Ryan
Schuetzler, Paul Benjamin Lowry, and Anthony Vance. Overview and
Guidance on Agile Development in Large Organizations. SSRN Elec-
tronic Journal, aug 2011.
[48] Amr Elssamadisy. Xp on a large project–a developerâĂŹs view. Pro-
ceedings of XP/Agile Universe, Raleigh, NC, 2001.
[49] K. Mohan and B. Ramesh. How extreme does extreme programming
have to be? Adapting XP practices to large-scale projects. In 37th
Annual Hawaii International Conference on System Sciences, 2004.
Proceedings of the, page 10 pp. IEEE, 2004.
[50] Cara Taber and Martin Fowler. An iteration in the life of an xp project.
Cutter IT journal, 13(11):13–21, 2000.
[51] ÂăGabrielle Benefield. Rolling Out Agile in a Large Enterprise. In
Proceedings of the 41st Annual Hawaii International Conference on
System Sciences (HICSS 2008), pages 461–461. IEEE, jan 2008.
BIBLIOGRAPHY 221
[52] Andrea De Lucia and Abdallah Qusef. Requirements Engineering in
Agile Software Development. Journal of Emerging Technologies in Web
Intelligence, 2(3):212–220, aug 2010.
[53] Carter Fred Blum Adum. Representing web services management in-
formation in uddi. http://www.axis.apache.org/axis/, Feb 2004.
[54] Bernhard Hollunder. WS-Policy: On conditional and custom asser-
tions. In 2009 IEEE International Conference on Web Services, ICWS
2009, pages 936–943. IEEE, jul 2009.
[55] Tim Berners-Lee, James Hendler, Ora Lassila, et al. The semantic web.
Scientific american, 284(5):28–37, 2001.
[56] David Martin, Mark Burstein, Jerry Hobbs, Ora Lassila, Drew Mc-
Dermott, Sheila McIlraith, Srini Narayanan, Massimo Paolucci, Bijan
Parsia, Terry Payne, et al. Owl-s: Semantic markup for web services.
W3C member submission, 22:2007–04, 2004.
[57] Dumitru Roman, Uwe Keller, Holger Lausen, Jos de Bruijn, Rubén
Lara, Michael Stollberg, Axel Polleres, Cristina Feier, Cristoph Bussler,
and Dieter Fensel. Web service modeling ontology. Applied ontology,
1(1):77–106, 2005.
[58] Semantic Web Services Initiative Architecture Committee. A semantic
web services architecture. http://www.ai.sri.com/daml/services/
swsa/, Apr 2005.
[59] Kyriakos Kritikos and Dimitris Plexousakis. Semantic QoS-based web
service discovery algorithms. In Proceedings of the 5th IEEE European
Conference on Web Services, ECOWS 07, pages 181–190. IEEE, nov
2007.
BIBLIOGRAPHY 222
[60] Glen Dobson, Russell Lock, and Ian Sommerville. QoSOnt: A qos
ontology for service-centric systems. In Software Engineering and Ad-
vanced Applications, 2005. 31st EUROMICRO Conference, volume
2005, pages 80–87. IEEE, 2005.
[61] Giuseppe Damiano, Ester Giallonardo, and Eugenio Zimeo. OnQoS-
QL: A query language for QoS-based service selection and ranking. In
Elisabetta Nitto and Matei Ripeanu, editors, Lecture Notes in Com-
puter Science (including subseries Lecture Notes in Artificial Intelli-
gence and Lecture Notes in Bioinformatics), volume 4907 LNCS of
Lecture Notes in Computer Science, pages 115–127. Springer-Verlag,
Berlin Heidelberg, 2009.
[62] Gustavo Fortes Tondello and Frank Siqueira. The QoS-MO Ontology
for Semantic QoS Modeling. In Proceedings of the ACM Symposium
on Applied Computing (SAC 2008), pages 2336–2340, New York, New
York, USA, mar 2008. ACM Press.
[63] Shuyu Li Shuyu Li and Juan Zhou Juan Zhou. The WSMO-QoS Se-
mantic Web Service Discovery Framework. In 2009 International Con-
ference on Computational Intelligence and Software Engineering, pages
1–5. IEEE, dec 2009.
[64] Vuong Xuan Tran. WS-QoSOnto: A QoS ontology for Web services.
In Proceedings of the 4th IEEE International Symposium on Service-
Oriented System Engineering, SOSE 2008, pages 233–238. IEEE, dec
2008.
BIBLIOGRAPHY 223
[65] Chen Zhou, Liang-Tien Chia, and Bu-Sung Lee. QoS-Aware and Fed-
erated Enhancement for UDDI. International Journal of Web Services
Research, 1(2):58–85, 2004.
[66] M. Adel Serhani, Rachida Dssouli, Abdelhakim Hafid, and Houari
Sahraoui. A QoS broker based architecture for efficient web services se-
lection. In Proceedings - 2005 IEEE International Conference on Web
Services, ICWS 2005, volume 2005, pages 113–120. IEEE, 2005.
[67] Anup Kumar, Ayman El-Geniedy, and Sanjuli Agarwal. A generalized
framework for providing QoS based registry in service oriented architec-
ture. In Proceedings - 2005 IEEE International Conference onServices
Computing, SCC 2005, volume I, pages 295–301. IEEE, 2005.
[68] Ziqiang Xu, Patrick Martin, Wendy Powley, and Farhana Zulkernine.
Reputation-enhanced QoS-based web services discovery. In Proceedings
- 2007 IEEE International Conference on Web Services, ICWS 2007,
pages 249–256. IEEE, jul 2007.
[69] Gang Ye, Chanle Wu, Jun Yue, and Shi Cheng. A QoS-Aware Model
for Web Services Discovery. In 2009 First International Workshop on
Education Technology and Computer Science, volume 3, pages 740–744.
IEEE, 2009.
[70] Asir S Vedamuthu, David Orchard, Frederick Hirsch, Maryann Hondo,
Prasad Yendluri, Toufic Boubez, and ÃIJmit YalÃğinalp. Web services
policy framework (wspolicy). http://www.w3.org/TR/ws-policy,
September 2007.
[71] Diego Zuquim Guimaraes Garcia Diego Zuquim Guimaraes Garcia and
Maria Beatriz Felgar De Toledo Maria Beatriz Felgar De Toledo. A
BIBLIOGRAPHY 224
Web Service Architecture Providing QoS Management. In 2006 Fourth
Latin American Web Congress, pages 189–198. IEEE, oct 2006.
[72] Markus Mathes, Steffen Heinzl, and Bernd Freisleben. WS-
TemporalPolicy: A WS-policy extension for describing service prop-
erties with time constraints. In Proceedings - International Computer
Software and Applications Conference, pages 1180–1186. IEEE, 2008.
[73] Apache Software Foundation. Apache axis 1.4. http://www.axis.
apache.org/axis/, March 2006.
[74] Jae Choi, D. Nazareth, and H. Jain. The impact of soa implementation
strategies on business value and agility: A systems dynamics approach.
In Advanced Information Management and Service (IMS), 2010 6th
International Conference on, pages 1–6, Nov 2010.
[75] Vladimir Tosic. Autonomic Business-Driven Dynamic Adaptation of
Service-Oriented Systems and the WSPolicy4MASC Support for Such
Adaptation. International Journal of Systems and Service-Oriented
Engineering, 1(1):79–95, 2010.
[76] Monika Sikri and Rajkumar Gell. Adaptive SOA stack and discovery
framework for redundant services. In Industrial and Information Sys-
tems (ICIIS), 2014 9th International Conference on, pages 1–6. IEEE,
2014.
[77] Andrea DAmbrogio. A Model-driven WSDL Extension for Describing
the QoS ofWeb Services. In 2006 IEEE International Conference on
Web Services (ICWS’06), pages 789–796. IEEE, 2006.
BIBLIOGRAPHY 225
[78] OMG. OMG Unified Modeling Language (OMG UML), Superstruc-
ture, Version 2.4.1. http://www.omg.org/spec/UML/2.4.1, August
2011.
[79] Changying Dai and Zhibin Wang. A flexible extension of WSDL to de-
scribe non-functional attributes. In 2010 2nd International Conference
on E-Business and Information System Security, EBISS2010, pages
52–55. IEEE, may 2010.
[80] N. Parimala and Anu Saini. Web service with criteria: Extending
WSDL. In 2011 Sixth International Conference on Digital Information
Management, pages 205–210. IEEE, September 2011.
[81] Robin Cover. HP Contributes Web Services Management Framework
Specification to OASIS TC. Oasis, 2003.
[82] Alexander Keller and Heiko Ludwig. The WSLA Framework: Specify-
ing and Monitoring Service Level Agreements for Web Services. Journal
of Network and Systems Management, 11(1):57–81, March 2003.
[83] Nicholas Metropolis, Arianna W. Rosenbluth, Marshall N. Rosenbluth,
Augusta H. Teller, and Edward Teller. Equation of State Calcula-
tions by Fast Computing Machines. The Journal of Chemical Physics,
21(6):1087–1092, jun 1953.
[84] Kyriakos E Kritikos. Qos-based web service description and discovery.
PhD thesis, University of Crete, 2008.
[85] Qian Ma, Hao Wang, Ying Li, Guotong Xie, and Feng Liu. A semantic
QoS-aware discovery framework for web services. In Proceedings of the
IEEE International Conference on Web Services, ICWS 2008, pages
129–136. IEEE, sep 2008.
BIBLIOGRAPHY 226
[86] Xia Wang, Tomas Vitvar, Mick Kerrigan, and Ioan Toma. A qos-aware
selection model for semantic web services. In Asit Dan and Winfried
Lamersdorf, editors, Service-Oriented Computing âĂŞ ICSOC 2006,
volume 4294 of Lecture Notes in Computer Science, pages 390–401.
Springer Berlin Heidelberg, 2006.
[87] Monika Sikri and Rajkumar Gell. Service discovery for soa systems with
topological and qos constraints. In Computer Networks and Security,
volume 147 of Communications in Computer and Information Science,
pages 477–481. Elsevier, Gurgaon, New Delhi, India, 2014.
[88] Elzavita MacLennan and Jean-Paul Van Belle. Factors affecting the
organizational adoption of service-oriented architecture (soa). Infor-
mation Systems and e-Business Management, 12(1):71–100, 2014.
[89] M. Burstein, C. Bussler, T. Finin, M.N. Huhns, M. Paolucci, a.P.
Sheth, S. Williams, and M. Zaremba. A semantic Web services ar-
chitecture. IEEE Internet Computing, 9(5):72–81, sep 2005.
[90] Dominic Greenwood, Margaret Lyell, Ashok Mallya, and Hiroki Sug-
uri. The IEEE FIPA approach to integrating software agents and web
services. In Proceedings of the 6th international joint conference on
Autonomous agents and multiagent systems - AAMAS ’07, volume 5,
page 1, New York, New York, USA, may 2007. ACM Press.
[91] Onder Gurcan, Geylani Kardas, OzgÃijr Gumus, ErdemEser Ekinci,
and Oguz Dikenelli. An mas infrastructure for implementing swsa based
semantic services. In Jingshan Huang, Ryszard Kowalczyk, Zakaria
Maamar, David Martin, Ingo MÃijller, Suzette Stoutenburg, and Ka-
tiaP. Sycara, editors, Service-Oriented Computing: Agents, Semantics,
BIBLIOGRAPHY 227
and Engineering, volume 4504 of Lecture Notes in Computer Science,
pages 118–131. Springer-Verlag, Berlin Heidelberg, 2007.
[92] P Sathyavathy, C Sneha, B Uma, S Swamynathan, and T V Geetha.
Semantic and QoS based Web Service Selection using a Multi Agent
System. In Iicai, pages 2521–2533, 2005.
[93] RDF Working Group. Resource description framework(rdf). http:
//www.w3.org/standards/techs/rdf, Feb 2014.
[94] Xia Wang, Tomas Vitvar, Mick Kerrigan, and Ioan Toma. A qos-
aware selection model for semantic web services. In Service-Oriented
Computing–ICSOC 2006, pages 390–401. Springer-Verlag, Berlin Hei-
delberg, 2006.
[95] MohamedAnis Zemni, Salima Benbernou, and Manuel Carro. A soft
constraint-based approach to qos-aware service selection. In PaulP.
Maglio, Mathias Weske, Jian Yang, and Marcelo Fantinato, editors,
Service-Oriented Computing, volume 6470 of Lecture Notes in Com-
puter Science, pages 596–602, Berlin Heidelberg, 2010. Springer-Verlag.
[96] Kyriakos Kritikos and Dimitris Plexousakis. Owl-q for semantic qos-
based web service description and discovery. In Proceedings of the
SMR2 2007 Workshop on Service Matchmaking and Resource Retrieval
in the Semantic Web, pages 123–137, 2007.
[97] Jae Choi, Derek Nazareth, and Hemant Jain. The impact of SOA
implementation strategies on business value and agility: A systems
dynamics approach. 2010 6th International Conference on Advanced
Information Management and Service (IMS), pages 1–6, 2010.
BIBLIOGRAPHY 228
[98] B. Benatallah, A.H.H. Ngu, M. Dumas, J. Kalagnanam, and H. Chang.
QoS-aware middleware for Web services composition. IEEE Transac-
tions on Software Engineering, 30(5):311–327, may 2004.
[99] David Harel and Amnon Naamad. The STATEMATE semantics of
statecharts. ACM Transactions on Software Engineering and Method-
ology, 5(4):293–333, oct 1996.
[100] Raja Afandi, Jianqing Zhang, and Carl Gunter. AMPol-Q: Adaptive
Middleware Policy to Support QoS. In Service-Oriented Computing
âĂŞ ICSOC 2006, pages 165–178. 2006.
[101] Raja Afandi, Jianqing Zhang, Munawar Hafiz, and Carl Gunter. AM-
Pol: Adaptive Messaging Policy. In 2006 European Conference on Web
Services (ECOWS’06), pages 53–64. IEEE, 2006.
[102] Kaarthik Sivashanmugam, Kunal Verma, Amit Sheth, and John Miller.
Adding Semantics to Web Services Standards, 2003.
[103] E. Sirin, B. Parsia, and J. Hendler. Filtering and selecting semantic
Web services with interactive composition techniques. IEEE Intelligent
Systems, 19(4):42–49, jul 2004.
[104] D. Ardagna and B. Pernici. Adaptive Service Composition in Flexible
Processes. IEEE Transactions on Software Engineering, 33(6):369–384,
jun 2007.
[105] Paolo Atzeni, Tiziana Catarci, and Barbara Pernici. Multi-channel
Adaptive Information Systems. World Wide Web, 10(4):345–347, jun
2007.
BIBLIOGRAPHY 229
[106] Danilo Ardagna, Marco Comuzzi, Enrico Mussi, Barbara Pernici, and
Pierluigi Plebani. PAWS: A framework for executing adaptive web-
service processes. IEEE Software, 24(6):39–46, nov 2007.
[107] Pierluigi Plebani and Barbara Pernici. URBE: Web service retrieval
based on similarity evaluation. IEEE Transactions on Knowledge and
Data Engineering, 21(11):1629–1642, nov 2009.
[108] Mohammad Alrifai, Thomas Risse, and Wolfgang Nejdl. A hybrid
approach for efficient Web service composition with end-to-end QoS
constraints. ACM Transactions on the Web, 6(2):1–31, may 2012.
[109] Krzysztof ZieliÅĎski, Tomasz SzydÅĆo, Robert Szymacha, Jacek
KosiÅĎski, Joanna KosiÅĎska, and Marcin Jarzab. Adaptive SOA
solution stack. IEEE Transactions on Services Computing, 5(2):149–
163, apr 2012.
[110] Qianhui Liang, XindongWu, and Hoong Chuin Lau. Optimizing service
systems based on application-level QoS. IEEE Transactions on Services
Computing, 2(2):108–121, apr 2009.
[111] M.-T. Schmidt, B. Hutchison, P. Lambros, and R. Phippen. The En-
terprise Service Bus: Making service-oriented architecture real. IBM
Systems Journal, 44(4):781–797, 2005.
[112] Jianwei Yin, Hanwei Chen, Shuiguang Deng, Zhaohui Wu, and Calton
Pu. A Dependable ESB Framework for Service Integration. IEEE
Internet Computing, 13(2):26–34, mar 2009.
[113] Albert Benveniste, Claude Jard, Ajay Kattepur, Sidney Rosario, and
John A. Thywissen. QoS-aware management of monotonic service or-
chestrations. Formal Methods in System Design, 44(1):1–43, jul 2013.
BIBLIOGRAPHY 230
[114] Huiyuan Zheng, Jian Yang, Weiliang Zhao, and Athman Bouguettaya.
Qos analysis for web service compositions based on probabilistic qos.
In Service-Oriented Computing, pages 47–61. Springer, 2011.
[115] PengCheng Xiong, YuShun Fan, and MengChu Zhou. A Petri Net
Approach to Analysis and Composition of Web Services. IEEE Trans-
actions on Systems, Man, and Cybernetics - Part A: Systems and Hu-
mans, 40(2):376–387, mar 2010.
[116] Jae Choi, Derek L. Nazareth, and Hemant K. Jain. The Impact of
SOA Implementation on IT-Business Alignment: A System Dynamics
Approach. ACM Trans. Manage. Inf. Syst., 4(1):3:1–3:22, 2013.
[117] Pasquale Iocola. When legacy meets SOA: Achieving business agility
by integrating new technology with existing software asset. In Proceed-
ings of the 1st Annual 2007 IEEE Systems Conference, pages 318–325.
IEEE, apr 2007.
[118] Yoji Akao. QFD: Quality Function Deployment - Integrating Customer
Requirements into Product Design. 2004.
[119] G. Herzwurm, S. Schockert, and W. Pietsch. QFD for customer-focused
requirements engineering. In Journal of Lightwave Technology, pages
330–338. IEEE Comput. Soc, 2003.
[120] Glenn H Mazur. Blitz QFDÂő âĂŞ The Modern Matrix-Free Way to
Profit Improvement. Quality management forum, 37(3):11–12, 2011.
[121] Glenn HMazur. Blitz QFDÂő âĂŞ The Lean Approach to New Product
Development. In Quality Improvement, 2010. ISQFD’10. ASQ World
conference on, Anaheim, CA, may 2012. QFD Institute.
BIBLIOGRAPHY 231
[122] Jim Womack. Gemba walk. Lean Enterprise Institute, USA, 2011.
[123] Mohan Tanniru Ting-Peng Liang. Customer-Centric Information Sys-
tems. Journal of Management Information Systems, 23(3):9–15, 2007.
[124] P. K. Mills and J. H. Morris. Clients as "Partial" Employees of Service
Organizations: Role Development in Client Participation., 1986.
[125] F. Reichheld and W. E. Sasser Jr. Zero defections: quality comes to
services. Harvard business review, 68(5):105–111, 1990.
[126] Ely Dahan and John R. Hauser. The virtual customer. Journal of
Product Innovation Management, 19(5):332–353, sep 2002.
[127] D. E. Cox and H. Kreger. Management of the service-oriented-
architecture life cycle. IBM Systems Journal, 44(4):709–726, 2005.
[128] Youngkon Lee. QoS Management for SOA by Synchronizing Quality
Context in UDDI. In 2008 Second International Conference on Future
Generation Communication and Networking Symposia, pages 17–22.
IEEE, dec 2008.
[129] L O’Brien, P Merson, and L Bass. Quality attributes for service-
oriented architectures. In Proceedings - ICSE 2007 Workshops: In-
ternational Workshop on Systems Development in SOA Environments,
SDSOA’07, SDSOA ’07, pages 3—-, Washington, DC, USA, 2007.
IEEE Computer Society.
[130] Rashina Hoda, Philippe Kruchten, James Noble, and Stuart Marshall.
Agility in context. ACM SIGPLAN Notices, 45(10):74, oct 2010.
BIBLIOGRAPHY 232
[131] Glenn H Stansfield Kim, Cole Jeff and Mazur, Cole Jeff Stansfield Kim,
and Glenn H Mazur. Complex IT Design using both Traditional QFD
and Blitz QFD. In 22nd Symposium on QFD, pages 139–164, 2010.
[132] Thomas L. Saaty. Decision making âĂŤ the Analytic Hierarchy and
Network Processes (AHP/ANP), 2004.
[133] Geoff Coyle. Instructor âĂŹ s Manual Practical Strategy : Structured
Tools and Techniques, volume 4. Financial Times Prentice Hall, 2004.
[134] Eva Heiskanen. USER INVOLVEMENT AND ENTREPRENEURIAL
ACTION. An Interdiscliplinary Journal on Humans in ICT Environ-
ments, 3:167–187, 2007.
[135] Subhas Chandra Misra, Vinod Kumar, and Uma Kumar. Identifying
some important success factors in adopting agile software development
practices. Journal of Systems and Software, 82(11):1869–1890, nov
2009.
[136] Abdelkarim Erradi, Sriram Anand, and Naveen Kulkarni. Evaluation
of strategies for integrating legacy applications as services in a service
oriented architecture. In Services Computing, 2006. SCC’06. IEEE
International Conference on, pages 257–260. IEEE, 2006.
[137] Chunhua Gu and Xueqin Zhang. An SOA Based Enterprise Applica-
tion Integration Approach. In 2010 Third International Symposium on
Electronic Commerce and Security, pages 324–327. IEEE, jul 2010.
[138] Armando Fox and David Patterson. Engineering Long-Lasting Soft-
ware: An Agile Approach Using SaaS and Cloud Computing, Alpha
Edition. Strawberry Canyon LLC, 2012.
BIBLIOGRAPHY 233
[139] Yassaman Khodadadeh and Nazanin Mohammadpur. Redesigning a
product based on Voice of Customer. International Association of So-
cieties of Design Research 2009, 2009.
[140] B. Verheecke, W. Vanderperren, and V. Jonckers. Unraveiliny crossout-
ting concerns in Web services middleware. IEEE Software, 23(1):42–50,
jan 2006.
[141] Marc N. Haines and William Haseman. Service-oriented architecture
adoption patterns. In Proceedings of the 42nd Annual Hawaii Interna-
tional Conference on System Sciences, HICSS, 2009.
[142] Erik Christensen, Francisco Curbera, Greg Meredith, and Sanjiva
Weerawarana. Web Services Description Language (WSDL) 1.1, 2001.
[143] Dan Brickley and R.V. Guha. RDF Vocabulary Description Language
1.0: RDF Schema, 2004.
[144] G Klyne and Jj Carroll. Resource description framework (RDF): Con-
cepts and abstract syntax. W3C Recommendation, 2004. World Wide
Web Consortium, 10:1—-20, 2004.
[145] Michael T Goodrich and Roberto Tamassia. Algorithm design. Wiely
India, 2002.
[146] Stephan Grimm, Boris Motik, and Chris Preist. The Semantic Web:
Research and Applications. In The Semantic Web: Research and Ap-
plications, volume 4011, pages 575–589. 2006.
[147] Sheila a. McIlraith and David L. Martin. Bringing semantics to Web
services. IEEE Intelligent Systems, 18(1):90–93, 2003.
BIBLIOGRAPHY 234
[148] Juhnyoung Lee and Richard Goodwin. Ontology management for large-
scale enterprise systems. Electronic Commerce Research and Applica-
tions, 5(1):2–15, mar 2006.
[149] Robert Meersman and Zahir Tari, editors. On the Move to Meaningful
Internet Systems 2006: CoopIS, DOA, GADA, and ODBASE, volume
4275 of Lecture Notes in Computer Science. Springer Berlin Heidelberg,
Berlin, Heidelberg, 2006.
[150] D. Fensel, F. M. Facca, E. Simperl, and I. Toma. Semantic Web Ser-
vices. Semantic Web Services, 1(1):87–104, 2011.
[151] David Martin, Mark Burstein, Jerry Hobbs, Ora Lassila, Drew Mc-
Dermott, Sheila McIlraith, Srini Narayanan, Massimo Paolucci, Bijan
Parsia, Terry R. Payne, Evren Sirin, Naveen Srinivasan, and Katia
Sycara. OWL-S: Semantic Markup for Web Services, 2004.
[152] Jos de Bruijn, Holger Lausen, Axel Polleres, and Dieter Fensel. The
WSML Rule Languages for the Semantic Web. In W3C Workshop
on Rule Languages for Interoperability, 2005.
[153] José María García, David Ruiz, Antonio Ruiz-Cortés, Octavio Martín-
Díaz, and Manuel Resinas. An Hybrid, QoS-Aware Discovery of Seman-
tic Web Services Using Constraint Programming. In ServiceOriented
Computing âĂŞ ICSOC 2007, volume 4749, pages 69–80. 2007.
[154] Groovy: A dynamic language for the java platform. http://groovy.
codehaus.org/, 2003. Groovy is an object-oriented programming lan-
guage for the Java platform.
[155] V Subramaniam. Programming Groovy: Dynamic Productivity for the
Java Developer. 2008.
BIBLIOGRAPHY 235
[156] S. Devijer and S. Devijer. A Groovy DSL from scratch in 2 hours -
Groovy Zone, 2008.
[157] Kyriakos Kritikos and Dimitris Plexousakis. Requirements for QoS-
based Web service description and discovery. In IEEE Transactions on
Services Computing, volume 2, pages 320–337, 2009.
[158] Asit Dan, Robert D. Johnson, and Tony Carrato. SOA service reuse by
design. In Proceedings of the 2nd international workshop on Systems
development in SOA environments - SDSOA ’08, page 25, New York,
New York, USA, may 2008. ACM Press.
[159] J Schekkerman. What you all need to know about services orienta-
tion! structuring the enterprise around services. the differences between
hype, hope and reality, 2006.
[160] Yutu Liu, Anne H Ngu, and Liang Z Zeng. QoS computation and
policing in dynamic web service selection. In Proceedings of the 13th
international World Wide Web conference on Alternate track papers
& posters, pages 66–73, New York, New York, USA, may 2004. ACM
Press.
[161] Elzavita MacLennan and Jean Paul Van Belle. Factors affecting the
organizational adoption of service-oriented architecture (SOA). Infor-
mation Systems and e-Business Management, 12(1):71–100, 2014.
[162] Hoang Tuy. Convex Analysis and Global Optimization. Springer Science
& Business Media, 2013.
[163] J. N. Luftman, P. R. Lewis, and S. H. Oldach. Transforming the enter-
prise: The alignment of business and information technology strategies.
IBM Systems Journal, 32(1):198–221, 1993.
BIBLIOGRAPHY 236
[164] George P.H. Styan. Hadamard products and multivariate statistical
analysis. Linear Algebra and its Applications, 6:217–240, January 1973.
[165] Stephen Boyd and Lieven Vandenberghe. Convex Optimization. Cam-
bridge University Press, 2004.
[166] José María García, Martin Junghans, David Ruiz, Sudhir Agarwal, and
Antonio Ruiz-Cortés. Integrating semantic Web services ranking mech-
anisms using a common preference model. Knowledge-Based Systems,
49:22–36, sep 2013.
[167] Zibin Zheng and Michael R. Lyu. QoS Management of Web Services.
Springer, 2013.
[168] Domenico Bianculli, Walter Binder, Mauro Luigi Drago, and Carlo
Ghezzi. ReMan: A pro-active reputation management infrastructure
for composite Web services. In 2009 IEEE 31st International Confer-
ence on Software Engineering, pages 623–626. IEEE, may 2009.
[169] Ping Wang, Kuo-Ming Chao, Chi-Chun Lo, Ray Farmer, and Pu-Tsun
Kuo. A Reputation-Based Service Selection Scheme. In 2009 IEEE
International Conference on e-Business Engineering, pages 501–506.
IEEE, 2009.
[170] Monika Sikri and Gell Rajkumar. Service Discovery for SOA Systems
with Topological and QoS Constraints. In Computer Networks and
Security, volume 147 of Communications in Computer and Information
Science, pages 477–481. Elsevier, Gurgaon, New Delhi, India, 2014.
[171] Mitsuo Nagamachi. Kansei engineering: a new ergonomic consumer-
oriented technology for product development. International Journal of
industrial ergonomics, 15(1):3–11, 1995.
BIBLIOGRAPHY 237
[172] Dean H Stamatis. Failure mode and effect analysis: FMEA from theory
to execution. ASQ Quality Press, 2003.
Rajkumar Gell (Supervisor)
Rajkumar Gell has been associated with Cisco Systems for over 11 years in whichnearly 8 years he played the role of Test Manager for doing different types oftesting (Functional, Performance, Integration, End to End System Testing.) forsoftware enterprise applications - ERP, Web Applications, SOA, Web Services,Cloud Services. He is currently leading a global team with few specific functionswithin Information Security Team at Cisco Systems, based at Bangalore.
Work Experience
Current-2010 Service Manager at Cisco Systems, Bangalore2010-2003 Program Manager at Satyam Computer Services Pvt Ltd2003-2002 Testing & QA Manager at Lumley Technology India2002-2000 Team Leader at DanLaw Technologies India2000-1997 Scientist Fellow at National Environmental Engineering Research
Institute, Nagpur1997-1994 Research Associate at Jawaharlal Nehru Center for Advanced Sci-
entific Research
Education
2003 M.S (Software Systems) from BITS,Pilani1994 PhD (Atmospheric Sc. & Technology) from IIT, Kharagpur1989 M.Tech (Atmospheric Sc. & Technology) from IIT, Kharagpur
Publication
• G. Rajkumar, R. S. Saraswat and B. Chakravarty 1994: Boundary-LayerMeteorology, Kluwer Academic Publishers, Volume 68, Numbers 1-2, 131-137: Thermodynamic structure of the monsoon boundary layer under the influenceof a large-scale depression.
• G Rajkumar & R Narasimha 1996: Statistical analysis of the position of the mon-soon trough Journal of Earth System Science Vol 105, no.3, 343-355
• G Rajkumar, R Narasimha, S P Singhal & B S Gera 1996:Thermal and windstructures of the monsoon trough boundary layer Journal of Earth Systems Science,Vol.105, no.3, 325-341
Personal Data
Office Address Cessna Business Park, Kadubeesanahalli Varthur Hobli,Outer Ring Road, Bangalore 560087
Phone 9986037366Email [email protected]
239
Monika Sikri
Eleven years of experience in Information Technology with a focus in EnterpriseApplication Integration Domain (EAI), SOA and Middleware Technologies. Strongknowledge in Object Oriented analysis and Design .Proficiency in Oracle andRDBMS concepts. Knowledge of Internet Technologies such as Developing Server& Middle tier applications using Java, Tibco.
Work Experience
Current-2006 Architect at Cisco Systems, Bangalore2006-2005 Systems Engineer at TCS2005-2004 Software Engineer at Infogain India Pvt Ltd,India
Education
2004 Master of Technology (Computer Science) from JNU,Delhi2001 Bachelor of Technology (Computer Science and IT ) from I.E.T, Bareilly
Profession Achievements
• Awarded as Cisco STAR two times.
• Awarded as Cisco SPARK.
• Bronze Certified BOST Professional.
Academic Achievements
• Gold Medalist in B.Tech (DGPA: 9.23/10)) and M.Tech (CGPA 9/9 )
Personal Data
Office Address Cessna Business Park, Kadubeesanahalli Varthur Hobli,Outer Ring Road, Bangalore 560087
Email [email protected]
240