Intranet Journal   Earthweb  
Images Events Jobs Premium Services Media Kit Network Map E-mail Offers Vendor Solutions Webcasts

   Intranet Journal Subjects
Search Earthweb

Privacy Policy



internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

internet commerce
Be a Commerce Partner
















 

[ Home | Discussion Forum | How Do I... | Lotus Notes Intranets | Microsoft SharePoint | Products | Shopping  ]

free news!

AJAX: Asynchronous Java + XML?


Coach K. Wei
8/23/2005

Go to page: 1 2 

Printer Friendly Version

Different Technology Options for AJAX

Considering that AJAX represents a Web application model that is defined by partial screen update and asynchronous communication, there are different technologies for building the AJAX client engine, of which JavaScript, Java, and Flash are the most commonly used. Likewise, these three technologies are the most widely used in building AJAX applications.

The Java approach ("Asynchronous Java + XML")
The Java approach typically uses a browser-based lightweight Java engine for client side processing, such as UI rendering, performing partial screen refresh and asynchronous server communication. In this approach, the UI can be defined using XML, whereas client-side application logic is programmed using standard Java.

Examples available over the Internet include:

The JavaScript/DHTML approach ("Asynchronous JavaScript + XML")
The JavaScript/DHTML approach typically uses a browser-based lightweight JavaScript library for client side processing, such as performing partial screen refresh and asynchronous background network communication. In this approach, the UI is typically defined by using DHTML and client-side application logic is programmed using JavaScript.

Some examples include Google Map (http://map.google.com) and Google Suggest (http://www.google.com/webhp?complete=1&hl=en).

The Flash approach ("Asynchrounous ActionScript + SWF")
The Flash approach typically uses a browser-based Flash engine with an ActionScript library for client side processing. In this approach, the UI is typically defined using SWF (a Macromedia proprietary binary format for defining Flash based movies) on the client side, and the client-side application logic is programmed using ActionScript.

Some examples include BroadMoor Hotel (http://www.broadmoor.com/), a Flash-based interactive hotel reservation system.

Strength and Weakness of Different Options
Each of the three AJAX options has its own strengths and weaknesses, making each one suitable for different applications. The following table summarizes their strengthes and weaknesses:

Option Strength Weakness
Java
  • Robust performance and reliability
  • Ease of maintenance due to object-oriented programming
  • Good for Java developers
  • Requires Java programming skills
    DHTML/JavaScript
  • Fits well with existing HTML Web sites/Web applications
  • Good for DHTML Web developers
  • JavaScript/DHTML code is hard to maintain and not designed for team development
  • Performance and functionality limitations
  • Flash
  • "Sexy" animations
  • Good for graphics designers
  • ActionScript code is hard to maintain and not designed for team development
  • Performance and functionality limitations
  • The Java approach is capable of delivering good performance and functionality due to binary execution, multi-threaded computing, and the industrial strength of Java Virtual Machine. Applications written in Java are easy to develop and maintain because of the object-oriented programming nature of Java. It is good for enterprise Java developers who have Java programming skills. On the other hand, the Java programming skills requirement is also its weakness, because developer skill set requirements are higher than scripting. Historically, JVM compatibility in various browsers has been a significant issue for this approach. However, there are solutions available for these problems. One solution is to utilize a lightweight, JDK 1.1-compatible Java engine that is guaranteed to run inside all browser-based JVMs. This Java engine would abstract developers away from the traditional problems, enabling the development and universal deployment of Web applications by leveraging the strength of Java.

    The DHTML/JavaScript approach fits well with existing HTML Web applications. It is natural for an existing HTML developer to write JavaScript, and the least expensive way of adding interactivity to an existing HTML application. In general, this approach requires the download of (potentially large) JavaScript libraries to compensate for the differing capabilities of the client browsers. The resulting applications are as rich as the underlying browser will allow. This approach can be problematic in large scale business applications due to difficulties developing and maintaining JavaScript, as well as performance/functionality limitations of DHTML.

    The Flash-based approach is good for applications that require a "sexy" look and feel. It is a natural option for graphics designers. Flash enables developers to create very rich user interfaces, given Flash's heritage as a "movie engine." To date, Macromedia has targeted Flash for three use cases in the context of applications: guided selling, guided forms, and dashboards—primarily consumer facing or data visualization applications. Flash applications can access Java and .NET objects running on the server asynchronously. The major limitations of this approach are ActionScript and the limited capability of the Flash engine. ActionScript is a proprietary scripting language developed by Macromedia. It is easier to do scripting than programming for simple tasks, but developing and maintaining many scripts is difficult and expensive for more complex applications. Flash is not an industrial-strength virtual machine like JVM or .NET CLR; as a result, there are functionality and performance limitations for Flash-based applications.

    There is no doubt that all three approaches are viable and each has success stories to prove it. However, choosing the wrong approach for the job also can be devastating.

    Taking AJAX a Step Further

    AJAX addresses some of the problems of the Web today, but there are still significant problems that AJAX does not address. For example, how do you make Web applications offline available? How do you enable server-initiated communications? How do you guarantee consistent performance, as well as reliability for Web applications, given that HTTP is not reliable and Internet performance is inherently limited by network conditions?

    AJAX itself is not the destiny, but rather a leading indicator of how the Web application model is evolving. All of the above problems must be addressed for the Web to become a truly available, reliable, and performance infrastructure for software applications.

    Conclusion

    AJAX represents a generic application model that would enable more interactive, more responsive, and smarter Web applications. AJAX is not tied to a particular programming language, data format, or network object and is defined by two core attributes: partial screen update and asynchronous communication. There are three approaches to build and deploy AJAX applications: DHTML/JavaScript (Asynchronous JavaScript + XML), Java (Asynchronous Java + XML), and Flash (Asynchronous ActionScript + SWF). Each approach has its strengthes and weaknesses; as such, customers should evaluate and choose carefully.

    This article originally appeared on EarthWeb's Developer.com.

    Go to page: 1 2

    Printer Friendly Version

    Of Interest
    Intranet Discussion Forum
    Creating and Editing Office Documents with .NET
    Getting Started with Windows SharePoint Services

    email this page

    Tutorials
    and more at:
    Intranet Journal's Tutorials
    Intranet Journal Favorites

    Creating a PHP-Based Content Management System

    The Spyware Guide

    Introduction to Microsoft SharePoint Portal

    Intranet Journal
    Part of the EarthWeb Network

    Managing Editor
    Intranet Journal

    Tom Dunlap

    EarthWeb Home Page
    Jupitermedia Home Page

    Media Kit





    JupiterOnlineMedia

    internet.comearthweb.comDevx.commediabistro.comGraphics.com

    Search:

    Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

    Jupitermedia Corporate Info


    Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

    Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

    Solutions
    Whitepapers and eBooks
    Intel PDF: Virtualization Delivers Data Center Efficiency
    Intel eBook: Managing the Evolving Data Center
    Microsoft Article: BitLocker Brings Encryption to Windows Server 2008
    Symantec eBook: The Guide to E-Mail Archiving and Management
    Microsoft Article: RODCs Transform Branch Office Security
    Go Parallel Article: James Reinders on the Intel Parallel Studio Beta Program
    Avaya Article: Advancing the State of the Art in Customer Service
    Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
    Avaya Article: Avaya AE Services Provide Rapid Telephony Integration with Facebook
    Go Parallel Article: Getting Started with TBB on Windows
    HP eBook: Storage Networking , Part 1
    MORE WHITEPAPERS, EBOOKS, AND ARTICLES
    Webcasts
    Intel Seminar: Efficiencies in Hardware/Software Virtualization
    HP Webcast: Disaster Recovery Planning
    Go Parallel Video: Performance and Threading Tools for Game Developers
    HP Video: StorageWorks EVA4400 and Oracle
    HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
    MORE WEBCASTS, PODCASTS, AND VIDEOS
    Downloads and eKits
    IBM TCO eKIT: Your IT Budget is Under Attack, Get in Control
    IBM Energy Efficiency eKIT: Learn How to Reduce Costs
    30-Day Trial: SPAMfighter Exchange Module
    Red Gate Download: SQL Toolbelt and free High-Performance SQL Code eBook
    Iron Speed Designer Application Generator
    MORE DOWNLOADS, EKITS, AND FREE TRIALS
    Tutorials and Demos
    Microsoft Article: Silverlight Streaming--Free Video Hosting for All
    Featured Algorithm: Intel Threading Building Blocks - parallel_reduce
    HP Demo: StorageWorks EVA4400
    MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES