Enterprise Java development remains challenging but will Sun's new kid on the block JSC build support to challenge the might of Visual Basic and .NET?
Java is generally perceived as being less productive and more complex than Microsoft technologies, in particular .NET. However, many Java suppliers have developed tools to bridge this gap. Sun, with its Java Studio Creator (JSC), is one of the latest to hit the market .
The number of suppliers providing a credible software infrastructure services stack to build, integrate, deploy, and manage enterprise applications will stabilise in the next year or so, but which should you choose?
To reduce risk, organisations should evaluate a broader platform, covering web services, development, enterprise application integration, business process automation, portals, security, data and content management. And competition is bound to be fierce in areas where suppliers provide functional overlap.
Developer productivity is the focus of most commercial development tools. The move from client/server to internet applications has introduced new levels of complexity to application development, often to the detriment of productivity. This has certainly been the perception with J2EE.
Sun has recently shipped its JSC product and joins others in delivering Java tools designed to provide productivity similar to Microsoft's Visual Basic. Derived from Sun's Netbeans open source project, JSC is focused on building web applications using standard Java functionality, without the need for additional programming frameworks.
The battle for developers' hearts and minds will continue during the period 2004 to 2006, as each of the platform suppliers seeks to solidify and grow market share and to pre-empt Microsoft's drive toward its Longhorn platform and associated technologies.
In addition, the shift toward web services and composite applications will create new competitors in the market, as package suppliers such as SAP and software-as-service suppliers such as Salesforce.com approach the market from alternative vectors.
By 2007/2008, the market will have shifted to three key development elements using the model-view-controller pattern:
- Forms: the view is defined with XML using visual construction tools
- Services: the model elements are defined with traditional systems languages such as Java or C# or by wrapping legacy systems
- Scripts: the controller will be driven by dynamic scripting languages (eg Groovy or the evolution of Visual Basic) performing composition, workflow, translation, and event management.
Up to 2009, this churn of technology will improve overall productivity but will also keep IT busy with changing paradigms and technology platforms.
Several suppliers have tackled the J2EE complexity issue. Many of these products have been created by start-ups that have come and gone, often failing because of the use of non-standard Java technologies. Such products rely on proprietary runtime frameworks, and betting on a small supplier can present too high a risk.
In addition, many of these products have been targeted to traditional Java developers who are often more code-focused and resist having their "craft" trivialised or made "easy".
Prior to the release of .NET, the trend was towards moving all development to Java. However, as Java complexity rose to meet the needs of distributed applications and .net appeared, many former Visual Basic developers pushed to stay with Microsoft to retain productivity and to make use of existing skills.
In addition, interoperability through web services meant this was not an either/or decision. For the main Java tools and platform suppliers (BEA, Borland, IBM, Oracle), this created a renewed need to address the Java productivity gap. However, Sun was fairly dormant toolwise in the period 2000 to 2003, though it was not a pure tool issue, and most solutions tended to require proprietary extensions to Java.
When IBM released its Eclipse project to open source, it quickly gained momentum and obscured Sun's open source Netbeans project. Eclipse has now become a dominant integrated development environment platform for Java development, supported by numerous third parties and used by multiple suppliers as the foundation for their development environments. Through all this, nothing has really occurred to blunt the fast adoption of .net.
According to Meta Group research, .net adoption has grown from 24% of organisations in 2003 to more than 60% by the end of 2004. Java use has grown from 48% to 72% of organisations during the same period. Such figures emphasise the point that most organisations will use both technologies.
In 2003, Sun announced project Rave, an attempt to offer simplified development with the productivity of Visual Basic to Java. This product has now been delivered as JSC. However, though the product is built on a mature foundation, it is still far from the polish of Visual Basic.
Unlike Borland, IBM, or Oracle, Sun lacks its own integrated lifecycle support, relying instead on partners or more basic open source options (eg CVS for version control versus IBM Rational's market-leading Clearcase product).
It is also questionable who will be attracted to JSC. The product does not have the breadth of Visual Basic either in function or in choice of components. JSC's relative newness to the market means there are few mature third-party components and fewer out-of-the-box components (50 for Microsoft, 23 for JSC). However, this will change with time.
The primary interest for JSC is likely to come from the educational market, hobbyists and small departmental websites in Java-centric organisations. The majority of developers will be attracted to full-feature environments such as Borland's JBuilder, which have a full integrated lifecycle suites backing them up.
In the same fashion, Sun's JSC product should gain broader overall adoption, though this will ultimately depend on Sun's marketing efforts.
Organisations that use web applications and have struggled with productivity or developer resistance to Java should explore JSC as a potential solution. The general concept of migrating developers to a single technology platform and programming language has merit: ease of maintenance, "portability" of developers, and long-term reduction in overall training costs.
However, it will be very difficult to move an organisation to pure Java use. The current trend toward smart clients, and the ability of .net to integrate neatly with the Windows desktop, will continue to create a strong demand for this technology. Also, though Java tools may make many programming tasks as easy as Visual Basic, this will not overcome familiarity with Windows APIs.
Pure developer productivity will become less important than building fast in a well-architected way and working well in team situations. To play a strong role in this market, Sun will have to fill out its development platform and market extensively to developers. Introducing JSC and reinvigorating the Netbeans community is a good first step, along with innovative pricing policies for Sun's Java Enterprise System platform.
Thomas Murphy is vice-president of integration and development at Meta Group