Processes Are Data: A Programming Model for Distributed Applications

  • Alexander Böhm
  • Carl-Christian Kanne
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5802)


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.


Application Server Garbage Collection Application Rule Runtime System Message Queue 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    Alonso, G., Casati, F., Kuno, H., Machiraju, V.: Web Services: Concepts, Architectures and Applictions. Springer, Heidelberg (2004)Google Scholar
  3. 3.
    Arasu, A., Babu, S., Widom, J.: The CQL continuous query language: semantic foundations and query execution. VLDB J. 15(2), 121–142 (2006)CrossRefGoogle Scholar
  4. 4.
    Arasu, A., Cherniack, M., Galvez, E.F., et al.: Linear Road: A stream data management benchmark. In: VLDB, pp. 480–491 (2004)Google Scholar
  5. 5.
    Berenson, H., Bernstein, P.A., Gray, J., et al.: A critique of ANSI SQL isolation levels. In: SIGMOD Conference, pp. 1–10 (1995)Google Scholar
  6. 6.
    Berglund, A., Boag, S., Chamberlin, D., et al.: XML path language (XPath) 2.0. Technical report, W3C (January 2007)Google Scholar
  7. 7.
    Boag, S., Chamberlin, D., Fernández, M.F., et al.: XQuery 1.0: An XML query language. Technical report, W3C (January 2007)Google Scholar
  8. 8.
    Böhm, A., Kanne, C.-C., Moerkotte, G.: Demaq: A foundation for declarative XML message processing. In: CIDR, pp. 33–43 (2007)Google Scholar
  9. 9.
    Bonifati, A., Ceri, S., Paraboschi, S.: Pushing reactive services to XML repositories using active rules. Computer Networks 39(5), 645–660 (2002)CrossRefGoogle Scholar
  10. 10.
    Chamberlin, D., Florescu, D., Melton, J., et al.: XQuery Update Facility 1.0. Technical report, W3C (August 2007)Google Scholar
  11. 11.
    Chamberlin, D.D., Carey, M.J., Florescu, D., et al.: Programming with XQuery. In: XIME-P (2006)Google Scholar
  12. 12.
    Demers, A.J., Gehrke, J., Panda, B., et al.: Cayuga: A general purpose event monitoring system. In: CIDR, pp. 412–422 (2007)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    Fiebig, T., Helmer, S., Kanne, C.-C., et al.: Anatomy of a Native XML base management system. VLDB Journal 11(4), 292–314 (2003)Google Scholar
  15. 15.
    Florescu, D., Grünhagen, A., Kossmann, D.: XL: a platform for Web Services. In: CIDR (2003)Google Scholar
  16. 16.
    Foch, C.B.: Oracle streams advanced queuing user’s guide and reference, 10g release 2 (10.2) (2005)Google Scholar
  17. 17.
    Gray, J.: Thesis: Queues are databases. In: Proceedings 7th High Performance Transaction Processing Workshop, Asilomar CA (1995)Google Scholar
  18. 18.
  19. 19.
    Kanne, C.-C., Moerkotte, G.: Template folding for XPath. In: Third International Workshop on XQuery Implementation, Experience and Perspectives (2006)Google Scholar
  20. 20.
    Stonebraker, M.: Too much middleware. SIGMOD Record 31(1), 97–106 (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Alexander Böhm
    • 1
  • Carl-Christian Kanne
    • 1
  1. 1.University of MannheimMannheimGermany

Personalised recommendations