The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.04 - October-December (2008 vol.1)
pp: 229-242
Željko Obrenović , Technical University in Eindhoven, Eindhoven
Dragan Gašević , Athabasca University, Athabasca
ABSTRACT
In this paper, we show how spreadsheets, an end-user development paradigm proven to be highly productive and simple to learn and use, can be used for complex service compositions. We identify the requirements for spreadsheet-based service composition, and present our framework that implements these requirements. Our framework enables spreadsheets to send requests and retrieve results from various local and remote services. We show how our tools support different composition patterns, and how the style of declarative dependencies of spreadsheets can facilitate service composition. We also discuss novel issues identified by using the framework in several projects and education.
INDEX TERMS
Online Information Services, Spreadsheets, Distribution, Maintenance, and Enhancement
CITATION
Željko Obrenović, Dragan Gašević, "End-User Service Computing: Spreadsheets as a Service Composition Tool", IEEE Transactions on Services Computing, vol.1, no. 4, pp. 229-242, October-December 2008, doi:10.1109/TSC.2008.16
REFERENCES
[1] R. Abraham and M. Erwig, “Inferring Templates from Spreadsheets,” Proc. 28th Int'l Conf. Software Eng. (ICSE '06), pp. 182-191, 2006.
[2] R. Abraham and M. Erwig, “GoalDebug: A Spreadsheet Debugger for End Users,” Proc. 29th Int'l Conf. Software Eng. (ICSE '07), pp.251-260, 2007.
[3] A. Ambler, “The Formulate Visual Programming Language,” Dr.Dobb's J., vol. 24, no. 8, pp. 21-28, 1999.
[4] B. Buxton, Sketching User Experiences: Getting the Design Right and the Right Design. Morgan Kaufmann, Mar. 2007.
[5] B. Boehm et al., “Cost Models for Future Software Life Cycle Processes: COCOMO 2.0,” Annals of Software Eng., special volume on software process and product measurement, pp. 57-94, 1995.
[6] B.A. Nardi, A Small Matter of Programming: Perspectives on End User Computing. MIT Press, July 1993.
[7] P.S. Brown and J.D. Gould, “An Experimental Study of People Creating Spreadsheets,” ACM Trans. Information Systems, vol. 5, no. 3, pp. 258-272, 1987.
[8] M. Burnett et al., “End-User Software Engineering with Assertions in the Spreadsheet Paradigm,” Proc. 25th Int'l Conf. Software Eng. (ICSE '03), pp. 93-103, 2003.
[9] M.M. Burnett and H.J. Gottfried, “Graphical Definitions: Expanding Spreadsheet Languages through Direct Manipulation and Gestures,” ACM Trans. Computer-Human Interaction, vol. 5, no. 1, pp. 1-33, 1998.
[10] A. Camurri, M. Ricchetti, and R. Trocca, “EyesWeb—Toward Gesture and Affect Recognition in Dance/Music Interactive Systems,” Proc. IEEE Int'l Conf. Multimedia Computing and Systems (ICMCS '99), vol. 1, pp. 643-648, , 1999.
[11] S.-K. Chang, Principles on Visual Programming Systems. Prentice Hall, 1990.
[12] E.H.H. Chi, J. Riedl, P. Barry, and J. Konstan, “Principles for Information Visualization Spreadsheets,” IEEE Trans. Computer Graphics and Applications, vol. 18, no. 4, pp. 30-38, 1998.
[13] P. Ciancarini, “Coordination Models and Languages as Software Integrators,” ACM Computing Surveys, vol. 28, no. 2, pp. 300-302, 1996.
[14] F. Curbera et al., “Unraveling the Web Services Web,” IEEE Internet Computing, vol. 6, no. 2, pp. 86-93, 2002.
[15] EditGrid Online Spreadsheets Web Page, http://www.eyesweb.org/http:/www.editgrid.com /, 2008.
[16] End Resources on End-User Software Engineering, 2008.
[17] Comm. ACM, special issue on end-user development, vol. 47, no. 9, pp. 31-94, Sept. 2004.
[18] E. Freeman, S. Hupfer, and K. Arnold, JavaSpaces Principles, Patterns, and Practice. Addison-Wesley Professional, June 1999, ISBN 0-201-30955-6.
[19] F.J. Lerch, M.M. Mantei, and J.R. Olson, “Skilled Financial Planning: The Cost of Translating Ideas into Action,” Proc. ACM SIGCHI Conf. Human Factors in Computing Systems: Wings for the Mind (CHI '89), pp. 121-126, 1989.
[20] G. Fitzpatrick et al., “Augmenting the Workaday World with Elvin,” Proc. Sixth European Conf. Computer Supported Cooperative Work (ECSCW '99), pp. 431-450, 1999.
[21] Flickr Web Services Site, http://www.flickr.com/servicesapi/, 2008.
[22] J. Fujima, A. Lunzer, K. Hornbæk, and Y. Tanaka, “Clip, Connect, Clone: Combining Application Elements to Build Custom Interfaces for Information Access,” Proc. 17th Ann. ACM Symp. User Interface Software and Technology (UIST '04), pp. 175-184, 2004.
[23] E. Gamma, R. Helm, R. Johnson, and J. Vlisside, Design Patterns: Elements of Reusable Object-Oriented Software. Adddison-Wesley Professional, Nov. 1994.
[24] D. Gelernter, “Generative Communication in Linda,” ACM Trans. Programming Languages and Systems, vol. 7, no. 1, pp.80-112, Jan. 1985.
[25] Google Web Spreadsheets Web Site, http:/docs.google.com/, 2008.
[26] S. Greenberg and B. Buxton, “Usability Evaluation Considered Harmful (Some of the Time),” Proc. 26th Ann. ACM SIGCHI Conf. Human Factors in Computing Systems (CHI '08), pp. 111-120, 2008.
[27] HandVu Hand Gesture Recognitizer Project Web Site, http://www.movesinstitute.org/~kolsch/HandVu HandVu.html, 2008.
[28] M.N. Huhns and M.P. Singh, “Service-Oriented Computing: Key Concepts and Principles,” IEEE Internet Computing, vol. 9, no. 1, pp. 75-81, 2005.
[29] iRows Online Spreadsheets Web Page, http:/www.irows.com/, 2008.
[30] B. Johanson, A. Fox, and T. Winograd, “The Interactive Workspaces Project: Experiences with Ubiquitous Computing Rooms,” IEEE Pervasive Computing, vol. 1, no. 2, pp. 67-74, Apr. 2002.
[31] E. Kandogan, E. Haber, R. Barrett, A. Cypher, P. Maglio, and H. Zhao, “A1: End-User Programming for Web-Based System Administration,” Proc. 18th Ann. ACM Symp. User Interface Software and Technology (UIST '05), pp. 211-220, 2005.
[32] S.S. Laurent, Microsoft Excel's Web Services, http://www. oreillynet.com/pub/h1306, 2008.
[33] J.L. Leopold and A.L. Ambler, “Keyboardless Visual Programming Using Voice, Handwriting, and Gesture,” Proc. IEEE Symp. Visual Languages (VL '97), p. 28, 1997.
[34] E.M. Maximilien and M.P. Singh, “Toward Autonomic Web Services Trust and Selection,” Proc. Second Int'l Conf. Service-Oriented Computing (ICSOC '04), pp. 212-221, 2004.
[35] B.A. Myers, “Graphical Techniques in a Spreadsheet for Specifying User Interfaces,” Proc. ACM SIGCHI Conf. Human Factors in Computing Systems (CHI '91), pp. 243-249, 1991.
[36] NumSum Online Spreadsheets Web Page, http:/numsum.com/, 2008.
[37] Ž. Obrenovic and D. Gašević, “Open-Source Software: All You Do Is Put It Together,” IEEE Software, vol. 24, no. 5, pp. 86-95, 2007.
[38] Ž. Obrenovic, D. Gašević, and A. Eliëns, “Stimulating Creativity through Opportunistic Software Development,” IEEE Software, vol. 25, no. 6, pp. 64-70, Nov./Dec. 2008.
[39] OpenCV Computer Vision Library Project Web Site, http:/opencvlibrary.sourceforge.net/, 2008.
[40] OpenID Web Site, http:/openid.net/, 2008.
[41] B. Orriëns, J. Yang, and M.P. Papazoglou, “Model Driven Service Composition,” Proc. First Int'l Conf. Service-Oriented Computing (ICSOC), 2003.
[42] G.A. Papadopoulos and F. Arbab, “Coordination Models and Languages,” Advances in Computing—The Eng. of Large Systems, M.Zelkowitz, ed., vol. 46, Academic Press, 1998.
[43] M.P. Papazoglou and D. Georgakopoulos, “Service-Oriented Computing,” Comm. ACM, vol. 46, no. 10, pp. 25-28, 2003.
[44] J.F. Patterson, M. Day, and J. Kucan, “Notification Servers for Synchronous Groupware,” Proc. ACM Conf. Computer Supported Cooperative Work (CSCW '96), pp. 122-129, 1996.
[45] J. Rao, P. Küngas, and M. Matskin, “Composition of Semantic Web Services Using Linear Logic Theorem Proving,” Information Systems, vol. 31, nos. 4-5, p. 34, June/July 2006.
[46] J.R. Ruthruff, M. Burnett, and G. Rothermel, “An Empirical Study of Fault Localization for End-User Programmers,” Proc. 27th Int'l Conf. Software Eng. (ICSE '05), pp. 352-361, 2005.
[47] C. Scaffidi, M. Shaw, and B. Myers, “Estimating the Numbers of End Users and End User Programmers,” Proc. IEEE Symp. Visual Languages and Human-Centric Computing (VLHCC '05), pp. 207-214, 2005.
[48] Comm. ACM, special issue on service sciences, vol. 49, no. 7, pp.30-87, July 2006.
[49] N.C. Shu, “Visual Programming: Perspectives and Approaches,” IBM Systems J., vol. 28, pp. 525-547, 1989.
[50] Simple Spreadsheets Platform Home Page, http://www.simple-groupware.de/cms/Spreadsheet Home, 2008.
[51] StrikeIron SOA Express for Excel Web Page, http://www.strikeiron.com/toolstools_soaexpress.aspx , 2008.
[52] Sxipper Project Web Site, http://www.sxip.comsxipper, 2008.
[53] S.H.T. Thompson and M. Tan, “Quantitative and Qualitative Errors in Spreadsheet Development,” Proc. 30th Hawaii Int'l Conf. System Sciences (HICSS '97), p. 149, 1997.
[54] W.K. Edwards, “Putting Computing in Context: An Infrastructure to Support Extensible Context-Enhanced Collaborative Applications,” ACM Trans. Computer-Human Interaction, vol. 12, no. 4, pp.446-474, 2005.
[55] G. Wang and A. Ambler, “Solving Display-Based Problems,” Proc. IEEE Symp. Visual Languages (VL '96), p. 122, 1996.
[56] wikiCalc Home Page, http://www.softwaregarden.com/productswikicalc , 2008.
[57] N. Wilde and C. Lewis, “Spreadsheet-Based Interactive Graphics: From Prototype to Tool,” Proc. ACM SIGCHI Conf. Human Factors in Computing Systems (CHI '90), pp. 153-160, 1990.
[58] Workflow Patterns Web Portal, http:/www.workflowpatterns. com/, 2008.
[59] J. Yang, B. Orriëns, and M.P. Papazoglou, “A Framework for Business Rule Driven Service Composition,” Proc. Fourth Int'l Workshop Conceptual Modeling Approaches for E-business Dealing with Business Volatility, 2003.
[60] Y. Le Blevec, C. Ghedira, D. Benslimane, and X. Delatte, “Service-Oriented Computing: Bringing Business Systems to the Web,” ITProfessional, vol. 9, no. 3, pp. 19-24, 2007.
[61] L.J. Zhang, S. Ericksen, and J. Roy, “A Web 2.0 Tune-Up,” ITProfessional, vol. 9, no. 3, p. 9, May/June 2007.
[62] Zoho Online Spreadsheets Web Page, http:/sheet.zoho.com/, 2008.
14 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool