HawtioCamelWiki is a stand alone web application for creating, editing and managing Apache Camel based integration flows and Enterprise Integration Patterns with the hawtio console and an embedded Apache ActiveMQ broker broker for communicating over AMQP, MQTT, STOMP and WebSockets.
HawtioCamelWiki runs stand alone in Maven or in any web container (tomcat, jetty, wildfly etc).
- a nice integrated web UI for working with integration flows, documentation, files, history and messages in the message broker
- embedded message broker for AMQP, MQTT, STOMP, WebSockets
- lots of embedded camel components out of the box. (To add more just add other camel components to the pom.xml file.
- view real time visualisations and metrics of integration flows and message endpoints; send messages, browse queues, debug routes, trace routes etc
- all files and changes stored in git with audit log and history
- dashboard and logs UIs (as well as low level JMX too)
git clone https://github.com/hawtio/hawtio-camel-wiki.git cd hawtio-camel-wiki mvn jetty:run
Then open http://localhost:8000/ and you should be all set!
The following tabs may be useful:
- Wiki tab lets you browse the existing route files and documentation. To create a new integration flow, click the Create icon in the toolbar (towards the top and right of the window) and select the Camel Spring XML option, then you will have a new camel route file you can edit visually.
- ActiveMQ tab lets you look inside the bundled Apache ActiveMQ broker where you can browse queues, send messages to destinations and view real time metrics etc.
- Camel tab lets you view the real time metrics and attributes of all the currently running Camel routes; as well as debug and trace them.
How it works
On startup HawtioCamelWiki should clone this configuration repository (which is defined here if you wish to change it!) and it then boots up all Spring XML and camel routes defined in there and watches for any changes.
The git repository is cloned to ~/.hawtioCamelWiki/config if you wish to push/pull changes. You can edit these files directly using any tool outside of HawtioCamelWiki if you prefer too - and push/pull as you see fit.
All changes via the HawtioCamelWiki are versioned in the git repository (try the Actions -> History option in the Wiki view on the top right).
Upgrading to JBoss Fuse
So in many ways, HawtioCamelWiki is a little bit like a cut down stand alone simpler version of JBoss Fuse
Fuse offers the following advantages:
- supports a number of JVMs working as a logical cluster with failover and load balancing; on bare metal (any computer with a JVM), on the Open Hybrid Cloud (via OpenShift Online for the public cloud or OpenShift Enterprise for on premise, or a combination of both) or any IaaS like EC2 via Apache jclouds.
- makes it easy to create topologies (like master/slave, replicated, N+1) of federated message brokers
- makes it easy to configure and manage your entire cluster
- supports different profiles of container; so rather than just having one set of camel integration flows that run in a JVM you can federate, partition and do rolling upgrades of them.
To get a HawtioCamelWiki like experience with Fuse try watching this demo.
Or try these instructions:
- grab a recent distro of fuse-fabric and unpack it
- run bin/fusefabric
- once its started up type:
fabric:create --new-user admin --new-user-password admin
- then wait a minute or so, typing this command should say 'success'
- now open http://localhost:8181/ and in the Containers view go to the examples/camel/profile profile page and create a new container (the one on the right).
You can then copy this profile and run different groups of containers running different routes as you see fit.
Running on OpenShift
Every developer has 3 free machines to play with on OpenShift so if you want to try this out there try this:
First, you'll need to create an OpenShift Online account.
Then you can create an instance of hawtio camel wiki using this link
Read the OpenShift Getting Started guide and install the rhc command-line tool.
You should then be able to try this on the command line:
rhc app create mycamelwiki jbossews-2.0 --from-code=http://github.com/hawtio/hawtio-camel-wiki.git