Enterprise Integration Zone is brought to you in partnership with:

David Sills's muse is fueled by Bach, Beethoven, and Brahms (and Berlioz and Boulez). He has no life, which comports well with the über-geekitude to which he aspires. He reads and writes fitfully in English, Spanish, French, German, Italian (mostly medieval), C, VB, Perl.... Oh, and Java and XSLT, lots and lots of Java and XSLT. Trained somewhere in darkest Central America, he works today at DataSource, Inc., on the product team for the CASE tool Abri. David has posted 9 posts at DZone. View Full User Profile

JBoss Tools 3 Developer's Guide

  • submit to reddit
Published by: Packt Publishing
ISBN: 1847196144

Reviewer Ratings




Buy it now

One Minute Bottom Line

This book gives a fine introduction to JBoss Tools, an impressive group of Eclipse plug-ins that should significantly ease development of many Java Enterprise Edition (JEE) projects. While it is obviously centered around projects using JBoss software, many of the tools would appear to be useful outside such a project. In particular the Seam and web services tools would appear to enable developers to speed up the process of producing error-free software.

The one downside of the text is its very focus. The tool experience is the thing here; some readers could have used more generous introductions to the underlying technologies. In particular, jBPM, ESB, and portals could have been a bit more fully covered. Prior knowledge of JSF and SOA concepts, at least, will be extremely useful.


Chapter 1: An overview of JBoss Tools
JBoss Tools includes a set of Eclipse plug-ins that support the development, deployment, and testing of JEE applications. It brings together a lot of functionality that can be helpful in applications to be deployed to the JBoss application server (AS), but also a good deal that can be useful in any environment. Naturally, a full range of tools are supplied for JBoss subprojects, including Seam, Hibernate, and others. Installation of JBoss Tools, both manual and through standard Eclipse software updates, is covered.

Chapter 2: JBoss AS Tools
First up is the plug-in for managing the JBoss AS from within Eclipse. In this plug-in, servers can be defined, started (in several modes, including modes for debugging and profiling), stopped, configured, managed (using JMX), deployed to, undeployed from, and so forth. The plug-in can also help build JEE deployment artifacts (e.g., EAR files).

Chapter 3: JBoss Tools Palette
The JBoss Tools Palette supplies a collection of commonly used tags that can help speed up development of JSP, JSF, HTML, XHTML, or other text files. It is open to user configuration, which means that you add your own commonly used tags if the default tags are not sufficient for your needs, or you can import tags from a third-part library given a tag library descriptor (TLD) file. The palette can then be used to insert tags wherever you need them, customizing tag through an intuitive GUI mechanism.

Chapter 4: JSF Tools
As the name suggests, JSF tools are intended to facilitate development of Java Server Faces (JSF) projects. A quick overview of JSF is followed by instructions on creating a JSF project. A very useful feature of JSF Tools is the ability to validate the application as it is saved, enabling the developer to identify errors before deployment takes place. Project configuration, page navigation, simple managed beans, custom converters, custom validators: all can be managed with easy-to-use GUIs supplying stubs for all but the essential decisions that make the developer's job worth doing. Naturally, a JSP page editor is provided; Facelets support can also be easily added to an Eclipse project.

Chapter 5: Struts Tools
The Struts framework is getting a bit dated, but is still in common use. The Struts Tools plug-in provides support for creating and maintaining Struts configuration, validation, and tiles files in addition to other Struts components. Graphical editors simplify the maintenance of these files, which can quickly become quite complex. In addition, source code stubs can be generated to ease the creation of component code. Again, there is a validator for the project to aid in identifying errors early. Debugging support is provided.

Chapter 6: Seam Tools
The Seam Tools plug-in aids in the development of projects using JBoss Seam, another framework in common use. Owing to Seam Tools's code generation facility, simple projects can be reverse-engineered from a database in virtually no time! Considerable support is also provided for the various component types specific to Seam. Support is even provided for testing using TestNG from within Eclipse (this requires the TestNG plug-in to be installed as well). As with many Eclipse plug-ins, the operation of Seam Tools is eminently configurable.

Chapter 7: Hibernate Tools
These days, it seems as though no one writes JDBC code any more. ORM solutions like JBoss's own Hibernate are commonly used to simplify and abstract out database operations and Hibernate Tools makes creating Hibernate projects a breeze. This plug-in is also available separately, so a section is devoted to installation in standalone mode. Then we get to work, creating and filling in Hibernate configuration files and reverse-engineering POJO and DAO implementations. You can even customize the process! A section discusses Hibernate Tools for Ant, which leverage the power of Ant to make some of these processes easier for those more comfortable with a more familiar tool.

Chapter 8: jBPM Tools
Business Process Management (BPM) is all the rage; jBPM, not surprisingly, is a Java library implementing BPM. Installing the necessary environment for running jBPM applications is covered, after which a project is created, a jBPM process defined and developed, deployed, and tested using JUnit.

Chapter 9: ESB Tools
Enterprise Service Bus (ESB) technology (sometimes known as a message broker) supports the availability and connection of reusable services. Applications can converse with one another in a structured, secure, and standardized manner in a Service Oriented Architecture (SOA) context. JBoss provides the JBossESB Server to enable this functionality and ESB Tools works with such a server to simplify the creation of ESB projects. Services (business logic) are defined and supplied with Actions (processing classes) and Listeners (which direct messages to Actions). The setup and testing of a simple project are quite revealing of the possibilities of this technology.
Chapter 10: Web Services Tools—JBossWS
ESB, however, is not the only implementation of the SOA concept. Another such, web services, has been around longer and are still in very common use. Installating and configuring JBossWS provides a standard environment within which to test Web Services Tools. A project is developed, a Web Service Description Language (WSDL) descriptor generated (this is a very useful bit indeed), code stubs created, a client supplied, and the project is deployed and tested using Web Services Explorer (part of Web Services Tools) within the confines of this section. JBoss also implements the Universal Description, Discovery, and Integration (UDDI) standard, a mechanism for finding and getting information about web services, in its jUDDI. Web Services Explorer can be used as a UDDI browser, and can interpret both WSDL and Microsoft's roughly equivalent WSIL, enabling the simple, yet dynamic, creation of web-service clients.

Chapter 11: JBoss Portal Tools
Finally, JBoss has long been known for its portal server, JBoss Portal. Portals enable multiple applications to be combined into a single user interface. With JBoss Portal installed, JBoss Portal Tools becomes a handy way to manage portal projects. Examples include portlets created using JSP, JSF, and Seam.
Published at DZone with permission of its author, David Sills.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)