[jboss-dev-forums] [Design of JBoss ESB] - Re: Design of a Content Based Routing Service

mark.little@jboss.com do-not-reply at jboss.com
Wed Oct 25 08:26:41 EDT 2006


"ddunkin" wrote : Upgrading to JBossRules 3 will mean rewriting the DSL, which is fine. I haven't looked at how it's done in the new version, but it was dead simple to write a DSL for Drools.
  | 

This would have to be the latest GA version of JBossRules.

anonymous wrote : 
  | What do you mean by "plain java implementation?"
  | 
  | Do you want to support a single language for rule matching (e.g. XPath) or leave it open-ended/extensible? I think that will help define whether or not to support Serializable. It would be cool to be able to specify a rule using EL on a POJO graph and XPath on an XML document. I guess it wouldn't really matter as long as the RHS of the rule fulfilled some contract like asserting a Destination to working memory.
  | 

It would be good to support both. As I've said in another posting, we're letting people add their own Message formats for on-the-wire, so although we can initially say CBR only works if you use our XML format, eventually we'll need to put in place a framework to allow users extensibility at this level too.

anonymous wrote : 
  | For my needs, if no rule matches the message, the message router returns an error. I could envision others wanting a default route/destination. I'm not very familiar with the action chain, but could that just be another action for those that require that functionality? I.e. an action after the CBR action would check for a defined destination and set a default if none exists. I suppose that would only work if the CBR service returns an action name instead of forwarding the message.
  | 

Certainly for security and audit-trail purposes I'd agree that "no matching rule == fault" is a good sensible default. Providing flexibility at this level is fine, but needs to be addressed in the context of security: for example, we don't want arbitrary users intercepting messages and routing them to for their own nefarious reasons ;-)

anonymous wrote : 
  | I don't have an immediate need for sending one message to multiple destinations, but I will in the future. The only tricky part about that I can think of is with synchronous messages. If I send a message and am expecting a reply, who do I accept a reply from? My thought would be for synchronous messages to have one primary destination, from which the reply would come, and secondary destinations, which would be sent the message asynchronously. I haven't followed JBossESB that closely -- is there even the concept of synchronous and asynchronous messages?

I think the first question to ask is: why multiple destinations? The answer to that will impact the rest.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3980676#3980676

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3980676



More information about the jboss-dev-forums mailing list