The Web 2.0 world is exploding with applications, and enterprises are jumping on the bandwagon. The Asynchronous JavaScript and XML (AJAX) framework is a collection of open-source approaches and tools to develop Rich Internet Applications (RIAs). Simultaneously, enterprises are exploring the potential of SOAs for their benefits of reuse and relative ease of deployment. This article discusses whether these two approaches are compatible, what tools are available, and how enterprises should approach the mix.
Cleaning Up Applications Using AJAX
AJAX is one of several approaches to developing RIA applications. AJAX creates a path between the client browser and server to pass information back and forth without having to refresh the Web page. The concepts behind AJAX are not new, with reports of its application as early as 1998. Jesse James Garrett of the user-interface firm Adaptive Path, LLC first used the term AJAX in his essay "Ajax: A New Approach to Web Applications," published in February 2005. Done correctly, AJAX can reduce bandwidth needs and server requirements.
AJAX is not a technology one can download; it is an approach to building interactive Web applications. While not new, the approach is catching on because of some highly visible implementations using the concept. The traditional Web application involves users' requests being sent via an HTTP request to the Web server. The server then carries out the request and serves up an HTTP page for the user. Every action requires communication with the server. AJAX, on the other hand, introduces an engine of sorts on the client. In AJAX applications, instead of the HTTP Web page being served to the client, that engine is served to the client. Generally, the engine is JavaScript in a hidden page frame. The engine takes over interaction with the user and communicates with the Web server only when necessary. In general, this allows simple requests to be handled without communicating with the server.
At the recent AjaxWorld Conference and Expo in Santa Clara, California, there were several announcements of importance to mid-sized enterprises interested in developing and deploying Web 2.0 applications.
Helmi Technologies, Inc. launched the beta of its open-source platform for the development of RIAs. Helmi's Open Source RIA Platform V2.0 is a new object-oriented framework for developing browser-independent Web applications using the AJAX approach. Helmi is providing the source code under an open-source license, à la Red Hat, Inc.
• Stampede Technologies, Inc. announced a performance-enhancement solution for AJAX and other applications. Stampede Web 2.0 Performance Series is implemented with a hardware appliance at the data center and uses client software technology for bi-directional acceleration. The vendor's technology automatically injects itself into the downloaded Web page to optimize AJAX, HTTP, HTTPS, Microsoft .Net, and XML environments.
• Volantis Systems Ltd. introduced AJAX support for its framework for development, integration, and deployment of mobile applications. The new release, Mobile Content Framework 4.0, adds support for AJAX with automatic and intelligent adaptation to mobile devices. Included is a new AJAX widget library for user-interface effects.
AJAX uses the following methodologies:
Asynchronous data retrieval via XMLHttpRequest
- Data interchange and manipulation via XML and Extensible Stylesheet Language Transformation (XSLT)
- Dynamic display and interaction via Document Object Model (DOM)
- Packaging and execution via JavaScript
- Standards-based presentation via Extensible HTML (XHTML) and Cascading Style Sheets (CSS)
SOA What?
Meanwhile, a service-oriented architecture (SOA) presents opportunities for improved alignment between internally developed applications and the business. The goal of the elastic enterprise is to be sufficiently flexible to respond rapidly and gracefully to changing business or technological conditions and constraints, without disruption or irreparable damage to the business. No approach is being promoted more to address these challenges than SOA. IBM, for example, is making SOA a central part of its software strategy.
The main concepts behind SOAs are not new. Reuse of components stored in repositories is a decades-old approach. The concept of services as components is also longstanding. Also not new is the idea of services as instantiations of business processes. Finally, the use of service brokers and a companion invocation infrastructure hearken back to things like Object Management Group, Inc.'s Common Object Request Broker Architecture (CORBA). Lastly, many of the Web services technologies being touted as SOA elements are extensively used in a variety of non-SOA implementations. Therefore, while it makes sense to evaluate the risk of using an SOA approach on projects, the newness and ensuing perceived risks of SOAs might be overblown.
A recent Capgemini U.S. LLC survey shows that 35% of enterprises now use SOAs, while 82% plan on using them in the near future. The same survey finds that half view SOAs as the number-one priority for the IT infrastructure. Building on the concepts of loose coupling and highly cohesive components, composition in an SOA environment offers real hope for elastic systems produced on demand to rapidly changing requirements.
Security Concerns
Also at AjaxWorld, Web security vendor Finjan Inc. released a report claiming security holes in AJAX and other Web 2.0 technologies. According to the Web Security Trends Report, a technology approach such as AJAX "...flings open the door to new malware propagation methods." Hackers can embed malicious code in hosted Web content or use AJAX technologies to create client-side attacks not detected by the server. Protection therefore involves analysis of each request as it happens, Finjan added. Did I mention Finjan happens to offer such protection?
Security of AJAX applications is a legitimate concern. Many enterprises disable JavaScript in users' browsers because of security issues. In addition, developers could inadvertently create security holes when writing the JavaScript applications. While the development community is aware of these potential problems, there is a need for more effort in addressing security issues of AJAX applications. Those responsible for them should be sure that any AJAX development projects include close scrutiny on security and testing.
AJAX + SOA = ?
So with AJAX and SOA at the forefront of what is going on in enterprise application development, it makes sense that the two have synergies for enterprises. In a simplistic sense, AJAX can be the front-end and SOA can be the back-end of applications.
RIA software company JackBe is embracing this need through its Presto platform. Presto gives developers a way to have AJAX applications call SOA and Web services. JackBe already has an AJAX development platform, and this advancement adds the ability for enterprises to link to existing services, with their underlying governance and reliability attributes.
Enterprises can benefit from AJAX and other RIA approaches to Web applications. There is a strong movement toward browser- and device-independence. The linkage to SOA is not only interesting, it is essential for enterprises wanting more than the simple mash-ups commonly available on the Internet. IT managers and executives should evaluate SOA on its merits and fit it to application requirements with a progressive implementation approach. However, there are bumps in the road. As with any development methodology, developers and their managers must consider several factors, including performance and security, while they are planning and developing applications. Waiting until after deployment for such analysis is a recipe for disaster for any development platform.
Ron Exler is Vice President and Research Fellow at Robert Frances Group, an advisory firm that serves executives making decisions at the confluence of business and technology. You can reach him at
LATEST COMMENTS
MC Press Online