+ All Categories
Home > Documents > The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services...

The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services...

Date post: 30-Mar-2015
Category:
Upload: jakayla-pearce
View: 215 times
Download: 0 times
Share this document with a friend
Popular Tags:
20
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
Transcript
Page 1: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

The Web Service Browser

Automatic Client Generation and Efficient Data Transfer

for Web ServicesSteffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik Seiler, Marcel

Diegelmann, Helmut Dohmann, Bernd Freisleben

Department of Mathematics and Computer Science, University of MarburgDeptartment of Applied Computer Science, University of Applied Sciences

Fulda

Page 2: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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

Page 3: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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

Page 4: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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 first4

Page 5: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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

Page 6: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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

Page 7: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

Requirements for the Solution (2)

7

Page 8: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

Web Service Browser Components

Page 9: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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.

Page 10: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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

Page 11: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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

Page 12: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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

Page 13: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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

Page 14: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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 project14

Page 15: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

Part of Something Big: Multimedia SOA

23

Page 16: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

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 servicehttp://mage.uni-marburg.de/audio/audio.html

24

Page 17: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

Epilogue – an Audio Resynthesis Use Case (2)

Generated UI for WebVoice25

Page 18: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

Epilogue – an Audio Resynthesis Use Case (3)

Result presentation for WebVoice26

Page 19: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

Conclusion and Future Work

27

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

Page 20: The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.

Thank you for your attention!

28


Recommended