Apache Camel is distributed together with the pretty impressive set of components authored by our wonderful contributors. At this point we provide support for around 150 components and data formats. This is really impressive number which makes Camel the leader among the integration frameworks.
The bigger palette of components we offer, the more often we ask ourselves what will be the best way to handle our Camel herd. Should we keep components under Apache Software Foundation umbrella or should we create independent repository for them? What about the release cycles? Who should be responsible for the quality of the components?
If you are interested in the components-related brainstorm we had on Camel development mailing list you should take a peek at this interesting discussion thread. We would appreciate your opinion in this conversation, as we really want to hear the voice of the end users and community in this regards.
Wednesday, February 20, 2013
Monday, February 4, 2013
We (will soon) drop Scala 2.9 support for Camel
Apache Camel comes with some amazing DSLs out-of-the-box. The one I like the most is Scala DSL. The reason I like it so much is because I'm Scala enthusiast and because mentioned DSL provides Scala-specific extensions to the Java-based Camel route builder.
If you have ever wondered how would it be to write Camel routes just like this...
...then keep in mind that Scala DSL can do you some favor.
At the beginning of the January Scala 2.10 has been officially released. Since the latest version of my favorite language significantly breaks binary compatibility against Scala 2.9, interesting discussion occurred on the Camel mailing list. The key facts resulting from the latter conversion are as follows.
If you have ever wondered how would it be to write Camel routes just like this...
"pop3://user@host" process(_.in = "JMS FTW!") to "jms:queue"
...then keep in mind that Scala DSL can do you some favor.
At the beginning of the January Scala 2.10 has been officially released. Since the latest version of my favorite language significantly breaks binary compatibility against Scala 2.9, interesting discussion occurred on the Camel mailing list. The key facts resulting from the latter conversion are as follows.
- Camel 2.11 will provide support for Scala 2.10 via camel-scala module (the one shipping Scala DSL for Camel so far)
- Camel 2.11 will provide support for Scala 2.9 via new camel-scala_2.9 module. The latter module will marked as a deprecated just after its release.
- starting from the Camel 2.12 or 3.0 (whichever comes as the first) we will drop support for Scala 2.9
If you use Camel and Scala together in the same project, please be prepared that sticking to the Scala 2.9 for a long run might be a problem for you.
Friday, January 4, 2013
Fuse Fabric installation options
If you want to play a bit with the Fuse Fabric, you can start the fun by choosing one of the following options:
- download the Fuse Fabric bundle (which is basically a FuseESB distribution with the pre-installed Fabric support)
- install Fuse Fabric on vanilla Karaf (or ServiceMix) container via OSGI feature
Although installing Fabric on the vanilla container is very temping, this option doesn't work well in the latest stable Karaf/ServiceMix/Fabric releases. Keep in mind however that, according to the information I've found on the mailing lists, the latest development versions of the Karaf/ServiceMix/Fabric work like a charm.
Since deploying snapshot versions of containers to the production is not an option, at this moment I would recommend to stick to the bundled version of the Fuse Fabric.
If you want to use this fine piece of software, you need to migrate your configuration to so called Fabric profiles anyway. With created profiles, migrating from vanilla ServiceMix to Fabric bundle is not a big deal.
Thursday, December 27, 2012
Kosher Ubuntu 12.10 - Full media support
Ubuntu comes with almost ready-to-go Desktop operating system. Almost, because my favorite Linux distribution separates free and non-free software packages. This is especially visible when comes to the media codecs support, since the latter are often released under restrictive licenses.
In practice, you need to add additional bundles repository and explicitly install some packages from it. Also some of the restricted packages you would like to download are available in the standard repository.
Start with adding Medibuntu repository to your system...
In practice, you need to add additional bundles repository and explicitly install some packages from it. Also some of the restricted packages you would like to download are available in the standard repository.
Start with adding Medibuntu repository to your system...
sudo -E wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list sudo apt-get --quiet update sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring sudo apt-get --quiet updateThe command below will integrate Medibuntu packages with your Desktop even tighter (by adding Unity lauchers and so forth).
sudo apt-get install app-install-data-medibuntu apport-hooks-medibuntuNow install codecs with closed licenses...
sudo apt-get install w32codecs win64codecs ubuntu-restricted-extrasIf you watch movies from DVDs on your computer, you would like to have installed support for the encrypted ones (i.e. the majority of the positions available on the market).
sudo apt-get install libdvdread4 sudo /usr/share/doc/libdvdread4/install-css.shAfter applying all the steps above, non-free media and Ubuntu will become friends again.
Sunday, December 23, 2012
Kosher Ubuntu 12.10 - Broken wireless network
After you install Ubuntu 12.10 and update the installed packages to the latest version, your machine will stop to find wireless networks. Unfortunately the latest kernel update for Ubuntu doesn't work well with Broadcom (BCM) wireless network chipsets.
What you need to do is connect your computer to the wired network, download kernel headers...
...rebuild and reinstall your wireless network chipset module...
...and finally reload the mentioned module.
Now do enjoy your wireless network again.
What you need to do is connect your computer to the wired network, download kernel headers...
sudo apt-get install linux-headers-generic
...rebuild and reinstall your wireless network chipset module...
sudo apt-get install --reinstall bcmwl-kernel-source
...and finally reload the mentioned module.
sudo modprobe wl
Now do enjoy your wireless network again.
Sunday, November 18, 2012
Design consensus - the Apache way
The ways to lead the team
- Supervision. You control people in your team. You tell them what to do. You make a decisions for them, which you order to execute.
- Democracy. You are equal to the others engineers in your team. Your voice in design and architectural issues is equal to the voices of the others in the team.
As we well know, the bad team leads supervise their team. Good team leads serve their team and help them to perform.
The flaws of democracy
Democracy in a team is good as long as all the team members are equally motivated, experienced and mature software professionals.
And what about new team members? They don't know the culture of your team yet. They need time to learn how people in the team works and what are the standards within in.
What about the responsibility? Your team works for somebody. Who should take the responsibility in the front of the business holder in the case of the failure? Who approves the critical decisions and takes responsibility for them?
The Apache way to lead the team
However PMCs don't give the orders to the committers. They work with the committers on regular basis instead. But in the case of design or architectural disagreement, PMCs are the ones who decide.
In order to become a committer, you need to work with the project team as a contributor. While being a one, you got no decision voice in the discussion. The is the time you learn the project and the way the Apache works.
I like to think of the good team as of the little Apache project. With a tech lead being the PMC, regular team members being the committers and team newcomers being the contributors.
Wednesday, November 14, 2012
Choose your weapon - wiki tools
So you feel bad about not using wiki, as you ought to? You wanna change it? You need a recommendation for the great wiki tools? I can recommend two of them.
- Google Sites - free wiki from Google. Perfect choice if you need to save some money and can keep your data in the cloud (people in corporations not always can).
- Confluence - great product from the great company named Atlassian. We use it at the Apache Camel. Can can host private instance of Confluence starting from 10$ per year (or pay Atlassian 10$ per month to use their cloud).
I've also worked with Alfresco and JSP Wiki, however I don't recommend them. Too complicated and unintuitive comparing to the Google Sites and Confluence.
I'm curious about your experiences with wiki tools. Any feedback will be highly appreciated. :)
Subscribe to:
Posts (Atom)