Hi Claus,

I understand that the java beans is the current metamodel. Creating meta
model any other way is not that difficult. For instance i have created a
custom component for which i did declare a schema and that is also backed by
a bean as well. So if any tool would want to use my custom component then
the tool can very easily use the schema to then probably convert it into an
EMF model which improves the usability of the component from a graphical
visualization stand point.

Similar thing can be done for other components as well. Having annotations
to do this would be tricky as i agree with you that the optional/mandatory
attributes are dependent on the enclosing context.

IMO it is important to develop tooling around Camel so that it can be used
in a much easier manner using a design tool probably based out of eclipse or
any other technology. This also makes sense as in bigger organizations the
flows are first designed as BPMN flows representing business processes and
then detailed routing and messaging flows are designed using EIP exposed by
camel. It would then be imperative that camel exposes metamodel other than
the bean metamodel for individual components so that an EMF model for
instance can easily be created.

Best Regards,
Madhav

On Mon, Jul 11, 2011 at 4:55 PM, Claus Ibsen-2 [via Camel] <
[email protected]> wrote:

> On Mon, Jul 11, 2011 at 11:16 AM, unmarshall <[hidden 
> email]<http://user/SendEmail.jtp?type=node&node=4574711&i=0>>
> wrote:
>
> > Hi Claus,
> >
> > I have already seen the model package in camel-core. I still do not see
> any
> > metamodel for components. Endpoint configurations are based on URI
> > configurations which can very easily change from one release to another
> and
> > pretty hard to track.
> >
> > IMO Camel still lacks the definition of metamodels for components (like
> > File, JMS, Cxf, etc..). It should define a standard way to expose the
> > metamodel for any custom component so that all optional/required
> properties
> > can then be easily tracked.
> >
>
> The components and endpoints uses java beans as their meta model.
>
> Its frankly not easy to setup a meta model where options can be marked
> as mandatory. As often options is dependent on other options etc.
>
> Also we want it to be dead easy for end users to create custom
> components / endpoints how they like it.
>
> That said I think there is an old JIRA about if we should add some
> annotations or some restlet representation of the endpoints so tooling
> can use that.
>
> There is a @Required annotation end users can use to add to the java
> beans on the endpoints to mark that option as mandatory.
>
>
> > Best Regards,
> > Madhav
> >
> > On Mon, Jul 11, 2011 at 2:31 PM, Claus Ibsen-2 [via Camel] <
> > [hidden email] <http://user/SendEmail.jtp?type=node&node=4574711&i=1>>
> wrote:
> >
> >> On Mon, Jul 11, 2011 at 10:21 AM, unmarshall <[hidden email]<
> http://user/SendEmail.jtp?type=node&node=4574360&i=0>>
> >> wrote:
> >> > Hi All,
> >> >
> >> > Is there any effort being put in developing a camel metamodel which
> can
> >> then
> >> > be used to create camel routes during design time using a graphical
> >> editor?
> >> >
> >>
> >> There is already a metamodel, its in the model package of camel-core
> >> (eg all the xxxDefinition classes).
> >>
> >> Thats what the Java DSL, XML DSLs, Groovy DSL, Scala DSL, uses the
> >> build the camel routes.
> >>
> >>
> >> > I have seen the graphical editor from fuse source, but it is not based
> on
> >>
> >> > any meta-model. In fact it is not even a generator and it still
> requires
> >> > users to know all possible properties for any endpoint. It is just a
> >> > graphical representation of a Spring XML based camel routes.
> >> >
> >>
> >> Fuse IDE uses the Camel metamodel from the model package. Its just
> >> that the 1st release supports the XML DSLs at first.
> >> The other DSLs will be supported in future releases. Well in fact at
> >> runtime the Fuse IDE can visualize any kind of Camel runtime,
> >> regardless which DSL you used to create the model. Its just the
> >> current design editor in Fuse IDE is targeted to support XML DSLs at
> >> first.
> >>
> >>
> >> > What we are looking for is to allow users to graphically create camel
> >> routes
> >> > and then depending on the user choice generate Spring XML
> representation
> >> of
> >> > the camel context or DSL of choice.
> >> >
> >>
> >> There is two vendors doing this already, where FuseSource is one of
> >> them. So its definitely possible.
> >>
> >>
> >> > Best Regards,
> >> > Madhav
> >> >
> >> > --
> >> > View this message in context:
> >>
> http://camel.465427.n5.nabble.com/Camel-metamodel-tp4574253p4574253.html
> >> > Sent from the Camel - Users mailing list archive at Nabble.com.
> >> >
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> FuseSource
> >> Email: [hidden email]<
> http://user/SendEmail.jtp?type=node&node=4574360&i=1>
> >> Web: http://fusesource.com
> >> Twitter: davsclaus, fusenews
> >> Blog: http://davsclaus.blogspot.com/
> >> Author of Camel in Action: http://www.manning.com/ibsen/
> >>
> >>
> >> ------------------------------
> >>  If you reply to this email, your message will be added to the
> discussion
> >> below:
> >>
>
> >>
> >>
> >
> >
> >
> > --
> > When I tell the truth, it is not for the sake of convincing those who do
> not
> > know it, but for the sake of defending those that do
> >
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/Camel-metamodel-tp4574253p4574396.html
>
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: [hidden email]<http://user/SendEmail.jtp?type=node&node=4574711&i=2>
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
> http://camel.465427.n5.nabble.com/Camel-metamodel-tp4574253p4574711.html
>  To unsubscribe from Camel metamodel, click 
> here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4574253&code=dW5tYXJzaGFsbEBnbWFpbC5jb218NDU3NDI1M3wtMTc2MDU2OTg4NA==>.
>
>



-- 
When I tell the truth, it is not for the sake of convincing those who do not
know it, but for the sake of defending those that do


--
View this message in context: 
http://camel.465427.n5.nabble.com/Camel-metamodel-tp4574253p4574760.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to