Oracle In The Driver's Seat For Java Development
Oracle's debut of Java Standard Edition 7 in July was a significant event on several fronts. The release was the first major update to the development platform in nearly five years. It also marked the first Java release since Oracle acquired Sun Microsystems, Java's previous owner, in January 2010.
And you can bet a lot of people were paying attention. Used by an estimated 9 million developers worldwide and running on more than 1 billion computers, Java is "by far the most deployed language in the world and in the history of computing," said Adam Messinger, vice president of product development for Fusion middleware at Oracle, during the Java SE 7 unveiling.
Java Standard Edition is key because it defines the development language, compiler and core frameworks for the platform. Java SE 7 offers a number of technical advancements, including support for multicore microprocessors and Java Virtual Machine support for non-Java languages.
"It looks like a solid release that has something in there for everyone," said Jim Riley, chief architect at Comframe, a Microsoft channel partner that was acquired by Waltham, Mass.-based NWN in January to beef up the solution provider's application development services.
But the process of completing Java SE 7 wasn't pretty. Friction between Oracle and other members of the Java community, including a split with the Apache Software Foundation open software organization, about Java's overall direction has raised questions about the technology's future as an open development platform.
In a January report subtitled, "Java will be constrained by the bounds of Oracle's business model," Forrester Research analysts John Rymer and Jeffrey Hammond noted that while Sun had practically given Java away to help sell its hardware, "Oracle primarily sells software and will therefore remake Java's 'world order' to serve that business model."
The view that Oracle intends to exercise greater control over Java has been reinforced by Oracle's ongoing lawsuit against Google, charging that Google's use of Java in its Android mobile operating system violates seven Java patents owned by Oracle.
Oracle has vowed to keep Java an open-source technology for customers and developers, as well as licensing it to commercial vendors.
But asserting more control over the Java Community Process (JCP) that develops technical specification standards for Java technology isn't necessarily a bad thing. Development of the next generation of the Java standard had become bogged down, and the Forrester report notes that Oracle "has methodically consolidated its control, herded the unruly Java community onto a single path, and started producing new releases of the core runtime after a four-year lapse."
"We've been actively working to build the community," Messinger said during Java SE 7's formal debut. "Java is strategic to Oracle. We have thousands of people here at Oracle writing software in Java. We have billions of dollars worth of business done on Java software. We've got skin in the game and we'll do what we need to do to make Java a success and keep moving forward."
Next: Java SE 7 Advances The Platform
Solution providers who work with Java generally express confidence in Oracle's stewardship of the technology. "The fact that they are a big Java user themselves and are tackling the tough problems – that will help the platform," said Comframe's Riley. Comframe works with Java, as well as with Microsoft's .NET (widely seen as the alternative programming framework) and other development platforms.
"I don't know anyone who's really concerned about it," said John Molinaro, a partner at Rolta TUSC, a Chicago-based solution provider and Oracle platinum partner, when asked about the dustup over the direction of Java SE 7.
While Molinaro acknowledged that Oracle and other companies represented on the board that governs Java's direction (the Java Standard Edition/Executive Edition Executive Committee of the JCP) all have their own agendas, Molinaro doesn't see any one company dominating the discussion. "I trust the process, to some degree. It's worked so far."
"Oracle has picked up the ball and is getting things moving again," said Craig Muzilla, vice president of Red Hat's middleware business unit, in an interview earlier this year. While expressing disappointment that Apache resigned from the JCP, he said he is "cautiously optimistic" that things are moving in the right direction. "The JCP has moved forward and taken the initiative."
Oracle, to be sure, will be a major driver of Java's direction. While Sun pursued a broad agenda for the technology, including its use within desktop and mobile devices and embedded systems, the Forrester report concludes that Oracle will emphasize Java's development for enterprise middleware. While Oracle will develop Java virtual machines for desktops, mobile devices and controllers, the company will likely leave it to others to adapt those JVMs to other systems.
"The exception is cloud, which Oracle's Java SE road map addresses, albeit over a relatively long time," the report said.
Most Java-based production systems today are based on Java SE 6 or earlier and, as often happens with new releases, adoption of Java SE 7 will grow slowly. "We have a couple of clients who want to move to it, but they don't want to be first," Riley said. "People will start kicking the tires, checking out the features and using it in development" before fully embracing it for a runtime environment.
The new release's JVM support for dynamic languages such as JRuby, a Java implementation of the Ruby language, Python and JavaScript will improve Java SE 7's attraction as a development platform, Riley said. He also praised the improved asynchronous I/O for boosting the platform's performance.
The new multicore-ready API in Java SE 7 helps developers break down computational problems for processing in parallel across multiple processor cores. The release also offers new networking and security features, expanded support for internationalization capabilities such as Unicode 6.0, and updated versions of numerous developer libraries.
In April Oracle launched a new release of its NetBeans integrated development environment that supports Java SE 7's Java development kit (JDK). NetBeans is widely seen as the most popular Java IDE after Eclipse, according to IDC analyst Al Hilwa. Before the Sun acquisition Oracle's primary Java development toolset was JDeveloper: Oracle is now aiming that toolset toward developers who work with the company's Fusion-based applications while NetBeans is geared toward the broader Java community.
Some solution providers worry about a fracturing of the Java standard, given the proliferation of vendor-specific JVMs. "It's not 100-percent of what I expected in terms of portability," said Molinaro, whose career includes stints at both Oracle and Sun Microsystems. But in a follow-up e-mail he added: "The reality is that Java is still core" and the issue isn't a threat to expanded use of Java.
While recent efforts focused on completing Java SE 7, the Java Community Process also has been working on Java SE 8, the next generation of the platform specification that's currently expected in October 2012. That release will include a number of features and enhancements that were originally planned for Java SE7, but were deferred to get that release out the door.
One of those is a modularization of the Java SE platform and JDK under what's known as Project Jigsaw, an effort to make Java easier for developers to work with. Another is providing lambda expressions to the programming language to support programming in a multicore environment. And Java SE 8 will include some small language changes developed under Project Coin that didn't find their way into Java SE 7.
Questions also remain about other facets of the Java platform, including the Java Enterprise Edition and Java Micro Edition frameworks for enterprise and mobile applications, respectively. The Forrester report expresses "low confidence" that Java EE and ME "will continue to play a dominant role in business application development" with more development shifting to such programming environments like Ruby on Rails or SpringSource Grails.
Likewise, the report notes that few developers use Java today for client-side user interface development, preferring instead to use Adobe Flex, AJAX, HTML and Microsoft Silverlight.
Next: With A Little Help from Oracle's Friends
Oracle has some major allies on its side, most notably IBM and Red Hat, as it furthers Java development.
Oracle and IBM, for example, have been collaborating in the OpenJDK project, the open-source implementation of the Java SE specification, Java language, Java Development Kit and Java SE Runtime Environment. The OpenJDK is a major factor in adoption of Java SE throughout the open source community. JDK 7 became generally available on July 28 and it's expected to be a major topic of conversation at the JavaOne conference in San Francisco next month.
IBM's decision in October 2010 to back the Oracle-run OpenJDK over the Apache Software Foundation's Project Harmony was seen as a major gain for Oracle. The move committed IBM's development work on JVMs to the OpenJDK and to the roadmap for Java SE 7 and Java SE 8.
Red Hat is another major Oracle ally. Red Hat is a big supporter of Java EE, the standard for developing multitier applications. Java EE is the foundation of Red Hat's JBoss application server (and is a key component of Oracle's WebLogic and IBM's WebSphere application servers as well). And in August Red Hat debuted its OpenShift Platform-as-a-Service software that's based on Java EE 6.
Red Hat also has contributed to Java EE 7, the next generation of the Java EE platform that's expected to make it easier for Java EE-based software to run in private and public cloud systems. Java EE 7 also will support the HTML5 standard for developing Web content, and offer new and extended APIs to improve developer performance. The Java EE 7 specification, now moving through the Java Community Process, is expected to be complete sometime in 2012.
Oracle is even proposing changes to the Java Community Process itself, which is made up of 1,200 individuals, businesses and user groups. The changes, known as JCP.next, will help broaden transparency of Java technology development, improve procedures, increase agility and encourage new community participation, said Patrick Curran, JCP chairman, in an Aug. 12 blog post called "Using the process to change the process."
Java faces increasing competition from Microsoft's .NET in the development platform race. "The question is whether Oracle will be able to keep Java competitive, particularly for large enterprise applications," the Forrester report said. While .NET has some advantages, such as developer productivity, Java wins in advanced features. And .NET runs only on Windows.
"Java SE 7 and 8 will move forward, driven by the strong consensus among Oracle's partners about the content of those releases," the Forrester report said. "Customers will see predictable and stable enhancements of enterprise Java middleware." But with Oracle setting Java's direction, "the bottom-up innovation the open source community drives will find expression elsewhere."
NWN's Comframe has been using .Net more for development projects in recent years as it's become a more viable platform, Riley said. But now he's seeing an uptick in demand for Java work from customers. "It's very much driven by the market and our clients specify the technologies they are comfortable with."
"There's still a pretty good demand for Java," he said. "It's alive and well and a huge percentage of the world is running its business on it."