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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in Erlang, 2nd edn. Prentice-Hall, Englewood Cliffs (1996)
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)
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)
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)
Brabrand, C., Møller, A., Schwartzbach, M.I.: The bigwig project. ACM Transactions on Internet Technology 2(2), 79–114 (2002)
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)
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)
Emir, B.: Extending pattern matching with regular tree expressions for XML processing in Scala. Master’s thesis, Rheinisch-Westfählische Technische Hochschule Aachen (2003)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)
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)
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)
Oasis. RELAX NG, see: http://www.oasis-open.org/
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)
Odersky, M., Zenger, M.: Scalable component abstraction. In: Proc. of the 20th Annual Conference on Object-Oriented Programming, Systems, Languages and Applications (2005)
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)
World wide web committee, http://www.w3.org/
Wallace, M., Runciman, C.: Haskell and XML: Generic combinators or type-based translation? In: Proc. of the 4th International Conference on Functional Programming (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)