Scalable Programming Abstractions for XML Services

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.