28. Januar – 02. Februar 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)

Auskunft zu diesem Dagstuhl-Seminar erteilt

Dagstuhl Service Team


Dagstuhl Seminar Proceedings DROPS


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 der Reihe Dagstuhl Reports werden alle Dagstuhl-Seminare und Dagstuhl-Perspektiven-Workshops dokumentiert. Die Organisatoren stellen zusammen mit dem Collector des Seminars einen Bericht zusammen, der die Beiträge der Autoren zusammenfasst und um eine Zusammenfassung ergänzt.


Download Übersichtsflyer (PDF).

Dagstuhl's Impact

Bitte informieren Sie uns, wenn eine Veröffentlichung ausgehend von Ihrem Seminar entsteht. Derartige Veröffentlichungen werden von uns in der Rubrik Dagstuhl's Impact separat aufgelistet  und im Erdgeschoss der Bibliothek präsentiert.


Es besteht weiterhin die Möglichkeit, eine umfassende Kollektion begutachteter Arbeiten in der Reihe Dagstuhl Follow-Ups zu publizieren.