[jboss-dev-forums] [Design of JBoss ESB] - Re: The message is important!

mark.little@jboss.com do-not-reply at jboss.com
Thu Mar 1 07:31:15 EST 2007


Wow, this topic hasn't been active for over a year ;-)

"driedtoast" wrote : I do like the concept of breaking out the translation of the model from the model. In this approach you can start to imagine the bus taking on a whole service approach internally. 
  | 

Yes, we've been saying from the start that we want to use SOA internally as well as externally to the ESB.

anonymous wrote : 
  | For example,
  | 
  | 
  | Utility Services:
  | 
  |  - TRANSPORT - protocol that is used to connect to services
  |    - JMS
  |    - SMTP
  |    - TCP/IP
  |    - HTTP
  |    - JNDI/Local invocations
  | 

If you take a look at the original architectural requirements I think you'll see this concept in the dispatchers, which are services to all intents and purposes. They receive messages and then do something with them. That "something" may be to augment the message (e.g., add a security context), or it may be to send them to a transport level service for transmission between endpoints.

anonymous wrote : 
  | - FORMAT - format of the resulting or incoming information to the bus
  |    - XML
  |    - JSON
  |    - SOAP
  |    - etc...
  | 

Within the bus we have a normalized message format (actually we support a range and provide implementations of a couple). Other formats make sense when going outside of the ESB, or coming into the ESB, to/from ESB-unaware components. We call the facilitators of those kinds of interactions Gateways.

anonymous wrote : 
  | - ROUTE - Routing of a message based on content or location
  | 

Yes, we have a CBR service.

anonymous wrote : 
  | - CACHE - responds to messages that are flagged cacheable?
  | 

Yes, you could have a cache service through which all interactions for certain endpoints go, exactly like HTTP caches. You could even tie this into CBR.

anonymous wrote : 
  | Auditing and Monitoring Services:
  | 
  | - NOTIFY - Notifications of the messages within the system
  |  
  | - AUDITING  - Storing the message  
  |    - DB
  |    - LOG
  |    - Etc..
  | 
  | 
  | Business Services:
  | 
  | - Actions - Services that are put into the bus for business logic
  | 
  | 
  | The whole thing could be tied together with a BPM strategy.
  | For example,
  | 
  | Transport -> Starts process XYZ
  | Process starts to run
  | XYZ -> FORMAT/TRANFORMATION to MODEL
  | XYZ -> ROUTE
  | XYZ -> CACHE
  |     NO CACHE: XYZ -> ACTION XYZ
  | XYZ -> FORMAT
  | XYZ -> TRANSPORT
  | 
  | 
  | Or alternatively
  | 
  | TRANSPORT - > XYZ 
  | XYZ -> FORMAT/TRANFORMATION to MODEL
  | XYZ -> ROUTE
  | XYZ -> FORMAT
  | XYZ -> TRANSPORT (External service)
  | XYZ -> AUDIT     
  | XYZ -> FORMAT
  | XYZ -> TRANSPORT
  | 

And that's precisely what we're aiming for. We're looking at closer integration with the likes of jBPM or BPEL to drive this kind of flow.

anonymous wrote : 
  | 
  | The idea would be that when a message comes in, the process starts based on the message/service. The service really being a process.
  | 
  | Thoughts?

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

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



More information about the jboss-dev-forums mailing list