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).
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
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
WEBIST 2008 - International Conference on Web Information Systems and Technologies
258