iCSC2005 Web Services in Distributed Computing Theme

Details of all lectures

Introduction to Web Services


Friday 25 February

09:00 - 09:55 Lecture 1 Introduction to Web Services Ioannis Baltopoulos

This lecture sets the scene for the rest of the Web Services Theme. It covers the motivation behind Web Services and its relative position within the Distributed Computing market. In the second part of the lecture, we attempt to revisit some basic technologies that are required for Web Services like XML, WSDL and SOAP. The lectures will go so deep into these technologies as it is required for understanding web services and the material that is included in the lectures to follow.


  1. Web Services
    Basic definition of the technology and some motivation for it. Benefits of Web Services compared to other distributed systemís technologies.

  2. Distributed Systems
    Existing distributed systemís technologies like CORBA, COM and RMI.

  3. Service Based Architectures
    The basic architectures that one can have with web services and how they are used to solve a scientific problem.

  4. XML Primer
    Introduction to XML. Elements, Attributes, Processing Instructions defined and composed into a small example useful for web services.

  5. XML Namespaces
    The problem that arises by the flexibility of defining your own tags in XML and how it is solved using Namespaces

  6. XML Schema
    Giving predefined structure to XML documents using the XML Schema

  7. WSDL
    The WSDL as a specific XML Schema for describing Web Services

  8. SOAP
    The protocol that makes Web Services actually work.

Consuming, Providing & Publishing Web Services


Friday 25 February

10:05 - 11:00 Lecture 2 Consuming, Providing & Publishing Web Services Ioannis Baltopoulos

This lecture is the core of the whole Theme. Starting from where the last lecture finished it puts the introductory knowledge to work! We start by describing the necessary software environment and we then gradually build up our knowledge by first describing how to write Web Service Clients (Consumers) and following that how to write actual Web Services (Producers). The lecture closes with some information about how to structure a Web Services project in general and how to deploy the services on a production server and publish the information to a UDDI registry.


  1. Basic Environment
    The whole lecture is based on developing Web Services using Java (the language), Eclipse (the IDE), Ant (the build mechanism) and of course Axis (the WS platform). We spend a few moments introducing the tools and learning how to use them.

  2. Writing Consumers
    Web Service clients can be written in a plethora of programming languages. In this section we will be demonstrating how this is done using Java and time permitting Macromediaís Flash!

  3. Writing Producers (Within Axis)
    How to write a simple service within the Axis web application. This is the basic way of providing a web service; it provides a reasonable amount of flexibility but has some drawbacks.

  4. Writing Producers (Standalone)
    We will show how standalone web applications that offer a web service interface can be used to overcome the limitations from deploying Web Services within the Axis Web Application. This part of the lecture is based on a substantial example whose code will be given out after the lecture.

  5. Deploying the Services
    Description of the two ways web services can be deployed on production servers. This section will cover instant deployment and deployment through web service descriptors and web application deployment tools.

  6. Structuring a WS Project
    Moving away from the technology specifics, this section of the lecture aims at giving practical advice to the audience about how to structure a WS project and how existing code can be incorporated in the one.

  7. Publishing a WS using UDDI
    The last section will demonstrate how to dynamically publish a Web Service to a UDDI registry from where it can be found by consumers.

Advanced Issues and Future Trends


Friday 25 February

11:30 - 12:25 Lecture 3 Advanced Issues and Future Trends Ioannis Baltopoulos

The last lecture of this series will go into dynamic publishing and consumption of web services and how to secure them. It explains the usefulness of the Public Key Infrastructure in the context of Web Services and how a Web Service could authenticate consumers and guarantee secure communications. In closing it will mention the current work that is taking place in the area like transactions, interoperability and reliable messaging. It will then give a glimpse into the future of Web Services with self-adapting architectures over the Grid.


  1. Dynamic Publishing using UDDI

  2. Dynamic Consumption using UDDI

  3. XML Encryption

  4. Digital Signatures

  5. WS-Reliable Messaging

  6. WS-Transactions

  7. Dynamic Architectures

  8. WS on the Grid