KWATT: A toolkit for automatic web service generation

Yenan Qu, Evan F. Bollig, Gordon Erlebacher

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

The Earth Science community is tackling computational problems that tax our largest computational resources. The size of the resulting datasets has been increasing almost exponentially over the last decade. Analysis of this data requires a cross-section of tools to extract useful information. Several international teams are working in concert to generate and analyze this data. A growing number of tools operate through Web services, which are the currently accepted mechanism through which users initiate tasks on one computer and execute them at some remote location. This paper presents a new tool, KWATT, a C++ application that generates web services from Tcl, Python, and Ruby scripts automatically, with minimal user intervention. KWATT parses the scripts and extracts information about procedures and user-defined control statements, embedded as comments. KWATT creates all necessary C++ wrappers, along with the code stubs required by gSOAP, a C++ interface to the SOAP protocol. Initially conceived to translate VTK front-end Tcl scripts into Web Services, the architecture is sufficiently general to accommodate a wide range of input languages. We demonstrate this capability with Tcl, Python and Ruby. Clients receive images through a dedicated socket for efficiency.

Original languageEnglish (US)
Pages (from-to)59-69
Number of pages11
JournalVisual Geosciences
Volume13
Issue number1
DOIs
StatePublished - 2008

Bibliographical note

Funding Information:
Acknowledgments The authors gratefully acknowledge National Science Foundation support through the ITR grant NSF0426867 and the remote visualization grant NSF-0345656.

Keywords

  • Python
  • Tcl
  • VTK
  • Visualization
  • Web Services

Fingerprint

Dive into the research topics of 'KWATT: A toolkit for automatic web service generation'. Together they form a unique fingerprint.

Cite this