As camel component list grows, I can see a lot of components doing similar
things, but every component does things in its own way. A very common
example are key/value components, here are some:

camel-cache
camel-hazelcast
camel-krati
camel-solr
etc.

Each of the components listed above, behaves differently. Each component
uses its own headers. Some components support key/values in the query
string, some others don't and even when they do the names of the query
parameters might be different.

The result is lack transparency/conformity. I think that it would be a
great improvement to abstract some of the key/value concepts (a
KeyValueEndpoint/KeyValueProducer/KeyValueConsumer maybe?) and align those
components so that they all work in a similar fashion.

Some of the components above also use serialization internally in order to
serialize/deserialize key & value (e.g. krati/hbase). For this case data
formats are not a really good fit (imho). I think that it would make sense
to have an abstractions serializer that could be passed to an endpoint that
supports pluggable serialization.

What do you think?

-- 
*Ioannis Canellos*
*
FuseSource <http://fusesource.com>

**
Blog: http://iocanel.blogspot.com
**
Apache Karaf <http://karaf.apache.org/> Committer & PMC
Apache Camel <http://camel.apache.org/> Committer
Apache ServiceMix <http://servicemix.apache.org/>  Committer
Apache Gora <http://incubator.apache.org/gora/> Committer
Apache DirectMemory <http://incubator.apache.org/directmemory/> Committer
*

Reply via email to