In-Depth

In search of a gentler Java

Corporate managers bought into J2EE technology and tools in a big way. Now, faced with the difficult task of building complex enterprise Java applications, they worry if they can find enough skilled Java programmers. For their part, Java tool vendors are trying to bring out tools that make J2EE much easier to use.

The "poster children" for this are found in the ranks of Visual Basic developers whose business acumen and scripting skills may outpace their OO programming capabilities. In fact, these VB aficionados may be at a crossroads, facing a not-insignificant migration to Microsoft's .NET platform. Sun, BEA, IBM and others have set their sights on this type of developer. But highly skilled senior developers may benefit from a new set of kinder and gentler Java tools.

"Java is too hard for the masses, let alone J2EE," noted Yafim Natis, an analyst at Gartner Inc., Stamford, Conn. "Java and J2EE have significant penetration in the market for those with advanced technical skills. Vendors looking to expand their market want to bring the Java platform to the less advanced. They have to hide Java with tools that layer over Java."

"We hear significant pain from our customers," added Carl Sjogren, director of product management, BEA WebLogic Workshop at San Jose, Calif.-based BEA Systems Inc. "J2EE is designed for making the most complicated applications possible to build, but there was little thought about making simple applications simple to build."

And while Java vendors seek to simplify, Visual Basic has grown more complex, said Gartner's Natis. "Developers are relatively happy with Visual Basic, but Visual Basic has become more complex, so they're not as happy as they were. Also, Visual Basic is Windows only and there is a lot of development happening for other platforms such as Linux, especially in the enterprise setting, where even small projects are requested to be on the Java platform so they'll be compatible with big projects."

I got skills
Java is clearly becoming a skill worth having. At the beginning of 2003, research firm IDC found that in terms of individual languages being used by developers in North America, C/C++ (as well as C#) still dominates with 29% of the total. However, IDC said Java had surpassed Visual Basic as the second most popular individual language, with 18.1% of the total. IDC found that many developers are still using older 3GL languages, such as Fortran and RPG, scripting languages such as JavaScript and Perl, and 4GL languages, such as PowerBuilder and Progress, as their primary languages.

After a great deal of attention has been devoted to programmers learning raw Java, beleaguered business analysts are now getting their due again.

According to Gartner's Natis, business analysts and corporate developers "are mostly interested in designing screens and connecting to a database; that's what the mass market is interested in."

In the spring of 2003, Sun Microsystems introduced Project Rave, which aims to provide Java developers with a visual RAD tool. It has been viewed in some quarters as an answer to BEA's highly touted WebLogic Workshop.

Rave will feature drag-and-drop assembly of software components and other visual aids to build in Web services support. Project Rave is based on NetBeans, which Sun made open source in June 2000. The Project Rave model is also based on JavaServer Faces (JSF), a developing standard for building server-side UIs.

"We have folks out there telling us, 'We have a class of developers using Visual Basic, PowerBuilder and Delphi in our enterprise. They're part of our development team; if we're going to adopt a single platform, Java, we need to address their needs,'" said Jim Inscore, group product marketing manager, corporate development tools, who is working on Sun's Project Rave initiative.

Project Rave targets the corporate developer. According to an analysis written by IDC's Rikki Kirzner, who tracks app development and deployment in the firm's Mountain View, Calif., offices, "corporate developers are quite often domain experts, business analysts, and people who need to quickly develop business applications. The applications they develop typically tend to be database applications that may have a business logic layer and a presentation layer ... Visual Basic is the dominant language in this space."

"We're definitely targeting a certain class of developer; but 100% Java standards-based, no proprietary languages," said Sun's Inscore. "To a certain extent, we provide the same functionality, but the trump card is that it's Java-based. The appeal is standards and being able to work in a unified environment."

Sun has "come up with something that covers up Java and J2EE; they're going after the low end," noted Gartner's Natis. "It's a good idea. Microsoft is the king of the low end, but Windows only. People who need Java and multiplatform can't go with Visual Basic."

Sun partner InsiTech Group Inc. has been looking at Project Rave. "Project Rave is targeted at the Java developer to build simple two-tier Web applications; this has been sorely needed from Sun," said David Pociu, president and CTO at the Cheshire, Conn.-based firm. "If Rave can take away complexities for simple applications and Rave doesn't promise any more than to build simple apps really fast, all of a sudden you're talking to a crowd with a project that needs to get done, who instead of worrying about technology, just wants to write business logic. It doesn't matter if it's .NET or Java; they care about how many billable hours it takes."

InsiTech makes a Java/XML development platform called XML Tunneling Technology (XTT), built upon Java, J2EE and XML standards. Like Sun, InsiTech is also targeting Visual Basic/PowerBuilder-type developers; XTT allows for rapid development of thin-client, distributed Java solutions. InsiTech reps said XTT suits experienced Java developers as well.

While Project Rave is going after Web-based apps, XTT is designed for building more transaction-heavy apps that may live in a browser, but may also live in a thin client, said Pociu.

XTT is integrated with Sun's Java Studio Enterprise. "We looked at Studio and NetBeans and saw that for a developer to build a data-enabled application that's distributable out of the box, that capability wasn't here," noted Pociu. "We started building our own framework; we wanted to bring Java to the client, but not a fat client. Each form we create is pure Java, about 10KB in size. The application can live in a browser, but it can also live outside a browser. We wanted people to develop once and deploy anywhere."

Client-side Java is a compelling story, added Pociu. "On the server, Java scales more than .NET; .NET is still more an advanced blueprint now. All the big applications are running Enterprise JavaBeans; on the client, Java hasn't made any inroads. That's where Visual Basic and . NET are dominant." The advantage of Java, he said, is that with tools like XTT and Java Studio Enterprise, you can start with a small app that lives in the browser, but you can also distribute it as a thin client and on any operating system. "The missing piece [for Java] was being able to develop these apps easily. Between Rave in the browser and what we add to Studio, it's a complete offering," said Pociu.

Sun plans to have an alpha version of Project Rave available to select customers by year's end. Early in 2004 Sun will roll out an early access version of Rave that will be publicly available.

Productivity all around
Sun is not the only Java vendor targeting a broader class of developer. Sophisticated developers, even though they have the skills to do the plumbing, also want productivity gains and ease of use. Vendors like Oracle, Borland, BEA, IBM and Sun have been adding productivity enhancements to their IDEs and tools to broaden the reach of their products.

For example, IBM Rational introduced Rational Rapid Developer, an architected rapid app development (ARAD) environment that offers a visual, model-driven environment that can insulate developers from many J2EE complexities.

And the next version of IBM's WebSphere Studio Application Developer will support JavaServer Faces, said Roger Rea, manager, WebSphere Studio marketing. Also included will be wizards and other ease-of-use tools for connecting to the data source. "And with upcoming RAD tools for Web developers, we continue to make it easier by generating JavaScript and visually accessing the database, which generates Java code," explained Rea. "For junior programmers, it's a way to learn Java.You can let it generate code for you, and then look at the code behind it. That's the way most people learned HTML. I think the same things will happen with Web developers as they move to Studio; they'll use visually oriented tools to build simple database applications, and they'll learn Java and boost their skills.

"We do see more opportunity for IBM in that [lower end]; we have not been as prevalent there," he added.

Gartner's Natis said that while Java vendors are eyeing a broader market of developers, "IBM is not strong there. BEA has made major progress in that direction, and Oracle might be the leading candidate. They have JDeveloper, a variation of [Borland] JBuilder that they've extended and simplified."

Providing context
BEA's WebLogic Workshop 8.1 for J2EE development features a visual development environment and simplified programming model. The runtime framework abstracts infrastructure complexities and creates apps using standard J2EE components without needing to know the low-level details of the J2EE APIs, MVC or the Struts framework (part of the Apache Jakarta Project).

WebLogic Workshop "is a little different than a traditional IDE or RAD tool," said the firm's Sjogren. "It combines a traditional IDE with a runtime framework, a very thin layer on top of J2EE standards and APIs."

A typical Visual Basic developer may not know what kind of EJB he needs or if he needs a bean with managed persistence, he explained. "You need to provide a context that kind of developer can relate to; we've fundamentally simplified the concepts you need to be exposed to. Let's say I want to build a portal; we take care of the underlying J2EE detail. We don't talk about it as lower-level vs. higher-level developers, but rather developers associated with programming languages they know. We're focusing on VB, PowerBuilder, Cobol, Perl, JSP/ASP, and procedural and Web development languages." But, Sjogren said, WebLogic Workshop is also focused on the "system-level, architect-type developers that care about every last detail."

The beauty of developing even small applications for the Java platform is that those applications will easily scale when they need to, he added. "Visual Basic defined the market as far as this application developer type, but it also did it in a way that forever associates VB with toy applications; when they needed to scale, they just broke. They had to call in C++ developers to re-architect. What's unique with Workshop is that we're combining the ease of use of PowerBuilder and tools like that with enterprise-class deployment. No business owner says I'm going to stay small forever, so why not build it on an enterprise platform so that it will scale?"

Sjogren said BEA is going after the same audience as Sun's Project Rave, "but they're focused on a pretty narrow application domain -- only Web apps, only using JavaServer Faces technology. Workshop supports a gamut of Web applications, and a number of different technologies for building Web apps." He said BEA is looking at JSF for the next release.

Tim Brown is part of the market BEA is targeting. A system architect at AirNet Systems Inc. in Columbus, Ohio, Brown said his firm chose WebLogic Workshop to go from a two-tier environment and a PowerBuilder background to a distributed environment. "We've done great things with PowerBuilder, but we're migrating to a SOA. We couldn't take it to three tiers with PowerBuilder. It's technically possible, but the pain factor is too great.

"Our original JSP pages were written in Notepad," he said. "For folks here, it's unbearable to write JSPs by hand; Workshop helps out. And in my previous lifetime I've written smaller apps; writing Swing by hand is a very painful thing to do."

Rather than the learning curve of WebLogic Workshop, "we struggled more with how things should be put in tiers," said Brown. He likes the fact that WebLogic Workshop offers different levels of abstraction. "It's nice that you can do both. If I'm doing a database control, it's nice to do it in a GUI; but if it's a Web service, I might use a GUI to lay it out but go into the code for the method," he said.

Evolving with the market
Borland, too, says its JBuilder solution runs the gamut of developer skills. And unlike its competitors, Scotts Valley, Calif.-based Borland is app server-agnostic. Axel Kratel, senior product manager, said JBuilder has grown with the marketplace. "As more business developer types joined the Java bandwagon, JBuilder adapted for a broader audience. It provides an environment that simplifies EJBs, so a business developer who did Visual Basic can build EJBs on the fly," he explained. "It provides a visual environment for the beginner developer and the advanced developer gets full access to the code."

Nicholas Whitehead, application architect at ADP, Parsippany, N.J., has been using JBuilder. "We have some pretty junior people who have had no problem picking it up. There are more advanced features they may not start out using, but once they understand how it works, they use [them] more. The IDE was extremely easy to use," he said.

Whitehead works in the small business division, developing payroll apps for ADP's customers. His group has standardized on JBuilder, and uses it to build Web services apps for customers who "want more than printouts and summary reports. We put Web service in place to let them retrieve specified data from their payroll activity."

Whitehead's group is using Jakarta Axis as its Web services platform. (Axis is essentially Apache SOAP 3.0. SOAP is a lightweight, XML-based protocol for exchanging information in a decentralized, distributed environment.)

"I think Java tools by and large do an excellent job at making EJBs drag and drop; Web services are more of a rough road in part because the specs are changing quickly," said Whitehead. "When we started working with Axis, we were pretty hard-pressed to find any documentation. We're trying to expose EJBs as Web services, and we couldn't find a lot of examples or references. JBuilder had plug-in to do that; it pretty much worked out of the box."

Although Whitehead's group talks about other tools, and they have the "awareness that .NET tools have a lot to offer in terms of simplicity, we've found that in combination with an organized development process and the JBuilder tools, Web services have worked out pretty well," he noted. "We also gravitate toward more open-source tools like Jakarta; Axis is our only Web services platform."

JBuilder 9 introduced support for Struts, and now V10, announced in October, features a visual Struts designer. "It's a drag-and-drop way of putting together advanced Web apps using Struts," said Bill Pataky, director of product management. "I've heard a lot of talk about making Java easier, and about JavaServer Faces coming, but this is what people are using today. Struts has emerged as a dominant design for advanced Web apps."

BEA, Borland and the like are far from alone in their efforts to ease Java development burdens. For example, Czech Republic-based toolmaker JetBrains has forged tools said to anticipate a working code warrior's needs and reduce hand-coding of the like associated with the Unix emacs editor. An upcoming release of JetBrains is said to ease Java GUI development, allowing developers to drop widgets into a "design space," wire them up to the app's functionality and intelligently generate all the internal UI code.

Who will own the low end?
Sun has enhanced the Java Studio tools with things like "one-button deployment to the SunONE app server, a number of different wizards to help with automated testing, an HTTP transaction monitor to test Web clients and some human interface engineering on [the] IDE itself," said Jeff Anders, Sun group marketing manager. And, he added, Sun will be leveraging what it learns from Project Rave; but for now they will remain separate products.

"I can see where there might be some overlap, where the two tools at a surface level might look like they're becoming blended. But once you start using them, it will be a different experience," said Anders. "Developers told us they need to go in and manipulate code. If they want to do severe performance tuning, they don't want that level of abstraction there."

IDC's Kirzner agrees: "A lot of Rave's features are useless to sophisticated developers."

An enterprise developer like Jerry Hilts, a systems analyst with Ann Arbor Mich.-based Con-Way, is not sure he would use such a tool if it were available. Con-Way is an IBM WebSphere Studio Application Developer customer. "Since we don't program smaller apps it's hard to say, but even if a quick GUI building tool à la Visual Basic for Java was available, I'm not sure we'd use it; it doesn't fit our design model. All of our app development is almost entirely Web-based, J2EE apps with a Web front end. We use the Struts framework, JSP and servlets, and EJBs on the back end."

At Hilts' skill level, he said learning Java is no harder than learning C or C++. "If you're comparing Visual Basic with coding raw J2EE, than Java will be harder to learn, but you're not comparing the same thing. You can't build the kind of applications we need with VB; you need C or C++. The tools that are available from IBM are as good as Visual C++ and other tools I've looked at."

So while the Java vendors have been simplifying and enhancing productivity, Gartner's Natis noted that "as much as they're trying, they don't understand what [it] takes to be simple."

For Sun with Project Rave, IDC's Kirzner said the firm needs to "get it finished, let it mature, market it." Added Gartner's Natis: "Sun has a lot to do."

So who will own the low end? "I don't believe in the Java world that a start-up company can become a leader in any way," said Natis. "M7 and others have interesting tools around Java, but to play a major role they'll have to be acquired. [M7 Corp., Cupertino, Calif., offers the M7 Application Assembly Suite for rapidly building and deploying enterprise Web applications built on open standards.] Borland is the only one with a standalone independent tool with a notable market share and they're struggling. Most people are looking at a full suite; the runtime vendors will dominate."

Borland's Pataky said that "a rapid Java development methodology has not been established yet. The types of apps developed using approaches such as M7 and WebPutty [San Jose, Calif., which offers the WebPutty Application Platform for building Web-enabled corporate applications. It integrates with Microsoft Visual Studio .NET and Rational XDE.] tend to have so much generated code around them that they don't scale well. Until such a methodology emerges, we're not going to deviate from our approach, which is to help Java developers do what they do. We're not going to dumb it down."

Meanwhile, although Microsoft has left an opening at the low end, "Microsoft is also not sitting on its hands," said Gartner's Natis. "I believe Microsoft will offer some simplified version of Visual Basic in the next year or so. It's going to be very low end, almost like 'Bob' but not Bob."

However, he added, "It's still going to be Windows only."

Java proponents say that is where Java has the advantage. "If you want to, you can use open source, you can have a free deployment environment," said Borland's Kratel. "If I'm a small shop I may not need the support levels that BEA or IBM would supply. I can take more risk, that's what Java provides. You don't have to turn to VB; you can do some very simple apps without a huge investment using Java."

And the Java tools have become easier to use. Mark Fodor, director of e-business at Cole National in Twinsburg, Ohio, the parent firm of Things Remembered, said IBM's WebSphere Studio Application Developer "was a huge improvement over VisualAge for Java." Things Remembered used WebSphere Application Developer as part of its solution to build an order request Web service for its business partners.

Fodor said the skill level of developers working on the project ranged from fresh out of college to senior programmers. "My developers were productive. There are other technologies out there that might be quicker out of the gate, but this positions us strategically vs. being single-platform-centered," he said.


Also see:
Rivals IBM, BEA set to reveal Java specs
Microsoft unveils Java converter kit

Java skills market a complex picture