FOR ESP: Armed and ReadyBy Frank Ohlhorst | Print
Re-Imagining Linux Platforms to Meet the Needs of Cloud Service Providers
Developers leverage AJAX and cloud computing to fight off the offshore threat
Time equals complexity. This maxim is true of just about any technology, and application developers are well aware of it. They also know that complexity has a price—increased development costs.
Unfortunately, higher costs have created the unintended consequence of prompting businesses to seek cheaper development alternatives or forgo custom applications altogether. A lot of times, the alternative has been to outsource development to places with cheaper labor such as India and Russia. As much as 38 percent of North American companies are sending application development offshore, according to Evans Data. The number has held steady since 2006, when it jumped about 20 percent.
No question, those numbers are gloomy. But the bigger problem for developers may have more to do with the quickly aging development tools and methodologies they still employ than offshore competition. What if you could develop and deploy applications cheaper and better? You can, but it will take much more than Microsoft CEO Steve Ballmer yelling, "developers, developers, developers," at a conference.
The answer lies in the new tools, technologies and methodologies that Web 2.0 and cloud computing have placed in developers’ hands. Developers can stave off offshore competition by leveraging things such as AJAX to create interactive and rich Internet applications and RAD (rapid application development) for faster development.
Combined with the emerging delivery method of SAAS (software as a service), these new tools are starting to transform the development landscape and how customers buy software.
SAAS: The earlier and future format
Once touted as the wave of the future, SAAS was dreamed up by ASPs (application service providers) as a method to lease software to users without any of the encumbrances of traditional client/server applications. For application developers, ASPs were able to prove the SAAS model could work, but the approach required significant investment in hardware, bandwidth and resources that were beyond the reach of the typical application developer.
What’s more, businesses with the need for customized applications did not want to pay for development costs and ongoing fees to access their own applications. But that started to change once new development tools and cloud computing concepts entered the mainstream, making Web-deployed apps feasible for most situations.
Chris Peterson, CEO of solution provider Christian James of San Francisco, says there are visible benefits to combining cloud computing with SAAS.
"SAAS and RAD allow us to save our customers from their own IT shortcomings," Peterson says. "Most people aren't any good at managing their data and the security of it. We've noticed that it is still far too common to come across an on-premise[s] software user who has had their computer go down and lost months worth of data. RAD allows us to create powerful apps in-house that benefit our customers, and SAAS allows us to manage the security of the data."
Peterson’s premier product is PayGoSaaS.com, a hosted POS (point of sale) application. Interestingly enough, the application is available as a "local host" solution, meaning that customers bring the cloud computing method on site and host it internally.
New tools, new methods
Web 2.0 technologies have introduced a multitude of businesses to the concept of cloud computing, but in doing so, they have added to uncertainty about the future of application development. The problem is that Web 2.0 (or even Web 3.0) is often considered a technology in itself, when in fact it is simply a term that defines the Internet as a platform.
The real power of Web 2.0 comes from the tools and techniques that allow users to run software applications entirely through a browser. The reason Web 2.0 and associated technologies are important to application developers is that interactive Web-based applications do not necessarily have to be located on the Web. Web-based applications can be hosted on local/internal servers, over which administrators have complete control. What’s more, locating those applications inside the firewall greatly enhances security.
There are many tools on the market today that enable application developers to make the transition to browser-based applications, and each of those tools have their fans. Mike Thomson, director of Alpha One Software, a developer of hospitality reservations software, has put his faith in Alpha 5.
"We have made a strategic decision to shift our entire development efforts completely to Web 2.0/DHTML [Dynamic HTML] and AJAX using Alpha 5," Thomson says. "We have already produced an on-screen reservation calendar complete with drag-and-drop resizing grips. All functions are controlled by a single page using tabbed page layouts and divisions, which are populated dynamically by AJAX at run-time. This means that we never have to refresh or render a complete page and that the performance of our product is better and more versatile than the desktop approach."
Marc Huizer, CEO of Ayton, a Moordrecht, Netherlands-based ISV, discovered Servoy, a cross-platform application development tool and deployment environment, when the company decided to make the leap into SAAS for its health care application.
"When we developed a new version of our application last year, our platform vendor recommended that we go to a SAAS model," Huizer says. "Our initial response was: 'That doesn't work in our industry.’"
But Huizer changed his mind after seeing how easy Servoy made delivering the application in the SAAS format. "So we started to mention SAAS capabilities in our sales process," he says. "To our surprise, there is huge interest in SAAS even in the health care field. All I can say to other ISVs is choose SAAS, and also make sure you choose a platform that makes it easy to offer both."
While development tools such as Servoy are important in themselves, some developers are more interested is the paradigm shift that is taking place as Web development encroaches on the enterprise.
Keven M. Thibeault, CEO of Newburyport, Mass.-based Logical Design, a CRM and middleware specialist with more than 20 years in the industry, says the use of AJAX and Java-enabled tools has become commonplace in the enterprise.
"I consult to enterprise companies who spend mad money on armies of consultants and expensive licenses to deploy Web 2.0 capabilities linked to legacy systems," Thibeault says. "They utilize AJAX and Java-enabled front ends and SQL back ends, all glued together with integration techniques using
Thibeault’s experience points to the need for RAD-type tools that can speed development and deployment chores, reducing the amount of "mad money" needed to launch new applications. Therein lies the opportunity for today’s software developers: Do it faster and cheaper, and the customers will come.
"We're seeing a shift from traditional client/server development to Web 2.0 in a number of our opportunities," says Thomas Simon, co-chairman of Berea, Ohio-based Task Advantage. "Our clients and prospects are telling us that it is more and more compelling to utilize rapid application development tools. They need to get Web applications up and running quickly to meet immediate business needs."
Tools such as Alpha Software’s Alpha 5, he says, make it possible to build applications that would take significantly longer in PHP, Ruby and .Net. Because RAD speeds up the work, it also makes it possible to pursue more opportunities at a lower cost, which all contributes to creating solid applications that meet or exceed client expectations, Simon adds.
"AJAX-enabled applications will proliferate throughout the Web world in the near term," Simon says. "Web applications performing like desktop, client/server applications are fast becoming the standard."
Graeme Smith, CEO of UDMS of Charlgrove Oxon, England, is another enthusiastic supporter of the marriage of RAD and AJAX. His company, he says, specializes in developing RAD applications that in the past would have been written with client/server technologies and traditional desktop database systems.
"We recently made the decision to recode our support database using Web 2.0 technologies based on AJAX," Smith says. "We expected the development to take roughly the same as our other tools and had planned a week's development time to deliver a simple starter app. But in reality we delivered the entire application in less than two days."
That, he says, translates to a time savings in development of about 60 percent, which he attributes to the RAD capabilities offered by UDMS’ tool of choice, Alpha 5.
"The transparency of the Web application has transformed the way we manage support, and it can be deployed without installation on any PC that supports a browser, so there is minimal IT overhead," Smith says. "We can now design Web pages that act more like desktop applications, and there is no doubt we will be migrating more of our systems over to AJAX on a Web 2.0 platform."
Making the leap
Though change tends to scare people, application developers will find making the leap into the brave new world of developing cloud-based applications easier than anticipated. After all, the market is brimming with AJAX tools and development environments.
But the multitude of tools can make choices difficult and lead to missteps. A wrong move could sour developers on the new tools when they should be venturing down a path that ideally should lead to easier application development and deployment.
Missteps are avoidable, but some homework is necessary. AlphaOne’s Thomson says when choosing a development product, his company used criteria such as performance on par with desktop-only applications, centralized processing, versatility and a single development model for both desktop and Web users.
"Those key factors helped us to find a product suitable for our development needs," he says.
In addition to Thomson’s criteria, developers should take other elements into consideration: licensing, support and costs. It also helps to consider how the server software is distributed and how client PCs are licensed. For example, the server side of the SAAS solution may only allow a certain number of concurrent connections, meaning that users would have to buy additional connection licenses as their staff grows.
As with any new technology or method of doing business, there will be those who resist change. Working with cloud-based applications will be no different. While a multitude of companies have grasped the importance and convenience of Web-based applications, they do so typically in the context of deployments that primarily focus on delivering a rich Internet experience to external customers—those beyond the firewall.
But very few companies understand those same concepts can be used to deliver applications inside the firewall to internal users. That is where the opportunity lies for those re-engineering applications and developing custom solutions. Developers and solution providers must make a compelling case to customers about the value of the new ways.
For instance, they should argue that by moving custom applications from the traditional client/server development process to Web 2.0 style technologies, most companies will see a significant reduction in management overhead and administrative duties. Simply put, AJAX, combined with a modern browser, delivers on the promise of thin-client computing that failed in the past.
Using the SAAS model internally offers several distinct advantages. First, many traditional desktop support chores can be eliminated—administrators will no longer have to "push" applications down to desktop computers and then follow up with updates, changes or other support issues. All a desktop needs is a valid connection and a compatible browser. All other needs are met by self-provisioning. Users need only click on available links provided by a Web page to access their applications.
That simple change creates a fundamental shift in how a company will support their desktop users. Most organizations can use that shift to remove operating system upgrades and advanced hardware requirements from the picture. That in itself could add up to significant savings for most any enterprise.
Of course security becomes a concern, but the very nature of Web-based applications helps to shift security from the application back to the network. Administrators can turn to NAC (network access control), VPNs or SSL (Secure Sockets Layer) connections to enhance security. There, too, a significant reduction in management overhead can be achieved by removing traditional client/server applications from the picture.
For developers, reduced time spent coding allows the focus to change to the business process involved. With new technologies such as AJAX and RAD, developers can become business process professionals who deliver tools that adapt to established business procedures, instead of forcing businesses to adapt their procedures to the latest software whim.
With those advantages in mind, savvy developers have an opportunity to not only turn their backs on the techniques of yesteryear but also stave off the competition from offshore developers.