A research project located at Technische Universität München is developing a new high-level programming language called XL for the specification of Web services. XL as an 'XML programming language' is "a language whose only type system is the XML type system and not a language whose syntax is described using XML vocabulary. XL is specially designed for the implementation of Web services; it is portable and fully compliant with all W3C standards such as XQuery, XML Protocol, and XML Schema. One of the key features of XL is that it allows programmers to concentrate on the logic of their application. XL provides high-level and declarative constructs for actions which are typically carried out in the implementation of a Web service; e.g., logging, error handling, retry of actions, workload management, events, etc. Issues such as performance tuning (e.g., caching, horizontal partitioning, etc.) can be carried out automatically by an implementation of the language. This way, the productivity of the programmers, the ability of evolution of the Web service specific programs and their chances to achieve good performance are substantially enhanced."
From the ACM SIGMOD/PODS 2002 demo overview: "We present a platform for Web services. Web services are implemented in a special XML programming language called XL. A Web service receives an XML message as input and returns an XML message as output. The platform supports a number of features that are particularly useful to implement Web services; e.g., logging, timetables, conversations, work ow management, automatic transactions, security. Our platform is going to be compliant with all W3C standards and emerging proposals. The programming language is very abstract and can be optimized automatically (like SQL). Furthermore, the platform allows to integrate Web services that are written in XL and other programming languages."
From the June 2001 paper in IEEE Bulletin of the Technical Committee on Data Engineering:
"... So far, no imperative programming language has been proposed that is specifically tailored for building XML applications and Web services. As of today most Web services are built using classic programming languages, such as Java and Visual Basic, and some kind of SQL-based RDBMS (Oracle, DB2), a mixture of paradigms inherently implying a fair number of logically irrelevant but costly and error prone intermediate manipulations. An XMLWeb application built on such technologies will have to deal with difficulties such as: (1) XML-Java mismatch: XML data must be converted into Java (or any other language of the sorts) internal representation as objects before it can be processed by the Java program. Likewise, Java objects must be converted back into XML data at the end of processing. (2) Java-Database mismatch: Java objects must be marshalled back and forth through JDBC-like interfaces to access and update the RDBMS, the infamous 'database impedance mismatch' that triggered the development of object databases technology in the recent past... Language implementors and database manufacturers are scrambling themselves to increase their products with 'XML extensions' and to introduce automatic treatment for those chores whom programmers are currently dealing with manually. Indeed there are significant efforts both on the Java side, from database and third-party vendors in these directions. However, we believe that the type systems of XML, Java, and relational database systems are simply too different and ultimately incompatible for productively building large scale applications that span accross the three different paradigmes.
The alternative that we are pursuing with this paper is to introduce XL (short for XML Language), a new high-level programming language for Web services. Five foundamental principles underlie the design of this new language: (1) XL should support a unique data model and type system: the standard XML one [XMLQuery]. (2) XL should be expressive enough to describe the logic of most Web services. For most applications it should be possible to specify a Web service entirely in XL, without any need for Java or SQL. (3) XL should not just be complete with respect to Web service specification, but also comfortable to use. Hence, it should provide special constructs for important Web services programming patterns (e.g., logging and retry of actions). (4) With the help of XL, programmers should concentrate entirely on the logic of their application and not on implementation issues as performance aspects, data formats, or specific Internet and database protocols. Such aspects have to be dealt with in an automatic way and not via hand-coded and hard-coded solutions. (5) XL must be compliant with all W3C standards and it must gracefully co-exist with the current (Java-based) Web services and infrastructure...
In this paper we will outline the requirements for such an XML programming language and present a sketch of an initial design. Our design is based on familiar concepts of imperative programming languages as well as on those of parallel programming and workflow management. The long-term goal of this paper is to stimulate a discussion about the foundamental concepts and syntax of XL, and eventually to submit a proposal to the W3C with the help of as many practitioners and researchers as possible. Towards the end of this paper we will also indicate possible directions for future research to provide efficient implementations..."
- Technische Universität München
- XL Project website
- XL Project publications
- "XL: An XML Programming Language for Web Service Specification and Composition." By Daniela Florescu, Andreas Grünhagen, and Donald Kossmann. Paper to be presented at the Eleventh International World Wide Web Conference (WWW2002) [May 7-11, 2002, Sheraton Waikiki Hotel, Honolulu, Hawaii, USA]. 12 pages. Also in PDF format; cache.
- "XL: Platform for Web Services." By Daniela Florescu, Andreas Grünhagen, Donald Kossmann, and Steffen Rost. Demo for the ACM SIGMOD Conference on Management of Data, Madison, WI, USA, June 3-6, 2002.
- XL: An XML Programming Language. By Daniela Florescu, Andreas Grünhagen, and Donald Kossmann. Technical Report, December 2001. 27 pages.
- "An XML Programming Language for Web Service Specification and Composition." By Daniela Florescu (Propel) and Donald Kossmann (TU Munich). In IEEE Bulletin of the Technical Committee on Data Engineering Volume 24, Number 2 (June 2001). This is a Special Issue on XML Data Management. [source in Postscript]
- Contact: Donald Kossmann or Steffen Rost
- XL Project partners: <XQrl/> Inc. and BEA Systems