YOUR FEEDBACK
Java Application Development wrote: Importance of the application...... Java Web Application Development...


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP LINKS YOU MUST CLICK ON


OSS: A Tactical Plan for Building Applications
Pay now, pay later

Open Source is the current rave of the software industry. It's making great progress because of Linux - an operating system that truly works. People are all a-bustle about Open Source and are beginning to look for an Open Source option appropriate to all their application needs. This raises questions: How can you take advantage of Open Source when you're building applications? Are there any dangers involved in using Open Source?

As often happens, people are taking the extreme route and want to do everything in Open Source because they don't have to pay for it. That's logical thinking. You can't beat free! But, are there other costs involved besides monetary ones? Certainly Open Source applications alleviate spending, but shouldn't there be a balance in everything we do? What's that optimal balance between Open Source and traditional proprietary software applications? The purpose of this article is to explore both Open Source and proprietary software, and then reveal effective tactics for building applications with Open Source software.

Open Source Versus Proprietary Software
Sometimes a price tag with the word "free in it is more than a good thing - a blessing in disguise. What a deal! Other times, what appears to be good, turns out to be quite problematic. Herein lie the dangers of Open Source software (OSS). As far as OSS is concerned, it's important to evaluate your needs and determine whether "free" will really be free, or if it's a better idea to invest in the stability and support of commercial software.

It's a reasonably wise and safe move to use OSS as a foundation. An infrastructure can be built on top of it. In fact, many companies do this with network servers and some of the DNS services. Linux is especially good as a foundation for such low-level utilities. We'll touch more on this later.

As you move to higher-level utilities, such as mail servers, it becomes more advantageous to go with commercial software. Why? Stability and flexibility. You could take the cheap route. But, your operation won't work well, which is why it's highly recommended - and worth the investment - to buy commercial software.

The same concept applies to application servers. When you build an application, sure, you can go with Open Source. But, if you really want the performance scalability of a big application, you have to go with a commercial application server. And when it comes to new applications, new languages, or coding in any new form, stick with proprietary software to avoid bugs.

If a line were to be drawn between when you should and shouldn't use free software, it would be this: use it for basic server operating systems, network support, and directory services. These are all utilities for which OSS is a safe, wise choice because many IT-related applications are well used and well tested. The programs that run on top of these utilities are what you should buy. Certainly, if you venture into the realm of "free" for your entire infrastructure by using public domain software then - and by all means, the option is there and yours for the taking - but, heed this warning: you will be setting yourself up for many headaches.

Maintenance & Support for OSS
Over the years, Linux has become quite stable. Its maintenance and support is practically a non-issue because so many people know about it. This situation is atypical of other Open Source software. Only when enough people know about it can enough people maintain it. Typically, high-level OSS applications aren't well known. Only segregated groups of people truly know them. Therefore, it isn't likely you'll find someone to depend on to fix it if it breaks.

Effective Tactics for Building Applications with OSS
Let's paint a picture. Think of each part of your infrastructure as a separate building block. The bigger the block, the less specialized it is and the more people are involved in its development. Take a look at Figure 1. The bottom block - the foundation - is the operating system. Everybody uses it. To some extent, as you build atop the foundation, the programs become more specialized. The next layer consists of blocks that are slightly smaller, which reflects less interest among developers. Each block represents various servers, such as applications servers or network servers. The top layer is made up of even smaller blocks. Each block represents an application and from a development perspective a specific niche.

The more knowledgeable people the lesser the risk.
The point is that the more people who know an OSS program, the lesser the risk you take using it. Most likely you have people on your own team who know it and can solve any problems you come across. But, as you build an infrastructure and the programs get more and more specialized and less and less people are interested in developing the application, the higher your risk in using Open Source. This is when it becomes wise to invest in support from a commercial company.

The broader the subject the greater number of knowledgeable people.
Another point is quality. When any subject is broad as with an operating system, there are a lot of developers who can work on it and maintain it. But when it becomes specified there are only two or three people who will work on it in their free time. Quality is hard to get. When it comes to Open Source, high quality can be had with programs in general use because there's a critical mass of people working on them. But high quality can't be achieved for the more specialized programs because public domain software doesn't draw enough people to work on it and improve it.

The more interest and hours invested the more refined the product.
The public domain has limited power. The power that exists is derived from the time invested by a group of people who work in the industry. Many people must be interested in a program for them to contribute their time. The key word here is "many." Enough hours must be accumulated to develop and refine a product.

How do you determine whether you should use OSS?
The answer might sound trite, but it comes now to weighing the power of the Open Source product. Do you have knowledgeable resources on your team to solve any problems that occur? Is the product popular enough to be high quality? This is where you draw the line. If your answers to the questions are "yes," go for Open Source. If the answers are "no," turn to commercial software.

OSS Applications at Work
Commercial software isn't going away. But that doesn't mean that Open Source has not had an impact on it. Sooner or later there's going to be a very good Open Source operating system for the desktop and devices because there are enough people interested in making that happen. That's something that's likely to bite into Microsoft - except its more specialized products. IBM, on the other hand, isn't as likely to be affected, since its focus is more on specialized products. That's why IBM supports and doesn't fight public domain software. What about the smaller ISVs? How does Open Source affect them? And what does all this have to do with you? Independent software vendors can actually benefit from OSS. Commercial developers can learn much from the experience of developers who work on Open Source. In fact, it's quite useful to take pieces of public domain software and use them as models. Doing so makes it relatively easy to build products for market and support them - specialized products that you need.

A couple of great examples are two different automated error prevention products. Jtest, which is a powerful static analysis and unit test tool for Java, uses an Eclipse-based GUI, Junit, as its testing framework, and some OSS metrics tools. Another example is SOAtest - a tool for testing Web Services on the client and server side. It uses the Apache Xerces XML parser and SOAP library, Xalan XSLT processor, GNU Regex Expression Library, and DNS Java tools. So all in all, it's safe to say that Open Source can create great opportunities for commercial vendors - especially the smaller independent companies.

Conclusion
The fact is that when Open Source software is well known and in knowledgeable hands, it can be a wise choice - especially for basic server operating systems, network support, and directory services. Leave the more specialized Open Source programs to commercial companies. They can refine the code and bring new in-demand products to market that are reliable and come with support. In short, be wise. Take time to investigate and figure out whether free is really free, or if an investment is the better option.

About Dr. Adam Kolawa
Adam Kolawa is the co-founder and CEO of Parasoft, leading provider of solutions and services that deliver quality as a continuous process throughout the SDLC. In 1983, he came to the United States from Poland to pursue his PhD. In 1987, he and a group of fellow graduate students founded Parasoft to create value-added products that could significantly improve the software development process. Adam's years of experience with various software development processes has resulted in his unique insight into the high-tech industry and the uncanny ability to successfully identify technology trends. As a result, he has orchestrated the development of numerous successful commercial software products to meet growing industry needs to improve software quality - often before the trends have been widely accepted. Adam has been granted 10 patents for the technologies behind these innovative products. Kolawa, co-author of Bulletproofing Web Applications (Hungry Minds 2001), has contributed to and written over 100 commentary pieces and technical articles for publications including The Wall Street Journal, Java Developer's Journal, SOA World Magazine, AJAXWorld Magazine; he has also authored numerous scientific papers on physics and parallel processing. His recent media engagements include CNN, CNBC, BBC, and NPR. Additionally he has presented on software quality, trends and development issues at various industry conferences. Kolawa holds a Ph.D. in theoretical physics from the California Institute of Technology. In 2001, Kolawa was awarded the Los Angeles Ernst & Young's Entrepreneur of the Year Award in the software category.

LATEST LINUX STORIES
Microsoft is going to pump up to $100 million more into Novell for additional certificates that it will sell or give to customers to redeem for SUSE Linux support. Novell should get the money on November 1 right before the second anniversary of the widely loathed Microsoft-Novell pact ...
Red Hat CTO Brian Stevens, Citrix CTO Simon Crosby, Egenera CTO Pete Manca, Allen Stewart, Group Manager, Windows Virtualization at Microsoft, and Brian Duckering, Sr. Director of Products and Alliances at Symantec were the top industry executives who joined Jeremy Geelan in the 4th Fl...
IBM introduced a series of new products, services and initiatives that further expand IBM's commitment to Linux and open source by enabling the next generation of Linux. As the company marks ten years of support for Linux, IBM announced a number of cross-company initiatives to driv...
Two of the biggest launches in Rich Internet Application history took place in 2007/2008 when Adobe launched AIR 1.0 in February '08 and Microsoft launched Silverlight (September '07). At the 6th International AJAXWorld RIA Conference & Expo in October SYS-CON Events is delighted to be...
VMware, which seems to be as far from open source as you can get these days, has joined the Linux Foundation, promising to make more contributions to the Linux community. It's cultivating the Linux crowd as adoption of Linux expands as a result of its position as a platform for cloud c...
IBM, Canonical, Novell, Red Hat and the distributions’ hardware partners are ganging up on Microsoft, intending to push a Microsoft-free desktop alternative involving Linux, Lotus Notes and Lotus Symphony. They think they see an auspicious constellation of stars in the sky – like P...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE