Sunday, January 30, 2011

My top company web sites

Together with ioGreen guys we're working on our new web site. The key issue about it's new version is that it need to be more business-oriented and "serious".

We decided that each of us have to find five of his favorite company pages. Then we will compare them and choose the best.

Here are my top 5 for this moment (in order). Please note that pages are intended to be "serious" in design. No magic minimal web pages from Site Inspire.
I prefer lightweight and minimal web design. However Java middleware-oriented companies use to be serious and heavy in design. There are many spiffier pages. But my top pages find good balance between business (heavy) and lightweight web design.

Your favorites?

Sunday, January 16, 2011

Wetware - My learning schema

Inspired by SQ3R learning method described in Refactor Your Wetware. Here is the learning method that works best for my humble person:
  •  acquire learning resources about the topic you want to learn. Buy books, download articles, podcasts, Youtube videos, search in Google Reader and so on.
  • create survey based on the acquired learning resources. Read tables of contents, articles leads, etc. At this point try to specify what do you want to learn (specific objectives).
  • read the content of the resources. How one gets to Carnegie Hall? Meta-learning techniques is the one thing, but you actually have to acquire the knowledge. Read, read and read once again.
  • ask yourself inquiring questions about the content (and write them down). Be courious while reading. Be hunger for the answers. Write down all your doubts that occur during the lecture. Asking the right questions is the form of learning as well.
  • rephrase the content (and answer the questions). Process what you've just read. Try to apply the facts to the questions you asked before.
  • summarize the questions and answers - then write them down.
  • iterate from the first step again if you want to become even better in the topic. 
Key activities regarding the learning process above:
  • asking questions
  • trying to identify the most specific objectives of the learning process
  • reading (listening to) the resources
  • answering your own questions using the rephrased expressions
  • writing down the questions and answers

Tuesday, January 11, 2011

Camel Extra 2.5.0 officially released

Two days ago we released Camel Extra 2.5.0 . It is now available at Camel Extra Maven repository.

There was some problems with Camel Extra being released together with the main Camel distribution. Due to that problems people using latest Camel-Extra modules used to download the Camel-Extra Maven project and build it locally. Such approach was immature and annoying at least. We promise that starting with 2.5.0 release we will always deploy the latest Camel-Extra together with the main Camel distribution. No more mandatory local builds from this point :) .

In order to use the latest stable version of the Camel Extra use the following repository:
<repository>
  <id>camel-extra-release</id>
  <name>Camel Extra Maven repository of releases</name>
  <url>http://camel-extra.googlecode.com/svn/maven2/releases</url>
</repository>

You may ask why Camel Extra cannot be synchronized and hosted in the same repository as main Camel distribution (Apache repository for example). Actually that's good question. But stay tuned - we're working on that issue :) .

Thursday, January 6, 2011

Committed JiBX data format for Camel

I have just committed new JiBX data format to the Apache Camel project.

Camel is an amazing routing engine serving as a core for the best ESB implementation ever i.e. ServiceMix. JiBX is the high performance XML binding library for Java.

Since now you can (un)marshal your Camel messages with out of the box JiBX support, without need to create your custom JiBX components.

New JiBX component will be available with the 2.6.0 release of Apache Camel.

You can use JiBX component with both Java DSL...

// Marshal message to XML using Java DSL.
from("activemq:My.Queue").
  marshal().jibx().
  to("mqseries:Another.Queue");

// Unmarshal message from XML.
from("mqseries:Another.Queue").
  unmarshal().jibx(PurchaseOrder.class).
  to("activemq:My.Queue")

... and Spring DSL...

<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">

  <!-- Define data formats -->
  <dataFormats>
    <jibx id="jibx" unmarshallClass="org.apache.camel.dataformat.jibx.PurchaseOrder"/>
  </dataFormats>

  <!-- Marshal message to XML -->
  <route>
    <from uri="direct:marshal"/>
    <marshal ref="jibx"/>
    <to uri="mock:result"/>
  </route>

  <!-- Unmarshal message from XML -->
  <route>
    <from uri="direct:unmarshal"/>
    <unmarshal ref="jibx"/>
    <to uri="mock:result"/>
  </route>

</camelContext>

Enjoy.