Server-Based AJAX for Enterprise Applications

AJAX has been breaking new ground almost every day. With over 150 AJAX frameworks, there are plenty of options to choose from and, one might say, there are too many. Most of the AJAX frameworks provide you with browser extension libraries that will help you utilize the browser and interact with the server in a more productive way. What they are trying to do in most cases is to provide larger building blocks to achieve your goals by abstracting the calls to the browser API and to the server.

The last is a significant improvement over the plain vanilla browser coding, but you are still writing your application in a very poor environment with very poor developer tools. Your end result is a JavaScript application vulnerable in terms of security, manageability, and your IP protection.

When you are writing enterprise applications that are actually business apps, the security, productivity, manageability, and IP issues of AJAX development are becoming a real turn off. Applying SSL to your application can only bring you so far because you are still exposing server services for the client to consume through plain old JavaScript and running business logic that can easily be hijacked by using a simple script debugger. Also, the different AJAX frameworks still, in most cases, force you to write your application mainly in client-side JavaScript code that has its limits and productivity issues. The most obvious issue regarding JavaScript UI programming is the lack of design time capabilities, but that is only the tip of the iceberg.

Server-based AJAX is a recent addition to the AJAX frameworks arena; it basically changes the way you think about AJAX applications. It introduces a concept of server-based computing for web applications where your code runs entirely on the server and reflects changes to the client. This concept is used widely in remote desktop or application streaming software, but has not been available until now for web developers.

The server-based AJAX concept provides great benefits for developers in terms of productivity, manageability, and usability. Currently, the only available framework implementing full server-based AJAX is Visual WebGui, which provides full WinForms, such as API and design time capabilities for developing web applications. Although it sounds very much like Google's GWT, it is not because it does not serialize the application code to JavaScript but rather uses it at runtime on the server and reflects the UI to the client. This means that you have what can be called an "empty client" that is managed entirely by the server. Client events are sent to the server that, in turn, return its update commands to the client, reflecting changes made to the UI on the server. This process can be optimized in various scenarios explicitly to reduce the amount of server callbacks and bandwidth consumption, making the end result as responsive as standard AJAX applications.

There are some downsides to the server-based AJAX concept, mainly in terms of scalability, because you are utilizing a server session to run your application, but when applied to enterprise applications, rather then Amazon-sized sites, you get a very nice ROI that you would not get in any other architecture. In terms of responsiveness and performance, one would think that this concept lacks, but the opposite is the case; the server uses fewer resources in terms of CPU and IO because it does not have to receive/return large blobs and, most importantly, does not need to construct and deconstruct the application classes on every request. Also, as said before, there are many optimizations that can be applied to reduce server callbacks and bandwidth consumption.

The server-based AJAX concepts may just be the solution for enterprise AJAX applications because it provides these applications with the best of both worlds. Having a responsive, rich AJAX UI that behaves pretty much like desktop UI, but still maintaining the productivity, IP protection, and security of running the application on server side provides a compelling offering for enterprises.



About the Author

Guy Peled

I am the architect of a new development enviroment called Visual WebGui that provides the .NET answer for google's GWT by extending WinForms over ASP.NET.

Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Organizations are increasingly gravitating toward mobile-first application development as they assess the need to revamp their application portfolios to support touch computing and mobility. Consumerization has brought higher expectations for application usability along with the mobile devices themselves. Enterprises are increasingly shifting their new application acquisitions and development efforts toward mobile platforms. With this backdrop, it is natural to expect application platform vendors to invest in …

  • Cloud computing isn't new, but it's still a hot topic in technology circles. Moving to the cloud has done great things for many businesses. When it comes to handling a basic business necessity, cloud computing has brought many improvements to overall business continuity. Using the cloud for DR makes a lot of sense for many, but it's not exactly the most simple concept. Read this eBook to find answers to all the key questions IT professionals have about cloud-based disaster recovery, and helpful info around the …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date