Skip navigation
2014

 

JBoss Tools Integration Stack 4.1.3.Final and JBoss Developer Studio Integration Stack 7.0.0.GA

 

The Stack Is Really Back!

 

The Integration Stack for JBoss Tools & Developer Studio (formerly JBoss Tools & Developer Studio SOA Tooling) is a set of plugins for Eclipse that provides tooling for the following frameworks:

 

  • BPEL/Riftsaw - A Web Service Business Process Execution Language engine used to describe high level business processes and orchestration.
  • BPMN2 - A graphical modeling tool which allows creation and editing of Business Process Modeling Notation diagrams using graphiti.
  • Drools/jBPM6 - A Business Logic integration Platform which provides a unified and integrated platform for Rules, Workflow and Event Processing.
  • Drools/Guvnor - A centralized repository for Drools Knowledge Bases, with rich web based GUIs, editors, and tools to aid in the management of large numbers of rules.
  • JBoss ESB - An enterprise service bus for connecting enterprise applications and services.
  • Fuse Tooling - A graphical tool for integrating software components that works with Apache ServiceMix, Apache ActiveMQ, Apache Camel and the FuseSource distributions.

         ** Note: Fuse Tooling is currently at version 7.2.0.CR2 - not at .Final.

  • jBPM3 A flexible Business Process Management (BPM) Suite - JBoss Enterprise SOA Platform 5.3.x compatible version.
  • Modeshape - A distributed, hierarchical, transactional and consistent data store with support for queries, full-text search, events, versioning, references, and flexible and dynamic schemas. It is very fast, highly available, extremely scalable, and it is 100% open source.
  • Savara (JBoss Tools only) - A tool for ensuring artifacts defined at different stages of the software development lifecycle are valid against each other, and remain valid through the evolution of the system.
  • SwitchYard - A lightweight service delivery framework providing full lifecycle support for developing, deploying, and managing service-oriented applications.
  • Teiid Designer - A visual tool that enables rapid, model-driven definition, integration, management and testing of data services without programming using the Teiid runtime framework.

 

All of these components have been verified to work with the same dependencies as JBoss Tools 4.1 and Developer Studio 7, so installation is easy.

 

Installation

 

To install the Integration Stack tools, first install JBoss Developer Studio from the all-in-one installer, bundled and configured out of the box with everything you need to get started. Alternatively, if you already have Eclipse installed, you can install JBoss Developer Studio or JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace...

install-jbds-marketplace.png

 

Once Developer Studio is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view and look for the JBoss Developer Studio Integration Stack installation section.  Select the items you'd like to install:

 

jbdsis-install.png

 

You may alternatively launch Eclipse or JBoss Developer Studio, and select:

 

      Help > Install New Software > https://devstudio.jboss.com/updates/7.0/integration-stack/

jbdsis-p2.png

p2-jbdsis-2.png

 

Either way will give you the final release of the tools.

 

If you want to try out Savara you will need to use the JBoss Tools Integration Stack URL instead:

 

http://download.jboss.org/jbosstools/updates/stable/kepler/integration-stack

 

News

 

Besides the great news of now having updated support for the previously available SOA Tooling, this release also brings two new components to the stack: Tooling for SwitchYard and Fuse.

 

  • SwitchYard is the replacement for JBoss ESB and is a component-based development framework focused on building structured, maintainable services and applications using the concepts and best practices of SOA.  The tooling provides wizard for setting up maven based SwitchYard projects, Configuration of SwitchYard capabilities (i.e. runtime component dependencies; e.g. SOAP, BPM, Apache Camel, etc.), graphical editor for switchyard.xml and more.

 

  • Fuse comes with tooling that enables you to work with Fuse and Apache versions of ActiveMQ, Camel, CXF, Karaf, and ServiceMix.  You can connect and configure Enterprise Integration Patterns to build routes, browse endpoints and routes, drag and drop messages onto running routes, trace message flows, edit running routes, browse and visualize runtime processes via JMX, and deploy your project's code to Red Hat JBoss Fuse and Fuse Fabric containers, to Apache ServiceMix, and to Apache Karaf.

 

There has also been significant development in Drools/JBPM and Teiid Designer.

 

  • The Drools/jBPM6 plugins have been updated to support the 6.0 version of both projects.  The wizards have been updated to the new API and  there is support for Drools6 and jBPM6 runtime libraries.  The jBPM plugin now also uses the new Eclipse BPMN2 Modeler project for editing processes using the BPMN 2.0 XML format.  This editor does support the full BPMN 2.0 specification, and the jBPM profile now supports many new building blocks and properties to use when creating your business processes.

 

  • The Teiid Designer 8.3 release provides additional JBoss Tools server integration as well as numerous bug fixes and a few enhancements.

        Primary drivers for this release:

    • Upgrade to Modeshape 3.6 for DDL import
    • Add LDAP to relational model importer
    • Add support for importing Flat File via URL
    • MongoDB model extension support

 

Lots of new toys - tell us what you think and what new tooling you'd like to see!

Our team has big interest in JavaScript tools in Eclipse. Support for JavaScript is important inside JBoss Tools and JBoss Developer Studio. We rely on JSDT, but we found several important bugs and limitations in it. We had to contribute. We got two people contributing to JSDT (Victor Rubezhny and Denis Golovin) and I (Mickael Istria) been assisting with the release engineering/project setup. We already worked with the existing JSDT team to make many fixes visible in upcoming releases. Some of these are:

 

  • Improved parsing (removes false errors on correct javascript) and better validation
  • More clean and readable code in editor

    JSDT-issues-fixed-411589-a.png

  • Bugfixes for project creation/JS renaming/quickfixes
  • Better handling of runtime errors thrown leading to improved stability

 

In the future we will add more features and fix more bugs.

 

Just as important though is that in the past JSDT was seen as a complex project to contribute too, and suffered from several pitfalls making contributors less productive than they could be. With the help of various people related to JSDT or WTP project, we improved a range of issues making contribution easier.

 

  • There is now a single Git repository to contribute to JSDT. There used to be 3 of them, which scattered the project, made it more difficult to keep things synchronized, and to build all JSDT at once.
  • This repository is handled by Gerrit, so any change can be pushed to Gerrit so it's easier for other contributors to review it
  • You can now build JSDT anywhere with a simple "mvn clean verify -Pbuild-individual-bundles" command, and have as output a p2 repository that you can use to install the latest content in your IDE
  • The same Maven command will also run JSDT automated tests, and will report any failure making it easier to spot regressions
  • It became possible to put JSDT in a continuous integration application, such as Hudson or Jenkins
  • We used Jenkins Gerrit plugin to incoming have Gerrit contributions automatically built and tested, and have Hudson voting on a patch to tell whether it contains a visible regression or not. This either gives more credit to your contribution, or it gives faster feedback if it breaks something.
  • Also, it was easy to create a job with Hudson which generates SonarQube reports. Those reports are quite interesting since they already detected many hotspots where there are very probably bugs and code that has bad performance impact.
  • This have been documented so it's easier for a new contributor to find out how to start
  • With that, we are currently trying to do some code cleanup on JSDT: fix potential bugs, replace bad constructs, improve performance...

 

As you can see, many improvements have been made to make it easy to contribute to JSDT and to give it the necessary infrastructure to increase its quality and agility. You're now very WELCOME to join JSDT and contribute to its evolution. If you want to get started now, the "Clean code" issue is a good starting point and help is very welcome there.

First of all, since it is the period for this, I want to wish everybody a happy and productive new year!

 

Just before the end of the year, the JBoss Tools team have released version 4.1.1 of JBoss Tools and version 7.1 of JBoss Developer Studio. As described in the release blog post there are a lot of interesting improvements and cool new features available. In this post, I want to focus on something that didn't get a lot of attention yet: the availability of Forge 2. As some of you know, Forge is a rapid application development tool that enables you to quickly create new projects (or use existing ones) and enhance them with support for a wide variety of Java frameworks or tools. You can even add support for your own framework or make tedious work simpler by creating your own extensions for Forge.

 

The support for Forge 1 has been included in JBoss Tools for about 2 years now. It's use has been described in one or two of my earlier posts. The fact that not a lot of people know that Forge 2 support has also been around for more than half a year is because it was in fact still pretty much under construction. But the 4.1.1 release of JBoss Tools includes Forge 2.0.0.Beta3 and it is about time that people start to be aware of its possibilities.

 

Installation

 

The installation of Forge 2 is pretty much like it was before. From a fresh install of the Kepler SR1 release of the Eclipse IDE for Java EE Developers, you select 'Help->Install New Software'. In the subsequent dialog you enter the URL of the JBoss Tools Kepler update site: http://download.jboss.org/jbosstools/updates/stable/kepler/. In the filter text you type 'Forge' and then push 'Select All' to select all the remaining items in the table. The process is illustrated in the screenshot below.

install.png

 

You can see that the Forge 2 support is still listed as experimental. This qualification is supposed to disappear soon as Forge 2 is heading towards a Final release. Also, note that the installation of the Forge Tools is needed to install the Forge Tools Extensions. The rest of the installation process is pretty straightforward: you push the 'Next' button twice, accept the license agreements and push 'Finish'. After the installation is finished you will need to restart Eclipse.

 

Start Forge 2

 

When Eclipse is restarted you are able to also start Forge 2. Currently the preferred way to do this is to use the CTRL + 5 (or CMD + 5 on a Mac) key combination. You can change the combination by bringing up the Eclipse preferences and navigating to 'General->Keys'. In the screenshot below you can see what this looks like on my machine.

preferences.png

 

Using the selected key combination for the first time will automatically start Forge 2. A popup that informs you about this will be shown.

startup.png

 

When the popup disappears a new popup takes its place. This new popup contains all the Forge 2 commands that are available in the context of the currently selected item in your workbench.

commands.png

 

You are now ready to start using Forge 2.

 

Using the Forge

 

Forge 2 has introduced a drastic change with respect to its older sibling. The preferred way to issue Forge 2 commands from within the JBoss Tools platform is now not longer to type them at a command prompt but to bring up a Forge wizard. To bring up the list of available wizards, just like when you were starting up Forge 2, issue the CTRL + 5 key combination. When Forge 2 is already started it will immediately show the popup of the available commands. As an example, let us select the 'New Project' command. The Forge 2 wizard for creating new projects will start.

newproject.png

 

I have chosen the name 'test' and kept all the defaults in the wizard page. If you hit 'Finish' the project will be created at the specified location and imported into your Eclipse workspace.

imported.png

If now, while having e.g. the src/main/java folder selected, you hit CTRL + 5 again, you will see that a vast number of new commands are appearing. Indeed, these commands are as I already mentioned earlier, depending on the currently selected item in your workspace. So within the context of a project you can do all kinds of other things like setting up support for one or more of the Java EE specs. This list can become very long so it's interesting to know that you can narrow it down by typing a search string in the text field at the top of the list.

javaee.png

 

It's out of the scope of this blog post to explain each of these possible choices in detail but stay tuned because these will be explained in detail in more posts to come and of course in our documentation.

 

Future Developments

 

While Forge 2 is supported on the command-line, the integration of it in JBoss Tools was not yet completely finished when 4.1.1 was released so you'll have to stick to the wizards for now. However, if you are really curious and want to test it out already now, you should try the JBoss Tools 4.2.x builds.

In the immediate future you can also expect the release of Forge 2.0.0.Final. We invite you cordially to try out this new version of our beloved tool whether included in JBoss Tools or at the command-line and provide us with all the feedback (good or bad) that you think might help us to make it even better.

 

In the meantime: happy Forging!


Cheers,

Koen