In-Depth
In search of a gentler Java
- By Colleen Frye
- December 1, 2003
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