Dagstuhl Seminar 07051
Programming Paradigms for the Web: Web Programming and Web Services
( Jan 28 – Feb 02, 2007 )
Permalink
Organizers
- Richard Hull (Bell Labs - Murray Hill, US)
- Peter Thiemann (Universität Freiburg, DE)
- Philip Wadler (University of Edinburgh, GB)
Contact
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.
- Serge Abiteboul (University of Paris South XI, FR) [dblp]
- Nick Benton (Microsoft Research UK - Cambridge, GB) [dblp]
- Ezra Cooper (University of Edinburgh, GB)
- Daniel Deutch (Tel Aviv University, IL) [dblp]
- Susan Eisenbach (Imperial College London, GB) [dblp]
- John H. Field (IBM TJ Watson Research Center - Hawthorne, US) [dblp]
- Christophe Fouqueré (University of Paris North, FR)
- Alain Frisch (INRIA - Le Chesnay, FR) [dblp]
- Martin Gasbichler (Universität Tübingen, DE)
- Michael Gruninger (University of Toronto, CA) [dblp]
- Haruo Hosoya (University of Tokyo, JP)
- Richard Hull (Bell Labs - Murray Hill, US) [dblp]
- Dean Jacobs (TU München, DE)
- Trevor Jim (AT&T Labs Research - Florham Park, US)
- Shriram Krishnamurthi (Brown University - Providence, US) [dblp]
- Niels Lohmann (HU Berlin, DE) [dblp]
- Florian Loitsch (INRIA Sophia Antipolis - Méditerranée, FR)
- Bogdan-Eugen Marinoiu (University of Paris South XI, FR)
- Florian Matthes (TU München, DE) [dblp]
- Jay McCarthy (Brown University - Providence, US)
- Tova Milo (Tel Aviv University, IL) [dblp]
- Yasuhiko Minamide (University of Tsukuba, JP) [dblp]
- Anders Møller (Aarhus University, DK) [dblp]
- Tom Murphy (Carnegie Mellon University - Pittsburgh, US)
- Matthias Neubauer (Universität Freiburg, DE)
- Barry Norton (The Open University - Milton Keynes, GB)
- Peter F. Patel-Schneider (Bell Labs - Murray Hill, US)
- Matthias Radestock (LShift-London, GB)
- Mukund Raghavachari (IBM TJ Watson Research Center - Yorktown Heights, US)
- Helmut Seidl (TU München, DE) [dblp]
- Manuel Serrano (INRIA Sophia Antipolis - Méditerranée, FR) [dblp]
- Bertrand Souville (DOCOMO Euro-Labs - München, DE)
- Jianwen Su (University of California - Santa Barbara, US) [dblp]
- Peter Thiemann (Universität Freiburg, DE) [dblp]
- Philip Wadler (University of Edinburgh, GB) [dblp]
- Stefan Wehr (Universität Freiburg, DE)
- Jeremy Yallop (University of Edinburgh, GB) [dblp]
Classification
- data bases / information retrieval
- web
- programming languages / compiler
- semantics / formal methods
- verification / logic
Keywords
- web programming
- programming concepts
- program analysis
- type systems
- scripting languages
- XML processing and querying