January 28 – February 2 , 2007, Dagstuhl Seminar 07051

Programming Paradigms for the Web: Web Programming and Web Services


Richard Hull (Bell Labs – Murray Hill, US)
Peter Thiemann (Universität Freiburg, DE)
Philip Wadler (University of Edinburgh, GB)

For support, please contact

Dagstuhl Service Team


Dagstuhl Seminar Proceedings DROPS
List of Participants


The web raises a variety of new programming challenges. To name a few: programming user interfaces at the level of the web browser, data-centric approaches, and attempts to automatically discover and compose web services. This seminar brought together researchers from the web programming and web services communities. Both groups had much to learn from each other, and the focus on programming paradigms was a useful perspective on the diverse web community.

“Web (application) programming” describes writing software (“web applications”) that relies on a web browser as its user interface. Typical tasks for web programming include the generation of dynamic web pages, accessing databases, querying web services, and dealing with concurrency. Web applications often involve many “tiers”, each of which is a homogenous level of software which interacts over a network with other tiers; a typical application might involve, for example, a client (a web browser programmed with JavaScript, VBScript, or Flash), a server (programmed with Java, Ruby, PHP, Python, or Perl), and a database (programmed with SQL or XQuery); connecting these tiers can be a key challenge for web programmers. As another challenge, web applications do not presently support modes of user interaction as rich as their desktop counterparts, and providing anything other than the simplest form-based interaction can be a great difficulty for programmers—thus, we asked, how can web programming paradigms support coding rich user interfaces?

“Web services”, by contrast, are programs that interact primarily with other software systems using web technologies. The web-services paradigm, which might be viewed as an instance of the Service-Oriented Architecture (SOA), provides both a framework and specific interfaces (e.g. SOAP, WSDL) for a new generation of distributed software. The paradigm provides for rich flexibility in creating services that use other web services. To date, programming of web services has focused largely on adaptations of workflow approaches to a peer-to-peer framework, and the Business Process Execution Language (BPEL) has emerged as the industrial programming language of choice. There has also been significant research on “semantic web services”, which provide explicit mechanisms to represent and reason about the impact of services on the world, as well as their messaging and internal behavior. Frameworks such as WSDL-S, OWL-S, SWSO, and WSMO may provide the basis for programming paradigms to work effectively in this context.

Prime discussion topics were: the application of these techniques to web applications, browser-based programs, and web services, programming languages for the web, scripting, authoring, type checking, databases, web service semantics, service composition, process and data flow, XML and other data manipulation, concurrency, sessions and transactions, performance, and scalability.

To maintain a focus on programming, speakers were asked to center their talk on actual code that illustrates their research. Here ‘code’ was broadly interpreted to include a program in a programming language, a formula of logic, a specification, or a query

As an outcome of the seminar we expected to understand better the interplay between the various styles of programming for the web, along with proposals towards a more unified approach to such programming. Elsewhere in this volume, we have started to compose a list of the key scientific challenges (or at least discussion items leading in that direction) in this domain.

The meeting was very productive; it provoked many new ideas and provided new perspectives on the topic. The participants learned a lot from each other—in particular, there was a lively exchange of knowledge between the programminglanguages and the database communities. We hope to further consolidate the results in an article that provides research directions for web programming and related areas.


  • Data Bases / Information Retrieval
  • Web
  • Programming Languages / Compiler
  • Semantics / Formal Methods
  • Verification / Logic


  • Web programming
  • Programming concepts
  • Program analysis
  • Type systems
  • Scripting languages
  • XML processing and querying


In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.


Download overview leaflet (PDF).

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.


Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.