Welcome!

Scott Cranton

Subscribe to Scott Cranton: eMailAlertsEmail Alerts
Get Scott Cranton via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: RIA Developer's Journal, Web 2.0 Magazine, Java EE Journal, SOA & WOA Magazine

RIA & Ajax: Article

How RIA - AJAX Technology Can Help Linux Seize the Enterprise Desktop

Now is the time

Despite its success in the mid-tier, Linux has not been widely adopted on enterprise desktops - primarily because there is currently very little in the way of standards-based support for developing platform-neutral, enterprise-class GUI applications for Linux. Enterprises will not undertake the major effort required to move applications off of Windows unless they know those applications will be portable - a lesson learned the hard way in the move to Windows over the past decade.

In the same way that Visual Basic created a Rapid Application Development (RAD) environment for Windows, RIA technology can do the same for Linux. The Rich Internet Application (RIA) space is new and evolving, but offers the potential for creating Linux applications that are robust, feature-rich, browser-based, cross platform and require no client-side installation. As organizations rebuild applications to implement service-oriented architectures (SOAs), now is the time for the Linux community to leverage emerging RIA technology to make Linux a viable alternative to Windows on the desktop.

Linux would seem to be the operating system of choice for a significant percentage of enterprise desktops. Compared with Microsoft Windows it's less expensive to deploy and maintain, provides superior security, can run on older or less expensive hardware and is easier to customize for dedicated business operations, such as call centers and IT operations centers. Yet despite these advantages, the adoption of Linux for desktops has been sluggish. What's not to like?

One problem has been the difficulty in creating GUI applications on Linux that meet enterprise requirements. The key capabilities are:

  • Multi-platform support (i.e., the ability to run on both Linux and Windows)
  • Low deployment and maintenance costs
  • Strong synergy with existing mid-tier services
  • Ability to work with multi-tier service-oriented architectures (SOAs) now and in the future
Linux currently lacks application frameworks that make it straightforward and cost-effective to create software that meets all these requirements. Java-based frameworks would seem to be the natural starting point for remedying this problem: they're open, cross-platform, industrial strength, and widely used on the server-side. In practice, however, Java development has proven difficult and expensive for the majority of organizations. Java coding, in particular Java Swing, requires highly skilled developers who are difficult to find and expensive to keep.

When Windows Was
What Linux Is

It's ironic that Windows was originally deployed as an alternative to more expensive UNIX-based desktops. Indeed, there are many parallels between the Linux of today and the Windows of yesterday.

In the 1980s and early 1990s, the dominant business systems were midrange UNIX workstations proffered by the likes of Data General, DEC, Sun, HP, and IBM. The migration of business applications from mainframes to these less expensive UNIX platforms was well underway. The move to UNIX was perceived not only as a way to reduce costs, but also as a means of increasing companies' freedom of choice among hardware and software vendors.

The strategic applications of that era were written either in C or in the then-hot new C++ language with its revolutionary, object-oriented paradigm. Client/server was the architecture of choice, with many client-side applications serving as interfaces to relational databases running on all those UNIX servers.

Against this backdrop, the appearance of DOS in the early '80s and then Windows in the late '80s attracted the same kind of technology enthusiasts who were the early advocates of Linux. The PCs of the era were 16-bit, 8086-based affairs with less than 1Mb of memory - not even close to providing the power and functionality of the UNIX desktops. Businesses had little interest in PCs until the first productivity applications appeared, particularly spreadsheet programs like VisiCalc and Lotus 1-2-3.

At this juncture Windows offered little in the way of graphics APIs or hardware drivers, making it impractical for most companies to even contemplate spending the time and money required to port their line-of-business applications from UNIX to these wifty little systems. The only allure Windows had back then was its low cost, from both hardware and software licensing perspectives. Sound familiar, Linux fans?

Meanwhile, UNIX vendors were squabbling among themselves in half-hearted attempts to standardize UNIX application environments so that enterprise customers would finally gain that much-desired flexibility to choose the hardware and software that fit their business needs - even as the dominant players were enjoying the benefits of customer lock-in. Enterprises were rapidly growing tired of the slow progress and were actively seeking a cheaper alternative for their UNIX desktops. Windows, though still in its formative stages, was in the right place at the right time.

Many early Windows adopters first experimented with PCs as a cheaper desktop for dedicated environments like call centers. Then as now, call center desktops often ran a single application, which allowed staff to quickly perform a limited range of functions while interacting with users of the phone. PCs were viable as single-purpose systems in comparison to expensive UNIX hardware and software. Application deployment for PCs meant physically replacing the PC on the end-user's desk with a different machine running the latest version of the software. The PC's low cost was an advantage in these scenarios as IT could maintain a large number of backup machines. But Windows-based application development remained expensive due to a lack of easy-to-use business application frameworks, and therefore the need for highly skilled Windows programmers - a rare commodity at that time.

In 1991, the release of Windows 3.1 greatly accelerated Windows' mainstream adoption. Windows 3.1 featured built-in multimedia extensions and OLE 1.0 (Object Linking and Embedding, which eventually evolved into .NET). Visual Basic (VB) 1.0 also emerged on the scene, with its simple programming paradigm and innovative, component-based architecture that allowed non-computer scientists to rapidly create rich, interactive GUI applications.

These new features gave Windows the built-in support it needed to challenge UNIX for control of enterprise desktops. Now non-computer scientists could create GUI applications based on their understanding of business needs. And the rest is...history.

The Lesson of VB
It's worthwhile to amplify some key lessons from the success of Visual Basic that ring true for Linux today. VB, along with PowerBuilder and other so-called Fourth Generation Languages (4GLs), radically accelerated the pace at which enterprise teams could create applications. These tools were the first RADs - Rapid Application Development Environments. They combined an easy-to-use GUI builder with a simple programming language that lowered the skill barrier and allowed non-programmers to participate in the development process.

More Stories By Scott Cranton

Scott Cranton is a Principle Solutions Engineer at 
FuseSource (http://fusesource.com). He is a veteran in the enterprise software field with more than 20 years of experience as an architect, consultant, and product manager. Scott has worked with many Fortune 100 enterprises in many industries, including Telecommunications, Financial Services, Energy, and Retail.

Comments (9)

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.