XL: a Platform for Web Services

XL: a Platform for Web Services

XL: A Platform for Web Services Daniela Florescu Andreas Gr¨unhagen Donald Kossmann XQRL, Inc. TU M¨unchen TU M¨unchen and XQRL, Inc. [email protected] [email protected] [email protected] Abstract To date, most Web services are defined using Java. Analyzing the first experiences, it has become clear This papers presents XL, a new platform for that Java (or C# for that matter) are not always the Web services. We have designed XL with three right programming languages for this purpose. One main goals in mind: (a) increase application of the most prominent reasons is that the XML type developers productivity via high-level program- system is incompatible with the Java type system; as ming constructs for Web Services routine pro- a result, a great deal of marshalling code needs to be gramming patterns, (b) achieve high scalabil- written in order to convert XML into Java objects and ity, security, and availability for Web ser- vice versa; this code needs to be written in addition vices and (c) compliance with all W3C stan- to the marshalling code that is necessary in order to dards (e.g., XML, SOAP, WSDL) such that bridge the (long-known) impedance mismatch between XL Web services can interact with any other Java and SQL [10]. Web services written in, say, Java or C#. We Another deficiency of Java is that it is not always hope to achieve these objectives by providing appropriate to deal with failures or quality of service the new XL programming model based on a requirements in a network-centric environment. Fur- simple core programming “algebra” that ex- thermore, a great deal of functionality needed in most tends Milner’s PI-calculus [21]. To optimize Web services such as logging, database access, secu- XL programs, we employ techniques from the rity, authorization, transaction support is not part of design of database systems, compiler construc- the basic Java developer’s kit. J2EE has been devel- tion, and data flow machines, as well as tech- oped as an extension to Java that overcomes this lim- niques specially designed for Web Services. A itation [19]. Indeed, J2EE provides a great deal of ad- demo of the platform has been shown at [14]. ditional features, but the J2EE type system is still in- compatible with the XML type system. Furthermore, 1 Introduction J2EE is a rather complicated programming model so that it is significantly less popular than basic Java. Recently, Web services have been proposed as a new model to develop new applications and to integrate As an alternative, several other programming lan- existing applications on the Internet. The basic guages have recently been developed; examples are idea is that autonomous software components inter- WSFL (IBM), WSCL (HP), XLang (Microsoft), and act by exchanging XML messages. This technol- the WSCI developed by a consortium including BEA, ogy is particularly useful to implement processes that Intalio, SAP, and Sun [36, 35, 32, 34]. These languages cross organization boundaries; examples are customer- directly support XML and the Web services paradigm, relationship management, supply-chain management, but they are not as powerful and rich as Java. e-procurement, portals, electronic market places, on- This paper presents XL, a new programming lan- line shops, and games. In addition to the XML-family guage, and its implementation. Like WSFL, WSCL, of standards, the W3C has established standards such XLang, and WSCI, XL directly supports XML, the as XML Protocol (i.e., SOAP) and WSDL, and it has other W3C standards, and the Web services paradigm. started a working group on Web Service Architectures. Like Java, it provides a very powerful programming model; in fact, a great deal of syntax for imperative Permission to copy without fee all or part of this material is constructs (e.g., loops) has been adopted from Java. granted provided that the copies are not made or distributed for Since XL supports all W3C standards and communi- direct commercial advantage, the VLDB copyright notice and cates with other Web services using messages, appli- the title of the publication and its date appear, and notice is given that copying is by permission of the Very Large Data Base cations written in XL can communicate with applica- Endowment. To copy otherwise, or to republish, requires a fee tions written in other languages (e.g., Java) just as and/or special permission from the Endowment. well as with other XL applications. Furthermore, XL Proceedings of the 2003 CIDR Conference is portable (like Java) and it provides high-level pro- gramming constructs for routine work (e.g., logging Fortunately, the XML standards did not ignore this and security). important database heritage. The semantics of the The implementation of XL combines techniques current W3C’s XML related programming languages from different fields of computer science; in particular, (XSLT and XQuery) are described in terms of an XML database systems, compiler construction, distributed abstract data model [3] that serves the same purpose systems, and data flow machines. XL programs are as the relational data model for relational databases. translated into a core algebra which is in turn opti- The W3C XML data model describes, in an E/R mized and then interpreted in a dynamic and flexible fashion, a set of entities present in an XML document way. We believe that only through such a high-level in- and a set of relationships among them. The entities terface as provided by XL, scalability, high availability, describe the data itself (e.g. nodes, values, sequences). security, and ultimately quality of service can be guar- The data is modeled using very general mathematical anteed. Using languages like Java and current middle- structures, i.e. as ordered trees of nodes. The internal ware architectures with many layers, such guarantees nodes have node identity and they can be of several cannot be given because the level of abstraction in the kinds (e.g. document, element, attribute, comment, programming model is too low and because calls to processing instruction, namespace) while the leaves of library functions must be treated as black boxes and the trees, i.e. the values, can be values in the do- cannot be optimized. In summary, we believe that mains of the XML Schema basic types (e.g. integer, a high-level programming model like XL will not only decimal, string, duration). Pivotal to the XML data significantly increase the productivity of programmers, model is the notion of sequence. One important prop- it will also improve performance and reduce adminis- erty of the XML data model is that sequences are al- tration and operational cost. ways flat; i.e., sequences of sequences are automati- The XL project is still at the beginning. We have cally unnested. Another important property of the a demo that is available on the WWW [14], but both XML data model is the ability to capture the topolog- the language and the current state of the implementa- ical order in nodes of the document. This order can tion are still under development. In addition, we are be queried and exploited during the computation. currently working on a debugger and tools to test Web services. Testing Web services is particularly challeng- ing because all tests must be side-effect free; for Web 2.2 XML Schemas and the XML Type System services testing, a closed world or lab environment assumption is unrealistic because Web services com- The data model describes only the basic composi- municate with Web services from other organizations. tion of an ordered tree. The XML Schema [29] de- The debugger and test environment are not described scribes structural and content-based constraints on the in this paper; these tools are described in [28]. ordered trees. The XML Schema describes the simple types (with their accepted domain values and the ac- 2 Relevant XML Technology cepted basic operations) supported by the XML data model, the definition of user-defined complex types An important requirement in the design of XL is the and gives a basic support for user-defined integrity compatibility with the existing state of the art in the constraints (e.g. referential integrity constraints, lexi- XML and Web Services area. We detail the current cal constraints). state of the art in this section. The XML type system formally described in [30] captures the essence of the structural information 2.1 XML Abstract Data Model. present in the XML Schema. The goal of the type sys- A very popular wrong myth related to XML is that tem is threefold. First, it is possible to do type check- “XML is just a syntax”. While it is true that the orig- ing: given an expression and the type of the input data inal XML recommendation described only a syntax for set, it is possible to detect statically if the expression data and documents, and not a logical data model, the will return errors on all (or some of) the valid instances W3C is currently in the process of standardizing such of the input type. Second, it allows automatic type in- a logical, abstract data model for XML. The purpose ference: given an XML expression (as described in the of an abstract data model has been clear since the orig- next paragraph) and the type of the input data set, inal papers of Codd in the 70’s: it allows programs to the type system is able to intentionally (i.e., without achieve logical/physical data independence. In other executing the query on any particular data set) de- words, programmers can concentrate on the abstract rive the type of the result. Finally, the type system is representation of data and they can ignore the real capable of testing the type subsumption.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us