Abstract
Many modern distributed applications employ protocols based on XML messages. Typical architectures for these applications follow an approach where messages are organized in queues, state is stored in DBMS, and application code is written in imperative languages. As a result, much developer productivity and system performance is wasted on handling conversions between the various data models (XML messages, objects, relations), and reliably managing persistent state for application instances. This overhead turns application servers into data management servers instead of process servers. We show how this model can be greatly improved by changing two aspects. Firstly, by using a declarative rule language to describe the processing logic. Secondly, by providing a single, unified data model based on XML messages that covers all kinds of data encountered, including process state. We discuss the resulting design choices for compile-time and run-time systems, and show and experimentally evaluate the performance improvements made possible.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abadi, D.J., Carney, D., Çetintemel, U., et al.: Aurora: a new model and architecture for data stream management. VLDB J. 12(2), 120–139 (2003)
Alonso, G., Casati, F., Kuno, H., Machiraju, V.: Web Services: Concepts, Architectures and Applictions. Springer, Heidelberg (2004)
Arasu, A., Babu, S., Widom, J.: The CQL continuous query language: semantic foundations and query execution. VLDB J. 15(2), 121–142 (2006)
Arasu, A., Cherniack, M., Galvez, E.F., et al.: Linear Road: A stream data management benchmark. In: VLDB, pp. 480–491 (2004)
Berenson, H., Bernstein, P.A., Gray, J., et al.: A critique of ANSI SQL isolation levels. In: SIGMOD Conference, pp. 1–10 (1995)
Berglund, A., Boag, S., Chamberlin, D., et al.: XML path language (XPath) 2.0. Technical report, W3C (January 2007)
Boag, S., Chamberlin, D., Fernández, M.F., et al.: XQuery 1.0: An XML query language. Technical report, W3C (January 2007)
Böhm, A., Kanne, C.-C., Moerkotte, G.: Demaq: A foundation for declarative XML message processing. In: CIDR, pp. 33–43 (2007)
Bonifati, A., Ceri, S., Paraboschi, S.: Pushing reactive services to XML repositories using active rules. Computer Networks 39(5), 645–660 (2002)
Chamberlin, D., Florescu, D., Melton, J., et al.: XQuery Update Facility 1.0. Technical report, W3C (August 2007)
Chamberlin, D.D., Carey, M.J., Florescu, D., et al.: Programming with XQuery. In: XIME-P (2006)
Demers, A.J., Gehrke, J., Panda, B., et al.: Cayuga: A general purpose event monitoring system. In: CIDR, pp. 412–422 (2007)
Fernández, M.F., Malhotra, A., Marsh, J., et al.: XQuery 1.0 and XPath 2.0 data model (XDM). Technical report, W3C (January 2007)
Fiebig, T., Helmer, S., Kanne, C.-C., et al.: Anatomy of a Native XML base management system. VLDB Journal 11(4), 292–314 (2003)
Florescu, D., Grünhagen, A., Kossmann, D.: XL: a platform for Web Services. In: CIDR (2003)
Foch, C.B.: Oracle streams advanced queuing user’s guide and reference, 10g release 2 (10.2) (2005)
Gray, J.: Thesis: Queues are databases. In: Proceedings 7th High Performance Transaction Processing Workshop, Asilomar CA (1995)
IBM. WebSphere MQ (2009), http://www.ibm.com/software/integration/wmq/
Kanne, C.-C., Moerkotte, G.: Template folding for XPath. In: Third International Workshop on XQuery Implementation, Experience and Perspectives (2006)
Stonebraker, M.: Too much middleware. SIGMOD Record 31(1), 97–106 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Böhm, A., Kanne, CC. (2009). Processes Are Data: A Programming Model for Distributed Applications. In: Vossen, G., Long, D.D.E., Yu, J.X. (eds) Web Information Systems Engineering - WISE 2009. WISE 2009. Lecture Notes in Computer Science, vol 5802. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04409-0_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-04409-0_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04408-3
Online ISBN: 978-3-642-04409-0
eBook Packages: Computer ScienceComputer Science (R0)