Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 12

Using Web services in the

European Grid of Solar


Observations (EGSO)

Simon Martin & Dave Pike


Rutherford Appleton Laboratory, UK
Outline

• Introduction to EGSO
• EGSO architecture
• Using Web services in EGSO
• Web services examples – RPC type & document
exchange
• Experiences & problems
• Summary
Introduction

• The problem in solar


physics:
– Researchers need data from
multiple instruments (see right).
– These data are heterogeneous
& stored in very large archives.

• EGSO is a Grid test-bed,


whose aims are:
– To federate multiple data
archives and provide users with
tools to locate and retrieve data
sets.
– To reduce the amount of data to
be transferred to users by
providing processing facilities
within the Grid.
EGSO Architecture
• EGSO architecture (right)
defines 3 roles:
– Consumer (represents
user interaction).
– Broker (contains provider
information).
– Provider (data access &
services).
• Roles communicate
exclusively via an
External Interaction
Subsystem.
– Information to be
exchanged includes
metadata catalogue
fragments (XML), strings,
images and SQL queries.
– Web services will provide
the communication
infrastructure in the trial
version of EGSO.
Web services for communication

• Why use Web services? • We have investigated RPC and


document exchange type Web
– Relatively simple and services for use in EGSO:
lightweight to implement.
– Loose coupling. – Java Web Services
– Promote modularity. Developers Pack (JWSDP) is
an integrated toolkit for
– Open standards promote building Web services.
interoperability. • Includes APIs and reference
– Use Internet protocols. implementations for both types
of Web service, and tools for
– Globus Toolkit 3 is deployment and configuration.
implementing OGSA, based
on Web services. – Apache Axis is a SOAP
– … processing engine for
building RPC-type Web
services.
• Includes APIs and tools for
developing RPC-type Web
services.
RPC-type Web services: JAX-RPC & Axis
• JAX-RPC (Java API for XML RPC) • Web Services Description
and Apache Axis provide APIs Language (WSDL) documents
and tools to allow easy for RPC services can be
development of RPC-type Web obtained by:
services:
– Hide complexity of SOAP, XML, HTTP – Command line tools, or
from developer. – Appending ?WSDL to URL of Web
– Serialize/de-serialize Java types to XML service.
representation and vice-versa.
– Use SOAP messaging over HTTP.
• WSDL can be used by third
• RPC services are classes with party developers to create
public methods exposed as Web clients, or by service
services: developer to create stubs and
ties for their client and
public class RPCExample{ service.
public String response(){
return (“Hello World!”);
}
}
RPC-type Web services: JAX-RPC & Axis (2)

• JAX-RPC & Axis clients can be Client app.


Service
implementation
written in 3 ways:
– Dynamic invocation interface Stubs Ties
(DII) (bottom right). Axis/JAX-RPC Axis/JAX-RPC
• No stubs/ties; WSDL not runtime runtime
necessary. SOAP messages
• More coding HTTP transport
• Flexible.
– Using static stubs (top right). Service
• Tool creates stubs and ties c.f. Client app. implementation
RMI; client operates on proxy
(stub). Axis/JAX-RPC Axis/JAX-RPC
• Less code than DII. runtime runtime
– Dynamic proxy.
• No stubs, client creates proxy SOAP messages
class at runtime from WSDL. HTTP transport
• More portable than static stubs.
Document exchange Web services
• JWSDP provides JAXM (Java SOAPMessage
API for XML Messaging) &
SAAJ (SOAP with SOAPPart
Attachments API for Java). SOAPEnvelope
– SAAJ creates and manipulates
SOAP messages (right), and can SOAPHeader (optional)
send them between SAAJ Header
applications (synchronously).
– JAXM adds functionality of using SOAPBody
messaging providers for
reliability, asynchronous XML content (if any)
messaging, use of profiles.
SOAPFault(if
SOAPFault (if any)
any)
• Information can be sent as
part of the SOAP body (XML),
or as an attachment (any AttachmentPart (optional)
content type).
– It can be more efficient to send MIME header
XML as attachments to save
parsing the SOAP message. Content (e.g. pdf, JPEG)
Document exchange Web services (2)
• SOAP messages are sent over a • JAXM applications (peers) send
connection: messages using a messaging
– SAAJ uses a SOAPConnection to provider.
send messages over a point-to- – Providers take care of routing and
point connection (request- transmission of messages.
response messaging). – Application must be in a Web
request
container (Tomcat in JWSDP).
response
Sender Receiver • Benefits of using providers:
– Transparency (does not require
– JAXM uses a ProviderConnection extra code).
to send messages via a messaging – Support profiles (e.g. ebXML,
provider (asynchronous). SOAP-RP).
– Continuously active (can resend
messages until delivered, and
Messaging provider
store incoming messages for
application).
– Can send messages to multiple
intermediate destinations.
Experience

 
• Once the basics of the APIs, • Documentation is poor in parts.
deployment tools etc. have been
learnt, it is quite straightforward •
to develop new services. Bugs in APIs/tools.
• We have successfully sent
messages between applications • Large number of platforms to
with domain typical information choose from, with different
using Axis, JAX-RPC, SAAJ and methods to learn (e.g. Axis,
JAXM. JWSDP, GLUE, WASP…).
• JAX-RPC/Axis useful for simple – Different levels of support,
functions (synchronous). documentation etc.
• SAAJ & JAXM can send XML
fragments, images etc. • Several potentially significant
– JAXM adds reliability, drawbacks (see below).
asynchronicity and ability to
propagate messages to multiple
actors.
Potential Problems

• Web services are still a young technology, and there are


several areas of concern:
– Security: authorisation, authentication, integrity, confidentiality.
• Web services standards (e.g. SOAP) do not include security, but much
work is being done e.g. WS-Security, SAML.
– Performance: scalability, XML (bigger than binary files), SOAP
parsing....
– Reliability/QoS: HTTP, availability….

• However, many of these are minor problems, or can be


overcome.
– Performance issues may be minor compared to time taken
searching large archives.
– Messaging providers can improve QoS.
Summary

• Web services have the potential to fulfil the


communications needs of EGSO.

• Web services are relatively easy to develop and


deploy.

• Security needs serious consideration for use in ‘real’


system.

• Need to examine performance and possible


optimisations.

http://www.egso.org

simon.martin@rl.ac.uk

You might also like