Hi Jim,

I also am just another plain Camel user.

OSGi and multiple contexts: This is obviously a prime motivation. We
need to view and observe the details of multiple Camel Contexts
contributed by multiple bundles. The spring extender binds
ApplicationContext objects as OSGi services - we want to be able to
view the CamelContext's contained within those ApplicationContext
objects. (This job can be delegated to an CamelContext discovery
interface so the web stuff needn't depend on OSGi)

Detailed Information about Endpoints: Yes, everyone would like more
detailed information about endpoints to be visible. There is
unfortunately no endpoint property discovery model so one needs to
write custom code for each type of endpoint in order to provide
detailed information.  ( I may be wrong here)

Heaviness: Yes, 28 MB is heavy for a simple web-application - as you
pointed out camel-web is not complex and that is not justified for
constrained hardware, virtual machines, micro-instance cloud
environments, etc  and especially when there is no reason for the
same. I am quite certain with Scala, etc, the in-memory cost is higher
too.  Using JAX-RS is fine - but one can use CXF for that and we have
the advantage of a homogeneous licence. JAX-RS is already contained
within the CXF-all bundle which forms part of the camel distribution,
there is no need for taking Jersey and I don't see that
@ImplicitProduces justifies it - one can turn a REST service into a
web-site using extensions on any of the modern browsers if one wishes
to do so.

Graphical Visualization: Some sort of hierarchical graph visual layout
of the camel runtime flows using EIP notation. This can be very
light-weight - a few classes to product a directed acyclic graph model
and a JS renderer based on SVG/Canvas. I have already experimented
here a bit with Spring layout  and got some results - there are  good,
lightweight JS libs that allow this but a hierarchical layout like
Sugiyama looks better.  I am aware of the maven graphviz-based static
plugin but that is quite primitive and does not even link direct
endpoints together. (the last time I checked)

At any rate,  I merely asked the question to see if there was some
user interest and to obtain ideas/suggestions. If so, I would clean-up
and improve the hacky stuff I have right now, add tests, etc and
attempt to contribute it.

Best Regards,
Tarun

Reply via email to