January 28th – February 2nd 2007, Dagstuhl Seminar 07051
Programming Paradigms for the Web: Web Programming and Web Services
For support, please 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 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
- Programming Languages / Compiler
- Semantics / Formal Methods
- Verification / Logic
- Web programming
- Programming concepts
- Program analysis
- Type systems
- Scripting languages
- XML processing and querying