A JBoss Project
Red Hat

Posts tagged with 'devstudio'

If you’ve already gotten started with trying out Docker and JBoss Tools, and want to see what other options are available, this blog post will explain how to run Wildfly in a Docker container and configure it for management tasks and managed deployments.

Customizing your Dockerfile

Since the default jboss/wildfly Docker configuration doesn’t expose the management port by default, we’ll need to customize it, and this means writing your very first Dockerfile. Our goals here are to add a management user to the Dockerfile, and also to expose the management ports when running the container.

First, you’ll want to make a folder on your filesystem that you can play around in. I’ll name mine docker_jbds_wf_mgmt - Inside this folder, we’ll make a new file named Dockerfile and give it the following content:

FROM jboss/wildfly:latest

USER jboss
RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin#70365 --silent
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]

You can see that we’re extending the original jboss/wildfly container. In the above RUN command, we’re also adding a management user. Feel free to customize the password as you wish.

Exposing actual or sensitive passwords in a publicly accessible Dockerfile is dangerous. Make sure to only use example credentials in publicly available Dockerfiles.

Finally, we’re making sure that when the Docker container runs standalone.sh, it is also making sure to bind the management port to all possible hosts, helping to expose it for use.

Building your new Dockerfile

You can give your new configuration any name you want when building it. I’ll build mine here, and give it the name wildfly-mgmt :

docker build --tag=wildfly-mgmt .

Running your new Dockerfile

To run your new configuration, run the following command, replacing the last parameter with what name you chose when building the Dockerfile.

docker run -it -p 8080:8080 -p 9990:9990  wildfly-mgmt

Note that, unlike the previous post, we do not need to launch with custom volume mappings. All we need is the addition of the management port.

Configuring a Server in JBoss Tools

local fs 0

When creating the server remember to set the host to be dockerhost ( at least on OSX and Windows ) as shown above.

remote mgmt 1

Since we’ve configured the server to be remote, and for communication with the server to be handled over the management port, we mark it as Remote and controlled by Management Operations in the second page of the New Server wizard. We also don’t require a runtime here, though we may need one later when creating a functional web project with classes. For now, we won’t create one. You’ll also note that we have marked that the Server lifecycle is externally managed, which means we won’t be starting or stopping the server via JBoss Tools, since you’ll be controlling that via Docker on your own.

remote mgmt 2

On the next page, you’ll note that our remote runtime details are optional. Since the server is configured only for management operations, we have no real need to know where the filesystem is located or how to access it. We can safely ignore this page and just proceed through it.

Now, your server is created, but we still need to set the management credentials. First, double-click your Server in the Servers View to open the Server Editor. Then, set your credentials as you did in your Dockerfile as shown below. You’ll note that some default values are already there, and so you’ll need to delete them and set your own values.

remote mgmt credentials

Creating Your Web Project

In this example, we can create a very simple web project by browsing to File → New → Dynamic Web Project, Once the web project is created, we can create a simple index.html in the WebContent folder.

Starting the Server

Now that everything’s set up in Eclipse, we can start our Docker container as we mentioned before:

docker run -it -p 8080:8080 -p 9990:9990  wildfly-mgmt

Starting the Server Adapter

In Eclipse, we can now right-click our server, and select Start. This shouldn’t launch any commands, since we marked the server as Externally Managed. The server adapter is configured to check over the management port at dockerhost:9990 to see if the server is up or not, so it should quickly move to a state of [Started, Synchronized].

Deploying the Web Application

We can now right-click on our index.html project, and select Run As → Run On Server and follow the on-screen directions to deploy our web application. We should then notice the Eclipse internal browser pop up and display the content of our index.html files.

Conclusion

In this second example, we’ve seen how to install and configure a Wildfly Docker image customized for management operations in JBoss Tools.

To summarize, here are the steps needed:

  1. Create your own 'Dockerfile` that uses the existing jboss/wildfly configuration, but also adds a management user and starts server with the management port exposed

  2. Start Docker with 8080 and 9990 mapped

  3. Configure the server to run on dockerhost, using Remote management settings and have lifecycle externally managed

As you hopefully noted, this kind of setup is much more straightforward (no messing with paths); unfortunately it does have a downside since all publishes are full publishes over the management API. Because of this, incremental updates will not work in this case.

In a future example, I hope that we’ll see how to create an image customized for SSH access, which will allow starting and stopping the server and support incremental updates.

Rob Stryker

So you’ve heard the buzzwords and all the hype around Docker, but you haven’t had the chance to play around with it yet or see if it fits your needs. You’re already an avid user of JBoss Tools, and are fairly familiar with starting and stopping your local or remote Wildfly installation, and deploying web applications to it.

If this describes you, and you’re interested in trying out Docker, then this blog is targeted to you.

Docker Installation

Docker’s installation method differs based on your platform. You’ll want to review Docker’s Installation guides for your respective platforms.

To make things unified across the various platform, we recommend you go and map dockerhost to the ip of where your docker instance is running.

By default on Linux that will be 127.0.0.1, so you would add the following line to your /etc/hosts file:

127.0.0.1 dockerhost

But on OSX and Windows it will be a unique IP you can get by running boot2docker ip (i.e. 192.168.59.122). In that case the following should be added:

192.168.59.122 dockerhost

From now on you can use dockerhost in all your applications and get to it no matter what OS you are running on.

Running the default wildfly image

Wildfly has published their docker images for public consumption. You can browse them at the docker registry, or go to http://www.jboss.org/docker/ for more information.

These images are JBoss' standard Docker images and they do not expose more features than just the bare minimum for production and reuse. This first blog will show how to use them as-is, but going forward we will show how to configure them to be a bit more useful for development use cases.

To make sure your docker installation has worked, and that Wildfly can start without any errors, you can do the following:

docker run -it -p 8080:8080 jboss/wildfly

This command will run the Docker image for jboss/wildfly in its default state, no customizations and map port 8080 on your dockerhost to 8080 of the running jboss/wildfly container.

Once this is run, the command will not only start up your container, but also launch the server in standalone mode, and connect a terminal to it so you can see the output.

terminal wf docker

You should also now be able to see WildFly default startup page on http://dockerhost:8080.

Assuming you see the console output, and the server runs with no errors and you can access the welcome browser via dockerhost then you’re set up and ready for the next step.

To terminate the container, you can simply press Ctrl+C. If, for some reason, your image has frozen, and Ctrl+C isn’t working, you can also run the following commands to kill it forcefully.

First list running containers:

[root@localhost docker]$ docker ps
CONTAINER ID        IMAGE                  COMMAND                CREATED             STATUS              PORTS                    NAMES
f70149043400        jboss/wildfly:latest   "/opt/jboss/wildfly/   58 seconds ago      Up 58 seconds       0.0.0.0:8080->8080/tcp   ecstatic_darwin

Here I only have one container running; you might have more. But to kill any container, you execute docker kill f70149043400, replacing the given hash with your value from CONTAINER ID column.

Externally Managed Local Server With Deployment Folder Mapping

Since the Docker image in this example does not have SSH enabled, and the Wildfly server is not exposing the Management port, we will need to configure JBoss Tools to use custom filesystem deployments. The way to do this is to map in a local folder from our host into our container.

And since we start Wildfly via the Docker image, on the command-line. we’ll want to configure our Server Adapter in JBoss Tools to be an externally managed server, so it will not manage the start nor stop of the server.

Mapping a deployment folder

For this example, we’ll make a temporary directory somewhere on our host, and tell our Docker container to treat that as the standalone/deployments folder inside the container. In this way, changes made to the folder can be visible in both the host and container.

Mapping Folders may cause IO errors for SELinux!* To ensure your container can actually read and write to the folder, you’ll need to run setenforce 0 to disable SELinux, or, alternatively, give Docker the permissions and exceptions in SELinux. See this stackoverflow post for more information.
[root@localhost jbds_wf_external]$  mkdir /home/rob/tmp/dockertest1
[root@localhost jbds_wf_external]$  docker run -it -p 8080:8080 \
-v /home/rob/tmp/dockertest1:/opt/jboss/wildfly/standalone/deployments/:rw  jboss/wildfly

The ':rw' at the end is important, since without it the docker container cannot write to it, only read.

If you were to now place a .war file inside /home/rob/tmp/dockertest1, it will be picked up by the deployment scanner, and visible in a web browser. Take note of the folder, since we’ll use that in the configuration of the Server Adapter.

Making your Server Adapter

The final step of this example is to create your Wildfly 8.2 server adapter in JBoss Tools, and to create and deploy a web application to your temporary folder, which in my case is /home/rob/tmp/dockertest1

First, we’ll open the Servers View and create a new Wildfly 8.x server adapter. Since we’re exposing our container’s ports on dockerhost, we need to set the host to dockerhost.

local fs 0

The server should still be marked as Local and Controlled by Filesystem and shell operations as shown below.

local fs 1

Since we’re hacking a Local Filesystem server adapter to work for Docker, we’ll still need a local runtime in this example, so point it to any locally installed WildFly server you have.

In JBIDE-19388 we are looking at ways to avoid requiring this step.

Configuring your Server Adapter

Once your server is created, you’ll find it in the Servers View, where we can double-click it to open the Server Editor. From here, we can make what configuration changes we’ll need. First, we’ll need to make sure the server is Externally Managed. This means JBoss Tools will not attempt to start and stop it from Eclipse, it is expecting you the user handles that via Docker.

local fs externally managed

Next, we’ll need to disable the tooling for keeping deployment scanners in sync with the locations JBoss Tools expects to be deploying. Since we’ve already mapped the folder in via the Docker command line, we won’t need any additions to the deployment scanners at all.

local fs scanners

And finally, on the Deployment tab of the Server Editor, we’ll want to mark the default deploy folder to be a Custom location, and choose the folder that we previously mapped in via Docker’s command line, as shown below:

local fs deploy

Once all this is done, we can save the editor, and our server adapter is configured properly.

Make a Web Project

In this example, we can create a very simple web project by browsing to File → New → Dynamic Web Project, Once the web project is created, we can create a simple index.html in the WebContent folder.

Starting the Server

Now that everything’s set up in Eclipse, we can start our Docker container as we mentioned before:

docker run -it -p 8080:8080 -v /home/rob/tmp/dockertest1:/opt/jboss/wildfly/standalone/deployments/:rw  jboss/wildfly

Starting the Server Adapter

In Eclipse, we can now right-click our server, and select Start. This shouldn’t launch any commands, since we marked the server as Externally Managed. The server adapter is configured to check dockerhost:8080 to see if the server is up or not, so it should quickly move to a state of [Started, Synchronized].

Deploying the Web Application

We can now right-click on our index.html project, and select Run As → Run On Server and follow the on-screen directions to deploy our web application. We should then notice the Eclipse internal browser pop up and display the content of our index.html files.

Congratulations - you just used JBoss Tools to deploy a local running Docker hosted WildFly server.

What could be better ?

The default docker image is restricted by default. This means it does not have the Management port exposed, nor JMX nor file system access via SSH.

All this means that currently you have to go through some setup to use them from existing tools, but luckily we are doing two things:

  1. we will post more blogs explaning how to enable some of these features to use todays tools (not just JBoss Tools) with 'raw' docker.

  2. we are working on making the steps simpler when using Docker 'raw'

Conclusion

In this first example, we’ve seen how to install and configure the default Wildfly Docker images.

To summarize, here are the steps needed:

  1. Start Docker with 8080 mapped and with /opt/jboss/wildfly/standalone/deployments mounted as volume

  2. Configure server to run on dockerhost, be externally managed and Custom deploy to the volume above

In future examples, we’ll see how to extend those images for Management or SSH/SCP usecases.

Rob Stryker

In this blog I would like to discuss probably the most important issue CordovaSim / Ripple users might face:

The $.ajax GET / POST / PUT / DELETE does not fire from inside of CordovaSim / Ripple - but it does via the IOS Simulator and from a real Android Device. How am I supposed to handle it?
— CordovaSim user

Firstly, let’s discuss the root of the problem…​

Same Origin Policy (SOP)

In computing, the Same Origin Policy is an important security concept for a number of browser-side programming languages, such as JavaScript. The policy permits scripts running on pages originating from the same site to access each other’s methods and properties with no specific restrictions, but prevents access to most methods and properties across pages on different sites. Basically, if the web application sends request to the same server, then there will be no restrictions and everything will work like a charm. However, if the request is sent to another server (Cross-domain request - XDR), the browser will block it with the following error:

No 'Access-Control-Allow-Origin' header error

How to workaround Same Origin Policy (SOP)?

In the general case there are several ways to do it:

  • Proxy - one can create a proxy and have it to fetch data from the remote server instead of sending request directly. To the browser it seems that web application exchanging the data on the same server:

No 'Access-Control-Allow-Origin' header error
  • JSON with padding (JSONP) - this approach takes advantage of the fact that <script> tags are not subject to the Same-Origin policy. For instance, JavaScript libraries like jQuery can be included to the web page even if they are hosted on another server. More information about JSONP can be found in the following article.

  • Cross-Origin Resource Sharing (CORS) - W3C standard that allows Cross-Domain communication from the browser. CORS support requires coordination between both the server and client. The basic idea behind CORS is to use custom HTTP headers to allow both the browser and the server to know enough about each other to determine if the request or response should succeed or fail. Cross-Origin Resource Sharing can be used as a modern alternative to the JSONP pattern. While JSONP supports only the GET request method, CORS also supports other types of HTTP requests. More information about CORS can be found in the following blog.

Ripple and CordovaSim use Proxy approach for handling Cross-domain AJAX.

Cross-domain AJAX in CordovaSim

There is a Cross Domain Proxy setting in CordovaSim / Ripple. Basically, Cross-domain AJAX work depends drastically on it. User can choose between three options:

  • Disabled - CordovaSim / Ripple will not proxy HTTP requests. This option should be used only if the remote server supports CORS. If it is not, Cross-domain requests will be restricted by the Same Origin Policy.

  • Local (default) - local proxy will be used for handling HTTP requests. However, local proxy is implemented differently in Ripple and CordovaSim. Ripple has local Node.js proxy server, whereas CordovaSim uses Jetty ProxyServlet for that purpose. Nonetheless, from the user perspective there are no differences at all.

  • Remote - both Ripple and CordovaSim will use the following remote server for HTTP requests proxying.

Proxy settings
In most cases "Remote" and "Local" options can be used interchangeably for remote server calls. However, if the server is running locally one must use either "Local" or "Disabled" option depending on the local server configuration (i.e. CORS compatibility).

Security note for "Remote" proxy

In the 4.2.3.Beta1 and 4.3.0.Alpha1 releases a security warning for "Remote" proxy was added.

Remote
If the app is transferring sensitive data (authentication tokens, credentials etc.), it is strongly recommended to use "Local" proxy (enabled by default) instead of the "Remote" one. The "Remote" proxy is cloud-hosted and there is a potential leak threat. Nonetheless, if the hybrid app has no sensitive data, one can safely use "Remote" proxy without any risk.

Conclusion

To put it in a nutshell, there is no silver bullet for handling all Cross-domain AJAX requests in CordovaSim / Ripple, due to the fact that it dramatically depends on the server side setup. So, if one has faced the issue coupled with the Same Origin Policy / Cross-Domain AJAX (i.e. GET / POST / PUT / DELETE requests the hybrid app is trying to perform are either blocked by the browser or server returns 5XX error), the first thing they should do is to "play" with Cross Domain Proxy settings. Using one of the options must definitely tackle the problem.
Have fun!

Ilya Buziuk
@ilyabuziuk

I am happy to announce some of the highlights of the upcoming release of the Red Hat JBoss Fuse Tooling. It will be available via early access in the JBoss Tools Integration Stack 4.2 / Developer Studio Integration Stack 8.0.

What is new?

There are a lot of improvements and bugfixes and I just want to pick the most important things for now. You can see a full list of changes in the What’s New section for the release.

Apache Camel Debugger

You probably already used the tracing functionality for a running Camel Context, but now we are happy to finally give you a Camel Debugger. Using the Eclipse Debug Framework we created our own Camel Debugger which works fully through the design view of the Camel editor. Here you can set your breakpoints (static and conditional ones) and breakpoints hit are highlighted in your design view. Instead of using the "Run as → Local Camel Context" menu you can now use the "Debug as → Local Camel Context" to startup the Context in debug mode. Once a breakpoint is hit Eclipse will automatically change to the Eclipse Debug perspective.

Debugger

Step through your routes, add watch expressions, change message content on the fly or simply monitor what your routes do with the messages. Add a conditional breakpoint if you only want to debug on a certain condition. You choose the condition language and you setup the condition in an easy to use expression builder.

Palette and Properties

Over the past weeks we worked on improvements regarding the usability of our Camel Route Designer. The result of that work is that we introduced a new drawer to the palette of the designer which provides easy to use items for Apache Camel Components. In the past you had to know that the Endpoint palette entry has to be used to create a connector for a Camel component just by prepending the right protocol name to the endpoints uri attribute field. That still left you alone in adding the correct Maven dependency to your projects pom.xml. When you now drop a component connector to the route the pom.xml gets updated automatically so you don’t need to care any longer.

New Palette

Starting with version 2.14 the Apache Camel developers started implementing a model to determine URI parameters and their meta data. We now use the provided functionality to give our users improved property pages for the Apache Camel Components.

Advanced Properties

(the above image shows the properties for a file connector endpoint)

Server Adapters

Our server adapters have been reworked and we now provide adapters for the latest version of Apache ServiceMix, Apache Karaf and JBoss Fuse.

New Server Adapters

The wizard pages for creating the servers have been reworked too and you are now able to download the binaries directly from within your Eclipse session.

New Wizard Layout

Another thing to mention is that we replaced the old deployment options in favor to the modules publishing way using the servers view. You can select the server entry there and choose to Add or Remove modules to/from the server. The deployed projects from your local workspace will be visible as a child node under the server item. Depending on your settings for the server publishing options your application will be republished automatically when it gets out of sync / is changed locally.

I hope you enjoy the new stuff. Have fun!

Lars Heinemann

Happy to announce first Alpha build for Eclipse Mars M5.

Downloads available at JBoss Tools 4.3.0.Alpha1.

Installation

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

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 ?

As always there is more than can be covered in a single blog but here are some of my favorites. You can see everything in the What’s New section for this release.

Java EE 7 Batch and CDI Support

The initial work on providing a structured editor for Java EE 7 Batch job.xml files are in. The editor is based on Eclipse Sapphire and over time we want to extend it for smarter content assist both in the structured editor but also in the source view.

Java EE 7 Batch Editor

Furthermore for Java EE 7 we’ve now added auto enablement of CDI for Java EE 7 projects. Meaning the tools also now honor Java EE 7 CDI spec about no longer requiring beans.xml for activating CDI.

BrowserSim Standalone and iPhone 6 skins

BrowserSim adds skins and layout for iPhone 6 devices.

iphone6

These skins and others are also available in BrowserSim Standalone mode which allow you to run Browersim without depending on a full Eclipse install.

You can use this "oneliner" to try it out:

curl -L -o bs.zip http://bit.ly/browsersim-3-7-ss-jar && unzip bs.zip && java -jar browsersim.jar tools.jboss.org

If you are on OSX you need this one:

curl -L -o bs.zip http://bit.ly/browsersim-3-7-ss-jar && unzip bs.zip && java -XstartOnFirstThread -jar browsersim.jar tools.jboss.org

We’ve extended the HTML5 palette to allow easier adding of often used html5 elements.

palette

This grew the palete to be rather big thus we came up with adding a 'Most popular' slot so you always have easy access to the elements you used most often.

The following video shows how that works.

FeedHenry support

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

importFeedHenryAppWiz

Windows Phone support

Apache Cordova support now includes support for Windows Phone projects (requires you to run on Windows still though :)

WPExport

This also adds support for running Windows Phone Emulator.

Hierarchical projects

This feature is actually part of Eclipse M5 and not directly JBoss Tools but I wanted to mention it because the feature is awesome and it was contributed by us by the great work of Mickael Istria.

In Eclipse M5 the Project Explorer now have a "Projects Presentation" in its view menu. Allowing you to switch from the traditional "Flat" view to the new "Hiearchical". This new option lets you view the projects as they are structured on the filesystem as opposed to one big flat list.

Flat vs Hierarchical projects

This is especially super helpful for those who have large multimodule Maven projects. Now you can get some sanity back.

Next steps

While we wait for feedback on Alpha1, we are already working on what will become Alpha2. Some of the things that are moving here are:

  1. OpenShift v3

  2. Docker Tooling

  3. Better JavaScript content assist

  4. Deprecate/remove visual JSF page editor, focusing on html5 preview

  5. Making project imports in Eclipse simpler

  6. And more…​

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

Have fun!

Max Rydahl Andersen
@maxandersen

A new maintenance update of JBoss Tools 4.2.2 and Red Hat JBoss Developer Studio 8.0.2 for Eclipse Luna has been released.

It is recommended everyone, especially those using git install this update!

jbosstools jbdevstudio blog header

Installation

JBoss Developer Studio 8.0.2

This is an updatesite-only update. If you have JBoss Tools 4.2.x or JBoss Developer Studio 8.0.x already installed, just run:

Help > Check for updates

JBoss Tools 4.2.2 and JBoss Developer Studio Bring-Your-Own-Eclipse (BYOE)

JBoss Tools and JBoss Developer Studio Bring-Your-Own-Eclipse (BYOE) require at least Eclipse 4.4 (Luna) but we recommend using the Eclipse Luna SR1a Java EE Bundle since then you get most of the dependencies preinstalled. Once you have installed Eclipse, you can 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 is a JBoss Developer Studio/JBoss Tools maintenance update for Eclipse Luna with critical security and performance bug fixes.

Eclipse Luna SR1a Git Security Release

JBoss Developer Studio 8.0.2 includes Eclipse Luna SR1a Git Security Release which has a fix for a serious security vulnerability in JGit client. You can read more here.

JBoss Central Software page performance fixes

JBoss Central software page had a performance regression that caused the page to take several pages to load where it should only be a few miliseconds. That is fixed.

And we fixed it so Early Access features (like integration stack) can now contribute wizards to central when users have enabled Early access.

Updated Forge 2 Runtime

The included Forge 2 runtime is now 2.13.0.Final. See the release notes here.

What is Next

We are working on the next update witch will be based on Eclipse Luna SR2 and the first milestone (Alpha) for Eclipse Mars is coming soon.

Enjoy!

Alexey Kazakov

We’re getting closer to GA - JBoss Tools Integration Stack 4.2.0.Beta2 / JBoss Developer Studio Integration Stack 8.0.0.Beta2

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

Once Developer Studio is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view. The current 8.0.0.Beta2 integration stack is available as "Early Access" so you must check the "Enable Early Access" checkbox in the installer window. Select the items you’d like to install:

JBoss Central Early Access

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:'
   https://devstudio.redhat.com/updates/8.0-development/integration-stack/

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…​

jbtis luna em

Once JBoss Tools is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view. The current 4.2.0.Beta2 integration stack is available as "Early Access" so you must check the "Enable Early Access" checkbox in the installer window. Select the items you’d like to install:

jbtis ea

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:'
   http://download.jboss.org/jbosstools/updates/development/luna/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

What’s Been Updated?

We’re getting closer to the final release date. You’ll notice feature source bundles are available from all of the integration stack components. For more specifics see:

Fuse Tooling

See Lars Heinemann’s Blog for more insights.

Teiid Designer

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.

Recently several people have asked me the following question:

How can I test Nexus 9 / Moto G / LG G3 etc. via BrowserSim? There is no such device in the preference list.
— BrowserSim user

Actually, it’s extremely easy to do…​

Basic concepts

Firstly, let’s introduce several fundamental concepts which we will need in the further discussion:

  • Physical pixel - the cell in the device’s display matrix.

  • Display resolution - the number of distinct physical pixels in each dimension that can be displayed. For instance, resolution 640 × 1136 means that the width of the display is 640 pixels and the height is 1136.

  • Pixel Ratio - the value which determines how a device’s screen resolution is interpreted by the CSS. Basically, CSS interprets a device’s resolution by the formula: Display Resolution / Pixel Ratio.
    For example, iPhone 5s has the following parameters:

    • Display Resolution: 640 x 1136

    • Pixel Ratio: 2

    • CSS Interpreted Resolution: (640 / 2) x (1136 / 2) = 320 x 568

The reason why pixel ratio was created is due to the fact that screens of the modern phones have high resolution. So, if devices with high resolution had pixel ratio of 1 (i.e. CSS Interpreted Resolution = Display Resolution), then it would be almost impossible to browse on the Internet cause the content would be too small to see.
  • User-Agent - HTTP header that identifies the client software. When you open a web page, your web browser includes a user-agent header in the request sent to the server that hosts the website. This string essentially introduces your browser to the server, describing which browser version you are using and relating other information about your computer or mobile device, such as the operating system and its version. The server can use this information to provide content that is tailored for your specific browser.

How to add custom device?

Now let’s move from theory to practice. Run BrowserSim, open preferences (Right click → Preferences…​) and push the Add button on the Devices tab :

BrowserSim preferences

The Add Device dialog will be shown:

Add device dialog

Now all you need is to input correct data for your specific device and press the "OK" button - newly created device will be added to the preferences. Let’s practice on the real sample - Microsoft Lumia 928. This phone has the following parameters:

  • Display Width: 768

  • Dispaly Height: 1280

  • Pixel Ratio: 2.4

  • User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 928)

All device specific information can be easily found on the web

Unfortunatelly, there is no Microsoft Lumia skin yet, so you will have to select some other one. Of course this doesn’t make the experience smooth and complete but you will be able to achieve the main aim: test and reproduce layout issues for that device. Although we are trying to update the list of skin / devices, we won’t be able to cover every single case anyway. So, from time to time you will need to do it manually. By the way, in the brand new 8.0.1.GA release we have added IPhone 6 / 6 plus devices:

IPhone 6 / 6 plus devices

BrowserSim standalone

For those who don’t use Eclipse / JBoss Developer Studio there is a standalone mode of BrowserSim. More details about BrowserSim standalone can be found in the following blog.

Conclusion

We are trying our best to make our tools as good as possible. User feedback is what we are seeking for now. We look forward to hearing your comments, remarks and proposals.
Merry Xmas and Happy New Year!
Have fun!

Ilya Buziuk
@ilyabuziuk

Maintenance update of JBoss Tools 4.2.1 and Red Hat JBoss Developer Studio 8.0.1 for Eclipse Luna is now available.

jbosstools jbdevstudio blog header

Installation

JBoss Developer Studio 8.0.1

This is an updatesite-only update. If you have JBoss Developer Studio 8.0.0.GA already installed, just run:

Help > Check for updates

JBoss Tools 4.2.1 and JBoss Developer Studio Bring-Your-Own-Eclipse (BYOE)

JBoss Tools and JBoss Developer Studio Bring-Your-Own-Eclipse (BYOE) require at least Eclipse 4.4 (Luna) but we recommend using the Eclipse Luna SR1 Java EE Bundle since then you get most of the dependencies preinstalled. Once you have installed Eclipse, you can 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 maintenance release includes mostly bug fixes but there are also a few new features which we would like to mention.

BrowserSim and CordovaSim skins for iPhone 6 and 6 Plus

Brand new IPhone 6 / 6 plus skins are now available in BrowserSim and CordovaSim

iphone6

OpenShift Explorer: Start and Stop Applications

You can now start and stop your OpenShift-hosted application within Eclipse. OpenShift tools offers start- and stop-actions in the context menu of the server adapter and the application in the OpenShift Explorer.

server adapter start stop

Arquillian validator for not public/static deployment method

The Arquillian validator creates a marker and a quick fix if a test contains a deployment method that is not public and/or static.

arquilliannonstatic

CDI auto enablement for Java EE 7 projects

CDI (Contexts and Dependency Injection) support is now enabled automatically for Eclipse Web Tools faceted projects if they have any Java EE 7 facet. For example if you create a project via New Dynamic Web Project Wizard and select Web facet v.3.1 you don’t need to enable CDI support in project properties or to install CDI facet. CDI Tools will do it automatically.

Updated Forge 2 Runtime

The included Forge 2 runtime is now 2.12.3.Final.

What is Next

More maintenance updates for Eclipse Luna are planned and we continue to work on the major release for Eclipse Mars but it’s all for 2015!

Happy Holidays and a joyful New Year!

Alexey Kazakov

JBoss Tools Integration Stack 4.2.0.Beta1 / JBoss Developer Studio Integration Stack 8.0.0.Beta1

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…​

jbtis-luna-em

Once Developer Studio is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view. The current 8.0.0.Beta1 integration stack is available as "Early Access" so you must check the "Enable Early Access" checkbox in the installer window. Select the items you’d like to install:

jbdsis-ea

The standard p2 installer is available for JBDSIS. Simply start jbdevstudio or eclipse-with-jbds, then:

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

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

jbtis-luna-em

Once JBoss Tools is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view. The current 4.2.0.Beta1 integration stack is available as "Early Access" so you must check the "Enable Early Access" checkbox in the installer window. Select the items you’d like to install:

jbtis-ea

The standard p2 installer is available for JBTIS. Simply start eclipse-with-jbt, then:

       Help > Install New Software...
       Add...
       - use this for 'Location:'
         http://download.jboss.org/jbosstools/updates/development/luna/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

What’s Been Updated?

This is a Beta1 release so some things are in flux but virtually every component has something new or updated. Here’s a small list of what’s new:

Fuse Tooling

  • Improved server adapters for JBoss Fuse Tooling. More logical deployment and publishing of your projects from the Servers view.

  • There’s new Camel route debug support in the Fuse Camel route editor.

See Lars Heinemann’s Blog for more insights.

Teiid Designer

Three releases for Teiid Designer, see Teiid Designer 8.4, Teiid Designer 8.5 and Teiid Designer 8.6 What’s New.

Keep up to date with the JBoss Tools home

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

JBoss Tools 4.12.0.AM1 for Eclipse 2019-06

by Jeff Maury on Jun 12, 2019.

Integration Tooling for Eclipse 2019-03

by Paul Leacu on May 30, 2019.

Quarkus

by Jeff Maury on May 13, 2019.

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