welcome to all

6 views
Skip to first unread message

Alex Ott

unread,
Jan 22, 2011, 6:03:33 AM1/22/11
to hack...@googlegroups.com
Hi all

I created this group and hope, that it allows us to collaborate more
closely on creation of good bindings to Apache Camel library.

I thought about creation DSL-only for Camel, but now I think, that we could
create some basic bindings first, and then build DSL on the base of them.

What do you think? Are any ideas, how DSL could look like?

--
With best wishes, Alex Ott, MBA
http://alexott.blogspot.com/ http://alexott.net/
http://alexott-ru.blogspot.com/
Skype: alex.ott

Sergio Bossa

unread,
Jan 22, 2011, 7:14:37 AM1/22/11
to hack...@googlegroups.com
Hi Alex,

glad to join this group, as Apache Camel is a great tool and having it
as a good Clojure citizen would be great as well.
So hope I'll find the time to actually contribute.

In order to make Camel more Clojure-friendly, possibly building a nice
DSL around it, I think we have two options:
1) Building Clojure macros/functions to wrap the whole Camel Java DSL
into a custom Clojure DSL.
2) Building only a thin Clojure DSL layer on top of the Java DSL,
trying to reuse it as much as possible.

Option #1 is appealing, but given how rich the Java DSL is,
reproducing it in Clojure may take lot of time.
Option #2 may be a good compromise: I also took a look at Tim's code,
and it seems to go in such a direction (Tim correct me if I'm wrong).

So, I think we may go with option #2, and proceed as follows:
1) Thin layer over Camel Context (Tim already started this).
2) Thin layer over Camel RouteBuilder (Tim already started this).
3) Facilities for creating/using Camel Processors (Tim already started this).
4) Facilities for creating/using Camel Components.
5) Facilities for related stuff such as body/headers checking,
exception management and so on.

Thoughts?
Cheers,

Sergio B.

--
Sergio Bossa
http://www.linkedin.com/in/sergiob

Alex Ott

unread,
Jan 22, 2011, 7:27:17 AM1/22/11
to hack...@googlegroups.com
Re all

On Sat, Jan 22, 2011 at 1:14 PM, Sergio Bossa <sergio...@gmail.com> wrote:
> In order to make Camel more Clojure-friendly, possibly building a nice
> DSL around it, I think we have two options:
> 1) Building Clojure macros/functions to wrap the whole Camel Java DSL
> into a custom Clojure DSL.
> 2) Building only a thin Clojure DSL layer on top of the Java DSL,
> trying to reuse it as much as possible.
>
> Option #1 is appealing, but given how rich the Java DSL is,
> reproducing it in Clojure may take lot of time.
> Option #2 may be a good compromise: I also took a look at Tim's code,
> and it seems to go in such a direction (Tim correct me if I'm wrong).

Please, look onto my try to wrap Camel - https://github.com/alexott/clj-camel

> So, I think we may go with option #2, and proceed as follows:
> 1) Thin layer over Camel Context (Tim already started this).
> 2) Thin layer over Camel RouteBuilder (Tim already started this).

Route builder can configure not only routes themself, but also provide
global configuration option, so we need to find a way to wrap several
expressions into one configure RouteBuilder/configure function

> 3) Facilities for creating/using Camel Processors (Tim already started this).

I wanted to provide 2 ways to make processors - passing a function,
that will invoked (as Tim did), and passing blocks of code, that will
construct body of process function

> 4) Facilities for creating/using Camel Components.
> 5) Facilities for related stuff such as body/headers checking,
> exception management and so on.

--
With best wishes,                    Alex Ott, MBA

http://alexott.net/
Tiwtter: alexott_en (English), alexott (Russian)
Skype: alex.ott

Reply all
Reply to author
Forward
0 new messages