terça-feira, 21 de abril de 2009

How Java can thrive on Oracle's hands

Much has been speculated if the buying of Sun by Oracle might be beneficial for Java - or even for Oracle itself. Short term, whoever looks at Sun's financials will see that it spends twice as much on administrative costs then R&D. It means that during the merger of operations there's a lot of salesmen, administrative staff and the like to cut and their tasks absorbed by Oracle's bureaucracy before a single engineer become unemployed. Good for both Oracle and Java.

Java is, as of 2009, the most popular language for server side and mobile development. The Java runtime has proven scalable, fast and flexible enough to accommodate other languages (Python, Ruby, Scala, Groovy, etc..). Managers don't consider it just another "toy technology" and has mission critical systems running on it. It has a plethora of high quality tools and libraries - most of them freely available. Java is open source technology, meaning Sun makes zero money from directly selling Java, as opposed to its main competitor Microsoft's Visual Studio .NET.

However Oracle has it's own Java implementation (JRockit) that it sells and which claims to be better then Sun's reference implementation. It also has a popular J2EE server implementation - Weblogic - tweaked to be very performant with JRockit.

Oracle also bought the MySQL database, also open source, also the most popular database. But not every manager is comfortable on having critical company data on it - which is why Oracle still have a strong database business. Solaris, also in the package, is a very good OS and the OS of choice for deploying Oracle databases. Sun's hardware division is regarded as top quality but overpriced. The also in StorageTek, dealing with massive storage, is growing and rely on the ZFS filesystem - considered cutting edge technology.

At the high profile projects, a better synergy from JRockit+Weblogic+Solaris+OracleDB+ZFS should make it a very appealing platform. However, not all projects are designed as big from the ground up. Most start as lab, personal or departmental projects. The J2EE, Oracle and Solaris products have high learning curve - so people start with a good enough solution that's more beginner friendly, be it LAMP (Linux+Apache+PHP+MySQL) or Microsoft's .NET.

Trying to offer "lite" versions of Oracle or Solaris seems futile. The same for trying to monetize from small developers - they'll just keep their current tools or, worse, jump Microsoft's bandwagon. Oracle should instead invest in an easy migration path from a small scale solution to the large offering. This means making Linux and OpenSolaris more compatible, provide an OracleDB "engine" for MySQL (so you can use a MySQL dialect with Oracle) and other small-to-big solutions.

As for Java: win developers mind by keeping it powerful, their heart by keeping the language open for third parties, and their pockets by keeping it free. Support in innovative ideas like Jython, JRuby, Groovy/Grails, Scala, JPA 2, JSF 2, etc. Investing in Swing or Nokia's Qt integration so developers won't need to resort to VisualStudio to create desktop or mobile applications with decent interfaces. Keep Glassfish to push J2EE boundaries. Netbeans even if only to compete with Eclipse and make it better.

And when those applications grow and need to backed by corporate scale infrastructure, Oracle shall have the upper hand.

segunda-feira, 13 de abril de 2009

Hello World

As if the world needs another blog... This should be a business oriented blog, with subjects like finance, economics, fashion, books, technology, strategy, etc.

Let's see how it works.