About the Author
null
Spotlight Features

The Rich Engineering Heritage Behind Dependency Injection

Andrew McVeigh takes us on a tour of the rich heritage behind dependency injection, what it represents, and tells us why its here to stay.

Java, the OLPC, and community responsibility

The "One Laptop Per Child" project has a great device ready to ship, but there's no Java on there. Let's think about working together to put Java on OLPC!

EclipseZone Interviews: Tim Wagner

The EclipseZone Interview Series lets you get to know the individuals and projects behind Eclipse. In-depth and personal interviews deliver back stage access to the people that make Eclipse possible.

Ever since Tim Berners-Lee's invention of the web, developers have been struggling to create and manage content for it using increasingly more sophisticated toolkits and technologies. Another Tim, BEA's Tim Wagner, has taken on the mammoth task of creating a tooling framework for web development called the Web Tools Platform (or WTP for short). EclipseZone recently tracked down Tim at his Seattle office and asked him a few questions about the state of WTP: past, current, and future.

[Ed] Hi Tim, tell us a bit about yourself.

[Tim] I originally got interested in IDEs as a graduate student at UC Berkeley, where I worked on incremental algorithms in support of these tools. Many of my professional roles, from development and architecture through team management, have revolved somehow around IDEs and application development: CORBA tools for Borland, XQuery and data integration tools for Nimble, catalog and search tools for Amazon.com, and now Workshop and Eclipse at BEA.

At the moment I have a really fun job: I get paid to manage team of folks at BEA as part of the Workshop division, but I also manage the Web Tools project for Eclipse. The two parts of my job have a lot of synergy - several of the developers on my team work on open source (WTP and the APT component of JDT) and I also represent BEA within the Eclipse Architecture and Planning Councils. It does all keep me rather busy, though.

Could you give us some background on the history of the WTP project?

Modern WTP history starts just over a year ago, with code contributions from IBM and Eteration, and management expertise from ObjectWeb and others. WTP now has many contributing organizations, including IBM, BEA, ObjectWeb, Eteration, Oracle, JBoss, and others, and many of these companies are also engaged in building their own commercial tools on top of WTP's platform APIs.

Since I work for BEA, I'm most familiar with their plans, which include releasing a new version of Workshop based on Eclipse and WTP 1.0 in the spring of 2006. Other vendors are likely planning similar offerings. One of the major goals of the WTP 1.0 release was in fact to enable adoption - we've been working on API declaration, documentation, stability, feature organization, IP and license reviews, and related activities, all geared toward making these products possible.

How did you get involved with the Web Tools project, and eventually come to lead it?

About a year ago we had the internal conversation within BEA about whether continuing with a proprietary IDE was the right long-term strategy. I and others were of the opinion - which thankfully turned out to be correct - that Eclipse would continue to gain traction and eventually come to dominate the Java IDE space.

We then had a similar analysis regarding the Web Tools project, and realized that it, too, was on track to becoming a de facto standard - something we absolutely had to be a part of. From an engineering perspective, there was no way to quickly duplicate the depth and breadth of WTP even if we'd been so inclined - it's a large project representing hundreds of man-years of labor.

So, BEA approached the Eclipse Foundation with the intent of having an active role in WTP. At the time, WTP was being managed by Christophe Ney of ObjectWeb and Bjorn Freeman-Benson of the EMO. Both were happy to have BEA participate in both leadership and development contributions, because WTP is a *huge* project and demands lots of operational energy (an amusing euphemism for doing a lot of boring-but-important stuff like staying on top of our IP, communicating release plans, etc). BEA joined the project in February of 2005, which was the start of my involvement with the PMC.

Web Tools 1.0 has been a long time coming. What took so long?

Development of the 1.0 release took just over a year - quite awhile, but given the scope and depth of what's in WTP (consider, for example, that we support at least seven different languages versus one for the platform!) you can see why it's a big challenge. Lots of people have contributed to making the 1.0 release a success.

What are the major features of the new WTP 1.0 release, compared to the 0.7 release from this summer?

The biggest conceptual news in the release is the declaration of APIs; in 0.7 everything was provisional, pending additional alignment with changes in the platform and feedback from adopters. We've also redone our feature breakdown to facilitate the use of subsets of WTP, added a lot of documentation to the help system, and made tons of bug fixes and performance enhancements from the previous release.

In terms of new features, one of the biggest areas of change you'll see is the introduction of what we call "facets" - modeling features of runtimes and projects and user interface improvements to help users understand which projects rely on what runtime features (and therefore where these projects can and can't be deployed). This was a major ease-of-use complaint in earlier versions of WTP, and also presented a real challenge to commercial adopters, many of whom make runtimes with unique features that they wanted to support more easily.

There's been a lot of talk about Ajax and Web2.0 lately. What does WTP do to support that?

WTP provides a lot of basic tools in this area - editing support for JSPs (including HTML, CSS, and JavaScript), a built-in web application called the Web Service Explorer, graphical XML Schema and WSDL editors, and so forth. There are also some emerging commercial products that have specific features designed for AJAX tooling, such as MyEclipse 4.1.

Why should web developers be using the Eclipse Web Tools Platform?

Different solutions make sense for different parts of the user community. If you're an IBM WebSphere or BEA WebLogic customer, you probably want a dedicated tool from your runtime vendor that's been specifically enhanced for that platform - in that case, you'll be looking for a commercial IDE built on top of WTP with all the bells and whistles for your particular system. Another constituency has specific application development goals and is willing to pay for commercial offerings that target those use cases; some of these will be built on WTP for the leverage that it provides, in which case you're also a "WTP customer" when you buy those products.

Finally, there's a large segment of the population that wants to extend their Eclipse Java editor with support for web and JEE development on open source runtimes and is looking for good, portable tools to help - these people will likely download WTP and use it in its "vanilla" form. All of these scenarios will exist simultaneously, and WTP is very conscious of needing to support all three groups.

The "P" in WTP stands for Platform; could you explain what the vision is for that? Where do WST and JST come in?

WST (Web Standard Tools) and JST (JEE Standard Tools) was historically how we arranged the WTP features - starting in 1.0, features are more fine grained and reflect particular areas of functionality. The WST/JST breakdown was inspired by our original Charter, but now is more of a conceptual dependency (the "J2EE" features often require the "Web" features, but not vice-versa).

As for the "P" - that's been one of our goals in the 1.0 release, because the "P" is all about defining APIs and standing behind the contract they imply. While 1.0 is the first release in which we've declared APIs, though, it's certainly not the last - we'll keep rolling them out incrementally, as our experience and adopter/user feedback allow. Generally you should assume that new functionality will be provisional for at least one release.

What does the roadmap for future versions of WTP have in store?

In the short term we'll have a service pack for the 1.0 line in mid February, numbered 1.0.1 and based on the 3.1.2 maintenance release from the Platform team. We'll be working on our 1.5 release (part of the Callisto release train) at the same time, with the first milestone scheduled for mid January when we rebuild WTP on top of the latest 3.2 platform milestone code, and the first major code changes are planned March 3rd as part of the Callisto "M5" milestone.

How does your team at BEA deal with the tension between open source and commercial development? For example, do you split the development teams along these lines like IBM does?

That's a great question - it's an interesting organizational issue. At BEA we don't have a pure commercial/open source team split, in part because we believe that knowledge about each of these areas facilitates work in the other camp. Like Eclipse/WTP, we have a distributed organization, so we're used to working with different groups around the world; Eclipse development just made for more sites and more development diversity.

At a product management/strategic level, we're constantly evaluating where to expend corporate investment - sometimes the innovation is happening in open source, sometimes in commercial product development. BEA recognizes that it's a "blended" world - users depend on a mix of open source and commercial offerings, both in their tools and in their runtimes, and we have to be in all those places at once in order to succeed. There isn't a simple litmus test - it takes a lot of research and analysis to operate a business successfully in this environment.

Is there anything else you would like EclipseZone readers to know about?

We've worked really hard on WTP - please take it for a test drive and help us make it better by reporting bugs and offering suggestions. Good, bad, or otherwise - let us know! And if you're planning on attending EclipseCon in March, look for the WTP talks and related activities - we'll be there in force.

Bio

null

For more information

Discuss this article with Tim and Ed at EclipseZone.