Reaping the Benefits of RIA and SaaS
Rich Internet applications and their brainchild, software-as-a-service, are expensive to build. Today they represent the most challenging development process yet.
by Regev Yativ
Remember those mainframes and terminals of the 1960s? They essentially consisted of “dumb” clients that displayed your information on screen. The PC revolution came along with the invention of the CPU and created a new type of deployment, with the central processing operations now shifted onto every user’s desktop.
The advent of this desktop processing created a significant euphoria in the market as software suddenly became much smarter. However, the euphoria began to wane when people realized the prices they had to pay to maintain the so-called “fat” client. A typical organization operating many desktops would have to spend huge sums of money to install each machine, keep them fully upgraded, and protect against ever-new security threats.
The solution to this cost issue came with the Internet revolution. IT essentially came full circle, returning to a topology very similar to the days of the mainframe where all major computation takes place at the server. The client, once “fat” with logic and functionality, is now “thin” again, acting basically as a window frame for our data.
It’s cheaper, yes, but the “thin” client topology still does not answer the original need for more client-side computing power. After all, that is what drove the desktop revolution in the first place. Internet- and browser-based applications are still limited in their operational scope, lacking the richness users have come to expect from “fat” client applications.
Where We’re Going
These limitations are now leading the industry into a new channel and mode of deployment based around rich Internet applications (RIA). These are fully interactive business applications similar in power to the desktop, but instead of being client-side heavy, they are installed at a single location (the server) and are Internet driven. Essentially, RIAs are the hybrid answer to the requirements of modern IT business.
However, the advantages gained from combining the lower cost of ownership (from the ”thin” client) with the enhanced user experience (from the “fat” client) comes at a price. RIAs and their brain-child: software-as-a-service (SaaS), are expensive to build. Today they represent the most challenging development process yet.
What options are available for building and deploying RIA and SaaS?
First, you have the client-side platform toolkits, where you build a rich user interface using your own development team.
However, what you get with these products is only a partially effective solution. In fact, the part you get is more like the tip of an iceberg, with the most complex development effort taking place at the server and the inter-communication layer not included.
Secondly, the very popular platform-as-a-service (PaaS) option offers a full cloud-based RIA package for a subscription fee. These cloud-based solutions have gained rapid acclaim and are great ‘equalizers’ for smaller businesses or independent software vendors that cannot afford a sustained independent development effort.
This approach also has its drawbacks. Although cloud-based software certainly helps organizations cut costs by enabling them to “consume” only the software that they need, there are inherent risks to outsourcing mission-critical data to an outside entity. As we know, even the most successful companies can disappear overnight, taking your spreadsheets, customer information, and sales presentations with them.
Can we overcome the complex development challenge of RIA and yet still provide a way of maintaining a company’s mission-critical data in-house on its own servers?
How We Can Get There
The answer is yes. A new breed of RIA and SaaS application platforms that provide a full development and deployment environment needed for client-server, RIA, and SaaS applications. Unlike the client-only alternatives, these tools specifically provide for the most difficult and expensive part of the RIA development effort, building the complex server and communication layers behind the client interface -- the hidden part of the “iceberg” in our analogy. They do it without requiring a separate set of programming skills.
Instead, these modern application platforms make use of metadata, which enables developers to configure pre-compiled business logic rather than having to write hard code from scratch. This leaves designers with more time to perfect an RIA’s business logic and user interface while the platform takes care of the rest.
The result is faster overall development, fewer skill-set requirements, more time for prototyping, fewer coding mistakes, smaller teams, and lower overall development and deployment costs.
In practice, this technology provides benefits similar to those of PaaS solutions, enabling you to get down to business quicker and with lower overhead. The difference with metadata application platforms is that they are not necessarily limited to the cloud. In fact, end-to-end application platforms based on metadata can support the entire application delivery spectrum -- desktop, client/server, Web, RIA, and SaaS, using the same application copy. This in itself is a bonanza for ISVs grappling with the problem of moving to SaaS without giving up their client-server revenue flows.
With the benefit of hindsight, it is only natural that vacillating from one end of the IT topology spectrum (desktop “fat” client) to the other (Internet “thin” client) will bring us eventually to an optimum middle path -- RIAs. However, as with any hybrid invention, costs always begin high and fall later as we learn how to solve (or adjust to) the complexities of new technology. RIA and SaaS have turned that corner with the development of end-to-end application platforms. All that remains is for more people to hear about them.
Regev Yativ is the president and CEO of Magic Software Enterprises Americas. You can contact the author at firstname.lastname@example.org