Web Services Technology for the Industry by bestt571


More Info

                   Web Services Technology for the Industry
                                        P. S. Tan and E. W. Lee

Abstract – Web Services is the latest buzzword             IHLs      Institutes of Higher Learning
that has been touted by many as the next tech-             IT        Information Technology
nology revolution in IT that can solve a multitude
of problems that are inherent today. Neverthe-             ISS       Institute of Systems Science
less, when the focus is shifted towards web ser-           J2EE      Java™ 2 Platform, Enterprise Edition
vice adoption and implementation, web services             JDK       Java Development Kit
has not reached mainstream. In the context of              JSSL      Java Smart Services Lab
Singapore for example, the application and us-
age of web services may have started. However,             MIS       Management Information Systems
the widespread adoption and interoperability of            OS        Operating System
web service-enabled applications are still some            PKI       Public Key Infrastructure
way off. From the technology point of view, one
                                                           SOA       Service-Oriented Architecture
of the major stumbling blocks have been the
complexity surrounding web services as it                  SOAP      Simple Object Access Protocol
encompasses a myriad of technologies. In short,            SSO       Single Sign-On
the learning curve can be very steep and devel-            UAM       User Access Management
opment of web service-enabled applications can                       Universal Description, Discovery and
be difficult. However the potential of web ser-            UDDI
vices is boundless.
                                                           W3C       The World Wide Web Consortium
The Java Smart Services Lab (JSSL)* was                    WSDL      Web Services Description Language
setup to help accelerate the adoption of web               WSRA      Web Service Reference Architecture
services by the industry. To this end, a Web               XML       eXtensible Markup Language
Service Reference Architecture (WSRA) has
been developed to accelerate the technical and
                                                           1.2     Basic web services
technology capabilities of the industry, and as a
result, enable more web service implementa-
tions. This report provides an introduction into           If a search were executed on one of the Internet
web services of today, and through its technol-            search engines for “web service” or “web ser-
ogy developed, JSSL’s vision of helping to                 vices”, it would probably return thousands and
shorten the learning curve as well as accelerate           thousands of hits. The same can be said for web
web services adoption.                                     services definition. For the work of JSSL, the
                                                           following definition is used.
* JSSL is a joint initiative between Singapore
Institute of Manufacturing Technology (SIM-                “Web service is a software component repre-
Tech), Infocomm Development Authority (IDA)                senting a specific business function that can be
and Sun Microsystems.                                      described, published and invoked over the net-
                                                           work using open-‘standards’**.”
Keywords: Web service(s), SOAP, WSDL, XML
                                                           ** (Standards are issued by recognised stan-
                                                           dards organisations, such as ISO for example.
                                                           Here, ‘standards’ are either de-facto standards
                                                           adopted by the IT industry or recommendations
1       BACKGROUND                                         by organisations like W3C and OASIS.)
1.1     Common       definition   and   notation           By its very definition as a software component, it
        used                                               means that implicitly, web services are built for
                                                           aggregation or composition into larger web ser-
Acronym              Complete Name                         vice implementations or even Internet-based
API       Application Programming Interface                applications. Although by definition web services
                                                           can be invoked using different network proto-
ASPs      Application Service Providers
                                                           cols, SOAP over HTTP is the currently the most
HTTP      Hypertext Transfer Protocol                      common communication method.
IDCs      Internet Data Centres

                                                                               Web Services Technology for the Industry

Fig. 1 diagrams a typical basic web service sce-          Service Reference Architecture (WSRA) effort is
nario that includes three categories of users,            part of this technology development effort de-
namely:                                                   fined under the initiatives of JSSL. The WSRA is
• Service Providers                                       a framework that is developed to fulfil two goals:
    This group is the web service creators or             • To shorten the web service learning
    hosting agencies that host web services. In                curve by providing good practices and iden-
    a typical environment, once the web ser-                   tifying the correct path(s) to follow in web
    vices are created they can be published to                 services development. This is especially
    discovery agencies, describing the service’s               useful for beginners who are embarking on
    functionality, binding information as well as              the Java web services journey.
    information about the creators. This is cur-          • To accelerate web services development
    rently spelt out using the WSDL.                           by shortening the development of web ser-
• Discovery Agencies                                           vice-enabled applications through a set of
    This group can be described as middlemen                   foundation Core Services that can be used
    acting as brokers for service providers and                as building blocks.
    requestors (or consumers). They serve as
    agencies or repositories for services with            Based on the two objectives outlined, the WSRA
    appropriate description that can be discov-           is designed in consideration to other efforts such
    ered by potential service requestors. The             as the Web Services Architecture from W3C,
    de-facto description and query support is             J2EE, Microsoft .NET framework and software
    currently based on UDDI.                              implementations, be it open-source or commer-
• Service Requestors                                      cial efforts. Fig. 2 illustrates the context of the
    These are the actual consumers of web ser-            WSRA in relation to these efforts. The WSRA is
    vices. In a typical scenario, these consum-           targeted at individuals or organisations that in-
    ers will look for services in the discovery           tend to build web service-enabled applications.
    agencies. Upon locating suitable services,
    users will negotiate and co-ordinate usage            3             THE WEB SERVICE REFERENCE
    of these services directly with service pro-                        ARCHITECTURE (WSRA)
    viders. When an agreement is reached, ser-
    vice consumers can start using the services.          The WSRA is a framework consisting of:
    Information in the WSDL is used to bind and           • Infrastructural guidelines and
    invoke each web service.                              • Reference Implementation of Core Services
                                                             with relevant accompanying specifications.
                                                                             WS -Apps

                                                                                        WS -Apps


                                                                                                              WS -Apps

                                                                                                                             WS -Apps

                       Discovery                               eb
                                                              W Service
                                                                                                                                        WS -Apps

                                                                                                                                                          WS -Apps
                       Discovery                              Applications





            SOAP                    SOAP (Find)                     JSSL        Web Service Reference Architecture

    WSDL                                                         Software Application/Web/Directory Servers, Middleware, Databases
      Service             SOAP       Service
     Providers            (Bind)    Requestors
                                    Requestors                   Platform                    J2EE (Web Services)                                   .NET
                                                                     W3C                           Web Services Architecture (WSA)
Fig. 1. A basic web service environment.

In each of the operations described, the de-facto         Fig. 2. The positioning/context of web service refer-
communication language or protocol is SOAP.               ence architecture (WSRA).
Also, in this scenario, an end-point or node can
function in more than one role. For example, a            It is based on open-standards and related tech-
given node can be both a service requestor and            nologies to facilitate the rapid creation and as-
provider at the same time.                                sembly of interoperable web services. This
                                                          framework spans four layers, namely Hardware
                                                          and Networking, Operating System, Software
2          OBJECTIVE                                      and Core Services layers, as shown in Fig. 3.

As part of JSSL mission to help accelerate web            In each of the layers, guidelines on configuration
services adoption in Singapore, it was identified         or usage techniques for web services are pro-
that technology development is crucial. The Web           vided. These are based on identified commercial
                                                          solutions, and where possible, freeware or open-

                                                                       Web Services Technology for the Industry

source alternatives as well. The Core Services              IT professionals who are moving into Java-
layer forms the gist of the Reference Implemen-             based web services, with guidelines on develop-
tation in the WSRA. The Reference Implementa-               ing web services that would be interoperable as
tion can be divided into two parts, namely sets of          well as deployable across different vendor plat-
identified and implemented Core Services and                forms. This guide [2] handles interoperability
specifications of these Core Services.                      between Java-based implementations only and
                                                            does not look into issues related to inter-platform
3.1     Infrastructural guidelines                          interoperability, like between Java and .NET
                                                            platforms implementations for example.
Presently, this section consists of 3 sets of iden-
tified guidelines that can be used as references            The importance of web service interoperability
for the acceleration of web services develop-               cannot be overstated and considerations should
ment. They are in the area of web services in-              start at the beginning, from requirements map-
frastructure, interoperability and testing                  ping to architecting to designing, to implement-
                                                            ing and testing of web services. As such, system
3.1.1   Adapting an IT infrastructure for web               architects will find this guide very useful in identi-
        services guide                                      fying the correct path to follow when starting on
                                                            a web service-enabled application development.
Individual vendors typically provide configuration          Designers and developers who are embarking
recommendation for its hardware, software or                on web services development will also be able to
even networking products. However, this is typi-            use it as a handy reference. For example, this
cally done in isolation and does not include the            guide provides useful information on picking the
holistic view of defining an IT infrastructure to           correct web service signatures that can interop-
meet the needs of an organisation or cluster of             erate across multiple servers and the various
organisations. In this area, the guide aims to              supported XML data types by different servers.
help organisations, which are keen to embrace               It also recommends the type of web service cli-
web services, to identify an adaptive IT infra-             ents that should be developed and security con-
structure that is web service-ready. It examines            siderations that must be made to ensure better
the issues surrounding the integration of web               interoperability.
services into an existing IT infrastructure and
showcases a possible approach to adapting an                3.1.3    Web services testing guide
existing IT infrastructure for web services [1].
For example, due to the fact that web services              Web Services, just like it peers in the SOA
are more processing and bandwidth intensive,                world, changes the way applications are devel-
there is a need to cater for more hardware proc-            oped. A paradigm shift from complete build to
essing power in hosting servers and potentially             assemble where possible (through reuse) and
more network bandwidth to maintain the same                 build only when necessary is evident. With this
level of performance. Also, older firewalls and             change, it is also important to change the way
routers that are not XML-aware may not protect              software quality is ensured. One, it is important
web service-applications from hacks, and as                 that formal testing must now be shifted towards
such advisable to make provision for such                   more granular testing at component or service
needs.                                                      level. Another important aspect found is that
                                                            service aggregation can impact on the perform-
The guide is mainly targeted at System and MIS              ance of the whole application developed. Also,
managers that need to understand the require-               with the addition of the SOAP messaging layer
ments of web services and plan for the IT infra-            in web services, there is also a need to test for
structure needs of their respective organisations           SOAP compatibility and interoperability between
that want to adopt a web service-enabled IT                 web services. For example, instead of system
framework and strategy. System architects and               test, a typical “application-like” testing scenario
system engineers who need to gain a better in-              would be to test for the interoperability of aggre-
sight will also find this guide useful.                     gated services that can reside across firewalls
                                                            and in heterogeneous environment.
3.1.2   Web services interoperability guide

Today, tools for the creation of web services on
the Java platform are widely available. However,
as standards are still evolving, there are a myr-
iad of ways to create and deploy web services,
not to mention the aggregation or assembly of
web services. To this end, JSSL aims to assist

                                                                               Web Services Technology for the Industry

             Core Services        Reference Implementation (+ Specifications)

                 Software      Web/ Application Servers, Middleware, Databases


                       OS                         OS Environment

                 Hardware              Hardware / Networking Environment

Fig. 3. The web service reference architecture (WSRA) stack.

In this guide [3], various aspects that are impor-                   vices are generic in nature and meant to be
tant in the planning of a test-bed environment for                   used as building blocks in web service-
testing (including web services) are shared. Its                     enabled applications.
main target is software-testers, although system              •      Each Core Service has a predefined set of
architects will find the considerations identified in                API calls that are mapped into SOAP calls
this guide valuable too. A section of this guide                     where possible or relevant. In other words,
also shares the infrastructure that JSSL has put                     where applicable, each web service-enabled
in place and the very insightful and painful ex-                     Core Service must be designed to support
periences that she has undergone. As part of                         invocation over the Internet using SOAP and
this experience sharing, examples of results                         support multiple concurrent users with multi-
from the web service performance profiling tests                     namespace concept.
are also made available.                                      •      Each Core Service on the lower layer cannot
                                                                     call or be dependent on a Core Service that
3.2          Reference implementation of core                        resides in a higher layer of the architecture,
             services                                                as illustrated in Fig. 4.

The Reference Implementation can be divided                   SOAP interfaces are designed based on the
into two parts, namely sets of, identified and im-            guidelines provided in the Web Services Inter-
plemented, Core Services and accompanying                     operability Guide mentioned in section 3.1.2.
specifications. The software serves as a toolkit
or foundation to accelerate the development of
web services enabled applications, whereas the
specifications serve as a reference guide to the                  Layer 3           Service-3a      Service-3b   … Service-3n
architecture and requirements of the imple-
mented Core Services. The Core Services in the                                                                                                                 X
Reference Implementation are developed using
the component-based approach, and supports                        Layer 2           Service-2a      Service-2b   … Service-2n
the concept of plug-and-play based on the J2EE
platform.                                                                                                                                                      X
3.2.1        Design principles overview
                                                                  Layer 1           Service-1a      Service-1b   … Service-1n
The Core Services are designed based on a
                                                                  Inter-layer Dependency     Intra-layer Dependency   x edDependency

loosely coupled SOA concept and the layered
architecture model [4], with the following princi-            Fig. 4. Layers dependency rules.
• Each Core Service is designed as a soft-                    3.2.2         The core services
    ware component, i.e. an independent piece
    of software that can be deployed individu-                Using the design principles stated in section
    ally, based on explicit external dependencies             3.2.1, the Core Services are categorised into
    that are specified.                                       Common and Value-Added Services Layers. In
• Each Core Service provides a placeholder                    the Common Layer resides a set of services that
    for its functionality that is labelled as passive         are usually associated with frequently used util-
    framework, i.e. it does not store information             ity-like functionality, such as log, search, sensory
    or have information on calling services or                (or detection) of devices and notification for ex-
    applications. This is necessary as Core Ser-              ample. A Service-Tester is included and meant

                                                                           Web Services Technology for the Industry

to be used as a utility to check the availability                    to develop web services, including the de-
and performance of web services over the HTTP                        velopment of web services on the Java plat-
protocol dynamically. The Value-Added Layer                          form. After this course, individuals should
consists of services that are likely to be needed                    have a good grasp of web services and able
in any application development, including the                        to start developing simple web services.
management of users and services under the                       •   Module 2 – Web Services Development
purview of the application domain. For more ad-                      Workshop
vanced management needs, services such as                            This module is designed to cater for devel-
Roles & Access Management, Service Man-                              opers and designers who have some knowl-
agement that includes service monitoring and a                       edge of web services and want an intensive
Web Service Aggregator to handle assembly or                         form of training to fine-tune and hone their
aggregation of web services dynamically are                          skills in Java-based web services develop-
available. Security for web services is provided                     ment. This course is very hands-on intensive
via the Secure SOAP Management. Services                             in nature and meant for industry practitio-
listed in Fig. 5 are part of the WSRA Reference                      ners. Upon completion, attendees should be
Implementation Release 1.0, except for those                         able to understand the intricacies involved in
labelled in italics, which are targeted for later                    developing good web services and able de-
release.                                                             velop robust web services.
                                                                 •   Module 3 – WSRA Familiarisation
These Core Services are accompanied by a set                         This module provides hands-on training on
of specifications that include the Architecture                      the usage and application of the WSRA
Requirements Specifications [4] and Service                          Core Services. It is targeted at organisations
Interface Requirements Specifications [5]. A                         or individuals who are interested to use the
high level overview of each of the Core Service                      Core Services in their web service-enabled
can be found in the Functional Overview docu-                        implementations. This course will help users
ments [6]. Presently, Release 1.0 of the Refer-                      of WSRA implement and use the Core Ser-
ence Implementation, containing both the Core                        vices efficiently.
Services and specifications are available for                    •   Module 4 – Web Services Jumpstart
downloads       at    the     JSSL     website,                      This programme aims to enable organisa-
http://www.jssl.org.                                                 tions that are familiar with Java to jumpstart
                                                                     into web services development capability
4               WEB SERVICES CURRICULUM                              quickly. This is an intensive 2-week pro-
                                                                     gramme that is usually conducted per or-
As part of JSSL’s mission, manpower develop-                         ganisation basis to ensure that the learning
ment (that includes working professionals, stu-                      curve is consistent for all the participants.
dents at schools and IHLs) has also been identi-                     Upon completion, the development team of
fied as crucial to put Singapore in the global                       a company should be able to embark on a
stage on web services. To this end, with the                         web service-enabled application develop-
knowledge and work of WSRA as the basis,                             ment, including the ability to identify areas in
JSSL designed and developed four training pro-                       an application that are suitable for web ser-
grammes. Each programme is targeted at dif-                          vices, the best way to design the web ser-
ferent skill-levels or needs and tailored accord-                    vices, and the interoperability and perform-
ingly:                                                               ance issues that must be considered.
• Module 1 – Web Services Basic
     This module is targeted at individuals who                  Module 1 and 2 are used as the basis for the
     are new to web services. It covers all the                  joint development effort with ISS where these
     basic technologies and components needed                    courses are offered to the general public by ISS.
                                                                 Module 3 and 4 are conducted by JSSL to identi-
                                                                 fied organisations.

                    Roles & Access   Phase & LC        User        *Service        *Web Service   Presentation

                     Management      Management   Personalisation Management        Aggregator    Transformer

                       User      Group       Audit             *Service    *Secure SOAP      Event      Single
                    Management Management Management           Registry     Management      Handler    Sign-On

                                           *Service   Notification   Sensory      Digital Key      XML-based
                    Log Utility   Search
                                            Tester      Engine       Engine      Management       Rules Engine

      *Web Service Specific

Fig. 5. Layered architecture of the core services.

                                                                        Web Services Technology for the Industry

5       CONCLUSION                                          this is viable, JSSL also actively organises
                                                            proofs-of-concept (POCs) for specific vertical
This report outlined the motivation for the WSRA            industry domains (such as manufacturing and
framework and the context of this effort. It also           logistics) that will help to validate and provide
provides a high level view of the contents of the           requirements for the framework. As discussed in
WSRA, for both the infrastructural guidelines               section 4, JSSL also uses the WSRA as the
and the Reference Implementation of the Core                foundation for web services curriculum devel-
Services. It also provides an overview of the cur-          opment with partners, where it can be used as a
riculum developed within JSSL to help the Sin-              platform to articulate and illustrate the creation,
gapore community on its understanding and                   assembly and deployment of web services.
knowledge of web services.
                                                                     Table 1. Categories of potential users.
As of 31 March 2004, JSSL has successfully                        Category               Expected Usage
concluded its 2-year phase, with its objectives             Independent Soft-      • Guidelines/Specifications
and targets successfully met. This is reflected in            ware Vendors         • Reference Implementation
the 5 JSSL Steering Committee held on 16
March 2004.                                                  System/Solution       • Guidelines/Specifications
                                                               Integrators         • Reference Implementation
                                                                                   • IT Framework
                                                              MIS/IT depart-       • Guidelines/Specifications
The guidelines are meant to be used as refer-                    ments             • Services built using the Ref-
ence guides to good web service practice                                             erence Implementation
whereas the Core Services are meant to func-
tion as a reference implementation, similar to                                     • Infrastructure Guidelines
the role played by the JDK in the early days of                                    • Reference Implementation
Java development. JSSL advocates the use of                                          Hosting
alternative commercial solutions where possible.                                   • Services Hosting
However, individual vendors are encouraged to
                                                                                   • Guidelines (good practices)
enhance the Core Services and develop them                  Institutes of Higher
                                                                  Learning         • Reference Implementation
into commercial solutions. As part of this strat-                                    (projects)
egy, the binary codes of the Core Services are
freely available for downloads. If companies
have a need to access the source codes, a                   REFERENCES
small licensing fee is applicable.
                                                            [1]    L.P. Chan and D.K. Limbu, “Adapting An IT
The WSRA is intended for accelerating web ser-                     Infrastructure For Web Services”, version
vices development as well as providing an open                     1.0, March 2004, http://www.jssl.org/
platform where different players, be they small             [2]    J. Cheng, “Web Services Interoperability
one-man enterprises or big companies, are able                     Guide”,     version    2.0,     Feb     2004,
to have a niche in a levelled playing field. With                  http://www.jssl.org/
this in mind, the framework is targeted at spe-             [3]    C.H. Ang, “Web Services Testing Guide”,
cific groups of potential users, including, but not                version 2.0, July 2003, http://www.jssl.org/
limited to Independent Software Vendors, Sys-               [4]    P.S. Tan, “Architectural Design Specifica-
tem or Solution Integrators, IT departments of                     tions – Reference Implementation of Core
enterprises and Application Service Providers or                   Services”, Release 1.0, Jan 2003,
Internet Data Centres (ASPs/IDCs). The Institute                   http://www.jssl.org/
of Higher Learning is also a potential target as            [5]    Y. Cheng and P.S. Tan, “Core Services
training grounds for a web service savvy work-                     Interface Specifications – Reference Im-
force through exposure to the WSRA and re-                         plementation of Core Services”, Release
lated web services curriculum.                                     1.0, Sep 2003, http://www.jssl.org/
                                                            [6]    J. Cheng, “Core Services Functional Over-
Table 1 lists some of the expected usage for                       view – Reference Implementation of Core
these groups of potential users. For the first two                 Services”, Release 1.0, Jan 2003,
groups, it is envisioned that the WSRA would be                    http://www.jssl.org/
used as a basis for developing application or
industry-specific web services. To ensure that


To top