Skip to main content
Log in

KWATT: a toolkit for automatic web service generation

  • Original Article
  • Published:
Visual Geosciences

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. “Apec Cooperation for Earthquake Simulation,” http://www.quakes.uq.edu.au/ACES/.

  2. “Web Services and Service-Oriented Architectures,” http://www.service-architecture.com/.

  3. “Teragrid,” http://www.teragrid.org/.

  4. “Math, Statistics, and Computational Science, National Institute of Standards and Technology,” http://math.nist.gov/.

  5. “GAMS, Guide to Available Mathematical Software,” http://gams.nist.gov/.

  6. “Computational Geometry Software Libraries,” http://compgeom.cs.uiuc.edu/~jeffe/compgeom/software.html.

  7. “Netlib Repository at UTK and ORNL,” http://www.netlib.org.

  8. “Libgmail, Library to provide access to Gmail via Python.,” http://sourceforge.net/projects/libgmail/.

  9. “Flickr Services, API Documentation.”

  10. “Amazon Web Services,” http://www.amazon.com/gp/browse.html?node=3435361.

  11. “XMethods, publicly available web services,” http://www.xmethods.com/ve2/Directory.po.

  12. “WSDL File Generation for ASP.NET Web Services,” http://msdn2.microsoft.com/en-us/library/ms181855.aspx.

  13. “Matlab to Python conversion,” http://sourceforge.net/projects/mat2py/.

  14. “Call Matlab from Perl,” http://xtargets.com/snippets/posts/show/43.

  15. “Matlab-ruby 2.0.1,” https://rubyforge.org/forum/forum.php?forum_id=21959.

  16. “Vis5D Scripting,” http://www.ssec.wisc.edu/~billh/script52.html.

  17. “Using Python with VisAD,” http://www.ssec.wisc.edu/~tomw/visadtutor/.

  18. “VisIT Python Interface Manual,” https://wci.llnl.gov/codes/visit/manuals.html.

  19. “Py-OpenDX, Python Bindings for OpenDX,” http://people.freebsd.org/~rhh/py-opendx/.

  20. “OGRE 3D: Open source graphics engine,” http://www.ogre3d.org/.

  21. “Ogre3d Python bindings,” http://sourceforge.net/projects/python-ogre/.

  22. “Virtual Laboratory for Earth and Planetary Materials,” http://www.vlab.msi.umn.

  23. “PWscf (Plane-Wave Self-Consistent Field),” http://www.pwscf.org/.

  24. “Open Grid Services Architecture Data Access and Integration,” http://www.ogsadai.org.uk/.

  25. Garrett JJ. Ajax: a new approach to web applications. http://www.adaptivepath.com/publications/essays/archives/000385.php.

  26. “Semantic Web Services Initiative.”

  27. “ALTOVA, Building Web Services in MapForce,” http://www.altova.com/features_webservices_mapforce.html.

  28. Enunciate, articulate your web API,” http://enunciate.codehaus.org.

  29. “WATT Live,” https://doi.org/doi.org/vlab2.scs.fsu.edu/wattlive/http://lilli.msi.umn.edu/watt-live.

  30. “VTK example repository, Index of /Examples/VisualizationAlgorithms/Tcl,” http://www.vtk.org/cgi-bin/viewcvs.cgi/Examples/VisualizationAlgorithms/Tcl/.

  31. Barre S “VTK example Tcl code,” http://www.vtk.org/doc/nightly/html/c2_vtk_t_17.html.

  32. Barre S “VTK example code, Class To Examples (3..B),” http://www.vtk.org/doc/release/5.0/html/c2_vtk_e_0.html#c2_vtk_e_section_A.

  33. “OpenMP. The OpenMP specification for Parallel Programming,” http://www.openmp.org.

  34. Fox K. “When the STL Isn’t Enough: Adding Perl to your C++ Applicaitons,” http://www.perl.org/tpc/1998/User_Applications/When%20the%20STL%20Isn't%20Enough/paper.html.

References

  1. Charters SM, Holliman NS, Munro M (2004) Visualization on the grid: a web services approach. In: UK e-Science All Hands Meeting 2004

  2. Erlebacher G, Yuen DA, Bollig EF et al (2007) A grid framework for visualization services in the Earth Sciences. J Pure Appl Geophys 163(11–12):2467–2483

    Google Scholar 

  3. Karki BB (2005) Remote visualization of elasticity datasets. Vis Geosci (in press)

  4. Sayar A, Pierce M, Fox GC (2005) Developing GIS visualization web services for geophysical applications. In: ISPRS 2005 spatial data mining workshop, Ankara, Turkey

  5. Yuen DA, Garbow ZA, Erlebacher G (2004) Remote data analysis, visualization and problem solving environment (PSE) based on wavelets in the geosciences. Vis Geosci 8:83–92

    Google Scholar 

  6. Yuen DA, Garbow ZA, Erlebacher G (2003) Web- and wavelet-based problem solving environment (PSE) for data analysis and visualization in the geosciences. In: Workshop on innovative solution in grid computing, Melbourne, Australia, June 2003

  7. Yuen DA, Kadlec BJ, Bollig EF et al (2005) Clustering and visualization of earthquake data in a grid environment. Vis Geosci. http://springerlink.metapress.com/content/?mode=allwords&k=Clustering+Visualization+of+Earthquake+Data+in+a+Grid+Environment&sortorder=asc

  8. Cohen REE (2005) High performance computing requirements for the computational solid earth sciences. Carnegie Institution of Washington, Washington, DC

    Google Scholar 

  9. Bollig EF, Jensen PA, Lyness MD et al (2007) VLAB: Web services, portlets, and workflows for enabling cyberinfrastructure in computational mineral physics. Phys Earth Planet Inter 163(1–4):333–346

    Article  Google Scholar 

  10. Calleja M, Bruin R, Tucker MG et al (2005) Collaborative grid infrastructure for molecular simulations: the eMinerals minigrid as a prototype integrated compute and data grid. Mol Simul 31:303

    Article  Google Scholar 

  11. Richardson L (2007) RESTful web services. O’Reilly, Sebastopol

    Google Scholar 

  12. Gannon D, Ananthakrishnan R, Krishnan S et al (2003) Grid web services and application factories. In: Grid computing: making the global structure a reality, Wiley series in communications networking and distributed systems. Wiley, London

  13. Kandaswamy G, Fang L, Huang Y et al (2006) Building web services for scientific grid applications. IBM J Res Dev 50(2/3):249–260

    Article  Google Scholar 

  14. Alameda J, Christie M, Fox G et al (2006) The open grid computing environments collaboration: portlets and services for science gateways. Concurr Pract Exp 19(6):921–942

    Article  Google Scholar 

  15. Dougherty D, Robbins A (1997) Sed & Awk, 2nd edn. O’Reilly, Sebastopol

    Google Scholar 

  16. d Silva CRS, d Silveira PRC, Karki BB et al (2007) Virtual laboratory for planetary materials: system service architecture overview (Special issue: computational challenges). Phys Earth Planet Int 163:321–332

    Article  Google Scholar 

  17. Bollig EF, Lyness M, D., G. Erlebacher et al (2007) WATT: a compiler for automated visualization service generation. In: Grid computing environments (GCE) workshop, 2007

  18. Jensen PA, Bollig EF, Yuen DA et al (2006) Automatic generation of remote visualization tools with WATT. Eos Trans. AGU, Fall Meet. Suppl., Absract IN14A-06

  19. Sayar A, Pierce M, Fox G (2006) Integrating AJAX approach into GIS visualization web services. In: AICT-ICIW ’06. International Conference on Internet and Web Applications and Services/Advanced International Conference, 2006, p 169

  20. Wang H, Huang JZ, Qu Y et al (2004) Web services: problems and future directions. J Web Semant 1(3):309–320

    Article  Google Scholar 

  21. Magdalenic I, Vrdoljak B, Skocir Z (2006) Towards dynamic web service generation on demand. In: International Conference on Software in Telecommunications and Computer Networks, pp 276–280

  22. Gao S, Chen D (2007) Applying web services technology in distributed visualization. Mach Learn Cybern 7:4075–4079

    Article  Google Scholar 

  23. Itoh M, Tanaka Y (2005) Multispace information visualization framework for the intercomparison of data sets retrieved from web services. In: Special interest tracks and posters of the 14th international conference on World Wide Web, pp 970–971

  24. Escalante LG, Castillo AB, Ocana LB (2005) Automatic generation and publication of web services for the access and integration of distributed data sources. In: Proceedings of the Sixth Mexican International Conference on Computer Science, pp 96–105

  25. Bai X, Dong W, Tsai W-T et al (2005) WSDL-based automatic test case generation for Web services testing. In: Proceedings of the IEEE International Workshop, pp 207–212

  26. Engelen RV (2004) Code generation techniques for developing light-weight XML web services for embedded devices. In: ACM SIGAPP SAC Conference

  27. Schroeder W, Martin K, Lorensen B (2006) The visualization toolkit, an object-oriented approach to 3D graphics, 4th edn. Kitware, New York

    Google Scholar 

  28. Engelen RV, Gallivan AK (2002) The gSOAP toolkit for web services and peer-to-peer computing networks. In: 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid, p 128

  29. He J, Yen I-L (2007) Adaptive user interface generation for web services. In: IEEE International Conference on e-Business Engineering, pp 536–539

Download references

Acknowledgments

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yenan Qu.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Qu, Y., Bollig, E.F. & Erlebacher, G. KWATT: a toolkit for automatic web service generation. Vis Geosci 13, 59–69 (2008). https://doi.org/10.1007/s10069-008-0009-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10069-008-0009-8

Keywords

Navigation