Framework / Web Forms / AJAX / Nevron AJAX Overview

In This Topic
    Nevron AJAX Overview
    In This Topic

    All AJAX features of the Nevron web controls require Visual Studio 2005 or later and Microsoft .NET Framework 2 with ASP.NET AJAX Framework 1.0 or Microsoft .NET Framework 3+.

     Browser compatibility

    Nevron web controls are tested and operate flawlessly in AJAX mode with the following web browsers:

    • Microsoft Internet Explorer 6
    • Microsoft Internet Explorer 7
    • Mozilla Firefox 2+
    • Opera 9+
    • Safari 3+ for Apple Macintosh
    • Safari for Windows
    • Google Chrome
     Nevron Instant Callback as an Alternative to the MS AJAX Callback

    The alternative AJAX Nevron Instant Callback technology is based on image refresh, rather than on ASP.NET 2.0 AJAX asynchronous callbacks. With the Nevron Instant Callback technology the performance of the component can be increased several times, depending on the complexity of the page it is hosted within. Even in the most simple scenario (a web form with one chart control) the processing of the standard callback request by IIS adds 55% to the time, required by the server to render a chart. In a web form with many ASP.NET controls the overhead can be as high as 350% and even higher. This can be a concern for web sites that use AJAX because AJAX-enabled web controls tend to create a very intensive client-server request flow.

    The Nevron Instant Callback does not create a request context at server side when an event is routed from the client to the server, thus removing the 55% - 350% processing time overhead. This way the processing time of the callback requests is decreased dramatically and more clients can connect to your web server per minute.

     Nevron Event Queueing

    Nevron AJAX engine provides a seamless client-to-server event routing mechanism. During the processing of an AJAX callback, client side events are enqueued and filtered by the web browser, providing a native behavior of the web control even over the unpredictable and possibly lagged transport over Internet. Prioritization of events and event queue length adjustment allow for fine-tuning the way the web control responds to user interaction. Nevron Event Queuing makes mixing of mouse move, mouse click events and auto refresh possible and native to the web site visitors.

     

     Controller-tools architecture

    The JavaScript controller object was introduced to separate input events from the event handling logic. This architecture allows for implementing complex behaviors like click-and-select or drag-and-drop. It also makes the Nevron AJAX more extensible by introducing the opportunity to implement custom tools to the developer.

     Reliability

    You should think of an AJAX web page as of a classical client-server application. The client is implemented with JavaScript classes, running within the browser's DOM. The server is your ASP.NET AJAX-enabled web form. The client and the server communicate asynchronously and once initialized, the client runs independently from the server, and is operational even if the server is unavailable.  

    In an AJAX application the communication with the server can be broken in several ways:

    • Longer period inactivity at client side can cause disposed session at the server (the complete server side state of the application is lost).
    • The ASP.NET web application is restarted at the web server because of modified web.config, global.asax etc.
    • The web server is lagged or unavailable (no response is received within a reasonable time).
    • The Internet connection is broken (the server IP cannot be resolved and an instant error is returned).

    During the time in which the server is not responding, a reasonable and customizable message is displayed by Nevron web controls. When the communication with the server is available again, the web control automatically resumes its normal operation. If the server session has expired or the web application has been restarted, the server side state of the web control is recreated and the user can continue using the AJAX capabilities of the control in his web browser.

     Extensibility

    Along with the common events, such as mouse events and auto refresh, the Nevron JavaScript Library allows custom command events to be fired from user’s client side JavaScript. These events are routed to the server in the same way as the built-in events and can be processed by the user’s server side code. Custom commands are processed by the Nevron event queuing mechanism along with the built-in events. This way, custom AJAX requests that affect a specific web control will be synchronized with user input events and other custom AJAX requests for that particular control. 

    Custom functionality can also be introduced to the standard Nevron AJAX features by implementing new controller tools. Custom tools can handle any supported event or set of events to perform pure client side operations or send commands to the server. For more information on how to implement a custom tool, please read the Extending Nevron JavaScript Library topic and take a look at the AJAX examples.

     AJAX with Postback

    Postback requests can be easily combined with Nevron web controls in AJAX mode without losing the client side state. AJAX with Postback allows for adding AJAX functionality to existing postback-based web pages.

     Examples

    For further details and sample code, please refer to the AJAX web examples that are installed by the Nevron .NET Vision installation.