Any proper application development should start with understanding what tasks need to be automated--and the best way to automate tasks is to use scripts that can be written quickly and reused in your programs. But figuring out the right scripting language for your Linux project requires some effort and balancing of the pros and cons. Developers are faced with picking among Perl, PHP, Java or Python, of which each has its strengths and weaknesses.
New York-based ISV Tristan Louis, for example, went with PHP because he liked the balance between extensibility and ease of use. "It seemed like a new language developed specifically for Web use," he says. "The only trouble was that I had not played with it. The big question on my mind, though, was whether it could support large amounts of traffic." Louis, however, became convinced he made the right choice when he learned that Yahoo had built portions of its site using the language.
But PHP is useful only in a Web environment, whereas the other languages can be used to knit together Web and database applications, or for general scripting tasks. Meanwhile, Java has the widest support for development tools and operating environments; Perl is a natural for developers who are interested in the Web; and Python can be useful for extending applications to the underlying business logic and rules of your customers.
There are numerous open-source tools for each one--a useful starting place is scripting.oreilly.com, O'Reilly's central scripting site. No matter which you pick, you'll need lots of patience and skill in learning these new tools and understanding how they relate to the overall development environment.
"When I started looking at some of the open-source packages to go with Perl, I ran into problems. Just trying to get a working example of how to connect from Perl to MySQL was somewhat challenging," says Robert Wilkinson, an ISV based in Phoenix. "Then I had to do something quickly, and I reverted back to the tools I knew, such as using Visual Basic to build a COM object." That process was what put him back into the Microsoft world, where Wilkinson has remained.
Also of note: The scripting language you select will impact the ultimate database and application server you end up with. One choice is MySQL, an open-source server.
"After careful consideration, I decided to use the MySQL package largely because of its tight integration with PHP," Louis says. "My investigation showed that this is a relatively standard configuration known as LAMP [Linux, Apache, MySQL and PHP] and is being used by a number of people all over the world."
Other ISVs have gone with IBM's WebSphere for its large collection of business-integration tools, called adapters.
"We built our own adapter from scratch with some help from IBM, and it wasn't more than a few weeks' effort," says Mike Sutten, IT manager for Royal Caribbean International.