STRUCTURING DESIGN KNOWLEDGE
IN SERVICE-ORIENTED ARCHITECTURE
Dionisis X. Adamopoulos
Department of Technology Education & Digital Systems, University of Piraeus, Greece
Keywords: Web services, Web service engineering, Internet middleware.
Abstract: Web services are emerging technologies that can be considered as the result of the continuous improvement
of Internet services due to the tremendous increase in demand that is being placed on them. They are rapidly
evolving and are expected to change the paradigms of both software development and use, by promoting
software reusability over the Internet, by facilitating the wrapping of underlying computing models with
XML, and by providing diverse and sophisticated functionality fast and flexibly in the form of composite
service offerings. In this paper, the different facets of Web services are identified and a flexible approach to
engineering complex Web services is adopted in the form of a proposed framework for the development of
Web services. After the examination of its main constituent parts, it is argued that its full potential and that
of Web service engineering in general, is realized through the gradual formation of a rich service grid
offering value-added supporting functionality and therefore the main desirable properties of such a service
grid are highlighted. Finally, the paper outlines a validation approach for the proposed framework and
assembles important pointers for future work and concluding remarks.
1 INTRODUCTION
Web-enabled service-oriented computing is becom-
ing the prominent paradigm for distributed comput-
ing and e-commerce, creating significant opportuni-
ties for a variety of providers to develop value-added
services by specifying new Web services or by com-
bining already existing ones. These services are self-
contained, Web influenced programming entities
capable not only of performing business activities on
their own, but also possessing the ability to engage
other Web services in order to complete higher-order
business transactions. Therefore, Web services can
be considered as a special category of telematic ser-
vices, that although they have several unique
characteristics, they remain geographically
distributed entities providing a number of people a
predefined, carefully selected, set of capabilities / fa-
cilities, utilising the resources of telecommunication
networks (Adamopoulos, 2003).
This paper attempts to determine the boundaries
of Web service engineering and, considering the
needs of companies that deploy Web services to sup-
port increasingly sophisticated business processes,
proposes a framework for the development of Web
services and examines its main constituent parts, ad-
dressing important issues for the creation and provi-
sion of a new generation of functionally rich, adapt-
able, web-centric, composite applications. Further-
more, it introduces the concept of service grids as
the necessary infrastructure that will enable Web
services to transform the Web from a collection of
information into a distributed computational entity,
and identifies open matters and current technical
challenges for the Web services community in asso-
ciation with the proposed framework.
2 WEB SERVICE ENGINEERING
A Web service is programmable application logic
accessible using standard Internet protocols, fulfill-
ing a specific task or a set of tasks and representing a
discrete unit of business or system functionality, that
can be combined with other Web services to main-
tain business transactions or workflows (Curbera,
2004)(WSAWG, 2005). By exploiting Web services
an organization is able to provide ("expose") any
business function to any other entity, such as another
business function, an organization, a particular
community, as well as end users.
180
X. Adamopoulos D. (2008).
STRUCTURING DESIGN KNOWLEDGE IN SERVICE-ORIENTED ARCHITECTURE.
In Proceedings of the Third International Conference on Software and Data Technologies - SE/GSDCA/MUSE, pages 180-185
DOI: 10.5220/0001884701800185
Copyright
c
SciTePress
Web services are self-contained, self-describing,
modular software entities that can be published, lo-
cated and invoked across the Web. Each discrete
Web service can be deployed on and accessed from
any node on the Internet, because once a Web ser-
vice is deployed, other applications (and other Web
services) can discover and invoke the deployed ser-
vice. Therefore, multiple Web services can be com-
bined or assembled to form new service configura-
tions and deliver more valuable and sophisticated
functionality supporting diversified business objec-
tives.
As a new domain or scientific discipline at the
boundaries of software engineering and telecommu-
nications, Web service engineering addresses the
technologies and engineering processes required to
define, design, implement, test, verify, validate, de-
ploy, combine, maintain, and manage Web services
that meet user needs in the current or future net-
works. Its main objective is to ensure the introduc-
tion of new and enhanced Web services and their
management, in a fast and efficient manner. It relies
heavily on open distributed object-oriented process-
ing and Internet technology, and ambitiously prom-
ises to significantly facilitate the offering of a wide
variety of highly sophisticated and personalised ser-
vices over the widest possible coverage area.
Finally, it has to be stressed that Web services
represent the convergence between Service-Oriented
Architectures (SOAs) and the Web. SOAs (as the
one proposed by the Telecommunications Informa-
tion Networking Architecture-Consortium, TINA-C)
have evolved over the last 10 years to support high
performance, scalability, reliability and availability
(Adamopoulos, 2003). To achieve these properties,
applications are designed as services, that can be
accessed through a programmable interface and run
on a cluster of centralized application servers. In the
past, clients accessed these services using a tightly
coupled, distributed object protocol, such as Micro-
soft’s DCOM, OMG’s CORBA or Sun’s Java RMI.
While these protocols are very effective for building
a specific application, they limit the flexibility of the
system. Furthermore, each of the protocols is
constrained by dependencies on vendor
implementations, platforms, languages or data en-
coding schemes that severely limit interoperability
and none of them operates effectively over the Web
(Chung, 2003). Web services inherit all the best
features of the SOAs and all the best aspects of
component-based development in general and com-
bine them with the Web. Like components, Web ser-
vices represent functionality that can be easily
reused without knowing how the service is imple-
mented. However, the Web supports universal com-
munication using loosely coupled connections and
Web protocols are completely vendor-, platform-,
and language- independent.
3 A FRAMEWORK FOR THE
DEVELOPMENT OF WEB
SERVICES
Because of the inherent complexity of Web
technologies and the recent diversification of the
telecommunications environment, Web service engi-
neering activities should satisfy a number of re-
quirements, in order to maximise their usefulness,
fulfil the emerging increased expectations regarding
their value and impact, and lead eventually to a Web
populated by a variety of service objects. Current
Web service technology scores rather low compared
to these requirements. Therefore, in an attempt to
revitalize Web service engineering and enable it for
the crucial role that is anticipated to have in the new
emerging telecommunications environment, a Web
service engineering framework is proposed with the
objective to provide a rich conceptual model for the
development and the description of Web services
bringing this technology to its full potential.
The proposed framework is placed inside a
composite organisational context (a “business
ecology”), in order to signify that Web service
engineering activities are normally performed by a
variety of entities / business formations. Although in
practice many of the companies operating in this
sector / area blend various functions into a
composite offering and adopt many different roles,
the major players in this new always-on Web
services landscape are Application Service Providers
(ASPs), Managed Hosting Providers (MHPs), Inter-
net Service Providers (ISPs), network operators, In-
dependent Software Vendors (ISVs) and Business
Service Providers (BSPs) (Wainewright, 2006).
Therefore, the proposed framework is influenced by
their business objectives, their general
telecommunications and IT strategic orientation,
their knowledge, their problem solving attitude and
their experience.
The main constituent parts of the proposed Web
service engineering framework are:
A Web service development methodology: It is a
methodology that guides service developers
during the entire process of Web service creation.
A Web service support environment: It is an envi-
ronment aiming to facilitate, both the development
STRUCTURING DESIGN KNOWLEDGE IN SERVICE-ORIENTED ARCHITECTURE
181
of Web services (in cooperation with the Web ser-
vice development methodology) and their execu-
tion under real conditions. It consists mainly of:
Web service engineering principles: These
are concepts, guidelines, design patterns,
practices and (in general) mental constructs
that are applicable to Web service
engineering activities.
A Web service architecture: It contains in a
structured manner all necessary details for the
information and computational modelling of
Web services.
A Web service execution environment: It
encompasses the necessary computing and
network infrastructure and the appropriate an-
cillary software (e.g. operating systems, data-
base management systems, etc.), which is
needed for and during the execution of a Web
service. Its most important part is the Web
platform, which abstracts over all the other
parts and reduces greatly the effort needed for
the implementation of a Web service.
Furthermore, the Web platform is
accompanied by a collection of software tools
(together with a reuse infrastructure) that are
used according to the Web service
development methodology with the aim to
assist the service developer(s) when applying
the methodology.
A Web services environment conforms to the
conceptual roles and operations that characterize
every SOA. The three basic roles are the service
provider, the service consumer and the service
broker. A service provider offers the service and
publishes the contract that describes its interface. It
then registers the service with a service broker. A
service consumer queries the service broker
according to its specific needs and finds a
compatible service. Then, the service broker informs
the service consumer on where to find the service
and its service contract. Finally, the service
consumer uses the contract to bind the client to the
service. In order for the three conceptual roles to
accomplish the related conceptual operations, a SOA
system must supply / specify three core functional
architecture components; namely transport, de-
scription, and discovery (WSAWG, 2005).
The distributed object platforms (middleware)
that form the basis of SOAs (DCOM, CORBA or
Java RMI) define their own vertical set of formats
and protocols to implement the core SOA functions.
This approach ensures consistency among
applications that share the same middleware, but
prevents interoperability with applications that use
different middleware. It also requires that every
service producer and service consumer that engages
in a conversation must have the appropriate
middleware installed and loaded on its computing
infrastructure.
On the other hand Web services (Internet middle-
ware), unlike traditional SOA systems, do not re-
quire an entirely new set of protocols. The most ba-
sic Web services protocol is XML (an industry stan-
dard), which is used as the message data format and
is also used as the foundation of all other Web ser-
vices protocols. Web services use XML to describe
their interfaces and to encode their messages. How-
ever, XML by itself does not ensure effortless com-
munication. The applications need standard formats
and protocols that allow them to properly interpret
the XML. Hence, the following XML-based tech-
nologies have emerged as the de facto standards for
Web services: Simple Object Access Protocol
(SOAP), Web Services Description Language
(WSDL) and Universal Description, Discovery and
Integration (UDDI).
As most Web service configurations suggest, the
three core functional architecture components
(transport, description, and discovery) are imple-
mented using SOAP, WSDL, and UDDI, respec-
tively, forming the Web Services Architecture
(WSA). A UDDI registry has the role of a service
broker. The register and find operations are
implemented using the UDDI Inquiry and UDDI
Publish APIs. A WSDL document describes the
service contract and is used to bind the client to the
service. All transport functions are performed using
SOAP.
The Web Services Architecture (WSA) provides
the necessary means to create Web services for the
coverage of an infinite variety of needs and to dy-
namically combine them to satisfy more specialized
business requirements at any point in time, by knit-
ting together micro-services (individual process
components) into a broader application entity offer-
ing enriched functionality. However, such Web ser-
vice creation activities can be extremely risky and
difficult as Web services can be relatively simple,
like the delivery of a currency converter or stock
quotes to a cell phone, but also very complex, like a
payment processing service where millions of euros
are being transferred in individual transactions from
one account to another.
Furthermore, all Web services are currently com-
posed in a rather ad hoc and opportunistic manner by
simply combining their operations and input and
output messages. If the requirements change or need
ICSOFT 2008 - International Conference on Software and Data Technologies
182
to be adjusted, then the composition will have to be
respecified and recreated by possible interlinking
additional or modified service interfaces. This ap-
proach leads to a proliferation of badly specified ser-
vice operations and results in unmanageable and
cluttered solutions. In this case, the needs of service
developers that want to reuse the design and imple-
mentation of existing Web services only by exten-
sion or restriction, without developing them from
scratch, cannot be satisfied.
An equally important problematic situation arises
also from the fact that unlike a traditional telecom-
munications enterprise network, many different pro-
viders share the multi-layered network and software
infrastructure of Web services. Therefore, creating
an integrated, end-to-end application delivery infra-
structure incorporated into a Web service requires
close cooperation between all the interconnected,
autonomous participants (providers and enterprises).
It is evident that as Web services become more
sophisticated and more global in reach and capacity,
it becomes increasingly important to provide
additional assistance to service developers in order
to ensure the effective encounter of the above
mentioned problems and the efficient support of
commercial-grade application functionality by Web
services in an incremental manner, with little risk
and at low cost. Recognising these needs, a Web
service development methodology is proposed. This
methodology “covers” in a systematic and structured
manner the entire Web service creation process
through a requirements capture and analysis phase, a
Web service analysis phase, a Web service design
phase, a Web service implementation phase, and a
Web service validation and testing phase. It recog-
nises the inefficiency of current general-purpose
software engineering methodologies to address suc-
cessfully Web service engineering matters and pro-
poses a novel Web service creation process based on
fundamental object-oriented analysis and design
concepts and on important results of service creation
research regarding the development of telematic ser-
vices upon distributed object platforms utilising
SOAs. The novel character of the proposed method-
ology is reinforced by the adoption of an
incremental and iterative use case driven approach,
by the consideration of the special needs imposed by
the Web Services Architecture, by the careful
incorporation of the Unified Modelling Language
(UML) notation and the XML technology
throughout the service creation process, by the
exploitation of specially constructed design patterns,
and by the promotion of reusability and dynamic
Web service compositions.
Unlike other SOA systems, Internet middleware
does not define a specific invocation mechanism. It
simply defines the communication protocols (XML,
SOAP, etc). The specifics of how Web services in-
teract with SOAP and WSDL have been left as an
exercise to the service developer’s community.
Since the WSA is based on standard XML, Web
services can be implemented by using the pervasive
XML processing techniques that are supported by a
variety of software tools, together with ad hoc
invocation implementation patterns. However,
efficiency can be greatly improved by using spe-
cialized Web services platforms, which provide a
ready-made foundation for building and deploying
Web services, based on a set of carefully selected
invocation mechanisms. The advantage of using a
Web services platform is that developers don’t need
to be concerned with constructing or interpreting
SOAP messages.
The two most prominent Web services platforms
currently are Microsoft’s .NET and Sun’s J2EE.
More specifically, Microsoft has defined a set of
standard programming interfaces and class libraries
for the Visual Studio .NET languages within the
.NET framework. On the other hand, the Java Com-
munity Process’ (JCP) has recently defined a set of
standard programming interfaces for Java Web ser-
vices, as part of the J2EE specification. It is evident
that due to the increased capabilities of these plat-
forms and their continual improvement the selection
process is a challenging task (Williams, 2003).
4 THE IMPORTANCE OF
SERVICE GRIDS
A distributed Web services infrastructure will be re-
quired before Web services technology can be
broadly deployed to support mission critical applica-
tions within and across enterprises. The difference
between traditional Web content and Web services
originates from the addition of process – the se-
quence of events that need to happen in order to pro-
duce a result. The fact that the users / participants of
a Web service are distributed and need to complete
certain processes adds important new operating re-
quirements, such as consistency, authenticity, timeli-
ness, integrity, and persistence (
Wainewright, 2006).
The distributed Web services infrastructure must
support these requirements. Service grids constitute
a key component of this infrastructure, especially as
its scope expands beyond the boundaries of the
enterprise to encompass a broad range of business
partners. Service grids provide a set of enabling
STRUCTURING DESIGN KNOWLEDGE IN SERVICE-ORIENTED ARCHITECTURE
183
utilities and ancillary services to support more robust
connections between providers and users of Web
services. This enabling functionality offered by
service grids is distinct from application
functionality that is directly useful to end-users. It
focuses on supporting the application logic with
functionality like security, routing of messages
across Web services or data transformation so that
one Web service can access data from another Web
service. It can be considered as the equivalent of the
supporting functionality provided by object-oriented
middleware in SOAs, with the difference that in this
case it is delivered as a set of managed services,
rather than installed in the computing infrastructure
communicating at either end of the connection.
The full value of the proposed framework for the
development of Web services is realized when it is
used in combination with a carefully created service
grid in an integrated manner. This will also require
the enhancement of the proposed methodology in
order to take into account the availability of the
managed services offered by the service grid, espe-
cially during the specification of non-functional re-
quirements.
Although service grids are still at a very early
stage of development, there is no doubt that the
adoption of Web services technology will be signifi-
cantly affected by the pace and scope of service grid
deployments. Nevertheless, significant initiatives are
already taking place leading to the emergence of
early generations of service grids and specialized
service grid utilities.
5 CONCLUSIONS AND FUTURE
WORK
Web service engineering provide a sound basis for
developing and deploying interoperable Web ser-
vices, allowing the gradual transformation of the
Internet to a global common information networking
platform where organizations and individuals com-
municate with each other to carry out various com-
mercial activities and to provide value-added func-
tionality. With the emergence of Web services the
Internet has become a computing execution network,
processing commercial transactions and business
applications.
However, many of the standards required for
Web services are not yet fully defined. The SOAP,
WSDL and UDDI specifications that underpin cur-
rent Web services technology form a de facto stan-
dard infrastructure with little endorsement by offi-
cial standards organizations. For this reason, the ex-
isting specifications contain a number of ambiguities
and inconsistencies, and address only basic Web
services communications. Two standards groups are
currently working on the definition of official Web
services standards: The World Wide Web Consor-
tium (W3C) and the Organisation for the Advance-
ment of Structured Information Standards (OASIS).
W3C focuses on core infrastructure specifications
and OASIS focuses on higher-level functionality.
In general, Web services computing poses
significant theoretical and engineering challenges as
developers determine how to leverage emerging
technologies to automate semantically rich
application domains and to create software entities
with an open interoperable character, based on
cross-organisational, heterogeneous software
components. The proposed framework for the
development of Web services aims to address this
movement towards Web-enabled service-oriented
computing, where application logic is offered as a
set of services both within and across enterprises.
Regarding this framework, it is currently attempted
to examine it and specify it in greater detail,
focusing especially on the Web service development
methodology, as it presents increased research inter-
est and practical value. Furthermore, the validation
and evaluation of the proposed methodology is
considered by applying it to the development (from
requirements elicitation up to actual implementation)
of a complex representative Web service (eXtended
e-Learning Interactive eXperience using Internet
Services, eXeLIXIS). This Web service enables
students to specify their learning objectives and
learning preferences, attend specially designed e-
classes that satisfy their needs, participate in training
multiplayer games that enhance their understanding
and test their knowledge, getting feedback in order
to amend or enrich their learning objectives. Two
alternative implementations of this Web service are
being constructed (using Microsoft’s .NET and
Sun’s J2EE) and special emphasis is placed on Web
service composition matters, as the training material
can originate by a variety of providers, and on the
incorporation of session tracking, as the maintenance
of state information for the students by the Web
service improves the overall performance, simplifies
program development and provides for a more
intuitive user interface. This validation attempt aims
to provide tangible evidence about the correctness,
the efficiency and the true practical value of the
proposed methodology. All these efforts treat the
proposed framework as a conceptual “umbrella” for
Web service engineering activities and gradually
ICSOFT 2008 - International Conference on Software and Data Technologies
184
transform it to a more precise and concrete
construct.
Web services constitute undoubtfully a
promising technology that will increasingly assist
the integration of heterogeneous islands of
application logic (objects on the Web) to
homogeneous component-based solutions (a web of
objects), especially when supported by robust
service grids. However, developers should keep in
mind that Web services are still a fast moving target
and an immature technology. Existing object-
oriented middleware such as COM+/.NET, CORBA,
and EJB/RMI may be still necessary to implement
sophisticated back-end services, but Web services
claim a prominent role when these functionality
islands must be connected to fully operational
networked systems.
REFERENCES
Adamopoulos, D.X., Pavlou, G., Papandreou, C.A., 2003.
Advanced Service Creation Using Distributed Object
Technology. In IEEE Communications Magazine, Vol.
40, No. 3, pp. 146-154.
Chung, J.-Y., Lin, K.-J., Mathieu, R.G., 2003. Web Ser-
vices Computing: Advancing Software Interoperabil-
ity. In IEEE Computer, Vol. 36, No. 10, pp. 35-37.
Curbera, F., Khalaf, R., Mukhi, N., Tai, S., Weerawarana,
S., 2004. The Next Step in Web Services. In Com-
munications of the ACM, Vol. 46, No. 10, pp. 29-33.
Fensel, D., Bussler, C., 2005. The Web Service Modeling
Framework WSMF. In Electronic Commerce:
Research and Applications, Vol. 1, pp. 113-137.
Wainewright, P., 2006. Web Services Infrastructure: The
Global Utility for Real-Time Business, White Paper.
WSAWG, 2005. Web Services Architecture Requirements,
W3C Working Draft.
Williams, J., 2003. The Web Services Debate: J2EE vs.
.NET. In Communications of the ACM, Vol. 46, No. 6,
pp. 59-63.
STRUCTURING DESIGN KNOWLEDGE IN SERVICE-ORIENTED ARCHITECTURE
185