Upcoming webinar - Using Apache CXF with Camel in ServiceMix

FuseSource continues its 3-part webinar series about using Apache CXF. The first webinar covered how to do webservices with CXF which I blogged about previously. Now in the 2nd part Adrian covers how to use CXF wtih Camel running in Apache ServiceMix ESB.

You can read more about the schedule and register at the FuseSource website. The webinar is scheduled for March 3rd and we have sessions for both EMEA and US. The webinar is free, all you have to do is to register here.


MyBatis component in Apache Camel 2.7

I have been a fan of the iBatis SQL mapper for a long time. And been using it in it's early days, when Clinton Begin started the project. I even think there was (or used to be) a few patches in the iBatis source code from me, from its early days. It's still running out in Shanghai in the grand custom clearance system I helped develop back in 2003.

As you may know the project team behind iBatis moved to a new home outside Apache and named the new project MyBatis. I have wanted to create a camel-mybatis component for some time. Now that the Camel in Action book is done, I have more spare time to work on some fun stuff.

So in Camel 2.7 we have added a new camel-mybatis component which works similar to the existing camel-ibatis component. This should allow you to more easily migrate off the iBatis to the MyBatis.

You may ask why I am in favor of iBatis/MyBatis. Well one of the reason its simple and it does exactly what it's told to do. And it gives you, the end user, full power. I have seen to many projects picking an ORM such as Hibernate / JPA for any database access, and then crumple into misery.

Especially in integration scenarios where you have use-cases to maintain data in an existing scheme, then using plain SQL (with Spring SimpleJdbcTemplate) is a good solution. Even a stored procedure may remedy some use-cases where a complex query has to be executed fast and being optimized on the target database. If there is a bit more database work in need then using MyBatis is a great SQL mapper which still gives you the full power of the SQL, but makes it dead easy to map ResultSet to/from Java objects.

At Javalobby there was a discussion about people using plain JDBC. If you take a look at some of the comments, then not everybody is in favor of ORMs. I strongly suggest to think twice when using an ORM.


Apache Camel 2.6 released

I got a little behind on my Camel blogging.

Recently we released Apache Camel 2.6, as posted on the Camel website.

Here is my highlights:
- Vastly improved OSGi blueprint
- Fixed some issues running Camel in OSGi
- Improved when deploying multiple Camel apps in the same JVM. There could potentially be a naming clash in the JMX server. Camel now mitigates this automatically by re-assigning naming to avoid the clash.
- Processors and custom beans is now enlisted in JMX if they are part of an route.
- Threads pools now uses better naming in JMX which makes it more obvious where the pool is in use
- Property placeholders in XML DSL can now be used in attributes for the EIPs as well (for the string typed attributes).
- You can use the keys from Exchange in the XML DSL directly. Eg: Exchange.FILE_NAME. That makes it easier to port between Java and XML DSL.
- Fixed some issues with the Aggregator EIP
- Reduced memory footprint when using Splitter EIP in parallel mode
- Added support for "done" files in ftp/file component as I previously have blogged about.
- Some improvements to JMS in terms of JMSReplyTo
- More checks on startup to validate configuration
- Easier debugging using the Camel test kit
- JDBC based aggregation repository.
- 8 new components and 2 new data formats

The community continues to kick ass, they donated 5 new components, 2 new data formats, and 3 new examples. And and usual the community keep providing patches, report issues, ideas for improvements and as well taking Camel into other communities.


FuseSource launches beta for Fuse IDE for Apache Camel

Fuse IDE will eventually come in a number of different flavors, for different aspects of of integration (Web and Restful services, messaging as well as supporting remote configuration). Initially the first flavour will be for Enterprise Integration Patterns, with direct support for defining integration routes within the excellent Apache Camel. James Strachan and Rob Davies have already blogged about this, but we will also be adding the ability to debug camel routes in the near future.

Fuse IDE for Eclipse

At FuseSource we recommend you always start any integration project first with Apache Camel, but if you want  high availability, distributed routes or simply a managed container to deploy your integration application in, then deploy your camel routes inside ServiceMix.

The focus for FuseSource in 2011 is building even more value for our users, as well as continuing to extend the envelope for innovation through our Apache integration projects of Camel, ActiveMQ, CXF and ServiceMix.

Making development of integration applications even easier with Eclipse based tooling is just one thread of development we are following, as we build on our success of last year.