TL;DR: This work discusses what makes the Web service composition so special and derive challenges for the AI planning community and compares these approaches to the problems of modeling, composing, executing, and verifying Web services.
Abstract: Composition of Web services has received much interest to support business-to-business or enterprise application integration. On the one side, the business world has developed a number of XML-based standards to formalize the specification of Web services, their flow composition and execution. This approach is primarily syntactical: Web service interfaces are like remote procedure call and the interaction protocols are manually written. On the other side, the Semantic Web community focuses on reasoning about web resources by explicitly declaring their preconditions and effects with terms precisely defined in ontologies. For the composition of Web services, they draw on the goal-oriented inferencing from planning. So far, both approaches have been developed rather independently from each other. We compare these approaches and discuss their solutions to the problems of modeling, composing, executing, and verifying Web services. We discuss what makes the Web service composition so special and derive challenges for the AI planning community.
TL;DR: The Interface-Matching Automatic Composition technique is described, which aims for generation of complex Web Services automatically by capturing user’s expected outcomes when a set of inputs are provided; the result is a sequence of services whose combined execution achieves the user goals.
Abstract: With the growing number of Web services, importance of composing existing Web Services into more complex services in order to achieve new and more useful solutions is increasing. However, in order to automatically compose new services, existing services need to be encoded in a machine understandable form. The semantics of a service can be described by annotating it with respect to service ontologies. The goals of automatic composition include reducing the complexity of creating composite services as well as choosing an optimal composition among possible options. This paper describes the Interface-Matching Automatic Composition technique that aims for generation of complex Web Services automatically by capturing user’s expected outcomes when a set of inputs are provided; the result is a sequence of services whose combined execution achieves the user goals.
TL;DR: In this article, a web server is provided having a multi-homed, modular framework, which allows extensions to the Web server to be easily compiled into the web server, allowing the extensions to run natively as part of the server instead of incurring the overhead typical of CGI scripts, for example.
Abstract: A Web server is provided having a multi-homed, modular framework. The modular framework allows extensions to the Web server to be easily compiled into the Web server, allowing the extensions to run natively as part of the server instead of incurring the overhead typical of CGI scripts, for example. The multi-homing capabilities of the Web server provide the appearance to Web users of multiple distinct and independent servers, allowing a small company or individual to create the same kind of Web presence enjoyed by larger companies. In effect, multiple virtual servers run on the same physical machine. The Web server as a whole is easily extensible to allow additional capabilities to be provided natively within the Web server itself. Furthermore, each virtual server is independently configurable in order to turn different capabilities on or off or to modify operation of the virtual server. The Web server is also provided with enhanced security features, built-in animation capability, and other features that afford maximum flexibility and versatility.
TL;DR: This work presents WebSOS, a novel overlay-based architecture that provides guaranteed access to a web server that is targeted by a denial of service (DoS) attack, and determines the end-to-end latency using both a Chord-based approach and a shortcut extension.
Abstract: We present WebSOS, a novel overlay-based architecture that provides guaranteed access to a web server that is targeted by a denial of service (DoS) attack. Our approach exploits two key characteristics of the web environment: its design around a human-centric interface, and the extensibility inherent in many browsers through downloadable "applets." We guarantee access to a web server for a large number of previously unknown users, without requiring pre-existing trust relationships between users and the system.Our prototype requires no modifications to either servers or browsers, and makes use of graphical Turing tests, web proxies, and client authentication using the SSL/TLS protocol, all readily supported by modern browsers. We use the WebSOS prototype to conduct a performance evaluation over the Internet using PlanetLab, a testbed for experimentation with network overlays. We determine the end-to-end latency using both a Chord-based approach and our shortcut extension. Our evaluation shows the latency increase by a factor of 7 and 2 respectively, confirming our simulation results.
TL;DR: WebSTAT is presented, an intrusion detection system that analyzes Web requests looking for evidence of malicious behavior and provides a sophisticated language to describe multistep attacks in terms of states and transitions to achieve more effective detection of Web-based attacks.
Abstract: Web servers are ubiquitous, remotely accessible, and often misconfigured. In addition, custom Web-based applications may introduce vulnerabilities that are overlooked even by the most security-conscious server administrators. Consequently, Web servers are a popular target for hackers. To mitigate the security exposure associated with Web servers, intrusion detection systems are deployed to analyze and screen incoming requests. The goal is to perform early detection of malicious activity and possibly prevent more serious damage to the protected site. Even though intrusion detection is critical for the security of Web servers, the intrusion detection systems available today only perform very simple analyses and are often vulnerable to simple evasion techniques. In addition, most systems do not provide sophisticated attack languages that allow a system administrator to specify custom, complex attack scenarios to be detected. We present WebSTAT, an intrusion detection system that analyzes Web requests looking for evidence of malicious behavior. The system is novel in several ways. First of all, it provides a sophisticated language to describe multistep attacks in terms of states and transitions. In addition, the modular nature of the system supports the integrated analysis of network traffic sent to the server host, operating system-level audit data produced by the server host, and the access logs produced by the Web server. By correlating different streams of events, it is possible to achieve more effective detection of Web-based attacks.
TL;DR: Ambient computing provides new possibilities in connectivity of a person (with or without sensors or data detectors) to a GRIDs environment allowing previously unimaginable possibilities in information delivery, data collection, command and control, cooperative working, communications, learning and entertainment.
Abstract: GRIDs are both a new and an old concept. Many of the components have been the subject of R&D and some exist as commercial products. The GRIDs concept represents many different things to different people: metacomputing, distributed computing, advanced networking, distributed database, information retrieval, digital libraries, hypermedia, cooperative working, knowledge management, advanced user interfaces, mobile and pervasive computing and many others. More importantly, end-users see the GRIDs technology as a means to an end to improve quality, speed of working and cooperation in their field. GRIDs will deliver the required information in an appropriate form to the right place in a timely fashion. The novelty of GRIDs lies in the information systems engineering required in generating missing components and putting the components together. Ambient computing provides new possibilities in connectivity of a person (with or without sensors or data detectors) to a GRIDs environment allowing previously unimaginable possibilities in information delivery, data collection, command and control, cooperative working, communications, learning and entertainment.
TL;DR: This paper abstracts from concrete syntax of any proposed language definition, and applies Petri nets to model Web services, and discusses and defines a criterion for semantic compatibility of Web services.
Abstract: To an increasing extend business processes run across the borders of individual enterprises. Thus, there is a need to map each local subprocess into a self-contained component; a distributed business process arises from composition of such component via standardized communication protocols. The Web service approach provides a standardized, platform independent and widely accepted concept of components and composition for distributed systems of all kinds. This approach comes along together with group of technologies to describe precisely the structure of one Web service and the composition of a set of Web services. Although the technological basement is given, there is a lot of open questions, e. g. semantic compatibility of two Web services. This paper abstracts from concrete syntax of any proposed language definition. Instead, we apply Petri nets to model Web services. Thus, we are able to reason about essential properties, e. g. usability of a Web service – our notion of a quality criterion. Based on this framework, we discuss and define a criterion for semantic compatibility of Web services.
TL;DR: In this paper, the authors present a system that advertises a user interface for controlling and/or monitoring a service, where the user interface can be accessed through a web browser, without having to manually enter the address of the web server.
Abstract: The present invention provides a system that advertises a user interface for controlling and/or monitoring a service. During operation, the system advertises the user interface, wherein the user interface is accessible through a web browser. This advertisement can be used to determine an address for a web server that supports the user interface. Next, the system receives a request from a client to access the user interface, wherein the request is received at the web server. In response, the system communicates information between the web server and a web browser associated with the client to provide the user interface to a user of the client, thereby enabling the user to control and monitor the service through the web browser. The present invention makes it possible to access the user interface by simply responding to the advertisement, without having to manually enter the address of the web server.
TL;DR: This work focuses on structure-aware transcoding heuristics, which preserve the original Web page's underlying layout as much as possible and extract the relative importance of Web components from an intelligent syntactic analysis.
Abstract: As both the number of mobile users and users' reliance on the Web grows, so does the need for Web access from handheld devices. Our long-term goal is to develop a high-quality syntax-based Web transcoding system that allows universal access to Web pages without manual reauthoring. We focus on structure-aware transcoding heuristics, which preserve the original Web page's underlying layout as much as possible. The proposed heuristics extract the relative importance of Web components from an intelligent syntactic analysis. Like other transcoding approaches, ours does not support executable content such as Java, Javascript, and Flash. To evaluate our heuristics' effectiveness, we performed subjective quality evaluations in Web-based experiments.
TL;DR: In this article, a unified web-based voice messaging system provides voice application control between a web browser and an application server via an hypertext transport protocol (HTTP) connection on an Internet Protocol (IP) network.
Abstract: A unified web-based voice messaging system provides voice application control between a web browser and an application server via an hypertext transport protocol (HTTP) connection on an Internet Protocol (IP) network. The application server executes the voice-enabled web application by runtime execution of a first set of extensible markup language (XML) documents that define the voice-enabled web application to be executed. The application server generates an HTML form specifying selected application parameters from an XML document executable by the voice application. The HTML form is supplied to a browser, enabling a user of the browser to input or modify application parameters for the corresponding XML document into the form. The application server inserts the received input application parameters into the XML document, and stores the document.
TL;DR: In this article, a web publishing application can generate and save web files to a web server based upon a user's design of a web page or web site, and if the user subsequently modifies the web pages or web sites using the Web publishing application, the web application can identify and save only the new web files and modified Web files to the web server that result from the user's modifications.
Abstract: A web publishing application can generate and save web files to a web server based upon a user's design of a web page or web site. If the user subsequently modifies the web page or web site using the web publishing application, the web publishing application can identify and save only the new web files and modified web files to the web server that result from the user's modifications. For example, the web publishing application can identify which web files are new files and which web files have been modified by comparing the hash values and hash algorithms associated with the web files to the hash values and hash algorithms associated with the stored web files.
TL;DR: A set of minimum primitives to capture the essentials of dynamic web applications are discussed and how to introduce them in a classical model-centered OO method that provides systematic code generation.
Abstract: This work presents an OO software production method that defines a systematic process for conceptual modelling of web applications. The paper discusses a set of minimum primitives to capture the essentials of dynamic web applications and it discusses how to introduce them in a classical model-centered OO method that provides systematic code generation. Finally, the paper presents some ideas to extend this generation process for developing web solutions taking as an input these web enhanced conceptual schemas.
TL;DR: In this article, the authors present a web management system including a database having a directory structure associating each web page of a web site with attributes thereof, which can be automatically or user-initiated.
Abstract: A web management system including a database having a directory structure associating each web page of a web site with attributes thereof. The web site management system may include a web server for displaying each web page, and a server-side front end daemon communicatable with the web server and the database. The front end daemon may identify the attributes of any user-changed web page and store the attributes of any user-changed web page in that database. The identifying and/or the storing may be automatic or user-initiated. In addition to, or in the alternative, the web management system may include a file system caching all web pages in a web site. The web pages so cached may be static. The web management system may include a server-side back end daemon communicatable with the database and the file system. The back end daemon may parse the attributes to generate the at least partially static web pages and store the generated, at least partially static web pages in the file system.
TL;DR: In this article, a web-based system for monitoring the operation and status of a video/audio conferencing system is presented, which includes multiple client computer devices that interconnect with a web server.
Abstract: The operation and status of a system, such as a video/audio conferencing system, is monitored through the use of a web-based system. The system includes multiple client computer devices that interconnect with a web server. The web server is able to access the system to determine status changes, as well as to control the operation of the system. For operability across multiple platforms and technologies, the interface between the web server and the system is performed using a Microsoft Component Object Model (“COM”) application. The web server also includes an ASP page constructed with a server script and one or more client scripts embedded or invoked from the server script. The server script is set up to operate in a looped configuration. Each pass through the loop of the server script, the system is queried to determine if a status change has occurred. If no change has occurred, the server script delays and then restarts the loop. If a change in status has occurred, the client script is updated to reflect the status change and the client script is downloaded to the client computer device. The client computer device includes a web browser that loads a split pane website from the web server—one pane being visible and the other pane being invisible. The client script runs within the invisible pane and is generally constructed to update the visible pane to reflect the status change. Thus, the visible pane on the client computer system can be updated automatically and rapidly without requiring a user to perform any functions, such as actuating a refresh button.
TL;DR: In this article, a web service user interface can be automatically generated, thus simplifying development of web applications, and configuration data can be received and proxies to access the web service can be used to facilitate communicate with said web service using the proxies.
Abstract: A web service user interface can be automatically generated, thus simplifying development of web applications. Web service configuration data can be received and proxies to access the web service can be automatically generated. Communication code can also be automatically generated to facilitate communicate with said web service using the proxies. Display code can be automatically generated to display content provided by a web service. In one example, the web service user interface is a portlet.
TL;DR: The platform supports a number of features that are particularly useful to implement Web services; e.g., logging, timetables, conversations, workflow management, automatic transactions, security.
Abstract: We present a platform for Web services. Web services are implemented in a special XML programming language called XL [1, 2]. A Web service receives an XML message as input and returns an XML message as output. The platform supports a number of features that are particularly useful to implement Web services; e.g., logging, timetables, conversations, workflow management, automatic transactions, security. Our platform is going to be compliant with all W3C standards and emerging proposals. The programming language is very abstract and can be optimized automatically (like SQL). Furthermore, the platform allows to integrate Web services that are written in XL and other programming languages.
TL;DR: In this paper, a dynamic web-based application for WYSIWYG editing of a web page generates editor functionality embedded into the web page using standard markup language so that a remote user with permission can edit the Web page in a standard web browser without installing any external software.
Abstract: A dynamic web-based application for WYSIWYG editing of a web page generates editor functionality embedded into the web page using standard markup language so that a remote user with permission can edit the web page in a standard web browser without installing any external software. The resulting “editable web page” includes at least one editable content cell, such as a text cell or graphic cell, identified by an editing icon and interactive editing behavior.
TL;DR: In this paper, an access server and a method for integrating web based services in an existing telecommunication network services environment comprising one or several non web based telecom service elements is presented.
Abstract: The invention concerns an access server and a method for integrating web based services in an existing telecommunication network services environment comprising one or several non web based telecom service elements. A non web based telecom service element is registered in a web based description server to make known service properties of said service element to web based service elements. A web based service element sends a service request to the access server, the service request using a web based protocol. The access server converts the service request to a telecom service request and transmits said telecom service request to a corresponding telecom service element using an appropriate telecom protocol. The telecom service element transmits service data to the access server. The access server transmits the received service data using the web based protocol.
TL;DR: In this article, a method for providing substantially real-time access to collected information concerning user interaction with a web page of a website includes collecting information concerning users interaction with the web page.
Abstract: In one embodiment, a method for providing substantially real-time access to collected information concerning user interaction with a web page of a website includes collecting information concerning user interaction with the web page The method includes receiving, from a website owner who has accessed the web page using a web browser and while the web page is viewable within a browser window of the web browser, input indicating a desire to access the collected information concerning user interaction with the web page The method includes determining whether the website owner is authorized to access the collected information concerning user interaction with the web page and, if the website owner is authorized to access the collected information concerning user interaction with the web page, generating a viewable user interface providing substantially real-time access to the collected information concerning user interaction with the web page and, to provide the website owner substantially real-time access to the collected information concerning user interaction with the web page, presenting the viewable user interface to the web site owner while the web page is viewable within the browser window of the web browser
TL;DR: A Web filtering system which aims to automatically detect and filter adult content on the Web, and preliminary results show that it can detect andfilter adult content effectively.
Abstract: We describe a Web filtering system "WebGuard", which aims to automatically detect and filter adult content on the Web. WebGuard uses Web crawler to extract relevant data from the Web, combines the textual content, the image content, and the URL name of a Web page to construct its feature vector. WebGuard uses data mining techniques to classify URLs into two classes: suspect URLs and normal URLs. The suspect URLs are stored in a database, which is constantly and automatically updated in order to reflect the highly dynamic evolution of the Web. When working, WebGuard simply captures a user's URL, matches it with the suspect URLs stored in the database and takes an appropriate action - filtering or blocking - according to the result of the analysis. Our preliminary results show that it can detect and filter adult content effectively.
TL;DR: This paper represents distributed Web services by modeling the flow of messages and methods in a Web service transaction using WSDL and methods, and assists the Web services designer to ensure the correctness of Web flows in terms of deadlock and correct termination of the Web Services transaction.
Abstract: Services such as automatic purchasing, automatic updating of prices, or getting latest information etc, can be provided on the Internet using Web services technology. A client can access these services using the Internet. Web services infrastructure includes some standards, such as simple object access protocol (SOAP), Web services description language (WSDL) and universal description, discovery and integration (UDDI). In this paper we represent distributed Web services by modeling the flow of messages and methods in a Web service transaction. Such a model assists the Web services designer to ensure the correctness of Web flows in terms of deadlock and correct termination of the Web services transaction. WSDL and methods are modeled using Petri Nets. A software tool is implemented for extracting the model from the WSDL description of the Web services flow.
TL;DR: In this article, a web server system that incorporates service data into web pages defers the task of generating a portion of a web page associated with late-arriving service data, and offloads this task to the web browser that requested the page.
Abstract: A web server system that incorporates service data into web pages defers the task of generating a portion of a web page associated with late-arriving service data, and offloads this task to the web browser that requested the page. Upon receiving a page request that involves a service request to a potentially slow service, the web server system generates and serves a “deferred rendering”, version of the web page that lacks the data from this service, but which includes most or all of the other visual elements of the page. Upon receiving the requested service data, the web server system forwards this data to the browser, which executes a page update handler (preferably a JavaScript function) to update the page with the service data. The data may be added near the top of the visual page, within a display object that initially serves as a placeholder for the service data.
TL;DR: WBext as discussed by the authors is a web browser extended with client-side mining capabilities, which learns sophisticated user interests and browsing habits by tailoring and integrating data mining techniques including association rules mining, clustering, and text mining, to suit the web browser environment.
Abstract: We present WBext (Web Browser extended), a web browser extended with client-side mining capabilities. WBext learns sophisticated user interests and browsing habits by tailoring and integrating data mining techniques including association rules mining, clustering, and text mining, to suit the web browser environment. Upon activation, it automatically expands user searches, re-ranks and returns expanded search results in a separate window, in addition to returning the original search results in the main window. When a user is viewing a page containing a large number of links, WBext is able to recommend a few links from those that are highly relevant to the user, considering both the user's interests and browsing habits. Our initial results show that WBext performs as fast as a common browser and that it greatly improves individual users' search and browsing experience.
TL;DR: This paper describes a tool supported process to cut out selected sections of legacy code and to provide them with an XML interface to ensure a consistent communication between the Web site and the server components on the host.
Abstract: An important prerequisite to connecting existing systems to the Web is the ability to link client programs on the Web site with server programs on the host. The host programs have not been conceived to run in an internet mode. They are either online transactions or batch steps. This paper describes a tool supported process to cut out selected sections of legacy code and to provide them with an XML interface. The same interface is used to generate a Java class, which creates XML messages returning from the server. This class is then built in to the package managing the Web site. In this way a consistent communication between the Web site and the server components on the host is ensured.
TL;DR: In this paper, the authors present a system that enables one or more persons to control a plurality of wireless electromechanical devices located in remote locations using a web browser with a graphical control panel that enables the user to input control requests.
Abstract: A system enabling one or more persons to control one or more wireless electromechanical devices located in remote locations. The system includes a first personal computer ( 10 ) equipped with an internet connection. The first personal computer uses a web browser with a graphical control panel that enables the user to input control requests, and that includes an animated representation of the electromechanical device(s) such that the user can instantly see the anticipated behavior of the electromechanical device. Control signals are sent via the internet to a server ( 30 ) which in turn forwards the signals to one or more second computers ( 50 ). The second computer(s) transforms the information and sends behavioral signals to a transmitter ( 100 ) via a USB link ( 60 ). The wireless transmitter sends the signals to a wireless receiver ( 200 ) which is connected to an electromechanical device ( 300 ). In this manner, a plurality of electromechanical devices can be controlled by one or more persons located in multiple remote locations.
TL;DR: A new web service called KEGG API is developed, which allows the user to access to all the resources stored in K EGG as a batch processing style without any limitations that the interactive CGI programs will suffer.
Abstract: We have been making the KEGG system available at GenomeNet [2] KEGG is a suite of databases including GENES, SSDB, PATHWAY, LIGAND, LinkDB, etc for genome research and related research areas in molecular and cellular biology These databases and associated computation services are available via WWW and the user interfaces are built on web browsers Thus, the interfaces are designed to be accessed by humans, not by machines, which means that it is troublesome for the researchers who want to use KEGG in an automated manner Besides, from the database developer’s side, it is impossible to prepare all the CGI programs that satisfy a variety of users’ needs In recent years, the Internet technology for application-to-application communication referred to as the web service is improving at a rapid rate For example, Google, a popular Internet search engine, provides the web service called the Google Web API [1] The service enables users to develop software that accesses and manipulates a massive amount of web documents that are constantly refreshed In the field of genome research, the web service has attracted an increasing attention [3] For example, the web service called DAS (distributed annotation system) has been used on several web sites, including Ensembl, Wormbase, Flybase, SGD and TIGR With the background and the trends noted above, we have started developing a new web service called KEGG API [5] Using KEGG API, the user can access to all the resources stored in KEGG as a batch processing style without any limitations that the interactive CGI programs will suffer This also means that the user can embed the KEGG system into in-house programs to analyze his/her own data with KEGG The program using KEGG API always accesses the up-to-date databases on the KEGG server, no database update or synchronization is required on the client side to use the latest database
TL;DR: This paper presents integrated Semantic Web technology for automating customized, dynamic discovery of Web services together with interoperation through semantic translation, and provides an analysis of the forward-looking limitations of frameworks like BPEL4WS.
Abstract: The ultimate goal for the Web services effort is seamless interoperation among networked devices and programs through the development of distributed computing infrastructure and Web standards. Industry has been fast off the mark with the development of computing infrastructure such as .NET and J2EE, Web service protocols such as SOAP, and a communication-level description language in WSDL. Likewise, orchestration and process modeling languages such as XLANG, WSFL, and most recently BPEL4WS, have been developed to represent Web service interactions through process models. Unfortunately, we are still a long way from seamless interoperation. Researchers in the Semantic Web community have taken up this challenge proposing top-down approaches to achieve aspects of Web Service interoperation based on techniques from artificial intelligence. Unfortunately, many of these efforts have been disconnected from emerging industry standards, particularly in process modeling. In this paper we take a bottom-up approach to integrating Semantic Web technology into Web services. Building on BPEL4WS, we present integrated Semantic Web technology for automating customized, dynamic discovery of Web services together with interoperation through semantic translation. We discuss the value of semantically enriched service interoperation and demonstrate its use in a practically motivated example. Finally, we provide an analysis of the forward-looking limitations of frameworks like BPEL4WS, and suggest that Web service interoperation specifications embrace semantic technology at a fundamental level to work towards fully automated Web service interoperation.
TL;DR: In this article, the authors present a system and method for migrating web servers, which includes an authentication module, a parser, a work items module, and a verifier module.
Abstract: The present invention is directed to a system and method for migrating web servers. More particularly, the present invention is directed to transferring configuration and content information from a source server to a target server, including any web sites, applications, features, directory structures and sever side extensions that existed on the source server. The present invention provides a modular script based tool, that can be incorporated or customized by an administrator as needed, and executed on any one of a number of operating platforms or systems. The tool of the present invention comprises an authentication module, a parser module, a work items module; and a verifier module. In combination, these modules obtain one or more informational items pertaining to a source web server, parse the one or more informational items to generate one or more task items, utilize the task items to perform a transfer, and perform health checks on the target server, to ensure the content and configuration of the target web server.
TL;DR: A new type of Web browser is proposed, called the Comparative Web Browser, which concurrently presents multiple Web pages in a way that enables the content of the Web pages to be automatically synchronized, and an enhancement to the CWB is proposed which enables it to use linkage information to find related documents based on link structure.
Abstract: In this paper, we propose a new type of Web browser, called the Comparative Web Browser(CWB), which concurrently presents multiple Web pages in a way that enables the content of the Web pages to be automatically synchronized. The ability to view multiple Web pages at one time is useful when we wish to make a comparison on the Web, such as when we compare similar products or news articles from different newspapers. The CWB is characterized by (1) automatic content-based retrieval of passages from another Web page based on a passage of the Web page the user is reading, and (2) automatic transformation of a user's behavior (scrolling, clicking, or moving backward or forward) on a Web page into a series of behaviors on the other Web pages. The CWB tries to concurrently present "similar" passages from different Web pages, and for this purpose our CWB automatically navigates Web pages that contain passages similar to those of the initial Web page. Furthermore, we propose an enhancement to the CWB, which enables it to use linkage information to find related documents based on link structure.
TL;DR: This work investigates the femibiliy of nonprogramnier web application development and proposes "Programming-at-Runtime" - a programming paradigm that is in its core similar to the automatic recalculation in spreadsheets.
Abstract: We investigate the femibiliy of nonprogramnier web application development and propose the creation of end-user programming tools that address the issue at a high level of abstraction. The results of three related empirical studies and one protoping effort are reported. We surveyed nonprogrammers¿ needs for web applications and studied how nonprogrammers would naturally approach web development. To express what a tool should provide we summarize high-level components and concepts employed by web applications. To express how a tool may provide its functionality, we propose "Programming-at-Runtime" - a programming paradigm that is in its core similar to the automatic recalculation in spreadsheets. Finally, we introduce "FlashLight" - a protoype web development tool for nonprogrammers.