My company IONA provides support on Apache ServiceMix via a distribution called FUSE ESB available from the Open Source IONA site.
What's in FUSE ESB right now? Well, it's roughly a distribution of ServiceMix trunk. This implies that FUSE ESB is released ahead of the Apache ServiceMix distribution (the latest release is 3.1.1, whereas FUSE ESB is based on 3.2).
Why are you using the latest trunk instead of the most stable branch? Well, mostly because our customers needs some of the latest features available. We take great care of what is in our Fuse branch: we do not necessarily backport all new stuff from trunk. We may also add some specific customer needs inside our own distribution, features that are not present in the trunk version.
So is that a fork? Certainly not :-) We have always supported Apache ServiceMix and we will continue to do so. But our customers have specific needs, so we may need to do custom development or have custom branches for them to fullfill these needs. Over time, we put the features that we consider generic enough back to the community. But this level of support can not be provided in a community driven environment such as the Apache Software Foundation. Let alone the fact that our customers often require privacy regarding their issues or their specific needs, environments and projects, so that it becomes difficult to use the open mailing lists of the community.
So is that a closed source version? No. The Apache License would allow that (quite the opposite of the GPL), but this is not what we aim for. Our process is quite open: as an example, I've recently developed an AsyncBridge EIP pattern for FUSE ESB (see the issue) that will certainly be contributed back to the community...
Hopefully, this blog entry will clarify a bit the IONA policy with respect to the Apache projects it supports and the relationship between FUSE ESB and ServiceMix. Feel free to download it and give it a try...
Friday, 31 August 2007
Whats happening with FUSE ESB
Guillaume has a great post on FUSE ESB...
Friday, 17 August 2007
Podcast on Apache Camel, Enterprise Integration Patterns and 1.1.0 release
I had the pleasure to be interviewed by Dana Gardner, principal analyst at Interarbor Solutions about Apache Camel recently. You can listen to the podcast or read the online transcript. Apologies in advance for any rambling :) - I did enjoy it though.
In related Camel news, the Camel 1.1.0 Release has been cut and voted; its just about to move to the maven repo & Apache mirror system any moment now. Cool beans! It contains numerous new features...
In related Camel news, the Camel 1.1.0 Release has been cut and voted; its just about to move to the maven repo & Apache mirror system any moment now. Cool beans! It contains numerous new features...
- hugely improved Bean Integration to work nicely with beans and Camel; making Camel even less intrusive
- improved Spring XML support using JAXB2 and code-generating a nice XML Schema
- new Enterprise Integration Patterns like Aggregator, Throttler, Delayer
- new Languages Supported such as EL and OGNL
- new Components like VM, Event, Log, Validation, Jing, MSV
- new Examples such as Spring Example, ETL Example and BAM
- improved distributed testing with via the Mock component
- new Camel Maven Plugin for easier running of Camel routes and Examples in Maven
Monday, 30 July 2007
OpenJPA no longer requires mandatory bytecode postprocessing
See OpenJPA no longer requires bytecode processing from Patrick.
Awesome! This makes it pretty trivial to switch Hibernate <-> OpenJPA
Awesome! This makes it pretty trivial to switch Hibernate <-> OpenJPA
Tuesday, 10 July 2007
a pure RESTful way of working with ActiveMQ queues
I've been snowed with the day job but really wanted to reply to niklas's post on A RESTful queue. It looks a great suggestion; I need to catch up on the discussion.
The REST support in ActiveMQ isn't really pure REST; as it uses non-idempotent GETs as a bit of a hack - though it does make it very easy to work with :). I’d LOVE a nice, proper, RESTful API to ActiveMQ. Though properly exposing message queues efficiently over REST while handling concurrency is a tricky problem, but its looking like some consensus is emerging. Niclas's suggestion sounds about right to me too.
Though I guess a proper REST API would involve more complexity on the client side (e.g. having to do a POST then follow a Location header to then do a DELETE or whatever). So even if we had the worlds most RESTful API, some folks might still want to use the non-idempotent GET hack (particularly if they no there's no caches in between :).
The REST support in ActiveMQ isn't really pure REST; as it uses non-idempotent GETs as a bit of a hack - though it does make it very easy to work with :). I’d LOVE a nice, proper, RESTful API to ActiveMQ. Though properly exposing message queues efficiently over REST while handling concurrency is a tricky problem, but its looking like some consensus is emerging. Niclas's suggestion sounds about right to me too.
Though I guess a proper REST API would involve more complexity on the client side (e.g. having to do a POST then follow a Location header to then do a DELETE or whatever). So even if we had the worlds most RESTful API, some folks might still want to use the non-idempotent GET hack (particularly if they no there's no caches in between :).
Ideally I was also thinking we should expose the entire broker on the Atom Publishing Protocol; so an APP client could discover all the queues & topics etc.
Am a bit snowed right now but ASAP I'd love to get a proper REST and APP protocol for ActiveMQ...
My favourite OS X software
It seems more and more fellow geeks are switching to Macs all the time so I thought I'd revamp my old post on recommended OS X software.
Incidentally while writing this post I ended up stumbling on my switching thoughts from 2003, so I guess I've been a very happy Mac user for over 4 years now (which also explains why that first generation 1Ghz G4 that I'm still using while on the road is so sloooowww - I can't wait for my new MacBook Pro to arrive...).
The one big change from my previous recommendations is that I don't use so many rich applications; as I can use the online versions on the move, on my desktop, laptop or phone. So I use Gmail for almost all mail - unfortunately I'm stuck with Mac.Mail for corporate email :(. I use Google Reader instead of NetNewsWire for reading blogs etc.
Since switching to gmail for email; I no longer feel the huge need for a virtual desktop anymore; I've gotten out of the habit. Expose is enough for me, especially on a 30" screen.
So here's my current list of recommended OS X software, excluding Java IDE (which I'm using IDEA but eclipse is good too on the Mac).
To other OS X users out there, whats your favourite software?
Update: here's Charles Millers list - thanks! I particularly like the look of Chax (certainly until Leopard with tabbed iChat).
Incidentally while writing this post I ended up stumbling on my switching thoughts from 2003, so I guess I've been a very happy Mac user for over 4 years now (which also explains why that first generation 1Ghz G4 that I'm still using while on the road is so sloooowww - I can't wait for my new MacBook Pro to arrive...).
The one big change from my previous recommendations is that I don't use so many rich applications; as I can use the online versions on the move, on my desktop, laptop or phone. So I use Gmail for almost all mail - unfortunately I'm stuck with Mac.Mail for corporate email :(. I use Google Reader instead of NetNewsWire for reading blogs etc.
Since switching to gmail for email; I no longer feel the huge need for a virtual desktop anymore; I've gotten out of the habit. Expose is enough for me, especially on a 30" screen.
So here's my current list of recommended OS X software, excluding Java IDE (which I'm using IDEA but eclipse is good too on the Mac).
- QuickSilver. I love it; though only really use it for starting up applications & tend to use it instead of the Dock
- text editor: TextMate
- for terminal stuff iTerm rocks. I love tabbed shells (though maybe Leopard might have this too in Terminal)
- for creating diagrams OmniGraffle is awesome. It can even open DOT files. Also if you have some open source which creates visualisations in DOT files, then the OS X version of GraphViz rocks - as it monitors the DOT file in real time and re-renders the graph in a surprisingly flicker-free way. I've used this with some customers to watch ActiveMQ clients startup visually as they deploy their applications.
- irc: X-ChatAqua
- xmpp: iChat
- MenuMeters for neat monitors of CPU, disk, network etc on the menu bar (I'm quite fond of the graph view for CPU usage)
- VoodooPad is a WYSIWYG editor for wiki-ish things which I'm hooked on. I just wish it auto-sync'd with GDrive :)
- ByteController for a nice little iTunes controller on the menu bar; so you don't have to switch windows when the phone goes or you wanna forward to the next track etc
- RadioLover for recording internet radio & installing it into your iTunes library; though if you're not careful you'll end up with a monster library :)
- Clutter is cool to play with your new monster iTunes library :)
- Growl for notifications of things (like IRC posts etc)
- Google Notifier for easy access to your calendar etc
- I tend to use gCal for calendering but sync it with iCal
To other OS X users out there, whats your favourite software?
Update: here's Charles Millers list - thanks! I particularly like the look of Chax (certainly until Leopard with tabbed iChat).
Tuesday, 3 July 2007
using TextMate to edit text in any Cocoa application
Many thanks to noodl for commenting on my previous post; turns out you can use TextMate to edit any Cocoa application. As noodl said...
Great stuff!
for editting text in TextMate from any cocoa application, see:
http://macromates.com/blog/2006/textmate-tricks/
"As noted on the blog, you need to install the Edit in TextMate input manager, which is done by clicking the gear menu in the status bar (inside TextMate), navigating to the TextMate submenu and selecting Install “Edit in TextMate”…"
And for firefox:
http://macromates.com/blog/2007/edit-in-textmate-from-firefox/
Great stuff!
Sunday, 1 July 2007
useful firefox plugin: Its all text!
For editing large wiki pages or big emails in gmail I find this fireFox plugin amazingly useful. Its all Text! Then just use your favourite editor; such as TextMate on OS X to edit text areas in any web page whenever you like. Neat!
Thursday, 28 June 2007
The iPhone looks amazing!
Ever since buying my first mac, the 1Ghz 17" Powerbook when they first came out (and its still going strong, although very very slowly :), I've been a self confessed Apple fan.
I thought the iPhone looked really cool & was drooling over it from the first time I heard about it and saw the early demos.
But after watching the guided tour and then the keyboard tour I'm amazed! They've done an incredible job getting so many of the little things sorted for the first release; am sure it'll keep on improving too. Things I really like...
I thought the iPhone looked really cool & was drooling over it from the first time I heard about it and saw the early demos.
But after watching the guided tour and then the keyboard tour I'm amazed! They've done an incredible job getting so many of the little things sorted for the first release; am sure it'll keep on improving too. Things I really like...
- the general user interface looks awesome
- SMS support is really nice!
- I love the google maps eye candy :)
- the headphones & the way that little button works is really cool
- I love the double click zoom (or pinch) and double click with 2 fingers zoom out
- turn the phone to switch on cover flow; nice :)
- tons of clever features added to the keyboard (I hope its easier to use than the apple mice I hate :)
Monday, 25 June 2007
More on LazyWeb: using VMWare and maven in a CI tool
more on my previous post on using VMWare with maven builds to run tests on different machine operation system & configurations. I spotted this interesting article on testing using VMWare and perl scripts to spawn different VMWare images and running the tests inside them. So we just need someone to wrap all that up in a shell script that mimicks the mvn script and we're done! :)
BTW Mike made the excellent comment that you could use the Bamboo build number which is a very good idea. (The only downside is sometimes its JMX / RMI ports as well as ActiveMQ ports so its a tad too complex for one single port number). Mark also provided details of how to use the build number in your build - cool beans! Am sure that'll be really useful for other things...
BTW Mike made the excellent comment that you could use the Bamboo build number which is a very good idea. (The only downside is sometimes its JMX / RMI ports as well as ActiveMQ ports so its a tad too complex for one single port number). Mark also provided details of how to use the build number in your build - cool beans! Am sure that'll be really useful for other things...
Thursday, 21 June 2007
LazyWeb: spawning maven builds via VMWare in your CI tool
We're using the cute Bamboo tool from those nice Atlassian chaps to build projects like ActiveMQ, Camel and ServiceMix. Its got some lovely eye candy and reporting stuff.
The problem is, lots of the test cases of SOA projects like ActiveMQ often end up hard coding a port number to do some networking tests. The ActiveMQ test suite is probably one of the worst offenders :). (Yes I know, one day all those test cases should be refactored to use zero to create dynamic ports etc).
So we kinda have to run all of the test cases in a single build queue to avoid the test cases conflicting with each other on ports.
It'd be great if rather than just running mvn clean install or whatever, we could boot up maven in a separate VMWare image, with its own private ports and so forth - so the build runs in a separate virtual box and can't conflict with other tests.
e.g. using vmware-mvn clean install
Even better then, would be the ability to run different kinds of vmware images of maven (java 1.4, 1.5, 1.6 etc, then windows, solaris, linux etc).
If the VMWare ninja could be wrapped up in a command line that looked like the mvn command, this featre would just drop into all the various maven-supporting CI tools (of which there is a fair few; Hudson, Continuum, TemCity, LuntBuild etc). So the caller of vmware-mvn would get the incremental output via stdout; and after the build, the build files would be synced with the caller, so from the CI tool's perspective its just like calling mvn.
The problem is, lots of the test cases of SOA projects like ActiveMQ often end up hard coding a port number to do some networking tests. The ActiveMQ test suite is probably one of the worst offenders :). (Yes I know, one day all those test cases should be refactored to use zero to create dynamic ports etc).
So we kinda have to run all of the test cases in a single build queue to avoid the test cases conflicting with each other on ports.
It'd be great if rather than just running mvn clean install or whatever, we could boot up maven in a separate VMWare image, with its own private ports and so forth - so the build runs in a separate virtual box and can't conflict with other tests.
e.g. using vmware-mvn clean install
Even better then, would be the ability to run different kinds of vmware images of maven (java 1.4, 1.5, 1.6 etc, then windows, solaris, linux etc).
mvn-win-1.5 clean installetc
mvn-linux-1.6 clean install
If the VMWare ninja could be wrapped up in a command line that looked like the mvn command, this featre would just drop into all the various maven-supporting CI tools (of which there is a fair few; Hudson, Continuum, TemCity, LuntBuild etc). So the caller of vmware-mvn would get the incremental output via stdout; and after the build, the build files would be synced with the caller, so from the CI tool's perspective its just like calling mvn.
Friday, 15 June 2007
Tuesday, 12 June 2007
Apache FtpServer available in a maven repo
Niklas mentions that Apache FtpServer is now available in the snapshot maven repo. Great!
As I mentioned in a previous post on mocking network protocols for testing; mocking is great and the next best thing to having a mock is to embed an in-JVM provider of some network service such as for testing JMS. If you want to create integration tests of your FTP logic you might want to take Apache FtpServer for a spin.
We tried using it to unit test the new FTP/SFTP/WebDAV component in Apache Camel and it worked a treat! :)
As I mentioned in a previous post on mocking network protocols for testing; mocking is great and the next best thing to having a mock is to embed an in-JVM provider of some network service such as for testing JMS. If you want to create integration tests of your FTP logic you might want to take Apache FtpServer for a spin.
We tried using it to unit test the new FTP/SFTP/WebDAV component in Apache Camel and it worked a treat! :)
Subscribe to:
Posts (Atom)