Skip to main content


Showing posts from April, 2015

Red Hat JBoss xPaaS - When xPaaS meets DEVOPS - Part Three

This post is part of short session I spoke in Japan, strictly my opinion.

Red Hat JBoss xPaaS allows enterprise to deploy their application both on premise and cloud. Inside this hybrid environment developer does not need to worry about that sort of container or deployment environment it is deploy on. So developer can easily build their application, integrating with other service across enterprise or cloud and even orchestrate business process and rules.  That means developer can now expose their service to the outside world, it can be either through web service, either it's SOAP with XML or Restful API with JSON content. They can take their core business rules in the rule repository and expose without the needs to wrap them in a servlet, orchestrate outside service or provide an endpoint to start up an processes on the cloud. And because the growth of handheld device, the ability to talk to the "internet of things" suddenly becomes one of the hottest topic, Red Hat JBoss…

JBoss Fuse - JBoss Fuse or ETL?

While I was hosting a workshop on JBoss Fuse, I got a question from on of the partners, why not use ETL?

"ETL (Extract, Transform and Load) is a process in data warehousing responsible for pulling data out of the source systems and placing it into a data warehouse."

To me it's rare to compare between Fuse to an ETL solution, because I think these two should work together to compliment each other. They are solving different problems when integrating. JBoss Fuse is a light weight more agile implementation of ESB. When trying to introduce SOA or even micro-service into your system, JBoss Fuse will help in many ways. I found this excellent decision tree diagram to decide when is best to use what.

The most obvious difference between an ESB and ETL if you need your real-time processing or if it is ok to have the data prepared couple of hours beforehand? To me ETL is more like an DATA tier integration solution, if you have 2 or more databases with massive amount of data that you…

Red Hat JBoss xPaaS - When xPaaS meets DEVOPS - Part Two

This post is part of short session I spoke in Japan, strictly my opinion.

Red Hat JBoss xPaaS can help enterprise to adopt DEVOPS in many ways. My thoughts of DEVOPS, as in many years in the industry, I believe DEVOPS can be broken down to 3 major part.  Self ServiceAutomation Continuous Delivery I put self service first is because I think without achieving this the whole DEVOPS is just adding more work to both developers and operations, don't forget, the whole idea of DEVOPS is to reduce conflict between then and to be more productive when delivering softwares. 
"Without self service operation, cloud is just a Just expensive hosting" I love this phrase, found it when I was reading from Damon Edwards, Operation department is the past few years has focus on IaaS "Infrastructure as a Service", so they would have the flexibility to manage the network, have entire storage work as a pool to service and computing power can be distributed as needed. This is important in…

Red Hat JBoss xPaaS - When xPaaS meets DEVOPS - Part One

This is post is the content of one of the short session I spoked in Japan. and strictly just my opinion.

When I was a enterprise architect (long ago in Taiwan), I'm in-charge of several application in the company, we receive a large number of user requirements per month.  There were about 10 developers in my teams, every time we push out a release, we always deploy it on a testing environment. Depends on if we are busy, we often have many versions deployed on testing environment. But the process of going through to create one is really painful. The developer needs to wait few days for resource to create and properly configured. Worst is the amount of forms and estimation stats, configuration documentation the developers needs to fill in. And when the code has finally reaches the production, it's time for the operation team to worry. If, by any chance, something went wrong in the production, became operation's biggest nightmare. They need to figure out what was really happen…

JBoss Fuse - Error Handling workshop

This time I want to talk about the error handling in Camel, when there is calculation, there will be exceptions. I know 99% of the time, it doesn't go the exception, but we don't want this 1% to screw up our entire application. So it is rather important to handle these exceptions carefully.

In Camel, there are three main ways you can handle exceptions,

Error Handler, any exceptions in the message will trigger this handler, so normally I'll use this for a more general base error handling.

On Exception captures the specific exceptions and can then apply different ways to redeliver messages. I often use this with Error Handler, so the on Exception handles the exception that I want to deal with specifically, and let the Error handler handles the rest of other possible errors.

Try and Catch works exactly like what is does in Java, you can use this to handle errors in any particular sections in your route.

The three error handling methods can be define in different scopes. For bo…

JBoss Fuse - Tips, Offline Repository in Fuse

JBoss Fuse relies very heavy on maven, as it uses maven to control the dependencies for projects and jars it is using. Most of the repository settings can be found in this configuration file:

Under $FUSE_INSTALL_FOLDER/etc/ org.ops4j.pax.url.mvn.cfg

Inside this file, take a look at 2 configurations,

org.ops4j.pax.url.mvn.defaultRepositoriesorg.ops4j.pax.url.mvn.repositories Or if you are using fabric, the same settings are available under in your  default profile.

The org.ops4j.pax.url.mvn.defaultRepositories, sets the location of the local repository for your Fuse to look up.  The default location are under the system folder.

And of course org.ops4j.pax.url.mvn.repositories are the external repository settings for your fuse to scan. Here are the list of default repos. But there are often time where you don't have limited access to…

JBoss Fuse - Fuse workshop 101 - Part Six

This is the last part of Fuse workshop 101, we have gone through the development part, what about in real production environment? This workshop is all about the operation and management side of JBoss Fuse. The technology we use for this purpose is called Fabric8. Fabric8 mainly takes care of  provision, automate, configure, and manage from a central location. Since in real production environment, we will need to manage tens and hundreds of Karaf containers, we need a way to coordinate between containers and to be able to discover all the available service on them, this is where zoo keeper comes in. To discover all the service, we have a place to store all the runtime information, it's call runtime registry. And all the configuration for containers are grouped into something called profile, where you can apply the profile to sets of containers. Hawtio is the GUI for you to visualize the entire environment. 
So to provide this fabric service, we will need a server to actually run t…