iData For The World Wide Web - Generic Programming Techniques for High-Level Server-Side Web Scripting (original) (raw)

iData for the World Wide Web – Programming Interconnected Web Forms

Lecture Notes in Computer Science, 2006

In this paper we present the iData Toolkit. It allows programmers to create interactive, dynamic web applications with state on a high level of abstraction. The key element of this toolkit is the iData element. An iData element can be regarded as a self-contained object that stores values of a specified type. Generic programming techniques enable the automatic generation of HTML-forms from these types. These forms can be plugged into the web application. The iData elements can be interconnected. Complicated form dependencies can be defined in a pure functional, type safe, declarative programming style. This liberates the programmer from lots of low-level HTML programming and form handling. We illustrate the descriptive power of the toolkit by means of a small, yet complicated example: a project administration. The iData Toolkit is an excellent demonstration of the expressive power of modern generic (poly-typical) programming techniques.

Flexible Models for Programming the Web

2011

The Web has evolved considerably over the past twenty years. Browsers now support full-fledged Web applications, and the latter are slowly replacing local desktop applications, since, combined with cloud storage, they allow a device-independent access. The most widespread Web architecture is probably the three-tier architecture. Back-end storage is often supported by a relational database. Business logics is implemented on a Web server using powerful imperative, object-oriented programming languages. Client-side code is written in a scripting language, some properties of which might differ between the browsers. The front-end user interface is decoupled between a tree-based page structure, and its cosmetics which are controlled separately with stylesheets. The discrepancy within this technology stack leads to the need to convert data between different formats between the layers: for example, relational tuples can be converted to objects for the middleware, to a lightweight exchange f...

Generic Editors for the World Wide Web

Lecture Notes in Computer Science, 2006

In these lecture notes we present a novel toolkit to program web applications that have dynamic, complex behavior based on interconnect forms. This toolkit is the iData Toolkit. We demonstrate that it allows programmers to create web applications on a level of abstraction that is comparable with 'ordinary' functional style programs. By this we mean that programmers can develop data structures and functions in the usual way. From the data structures the iData Toolkit is able to generate forms that can be used in a web application. It does this by making use of advanced programming concepts such as generic programming. The programmer need not be aware of this.

A Modular Software Platform for Programming Web Applications

… of the First International Workshop on …, 1998

Writing applications for digesting web information is a rather complex task. In order to let programmers easily build web-based applications we have developed a general purpose data-flow visual programming environment that can be effectively used to find, collect and manipulate ...

Functional Web Applications -- Implementation and Use of Client Side Interpreters

The Internet has become a prominent platform for the deployment of computer applications. Web-browsers are an important interface for e-mail, on-line shopping, and banking applications. Despite this popularity, the development of web applications is a difficult job through their complex client-server structure. Web applications use client-side processing to speed up their performance. This is often realized by using an interpreter at the browser side. This complicates the development of web applications even more. The programmer has to develop code for both server and client and these parts should co-operate closely to obtain the desired result. Functional programming languages like Haskell and Clean are a promising development platform for web applications. They support higher order functions that enable a high level of compositional programming where irrelevant details can be hidden for the developer. They support generic programming techniques for automatic generation and handlin...

Programming Interconnected Web Forms

In this paper we present the iData Toolkit. It allows programmers to create interactive, dynamic web applications with state on a high level of abstraction. The key element of this toolkit is the iData element. An iData element can be regarded as a self-contained object that stores values of a specified type. Generic programming techniques enable the automatic generation of HTML-forms from these types. These forms can be plugged into the web application. The iData elements can be interconnected. Complicated form dependencies can be defined in a pure functional, type safe, declarative programming style. This liberates the programmer from lots of low-level HTML programming and form handling. We illustrate the descriptive power of the toolkit by means of a small, yet complicated example: a project administration. The iData Toolkit is an excellent demonstration of the expressive power of modern generic (poly-typical) programming techniques.

The Implementation of iData

Lecture Notes in Computer Science, 2006

The iData Toolkit is a toolkit that allows programmers to create interactive, type-safe, dynamic web applications with state on a high level of abstraction. The key element of this toolkit is the iData element. An iData element is a form that is generated automatically from a type definition and that can be plugged in in the web page of a web application. In this paper we show how this automatic generation of forms has been implemented. The technique relies essentially on generic programming. It has resulted in a concise and flexible implementation. The kernel of the implementation can be reused for any graphical package. The iData Toolkit is an excellent demonstration of the expressive power of modern generic (poly-typical) programming techniques.

WebWriter: A browser-based editor for constructing Web applications

Computer Networks and ISDN Systems, 1996

Constructing server-based Web applications requires creating both Web pages and programs that generate Web pages. This requires a knowledge of the Hypertext Markup Language (HTML), the Common Gateway Interface (CGI) protocol, and a programming language, such as C++, Python, or Perl. While this is not a barrier for programmers, it is for non-programmers. This paper describes WebWriter, an integrated system for constructing Web applications that supports the creation of Web pages by non-programmers. WebWriter includes a direct manipulation Web page editor, the WebWriter Editor, which runs in a Web browser as a CGI service, and the WebWriter Page Generator, which creates new pages as an application runs. As in HyperCard, users create a Web application as a stack of pages, where each page can contain output regions that are filled in at runtime by a script. This paper describes the WebWriter system, issues of server-based authoring tools, and some example applications.

Marmite: end-user programming for the web

2006

Abstract A tremendous amount of semi-structured data is available today on the web but is not necessarily in a form which is suitable for a user's tasks. For example, a website may show a listing of local events but a user wants to filter out those which are too far from him. To address this problem, we are developing a tool called Marmite that helps users extract data from web pages and create new applications using a dataflow architecture in a manner similar to Unix pipes.

Using XForms to simplify Web programming

Proceedings of the 14th international conference on World Wide Web - WWW '05, 2005

The difficulty of developing and deploying commercial web applications increases as the number of technologies they use increases and as the interactions between these technologies become more complex. This paper describes a way to avoid this increasing complexity by reexamining the basic requirements of web applications. Our approach is to first separate client concerns from server concerns, and then to reduce the interaction between client and server to its most elemental: parameter passing. We define a simplified programming model for form-based web applications and we use XForms and a subset of J2EE as enabling technologies. We describe our implementation of an MVC-based application builder for this model, which automatically generates the code needed to marshal input and output data between clients and servers. This marshalling uses type checking and other forms of validation on both clients and servers. We also show how our programming model and application builder support the customization of web applications for different execution targets, including, for example, different client devices.