Warning ! This site is currently under development, and may contain inaccurate and misleading information. Report an issue
| Status: Red. Known issues: | None

A JBoss Project
Red Hat

Posts tagged with 'jbosstools'

We’ve been working hard on improving our tooling story for Fuse for a few months. One of the areas we’ve been focusing on specifically has been Transformation tooling. It’s been missing in the JBoss Tools suite for a while now and something we needed to address.

As a result, we ended up with the Fuse Transformation tooling, which I’ll be talking about over the course of a few blog posts.

First, What Exactly Is the Fuse Transformation Tooling?

The last transformation tooling we had in JBoss Tools leveraged Smooks to convert one format to another. This time we’re using the Dozer framework, which offers a great base for handling Java to Java transformations. Through various APIs, you can convert just about anything to a Java model these days and that gives us a good place to start.

With the addition of Fuse technologies (and some awesome developers), we gained some cool new toys in the tooling and a big part of that is the Camel Editor (i.e. the "Fuse Tooling Routes Editor"). The Fuse Transformation tooling builds on that and offers:

  1. the Fuse Transformation Editor, which offers visual editing of a Dozer configuration file

  2. the New Fuse Transformation wizard, which creates a new Transformation file and integrates it as an endpoint in a Camel configuration

  3. and the New Fuse Transformation Test wizard, which creates the outline for a new JUnit test you can run to test your transformation

Though we’re in Tech Preview for now, we have good collection of functionality already and we’ll walk through some of that.

Where Can We Get These Toys?

The new tooling appears in the JBoss Tools Integration Stack "Early Access" site, so be sure to keep up with that effort. (You can see Paul’s latest post here: "JBoss Tools Integration Stack - Luna integration tooling for BRMS/BPMS, Data Virt, SOA 5.x + Early Access Fuse and SwitchYard."

Keep up to date with JBoss Tools Integration Stack to ensure you have the latest version of the Transformation tooling.

Let’s Start With a Use Case - XML to JSON

I’m going to cheat a little and start with the Starter project that we have created for the Transformation project. It includes some sample data to demonstrate transforming from XML to JSON. It includes a sample Camel configuration as well (in either Spring or Blueprint form) that provides a route that takes a file and routes it to another. In this case, we’re going from a sales order in XML format (abc-order.xml) to a sales order in JSON format (xyz-order-schema.json). This is a common integration case where you have to migrate one format to another.

But Wait! Didn’t You Say Dozer Is Strictly Java-to-Java?

Why yes, I did! But I also said that we have ways to create Java models from other formats. And in this first wave of Transformation functionality we offer built-in conversion from XML (XML schemas or instance documents) and JSON (JSON schemas or instance documents) to help get you that far. plus some other, more open-ended capabilities we’ll talk about down the line, we will walk through each step of getting you from your sample data to a fully testable solution.

So let’s get started…​

Launching the Wizard

There are three main ways to launch the New Transformation Wizard in Eclipse…​

  1. From the top-level menu in the Eclipse workbench, use File→New→Other…​ (or Ctrl+N), then look for Fuse Tooling→Fuse Transformation

  2. Right-click on a project in the Project Explorer, select New→Other…​ then look for Fuse Tooling→Fuse Transformation

  3. Open a Camel file (Spring or Blueprint) and drag the Transformation→Data Transformation item from the palette onto the canvas (see below)

launching-the-wizard

New Fuse Transformation Wizard, Start Page

Once you’ve launched the New Fuse Transformation Wizard, you are presented with a wizard page that looks something like the following.

  1. To start, depending on how you’ve launched the wizard, you may have to select the Project explicitly. The drop-down list is populated by a list of all projects that include Camel configurations (either Spring or Blueprint).

  2. The Transformation ID becomes the explicit name of the Dozer endpoint that gets created in the Camel route. We then can reference that endpoint in the route itself. Since we’re transforming an XML file into a JSON file, we’ll call ours "xml2json".

  3. The Dozer File Path calls out the location and name of the Dozer configuration file. It is pre-populated with the name "transformation.xml" and will place the file in the src/main/resource folder of your project, but you can name it whatever you’d like and provide a project-relative path so long as the path can be found in the project classpath. We’ll leave it at the default for now.

  4. The Camel File Path points to the Camel configuration file you are adding this transformation to. In the case below, we have selected the Spring Camel configuration in the starter project.

new-fuse-transformation-wizard-start-page

New Fuse Transformation Wizard, Selecting Types to Transform

Currently with the wizard we have the ability to transform to and from one of four different types:

  • Java (Existing Java model)

  • XML (XML Schema or Instance Document)

  • JSON (JSON Schema or Instance Document)

  • Other (Special case we’ll cover in another post)

Today we’re focused on converting from XML to JSON, so we’ll select those two types and click Next.

new-fuse-transformation-wizard-selecting-types-to-transform

New Fuse Transformation Wizard, Source XML Details

Since we selected XML as the Source Type on the Start page, we’ll see the "Source Type (XML)" page appear next. If we had selected another type, we’d see that page here.

In this case, we have an XML Schema document (abc-order.xml) that we want to transform from. So we’ll click on the Source File field’s "…​" button to browse for our file, select abc-order.xml, and click Next to continue. If you have a particularly complex schema, you may need to select from the root elements you wish to key on for the transformation.

new-fuse-transformation-wizard-source-xml-details

New Fuse Transformation Wizard, Target JSON Details

Since we selected JSON as the Target Type on the Start page, we’ll see the "Target Type (JSON)" page appear next. If we had selected another type, we’d see that page here.

In this case, we have an JSON Schema document (xyz-order-schema.json) that we want to transform to. So we’ll click on the Target File field’s "…​" button to browse for our file, select xyz-order-schema.json, and click Finish to continue.

new-fuse-transformation-wizard-target-json-details

Finishing Up…​

As soon as the wizard is done, you’ll notice two things.

  1. The Fuse Transformation Editor opens so you can edit your new Dozer configuration file.

  2. The Camel Editor has been updated with the new Transformation endpoint you just created. (Notice the "dirty" flag on the "camel-context.xml" tab.)

For now, we’ll close our new Transformation and go back to the Camel route to finish hooking up the new endpoint.

finishing-up

Going back to the Camel editor

When we select the Camel editor again, we notice that a new endpoint reference has been added to the canvas. We need to now hook that into our route so it happens between our source and target steps of this simple configuration.

The first thing we need to do is delete the existing link between the "src" and "target" elements of the route. You can click on it and hit the Delete key on your keyboard or right-click on the arrow and select "Remove." When it asks if you want to remove the element, click Yes.

going-back-to-the-camel-editor

Wiring up our New Endpoint

Now we can wire up the endpoint.

  1. If you hover the mouse over the "src" file element, you’ll see a toolbar pop up. Click and drag the Arrow to our new endpoint.

  2. Do the same thing from the endpoint to the "target" element.

  3. Next, save the Camel editor and it will refresh the view to clean up your route a little.

wiring-up-our-new-endpoint

End for today…​

So now we have a new Transformation endpoint that is wired into our Camel route.

Next time we’ll start doing the actual editing of the Transformation itself!

end-for-today

Thanks for reading!
Brian "Fitz" Fitzpatrick

You may have noticed over the years, that your server view’s context menu has an option labeled "Port Monitoring". You may have also noticed that when using JBoss servers, nothing was ever available there. Recent commits have finally remedied this decade-long omission of a useful feature.

TCP/IP Monitor

The WTP platform includes a TCP/IP monitor as a standalone entity. You can use it manually, which I’ll explain now, but the real magic happens when integrated with our server adapters.

There are two primary pieces to the TCP/IP Monitor. First, there’s a preference page, where you can add port mappings and enable or disable monitoring on that port. Secondly, there’s a TCP/IP Monitor view.

The Preference Page

To see the preference page for port monitoring, you’ll want to go to Window ▸ Preferences ▸ Run/Debug ▸ TCP/IP Monitor. You’ll see the page depicted below.

20150521 monitoring pref page

The general concept of the tool is that, in order to monitor a given port (for example localhost:8080), you "Add…​" a monitor that listens on some new port (7460) and redirects all traffic to the target destination (localhost:8080). Once this is enabled, only requests to your "Local Port", in this case 7460, can be monitored. Traffic that goes directly to 8080 is bypassing the monitor entirely.

If you click "Add…​", you’ll see a few fields to fill out. The "Local Monitoring Port" is the new port that will position itself between origin and destination. Below that, the "Host name" and "Port" represent your actual intended destination. Traffic can be either declared as HTTP or TCP/IP in nature, and you can set a timeout.

Once you’ve added a monitor, you can click on it in the preference page and select "Start", to activate the monitoring on that port.

The View

Once monitoring of traffic has been enabled, you can go ahead and open the view. Window → Show View → Other → TCP/IP Monitor. If you had a wildfly started (either externally or using the server adapters), you could go to http://localhost:7460/ in the browser. The TCP/IP monitoring will be updated with requests and traffic information as shown below.

20150521 monitoring view

Clicking on each individual request will show you both the request on the left side, and the response on the right. It will preview images that were requested, or simply display the contents of any text requests and responses. Headers are also shown for both the request and the response.

Integration with the Servers View

While everything seems to work nicely in the above simple example, tools need to make sure that they make requests to the new Local Port rather than the actual destination. Our recent commits focussed on this deficiency.

To see this in action with the Servers View, you’ll want to open your Servers View. You hopefully already have a WildFly instance installed there, which you can go ahead and start now. When you right-click on your Server Adapter, you’ll see a "Monitoring" menu item. We currently have support for monitoring requests on two ports: the HTTP port (8080, typically) and the management port (9990).

20150521 monitoring server

After that, you can create a web project with a servlet or a simple html file and deploy it to the server. If you then right-click on your resource and select Run As → Run On Server, you should see the browser open up to the URL http://localhost:7460/YourProject/index.html (or similar URL). In this way, the tools have made sure to make all requests to the Local Port when port monitoring is enabled, but to make all requests to the actual destination port when monitoring is disabled.

When your server is in a management-enabled profile, requests made to the WildFly Management port will also show up in the TCP/IP monitor for inspection.

Conclusion

So there we have it: A long-standing omission has finally been put in place. What’s more, other server adapters don’t integrate with this feature as completely as we do. If you were to run the same experiment on the Tomcat adapter, and execute the "Run As → Run on Server" action for a web project’s servlet or html file, the browser will still open up on port 8080, rather than the Local Port which can be used for monitoring. When targeting JBoss and WildFly servers, though, these actions behave as a user would expect and hope.

So get in there and monitor some traffic! Grab a nightly build from our downloads section, or just use our nightly update site directly:

http://download.jboss.org/jbosstools/updates/nightly/mars/

Rob Stryker

Alpha 2 build for Eclipse Mars M6 is now available at Alpha2 download.

Installation

This version of JBoss Tools targets Eclipse Mars 4.5 (M6).

We recommend using the Eclipse 4.5 JEE Bundle since then you get most of the dependencies preinstalled.

Once you have installed Eclipse, you use our update site directly:

http://download.jboss.org/jbosstools/mars/development/updates/core/

Note: Marketplace entry and Integration Stack tooling will become available from JBoss Central at a later date.

What is new ?

Easy Import/Open of projects

We have included our incubation project at Eclipse that makes importing and opening of projects much easier than default Eclipse. No longer do you need to know or guess at which of many import wizards are the right one. With this you just use menu:File[Import Project from Folder], point it to a folder and it will auto-detect the type of project, imports ann configure it as best as it can.

easyimport filemenu

Once started it will recursively scan the selected folder and report which directories it found.

easyimport wizard

We included this incubation feature to get early feedback - please do give it a try and let us know if it works great or if we detected some projects "badly".

OpenShft v3

Our OpenShift integration now allow you to connect to OpenShift 3 in addition to the existing OpenShift 2 support.

connection wizard server type

Once connected you can browse the OpenShift/Kubernetes data for your application/projects.

view explorer v3

Note: OpenShift v3 is not available from openshift.com to try at this point in time. If you want to try use it you can follow the instructions at OpenShift Origin sample app.

Java EE 7 Batch wizards, content assist, validation and refactoring

In Alpha 1 we introduced support for Java EE 7 batch specification and now extending this support with a wizard, content assist, linked navigation, searching and refactoring of Batch elements.

validation

WildFly 9

We’ve added native WildFly 9 runtime detection and server support. You no longer need to use the WildFly 8 adapter and detection will work correctly now.

Content assist for AngularJS Expressions

When editing AngularJS single-page html (not templates) the html editor now communicates with the preview to provide content assist for angularjs expressions.

angular

Custom HTML Tag validation

There is now a quickfix for marking custom HTML5 elements to be ignored in validation.

validation

Note: this is not specific to JBoss Tools, it is built into Eclipse M6

Next steps

With Alpha2 out we are heading towards a Beta1.

In Beta1 we are targeting including:

  1. OpenShift v3 support for templates

  2. Docker Tooling

  3. Better JavaScript content assist

  4. Making project imports in Eclipse even simpler

  5. And more…​

As always, ask/suggest away and we’ll keep you posted!

Have fun!

Max Rydahl Andersen
@maxandersen

The Luna tooling train continues! - Adding JBoss Business Process and Rules development tooling to JBoss Data Virtualization and the SOA 5.x suite plus updates to the early access components.

jbosstools jbdevstudio blog header

What’s an Integration Stack?

JBoss Tools Integration Stack 4.2.1.Final / JBoss Developer Studio Integration Stack 8.0.1.GA

The Integration Stack for JBoss Tools Developer Studio is a set of plugins for Eclipse that provides integration tooling for the following frameworks.

JBoss Business Process and Rules Development

  • BPEL Designer - Orchestrating your business processes.

  • BPMN2 Modeler - A graphical modeling tool which allows creation and editing of Business Process Modeling Notation diagrams using graphiti.

  • Drools - A Business Logic integration Platform which provides a unified and integrated platform for Rules, Workflow and Event Processing.

  • jBPM - A flexible Business Process Management (BPM) suite.

JBoss Data Virtualization Development

  • 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.

  • 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.

JBoss Integration and SOA Development

Note - the SOA Development tooling category has both released and early access components. Consequently, you will see it in both the release install dialog and the early access install dialog.

  • All of the Business Process and Rules Development plugins, plus…​

  • Fuse Apache Camel Tooling - A graphical tool for integrating software components that works with Apache ServiceMix, Apache ActiveMQ, Apache Camel and the FuseSource distributions.

  • SwitchYard - A lightweight service delivery framework providing full lifecycle support for developing, deploying, and managing service-oriented applications.

SOA 5.x Development

  • JBoss ESB - An enterprise service bus for connecting enterprise applications and services.

  • jBPM3 - A flexible Business Process Management (BPM) Suite - JBoss Enterprise SOA Platform 5.3.x compatible version.

All of these components have been verified to work with the same dependencies as JBoss Tools 4.2 and Developer Studio 8.

What’s Been Updated?

Updates have been made to the Business Process tooling (BPMN2 Modeler), Fuse Tooling and SwitchYard. See the JBDSIS 8.0.1 Release Notes

Released Tooling Highlights

BPMN2 Modeler Highlights

Early Access Tooling Highlights

Fuse Tooling Highlights

  • FUSETOOLS-1285: Broken parsing and missing configuration of exchange pattern for ToDefiniton endpoint

  • FUSETOOLS-1271: adding component connectors via context menu broken

  • FUSETOOLS-1269: Node Context Menu>Add option does not include the Components drawer items

  • FUSETOOLS-1268: Cannot view or edit file node in Properties editor after dragging a Filesystem component onto the canvas

  • FUSETOOLS-1267: Properties editor for File endpoint converts relative paths to absolute paths so files are not read

  • FUSETOOLS-1264: JMX Node in servers view doesn’t work if server has secured JMX access via credentials

  • FUSETOOLS-1261: Move connection between components cause problem

  • FUSETOOLS-1260: Cannot run Fuse server with alternate JRE

  • FUSETOOLS-1250: The IDE slows down when a fuse project is deployed

  • FUSETOOLS-1248: Debugger step over resets changed variable value and continues along original path

  • FUSETOOLS-1246: New Server Wizard bug with JMX Bundles plugin only

  • FUSETOOLS-1218: Cryptic error message displayed when trying to connect to Fuse 6.2 server

  • FUSETOOLS-1214: Run Configurations dialog shows launch config types for server adapters for Karaf, SMX, Fuse and Fabric8 which partially don’t work

  • FUSETOOLS-1211: Adding another route to a Fuse Project doesn’t work properly

  • FUSETOOLS-1173: Servers have too many jars on launching classpath

  • FUSETOOLS-1158: fix ugly title when debugging

  • FUSETOOLS-1148: Exception when browsing a BrokerNode in JMX View

  • FUSETOOLS-1138: NPE in karaf server core support after removing a deployed project

  • FUSETOOLS-1123: context id is removed on save

  • FUSETOOLS-1100: New Fuse project does not have properly set-up build-path

  • FUSETOOLS-1085: An endpoint is lost after saving

  • FUSETOOLS-1076: New Server Runtime Wizard - Finish button error

Also see Lars Heinemann’s Blog for more Fuse Tooling insights.

SwitchYard Highlights

The JBoss Tools website features tab

Don’t miss the Features tab for up to date information on your favorite Integration Stack components.

Installation

If you already have JBDSIS 8.0.0 installed…​

Simply start jbdevstudio or eclipse-with-jbds, then:

Select Help > Check for Updates

Select the components you’d like to install from the available updates.

If you’d like a fresh install…​

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-jee-luna installed, you can install JBoss Developer Studio or JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

Eclipse Marketplace - JBDS

Once Developer Studio is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view. The current 8.0.1.GA integration stack is available automatically with the released JBoss Data Virtualization Development tooling. The remainder of the integration tooling is available as Early Access so you must check the Enable Early Access checkbox in the installer window in order to install.

JBoss Central - JBoss Developer Studio Integration Stack
JBoss Central Early Access - JBoss Developer Studio Integration Stack

The standard p2 installer is available for JBoss Developer Studio Integration Stack. Simply start jbdevstudio or eclipse-with-jbds, then:

 Help > Install New Software...
 Add...
 - use this for 'Location:' for the production integration stack:
   https://devstudio.redhat.com/updates/8.0/integration-stack/

 - use this for 'Location:' for the early-access-components integration stack:
   https://devstudio.redhat.com/updates/8.0/integration-stack/earlyaccess/

The community JBoss Tools Integration Stack installation is easy as well. If you already have eclipse-jee-luna installed, install JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

Eclipse Marketplace - JBoss Tools

Once JBoss Tools is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view. The current 4.2.1.Final integration stack is available automatically with the released tooling. In a manner similar to devstudio, the remainder of the integration tooling is available as "Early Access" so you must check the "Enable Early Access" checkbox in the installer window in order to install.

Select the items you’d like to install:

JBoss Central Early Access - JBoss Tools Integration Stack

The standard p2 installer is available for JBoss Tools Integration Stack. Simply start eclipse-with-jbt, then:

 Help > Install New Software...
 Add...
 - use this for 'Location:' for the released-components integration stack:
   https://devstudio.redhat.com/updates/8.0/integration-stack/

 - use this for 'Location:' for the early access integration stack:
   https://devstudio.redhat.com/updates/8.0/integration-stack/earlyaccess/

Note: If you installed into your own Eclipse you should bump up the launch resource parameters:

--launcher.XXMaxPermSize 256m --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms512m -Xmx1024m

Give it a try!

Paul Leacu.

Happy to announce JBoss Tools 4.2.3 and Red Hat JBoss Developer Studio 8.1 for Eclipse Luna are finally available.

jbosstools jbdevstudio blog header

Installation

JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it and install it like this:

java -jar jboss-devstudio-{version}-installer-{standalone|eap}.jar

If you have JBoss Developer Studio 8.0.0.GA already installed, just run:

Help > Check for updates

JBoss Tools or JBoss Developer Studio Bring-Your-Own-Eclipse (BYOE) requires a bit more:

This release requires at least Eclipse 4.4 (Luna) but we recommend using the Eclipse Luna SR2 Java EE Bundle since then you get most of the dependencies preinstalled with Java EE Bundle and SR2 release includes some critical fixes.

Once you have installed Eclipse, you can either find us on Eclipse Marketplace under "JBoss Tools (Luna)" or "JBoss Developer Studio (Luna)".

For JBoss Tools you can also use our update site directly if you are up for it.

http://download.jboss.org/jbosstools/updates/stable/luna/

What is New?

This release is update for Eclipse Luna and also includes some new features which we would like to highlight. You can see everything in the What’s New section for this release.

Eclipse Luna SR2

This version of JBoss Tools targets Eclipse Luna SR2. More stability. Less false positive JavaScript errors. And many other fixed bugs.

JBoss Developer Studio also includes an important feature patch for Eclipse Web Tools 3.6.3. That patch fixes Eclipse freezes for some JavaScript files.

FeedHenry support

If you are a FeedHenry user we’ve now added support for easy importing and running of your FeedHenry Cordova applications.

importFeedHenryAppWiz

New Wildfly Archetypes in JBoss Central

WildFly 8.2.0.GA archetypes are now available for the HTML5, JavaEE Web & EAR project wizards. They will be automatically enabled when you select a WildFly runtime in the project wizards.

IP6 Support Added for Server Tools

For JBoss 7 and Wildfly installations, using hostnames with an IPv6 format often failed to connect, show webpages, or even verify the server’s state. Several changes have made this work as expected. With updated wildfly jars, management commands will execute without issue. In addition, our tools will now automatically recognize host names in an IPv6 pattern, and update your launch configuration’s various launch arguments to ensure that the server starts properly and with all expected flags set.

Upgraded Forge 2 Runtime

The Forge 2 runtime was upgraded to 2.15.2.Final. See the full release notes here.

There is also an improvement in Forge wizards which now render notes below the inputs (where available):

note

HTML5 & JavaScript Editing Improvements

HTML validation in Eclipse Web Tools Luna has an annoying issue with custom HTML5 tags. It warns about any HTML tag name that is not mentioned in the HTML specification. We contributed a patch to Eclipse Mars which allows to disable those warnings for any particular tag name (or a tag name mask, e.g. <ion-*>). Though this was fixed in Eclipse Mars only we back ported this useful feature to JBoss Tools 4.2.3 which is based on Eclipse Luna SR2:

validation

JavaSript file validation now respects ECMA5 keywords.

Tern.java and AngularJS Eclipse 0.8.2

Tern.java and AngularJS Eclipse (available via JBoss Central - Early Access) has been upgraded to 0.8.2 version.

There is a bunch of new features which were introduced in 0.8.0 releases:

0.8.2 releases also include bug fixes for some critical issues which caused Eclipse to freeze.

Multiple Browser Engine Support on Linux in Visual Editor

On Linux Visual Page Editor can be opened in HTML5 mode for HTML files, where all HTML5 features are supported. Visual Page editor mode can be changed with dialog, which appears during HTML file opening or in Visual Page Editor Preferences.

engine dialog

Deprecation of Visual Editor for JSF Pages

Currently JBoss Tools and JBoss Developer Studio have some problems with supporting both HTML5 Visual Preview and JSF Visual Editor. It’s related to the outdated XULRunner which is used in JBoss Tools to provide visual editing feature for JSF pages. It has very limited HTML5 support and conflicts with other browsers which may be used for HTML5 preview. It’s time now to deprecate the visual part of XHTML and JSP Page editor. JBoss Developer Studio 8.1 and JBoss Tools 4.2.3 still include JSF Visual Editor but it will be removed in future releases.

This deprecation is only about the visual part of the XHTML/JSP Editor (Visual/Source and Preview tabs). The existing content assist, code navigation, wizards etc. related to JSF will still be present in the source editor.

What is Next

We are now focusing on JBoss Developer Studio 9 and JBoss Tools 4.3 for Eclipse Mars. Alpha1 is already available and we are working on upcoming Alpha2.

Enjoy!

Alexey Kazakov

JBoss Tools and Eclipse Linux Tools team members from Red Hat are currently busy working on Docker tooling for Eclipse and even though the code is not public yet (more details on that at the end of this blog entry), I thought it would be interesting to share our progress on the project.

Since this blog was published binary builds are now at http://download.eclipse.org/linuxtools/updates-docker-nightly/ and code is available from git.eclipse.org and mirrored on github.

The Docker tooling is aimed at providing at minimum the same basic level features as the command-line interface, but also provide some advantages by having access to a full fledged UI.

Docker Explorer

The Docker Explorer provides a wizard to establish a new connection to a Docker daemon. This wizard can detect default settings if the user’s machine runs Docker natively or in a VM using Boot2Docker. Both Unix sockets on Linux machines and the REST API on other OSes are detected and supported. The wizard also allows remote connections using custom settings.

Connection wizard

The Docker Explorer itself is a tree view that handles multiple connections and provides users with quick overview of the existing images and containers.

Docker Explorer view

Built-in filters can show/hide intermediate and 'dangling' images as well as stopped containers.

Managing Docker Images

The Docker Images view lists all images in the Docker host selected in the Docker Explorer view. This view allows user to manage images, including:

  • Pulling images from the Docker Hub Registry (other registries will be supported as well)

  • Uploading images to the Docker Hub Registry

  • Building images from a Dockerfile

  • Creating a container from an image

Docker Images view

A wizard lets the user input all the arguments to create a new container from an image. When the container is started, all the logs can be streamed into the Eclipse Console:

Docker Images view

Managing Docker Containers

The Docker Containers view lets the user manage her containers. The view toolbar provides commands to start, stop, pause, unpause, display the logs and kill containers.

Docker Containers view

This view also provides a filter to show/hide stopped containers. Users can also attach an Eclipse console to a running Docker container to follow the logs and use the STDIN to interact with it.

Info and Inspect on Images and Containers

We also integrate with the Eclipse Properties view to provide users with info and 'inspect' data about a selected container or image.

Properties view

Where is the code ?

Roland Grunberg and Jeff Johnston from Red Hat started this project and are currently in the process of getting the code accepted to Eclipse.org as part of the Linux Tools project (even if the tooling also runs on other platforms), which explains why the code has not been made public yet.

Taking about code, we rely on the open source Docker client developed by Spotify to handle the low-level communication with the Docker daemons and I should thank the Spotify developers who maintain this library. They’ve been very kind to quickly review and merge the pull requests that we’ve submitted and it’s been a pleasure to contribute to their project. Open source collaboration FTW :-)

What’s next ?

There is still some work and the screenshots showed above may still evolve as we add more features, but we hope that this blog entry will give you a taste of what’s coming soon in Eclipse with regards to Docker tooling.

While the code will be hosted in Linux Tools project at Eclipse.org, we intend to also ship it as part of JBoss Developer Studio 9 and JBoss Tools 4.3 later this year.

We also created a JIRA component to track this work-in-progress in the scope of JBoss Tools, including some issues with mockups.

Beyond this basic Docker tooling we are looking at integrating launching servers and even native CDT builds on docker containers, but this will be the subject of future posts on this blog ;-)

As usual, feel free to provide us with feedback on our forum, on JIRA or on IRC. Questions, comments and suggestions are always welcome!

Stay tuned!

/Xavier
@xcoulon

We would like to announce Red Hat JBoss Developer Studio 8.1.0 CR1 and JBoss Tools 4.2.3 CR1 is now available.

jbosstools jbdevstudio blog header

Installation

Red Hat JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it and install it like this:

java -jar jboss-devstudio-{version}-installer-{standalone|eap}.jar

JBoss Tools or JBoss Developer Studio Bring-Your-Own-Eclipse (BYOE) requires a bit more:

This release requires at least Eclipse 4.4 (Luna) but we recommend using the Eclipse Luna SR2 Java EE Bundle since then you get most of the dependencies preinstalled with Java EE Bundle and SR2 release includes some critical fixes.

Once you have installed or if you have JBoss Tools 4.2.x already installed, you can use our update site directly for JBoss Tools:

http://download.jboss.org/jbosstools/updates/development/luna/

And for JBoss Developer Studio Bring-Your-Own-Eclipse:

https://devstudio.redhat.com/updates/8.0-development/

Note: JBoss Tools 4.2.3 and JBoss Developer Studio 8.1.0 will become available in Marketplace only for Final releases at early April

What is New?

We are getting close to the final release. So, we focused on bug fixing in this release.

Upgraded Forge 2 Runtime

Besides bug fixes, the Forge 2 runtime was upgraded to 2.15.1.Final. See the release notes here.

There is also an improvement in Forge wizards which now render notes below the inputs (where available):

note

It’s worth mentioning that the Forge 2.15.1 release has an annoying bug which prevents addons creation. The upcoming JBoss Developer Studio 8.1.0.Final will include the fixed Forge 2.15.2.Final (has been released today).

What is Next?

The next stop is JBoss Tools 4.2.3.Final and JBoss Developer Studio 8.1.0.Final which are going to be released in two weeks.

Enjoy!

Alexey Kazakov

Just for you Kepler fans - an Eclipse Kepler update of your favorite Integration Stack tooling is now available.

jbosstools jbdevstudio blog header

What’s an Integration Stack?

JBoss Tools Integration Stack 4.1.7.Final / JBoss Developer Studio Integration Stack 7.1.0.GA

The Integration Stack for JBoss Tools Developer Studio is a set of plugins for Eclipse that provides integration tooling for the following frameworks.

JBoss Business Process and Rules Development

  • BPEL Designer - Orchestrating your business processes.

  • BPMN2 Modeler - A graphical modeling tool which allows creation and editing of Business Process Modeling Notation diagrams using graphiti.

  • Drools - A Business Logic integration Platform which provides a unified and integrated platform for Rules, Workflow and Event Processing.

  • jBPM - A flexible Business Process Management (BPM) suite.

JBoss Data Virtualization Development

  • 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.

  • 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.

JBoss Integration and SOA Development

  • All of the Business Process and Rules Development plugins, plus…​

  • Fuse Apache Camel Tooling - A graphical tool for integrating software components that works with Apache ServiceMix, Apache ActiveMQ, Apache Camel and the FuseSource distributions.

  • SwitchYard - A lightweight service delivery framework providing full lifecycle support for developing, deploying, and managing service-oriented applications.

SOA 5.x Development

  • JBoss ESB - An enterprise service bus for connecting enterprise applications and services.

  • jBPM3 - A flexible Business Process Management (BPM) Suite - JBoss Enterprise SOA Platform 5.3.x compatible version.

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

What’s Been Updated?

Updates have been made to the Business Process tooling (BPMN2 Modeler, BPEL), Fuse Tooling and Data Virtualization tooling (Teiid Designer). See the JBDSIS 7.1.0 Release Notes

Released Tooling Highlights

BPEL Highlights

Bug Fixes
  • Cannot set date (deadline expression) in Wait and OnAlarm

Fuse Tooling Highlights

Bug Fixes
  • Hyperlinks in the Fuse Tooling help seem to be widely broken

For more specifics see

Fuse Tooling

See Lars Heinemann’s Blog for more insights.

The JBoss Tools website features tab

Don’t miss the Features tab for up to date information on your favorite Integration Stack components.

Installation

If you already have JBDSIS installed…​

Simply start jbdevstudio or eclipse-with-jbds, then:

Select Help > Check for Updates

Select the components you’d like to install from the available updates:

Check for Updates - JBoss Tools Integration Stack

If you’d like a fresh install…​

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-jee-kepler installed, you can install JBoss Developer Studio or JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

Eclipse Marketplace - JBDS

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:

JBoss Central - JBoss Developer Studio Integration Stack

The standard p2 installer is available for JBoss Developer Studio Integration Stack. Simply start jbdevstudio or eclipse-with-jbds, then:

 Help > Install New Software...
 Add...
 - use this for 'Location:' for the production integration stack:
   https://devstudio.redhat.com/updates/7.0/integration-stack/

The community JBoss Tools Integration Stack installation is easy as well. If you already have eclipse-jee-kepler installed, install JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

Eclipse Marketplace - JBoss Tools

Once JBoss Tools is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view. The current 4.1.7.Final integration stack is available automatically. Select the items you’d like to install:

JBoss Central - JBoss Tools Integration Stack

The standard p2 installer is available for JBoss Tools Integration Stack. Simply start eclipse-with-jbt, then:

 Help > Install New Software...
 Add...
 - use this for 'Location:' for the released-components integration stack:
   http://download.jboss.org/jbosstools/updates/stable/kepler/integration-stack

Note: If you installed into your own Eclipse you should bump up the launch resource parameters:

--launcher.XXMaxPermSize 256m --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms512m -Xmx1024m

Let us know…​

Paul Leacu.

Debugging externally-launched Java applications has always been possible in Eclipse via the Remote Java Application launch configuration type, so long as you manually add the host and debug port to the launch configuration. A few years ago, you may have seen an enhancement we here at JBoss Tools provided, making it easier to connect your sourcecode in Eclipse to an externally-launched process.

Well, history tends to repeat itself, and more enhancements are in the pipeline that make this even easier. We expect the enhancements in this blog to be present in JBoss Tools 4.3.0.Alpha2, so be prepared ;) You can track the progress at JBIDE-19397, or try it out by installing our nightly build.

While the changes you’ll read here today apply to all running java applications, I’ll be focussing on debugging an externally launched WildFly for this article.

The JMX Navigator

JBoss Tools has shipped a JMX Navigator for several years. Changes in the past year have brought with it an enhancement to the JMX Navigator in our most recent release. An extension to the JMX Navigator can now also auto-detect locally running processes, and allow a user to browse their JMX tree.

Not only can we can automatically detect all running java processes, we can also see which ones have been run with the proper debug flags such that a remote debugger can connect to it.

How can this be used with WildFly?

WildFly has the ability to be launched with the --debug flag. This will expose the port 8787 for a debugger to connect to. But if you didn’t know the port, and your startup was taking longer than you’d like, or it was scrolling too fast for your liking, and your google is broken, you could simply right-click the new process in the JMX Navigator and select Connect Debugger. This is an incremental improvement over our past work, because it’s been trimmed down from a right-click action on a project, followed by a dialog, to just the right-click action on the process directly.

This sounds too easy…​ show me

Alright, I’ll show you.

Set up your environment

First, in JBoss Tools, go ahead and make yourself a new server adapter for WildFly. You can use any of the configuration options you want, really. It shouldn’t make a difference at all.

The only thing you must do, though, is when creating your server adapter, make sure you check Server lifecycle is externally managed.

20150312 new server external

Once this is done, we can make a simple Dynamic Web Project with a Servlet. To do this, select File → New → Dynamic Web Project and follow the wizard’s instructions. After that, right-click your project, and select File → New → Servlet. A stub file will be generated for you, but we’d like to have it respond something, so let’s go ahead and change the doGet method as follows:

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String ret = "Hello World: " + System.currentTimeMillis();
		response.getOutputStream().write(ret.getBytes());
	}

Let’s also go ahead and set a breakpoint here, just so we can see when it gets hit later on.

Start the Server via Command Line

In a terminal, you can browse to your WildFly installation and simply run the following:

./standalone.sh --debug

Deploy the project

In your project, browse to your servlet’s java file and select it in the Package Explorer, Project Explorer, Navigator, or whichever other view you prefer. Right-click on it, and select Run as → Run on Server…​ to deploy it.

This action will attempt to start your server, so if you didn’t make sure to check the Server lifecycle is externally managed checkbox during creation, you may run into problems. If you did, though, your server adapter is configured to take no action during 'start'.

In the terminal, you should see some output indicating the module was published.

06:12:01,896 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-16) JBAS015876: Starting deployment of "DWS.war" (runtime-name: "DWS.war")
06:12:01,947 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-14) JBAS017534: Registered web context: /DWS
06:12:02,009 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS018565: Replaced deployment "DWS.war" with deployment "DWS.war"

You should also notice that the internal web browser has opened up to your servlet in JBoss Tools, and shows some content…​ but your breakpoint wasn’t hit. Your remote debugger hasn’t been connected.

So connect the debugger!

If it’s not already open, go ahead and open your JMX Navigator view. You should see a few entries already under Local Processes, since Eclipse is running, and so is WildFly.

20150312 connect debugger

You can just go ahead and click Connect Debugger. Now, if you switch to the browser that was opened previously and refresh the page, your breakpoint should be hit, and it should browse to your servlet’s code.

To detach the debugger, you can right-click the same entry again and simply click "Disconnect Debugger".

Can’t you already launch a server with a debugger attached?

Yes, you can. But not all developers will want the debugger connected at all times. They may have custom startup scripts, or personal preferences such that they prefer to always launch via command line, but still wish for convenient access to the debugger. When a server is launched in debug mode from inside eclipse, you cannot disconnect the debugger without also stopping the server. This enhancement allows you to keep the two actions separate, which, we hope, makes our tools more useful for a wider range of individuals.

Conclusion

While small enhancements like this might seem small or incremental, they add up to lots of changes that make your development experience faster, smoother, and more flexible for a wider range of developers and all their divergent personal preferences. We hope you like it.

Rob Stryker

We’re there! - JBoss Data Virtualization tooling is now available. JBoss Tools Integration Stack 4.2.0.Final / JBoss Developer Studio Integration Stack 8.0.0.GA

jbosstools jbdevstudio blog header

The Integration Stack for JBoss Tools Developer Studio is a set of plugins for Eclipse that provides tooling for the following frameworks.

JBoss Business Process and Rules Development

  • BPEL Designer - Orchestrating your business processes.

  • BPMN2 Modeler - A graphical modeling tool which allows creation and editing of Business Process Modeling Notation diagrams using graphiti.

  • Drools - A Business Logic integration Platform which provides a unified and integrated platform for Rules, Workflow and Event Processing.

  • jBPM - A flexible Business Process Management (BPM) suite.

JBoss Data Virtualization Development

  • 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.

  • 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.

JBoss Integration and SOA Development

  • All of the Business Process and Rules Development plugins, plus…​

  • Fuse Apache Camel Tooling - A graphical tool for integrating software components that works with Apache ServiceMix, Apache ActiveMQ, Apache Camel and the FuseSource distributions.

  • SwitchYard - A lightweight service delivery framework providing full lifecycle support for developing, deploying, and managing service-oriented applications.

SOA 5.x Development

  • JBoss ESB - An enterprise service bus for connecting enterprise applications and services.

  • jBPM3 - A flexible Business Process Management (BPM) Suite - JBoss Enterprise SOA Platform 5.3.x compatible version.

All of these components have been verified to work with the same dependencies as JBoss Tools 4.2 and Developer Studio 8.

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-jee-luna installed, you can install JBoss Developer Studio or JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

Eclipse Marketplace - JBDS

Once Developer Studio is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view. The current 8.0.0.GA integration stack is available automatically with the released JBoss Data Virtualization Development tooling. The remainder of the integration tooling is available as Early Access so you must check the Enable Early Access checkbox in the installer window in order to install.

Select the items you’d like to install:

JBoss Central Early Access - JBoss Developer Studio Integration Stack

The standard p2 installer is available for JBoss Developer Studio Integration Stack. Simply start jbdevstudio or eclipse-with-jbds, then:

 Help > Install New Software...
 Add...
 - use this for 'Location:' for the production integration stack:
   http://www.qa.jboss.com/binaries/RHDS/updates/stable/luna/integration-stack/aggregate/8.0.0.GA/

 - use this for 'Location:' for the early access integration stack:
   http://www.qa.jboss.com/binaries/RHDS/updates/stable/luna/integration-stack/aggregate/8.0.0.GA/earlyaccess/

The community JBoss Tools Integration Stack installation is easy as well. If you already have eclipse-jee-luna installed, install JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

Eclipse Marketplace - JBoss Tools

Once JBoss Tools is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view. The current 4.2.0.Final integration stack is available automatically with the released 'JBoss Data Virtualization Development' tooling. In a manner similar to devstudio, the remainder of the integration tooling is available as "Early Access" so you must check the "Enable Early Access" checkbox in the installer window in order to install.

Select the items you’d like to install:

JBoss Central Early Access - JBoss Tools Integration Stack

The standard p2 installer is available for JBoss Tools Integration Stack. Simply start eclipse-with-jbt, then:

 Help > Install New Software...
 Add...
 - use this for 'Location:' for the released-components integration stack:
   http://download.jboss.org/jbosstools/updates/stable/luna/integration-stack/

 - use this for 'Location:' for the early access integration stack:
   http://download.jboss.org/jbosstools/updates/stable/luna/integration-stack/earlyaccess

Note: If you installed into your own Eclipse you should bump up the launch resource parameters:

--launcher.XXMaxPermSize 256m --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms512m -Xmx1024m

What’s Been Updated?

The JBoss Data Virtualization tooling (ModeShape, Teiid Designer) is released. New features and bug fixes in the early access tooling are available as well.

Released Tooling Highlights

Teiid Designer Highlights

Teiid Designer 8.4 introduces the following changes and features
  • Added option to auto-create VDB data source after deployment

  • Improved model name validation in wizards and dialogs

  • Expanded SQL Template insert/replace functionality

  • Added ability to define virtual table as global temporary table

  • Improved Guides View functionality

  • Lock Diagrams feature

  • Teiid Connection Importer allows saving DDL to workspace

  • for details: Teiid Designer 8.4

Teiid Designer 8.5 introduces the following changes and features
  • Replaced teiid client plugins with a single runtime plugin

  • Support for dynamic extension metadata

  • VDB Editor layout improvements

  • Added ability to view a built-in MED

  • Improved Default Server naming

  • Enhance security for Data Roles UI

  • Add ability to create User Function in Transformation Editor

  • for details: Teiid Designer 8.5

Teiid Designer 8.6 introduces the following changes and features
  • Support for a Native Query Procedure

  • REST Importer Enhancements

  • Added Dynamic Parameter Capability to REST Importer

  • Added Dynamic Parameters to Generated REST Procedure

  • Added JSON REST Web Service Support

  • Improved Security Definition for Data Roles

  • for details: Teiid Designer 8.6

Teiid Designer 9.0 introduces the following changes and features
  • Show Rest WS Response Document on Import

  • Quick Fix for migrating Designer 7.7 REST model extension properties

  • Added additional support for comments in transformation SQL

  • for details: Teiid Designer 9.0

Early Access Highlights

For more specifics see:

BPMN2 Modeler

  • The Graphiti framework dependency was changed to require only 0.11. This is now aligned with the same version that is shipped with Eclipse Luna.

  • BPMN 2.0 Model validation has been reworked to allow extension plug-ins to override specific model element constraints. See Bug 427470 for details.

  • Double-click handling in the Outline and Problems views has been improved: a double-click on a node in the Outline view, or an error item in the Problems view will now display the Property sheet for the associated model object to allow immediate editing of the object.

  • The editor now performs a Live validation just before saving a file, and cancels the save process if the model is found to be corrupt (invalid ID string, duplicate IDs, etc.) This prevents the model file from being corrupted.

  • A new User Preference has been added to the Editor Behavior preference page, which allows Text fields to be limited to a maximum length. The default is 255 characters. Note that Multiline text boxes, such as those used for Documentation and Scripts, are not subject to this limit.

  • for details: https://www.eclipse.org/bpmn2-modeler/whatsnew/whatsnew-1.1.2.php

Fuse Tooling

See Lars Heinemann’s Blog for more insights.

The JBoss Tools website features tab

Don’t miss the Features tab for up to date information on your favorite Integration Stack components.

Give it a try!

Paul Leacu.

Looking for older posts ? See the Archived entries.
back to top