Web Service Browser - Uni

Download Report

Transcript Web Service Browser - Uni

The Web Service Browser
Automatic Client Generation
and Efficient Data Transfer
for Web Services
Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik Seiler, Marcel Diegelmann,
Helmut Dohmann, Bernd Freisleben
Department of Mathematics and Computer Science, University of Marburg
Deptartment of Applied Computer Science, University of Applied Sciences Fulda
Outline




Prologue – the Motivation for Using Services as a User
Problems that Occur when Using Web Services
Requirements for the Solution
Web Service Browser Components








WSDL Parser/Interpreter & Model
User Interface Generator
Execution Engine
Result Presentation
Implementation Issues
Part of Something Big: Multimedia SOA
Epilogue – an Audio Resynthesis Use Case
Conclusion and Future Work
2
Prologue - the Motivation for Using Services as a User



I‘m working in automatic speech processing
I want to provide the community with useful tools
How to distribute them?


MATLAB®? => expensive, not available everywhere
C(++)? => can‘t care for compilation on various platforms

Web Service & automatic interface seem very convenient

This is a useful 2nd application of services besides „web-based
libraries“


It is focussed on users, not on programmers
Or: on programmers wishing to debug during development
3
Problems that Occur when Using Web Services

If you search for WSDL files on the Web, often clients cannot
be found.

Non-computer experts can hardly work with the WSDL
information alone.

Computer scientists implement their own client


Command line tools like WSDL2Java which generates stubs, that
are used as a basis to program the client.
Graphical tools (e.g. from the Eclipse WTP project)
to complex for ordinary computer users
 ordinary users need an easy-to-use GUI without installing
complex software first

4
Problems that Occur when Using Web Services (2)
Portals only partially solve the problem since they only provide
access to web service clients.
 so why don‘t we integrate web services into the browser?

Idea: WSDL files should become part of the web!
 when a user surfs to a WSDL file, a GUI is generated from the
WSDL that helps him to invoke the service

Datatransfers should be integrated into the service invocation
 User does not need to "learn" data transfer mechanisms

5
Requirements for the Solution
Familiar Environment for accessing service-oriented Web/Grid
 Web Browser

Web Browser should understand WSDL files
 Web Browser renders WSDL just like HTML by generating a UI.



Service Developer does not need to develop GUI.
Service Provider does not need to maintain portal.
Data transfers can be described using the communication policy
and implemented using Flex-SwA.
 User does not need to "learn" data transfer mechanisms

6
Requirements for the Solution (2)

7
Web Service Browser Components
WSDL Parser/Interpreter & Model

WSDL Parser and Interpreter based on self-written XML2Java
Model Generator.

Model is “trained” at implementation time






One Java class for each XML element in an XML file
Constitutes a “best practice” model
Becomes finer the more input data it gets
Reflects the union of the structures of all XML example files
Is only as complex as the files to be processed.
If the model is not sufficient for a specific WSDL file, it can
simply be extended by being fed with the file.
User Interface Generator

Graphical user interface is generated from WSDL

UI Generator Service can be service on the web or directly
integrated into browser


choose between local and remote processing
choose between different providers for best graphical
representation
10
Execution Engine

Actually invokes service with given parameters

Local or remote component?

Local processing:



Data need not be transferred twice
Execution engine should process SOAP encoded messages,
so encoding must only be done once
Remote processing:


Data has to be transferred to component and then
transferred to service
Certificates have to be placed on remote component
11
Result Presentation

Displays results in human-readable manner

Graphical elements are generated from the WSDL operation's
output messages

Local or remote component

user selects provider with best graphical representations

MIME type plugins can be used to render complex
computation results, to display audio, etc.
12
Implementation Issues

Choose browser:





IE and Firefox are most popular
Both browsers offer extensibility points
Firefox is independent of operating system
Firefox was selected
To extend Firefox' functionality




overlay parts of browser (defined in XUL)
additional functionality with JavaScript
Cross Platform Component Object Model (XPCOM) components
can be written in JavaScript or C++
XPCOM handles the registration process of add-on and event
processing taking place before browser GUI is loaded
13
Implementation Issues (2)
Globus Toolkit most popular Grid Service container
 try to "connect" to it and use it to invoke Web and Grid
services
 "bridge" to Java is needed


Used HTML forms to provide familiar look

Developed two XPCOM components:



Observer and
Stream converter
Used Java Firefox extension from SIMILE project
14
Part of Something Big: Multimedia SOA
23
Epilogue – an Audio Resynthesis Use Case

Automatic speech processing employs a bunch of complex
techniques



Ever worked with it?
Ever been despaired when it doesn’t work?
Ever wished to “perceive” what’s going on inside a system?

Use re-synthesis of audio-features and –models for “Analysis
by Perception”

Resynthesis tools available as the WebVoice web service
http://mage.uni-marburg.de/audio/audio.html
24
Epilogue – an Audio Resynthesis Use Case (2)
Generated UI for WebVoice
25
Epilogue – an Audio Resynthesis Use Case (3)
Result presentation for WebVoice
26
Conclusion and Future Work

The WebService Browser…



handles UI and data transfer automatically
brings (end-) users and services together
considerably eases testing during service development

Test it at http://mage.uni-marburg.de !

Open issues




Notification system for long running jobs
Extensions for other MIME types reasonable
Currently only works with Firefox 3 and
Java version between 1.6.0 04 and 1.6.0 07
27
Thank you for your attention!
28