Welcome!

AJAX & REA Authors: John Funnell, Bob Little, Kevin Hoffman, Maureen O'Gara, Onkar Singh

Related Topics: AJAX & REA, Silverlight, Cloud Expo

AJAX & REA: Article

RIA and Cloud Computing Apps

A change in the way the industry thinks about software applications

It is not yet clear which deployment modes (SaaS or on-premise) are more cost-effective, considering the full lifetime of an enterprise application (7-10 years). What is clear is that it's easier to experiment with a new enterprise application that is also offered in SaaS mode. Consumers and businesses continue to use all modes of deployment including mainframe/terminal, client/server, and Web, and will continue to do so for years to come. With such a heterogeneous application portfolio, businesses need to service different (though sometimes overlapping) constituencies and will require varying skills and competencies to operate them all.

Development Challenges
RIAs represent one of the most challenging development processes yet. They involve three clear tiers - a client tier (taking care of the presentation, interaction logic and some business logic), a server tier (taking care of most of the business logic, the data and back-end integration), and a session tier (the inter-lying communication layer between the client and the server that has its own particularities). So, a typical development effort requires building and maintaining a number of different teams to work on the different aspects of the application. As a result, the design, planning, and management of the project becomes riskier, more complex, and, of course, more expensive. As with any system, where there are more moving parts, there is an increased chance of breakdowns.

An added complication when dealing with an RIA client is responses must be explicitly programmed into the application since the client is now an independently functioning entity that must be managed on a per-field level. Therefore, developing and deploying a RIA (or SaaS) solution requires businesses to first buy, and then integrate multiple platforms along with the diverse server and client paradigms.

From RIA to SaaS
The ability to deliver service to remote devices is the first prerequisite for the SaaS service model, which is usually achieved by the RIA technology. One of the main challenges within this model is the issue of multi-tenancy. This is also related to elasticity - the ability to allocate resources dynamically to those who need them. This requires that each consumer, or "tenant," using the software have a minimal static footprint in terms of resources dedicated to them, but with near-unlimited scalability. In general, SaaS achieves this by using a single instance of the server platform, which is tenant-aware, while providing full-tenant independence. In most cases this requires applications to be developed in a dedicated "tenant-aware" mode or developed from scratch on a tenant-aware or multi-tenant platform. That is where SaaS and cloud computing meet, delivering significant economies of scale to vendors, operators, and consumers.

However, this approach also demands more from development teams and potentially raises costs for the software development community. For example, given a successful human resources application designed to run on a Java application server, if the ISV also wants to start selling the application as SaaS, they need to redevelop it on a new platform - while at the same time continuing to service and maintain the old one. Both platforms will have to run in parallel for the foreseeable future, since not all customers will want to move to the SaaS model. How can we avoid the additional cost and take better advantage of these new models and technologies?

SaaS Enabled Application Platforms and Multiple Deployment Choices
Today we are seeing the emergence of a new breed of application platforms. SaaS-Enabled Application Platforms (SEAP) leverage metadata-based application development and rules engines, augmented with process management capabilities. SEAPs provide much more intensive and extensive abstraction and significantly reduce the complexity of development and deployment over the entire application spectrum.

A few of these platforms can deliver RIA and SaaS. Some bundle the platform and a hosting service, providing an Application Platform as a Service (APaaS). It should be noted that for cloud infrastructure owners who want to leverage their assets in a SaaS offering, a SEAP is a mandatory ingredient - hence the importance of being able to obtain a SEAP as a stand-alone product. A key advantage found within this evolving industry is the ability of the platform to deliver RIA and SaaS through a unique unified development paradigm that incorporates all aspects of the development and deployment process. This enables you to manage the setting and controlling of the client-side and server-side logic, in addition to the communication between the client and the server, and the consumption and manipulation of back-end services, all from the same platform.

Another evolution is the browser-free RIA approach. It provides all the benefits of RIAs, but unlike the browser-based approach of AJAX-type solutions, it is not dependent on the browser and its various usability problems. Also, while client-side RIA platforms require separate client and server development and partitioning, the comprehensive SEAP caters to both the server and client tiers, and handles all client/server partitioning automatically, thus greatly simplifying the development process and reducing costs.

A paradigm that can support the entire application delivery spectrum - desktop, client/server, Web, RIA and SaaS, with the same application trunk - is ideal. This means that an organization running a typical OS/400 application can now continue to deploy this application on the old terminals - in addition it now becomes accessible to fat clients, web clients, rich clients and mobile clients as well. This approach is a true reflection of corporate reality, extending even to bridge business requirements and platforms with the social nature of the Web.

Conclusion
Today we are witnessing a change in the way the industry thinks about software applications. The increase in SaaS application development and consumption is driving up demand for RIAs and a new set of platform technologies built specifically to develop and deliver them. Software vendors, both large and small, are now considering how best to adapt to the new paradigms of the RIA and SaaS markets, while a large number of developers are moving to RIA and SaaS application development.

In this environment, it is wise to consider how best to cost-effectively manage the transition. For this reason a proven SEAP platform featuring a single development paradigm should be vigorously considered by any business looking to cost-effectively develop RIA and SaaS-based applications while allowing their users to continue to use and adapt their current application portfolio investments to the fullest.

More Stories By Avigdor Luttinger

Avigdor Luttinger leads Magic Software's industry analyst relations program and is one of the founders of the company. He headed software development during Magic Software's initial creation and then launched the company's international distribution.Avigdor holds an MBA from INSEAD in France and an MS in computer science from the University of Lyon.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.