Saturday, May 9, 2015

Kick-start Guide for JBoss Fuse Development

Hit many roadblocks when I started off  with JBoss Fuse development.Though the framework is great had to face a lot of impediments due to incompatible jars and outdated install documents.This post is to put forward  what worked for me and hope would be helpful for those out there who are yet to start their Fuse Journey.


JBoss Fuse is an open source Enterprise Service Bus (ESB). It is a robust SOA solution designed with build-in fail-over, load balancing and delayed message redelivery. It combines several technologies like core Enterprise Service Bus capabilities (based on Apache Camel, Apache CXF, Apache ActiveMQ), Apache Karaf and Fabric8 in a single integrated distribution.

Red Hat acquired FuseSource and JBoss Fuse was built upon FuseSource’s product, FuseESB.



Ref :
http://www.jboss.org/products/fuse/overview/

Prerequisite
JBoss Fuse is based on Apache Camel so it is better to have an understanding on Camel before exploring Fuse.

Requirements
Hardware 
Ø  400 MB free disk space
Ø  2 GB RAM
Software 
Ø   Fuse runtime platforms need Java 6, JRE 1.6.0_18 or later.

JBoss Fuse provides 3 types of Installation
·           Ø    Minimal—installs Apache Karaf, Apache Camel core, and selected Apache Camel components
·          Ø     Medium—installs Apache Karaf, Apache Camel;, and Apache ActiveMQ
       Ø     Full—installs Apache Karaf, Apache Camel, Apache ActiveMQ Apache CXF, and the JBI components

I        I chose Full install for my environment but based on the components required the appropriate install can be selected.

Installation Steps:
  1. Download JBoss Fuse 6.1.0.GA Full Zip (latest as of Apr/2015).
  2. Need to be a registered user of JBoss Developer to have access to download the file.
  3. Extract the downloaded file into a local folder. It is preferable to extract the file into a folder which does not have space in its path
  4. The Fuse server can be started using the <>/bin/fuse.bat. The following screen shows up if the server is successfully up.


Note:The loading should be 100%,if not check for the logs in <>/data/log folder for details

   The Fuse server is set up,now we need to set up the IDE.The IDE used here is JBoss developer Studio 8.1.0 GA

Prerequisite
Ø  Maven 3.3.1
Ø  JDK 1.6 or 1.7

Development Tools

JBoss Developer Studio  is an Eclipse based IDE which makes setting up and debugging of the Fuse application easier.
JBoss Developer Studio Integration Stack   is a plugin which provides tooling for developing, configuring and deploying Fuse applications.

Installation Steps
The Developer studio needs to be installed first and the Integration Stack can be added  later on.

  1. If maven is already installed in your system, then take a backup of the repository and settings.xml and delete these files. The fuse download has issues with the incompatible jars  which are in the repository.
  2. In the settings.xml, configure the JBoss EAP Maven repository,JBoss Community Maven repository and  make the repositories active by default.
  3. Download the stable jar from http://www.jboss.org/products/devstudio/download/ The stable jar as of  Apr/2015 is Red Hat JBoss Developer Studio 8.1.0.GA jar file (jboss-devstudio-8.1.0.GA-installer-eap) 
  4. Install the jar  (java -jar <> <>).
  5. Follow the instructions in the wizard. The installation may take 10 to 15 minutes.
  6. After this step Integration Stack can be updated.
  7. Select Software/Update from the JBoss Splash screen and choose the options as shown in the snapshot below.
  8. For the IDE version 8.1.0,the updates are available on Early access basis, so ensure to select the Enable Early access Check box.

   
   Once the Development Studio is set up, the Fuse project can be created using the Fuse Project Wizard.   Refer to this  tutorial for creating fuse project.