Skip to main content

Scalable Programming Abstractions for XML Services

  • Chapter
Dependable Systems: Software, Computing, Networks

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 4028))

  • 381 Accesses

Abstract

Traditional programming paradigms and styles do not lend themselves easily to XML services. This has led to engineered systems that are characterized by a mix of special purpose and general purpose languages. Such systems are brittle, hard to understand and do not scale well – hence they are not dependable. We describe some facets of the Scala programming language targeted at XML services that unify the disparate worlds through a judicious combination of existing and new programming language constructs. More concretely, we describe use cases of case classes, regular pattern matching and comprehensions. Programs that use these abstractions can deliver XML services in a scalable and manageable way. We discuss the essential design decisions we took, the experience we gained during development, and identify directions of further research.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in Erlang, 2nd edn. Prentice-Hall, Englewood Cliffs (1996)

    Google Scholar 

  2. Atkins, D., Ball, T., Bruns, G., Cox, K.: Mawl: a domain-specific language for form-based services. IEEE Trans. Software Eng. 25(3), 334–346 (1999)

    Article  Google Scholar 

  3. Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for C#. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 415. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  4. Bierman, G., Meijer, E., Schulte, W.: The essence of data access in Cω. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 287–311. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  5. Brabrand, C., Møller, A., Schwartzbach, M.I.: The bigwig project. ACM Transactions on Internet Technology 2(2), 79–114 (2002)

    Article  Google Scholar 

  6. Christensen, A.S., Møller, A., Schwartzbach, M.I.: Extending Java for high-level web service construction. ACM Transactions on Programming Languages and Systems 25(6), 814–875 (2003)

    Article  Google Scholar 

  7. Cremet, V., Odersky, M.: piLib: A hosted language for pi-calculus style concurrency. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 180–195. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  8. Emir, B.: Extending pattern matching with regular tree expressions for XML processing in Scala. Master’s thesis, Rheinisch-Westfählische Technische Hochschule Aachen (2003)

    Google Scholar 

  9. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)

    Google Scholar 

  10. Gapeyev, V., Levin, M.Y., Pierce, B.C., Schmitt, A.: The Xtatic experience. In: Workshop on Programming Language Technologies for XML (PLAN-X) (January 2005); University of Pennsylvania Technical Report MS-CIS-04-24 (October 2004)

    Google Scholar 

  11. Harren, M., Raghavachari, M., Shmueli, O., Burke, M.G., Bordawekar, R., Pechtchanski, I., Sarkar, V.: Xj: facilitating XML processing in Java. In: Proc. of the 14th International Conference on World Wide Web (2005)

    Google Scholar 

  12. Oasis. RELAX NG, see: http://www.oasis-open.org/

  13. Odersky, M., Altherr, P., Cremet, V., Emir, B., Maneth, S., Micheloud, S., Mihaylov, N., Schinz, M., Stenman, E., Zenger, M.: An overview of the scala programming language. Technical Report IC/2004/64, Ecole Polytéchnique Fédérale de Lausanne (2004)

    Google Scholar 

  14. Odersky, M., Zenger, M.: Scalable component abstraction. In: Proc. of the 20th Annual Conference on Object-Oriented Programming, Systems, Languages and Applications (2005)

    Google Scholar 

  15. Quiennec, C.: The influence of browsers on evaluators or, continations to program web servers. In: Proc. of the 5th ACM SIGPLAN International Conference on Functional Programming (2000)

    Google Scholar 

  16. World wide web committee, http://www.w3.org/

  17. Wallace, M., Runciman, C.: Haskell and XML: Generic combinators or type-based translation? In: Proc. of the 4th International Conference on Functional Programming (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Emir, B., Maneth, S., Odersky, M. (2006). Scalable Programming Abstractions for XML Services. In: Kohlas, J., Meyer, B., Schiper, A. (eds) Dependable Systems: Software, Computing, Networks. Lecture Notes in Computer Science, vol 4028. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11808107_5

Download citation

  • DOI: https://doi.org/10.1007/11808107_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-36821-2

  • Online ISBN: 978-3-540-36823-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics