OData support
Supervisor:
Albert István
Department of Automation and Applied Informatics

The topic of my thesis was to study the Comet technology and to implement it in the ASP.NET environment. Comet is an application model which aims to compensate for a significant deficiency in the design of today’s popular Ajax technology: Ajax calls made from a web browser to the server are always initiated from the client side, usually as a result of some kind of user interaction. By default, the client is only notified about events created in the server if it explicitly requests them. However this approach treats the resources available in a wasteful manner, since Ajax calls that return without retrieving actual useful information are needless. Comet solves this problem by using long-held HTTP requests which are initiated by widely supported JavaScript objects or HTML elements. If a client should be notified about an event created in the server, then the long-held HTTP request initiated by the client can be used by the server to output its message. The server then optionally closes the HTTP stream.

Beside using the Comet technology, the problem can be solved by other means too, such as using plugins installed in the users’ browser to facilitate duplex communication. By offering real socket-based communication, these plugins make the dialog between client and server much easier to handle. Using plugins requires that they are installed previously in the client browser. Some users are not capable to do this for various reasons, which means a significant drawback for the solution. Another important issue is that the support for available plugins is weaker than the support for basic web technology. These circumstances mean that though plugins offer a great method to reduce the complexity of client-server communication, the technology is simply out of reach for a big chunk of web users.

WebSockets, which is part of the yet unfinished HTML5 standard, is a promising tool to replace Comet technology. The solution aims to provide a general and easy to use API to solve the problem of one sided client-server Ajax communication. The finalization of the WebSocket specification is currently hindered by security issues.

Considering the problems with browser plugins and the immaturity of the WebSockets technology, it is advisable to examine Comet techniques that implement duplex communication via using widespread browser technologies. My goal was to study the general Comet principles and implementations with their ASP.NET specific implications. Based on this knowledge, I had to build a framework which simplifies the usage of Comet. The framework’s abilities should also be demonstrated by a simple demo application.

Downloads

Please sign in to download the files of this thesis.