Neuron ESB User Network

The Service Bus for the Connected Business

CM

Now you're just talking Semantics

Semantic is one of the more estoric things in the Neuron world. If you never use the Test Client or the API you may not even know it exists...

Semantic has a couple of effects in Neuron. It controls message path and it influences blocking behavior of the Party Publishing. Most Neuron users are impacted by Semantic in the Service Endpoints.

When you use Request-Reply Messaging Pattern with a Client Connector what occurs under the covers is that the Neuron API publishes the incoming message with a Request Semantic. This will make the Party block in the Send method until it receives a reply or times out.

When you use Request-Reply Messaging Pattern with a Service Connector the Service Connector will pass on messages with a Request semantic to the target service and will ignore messages with a Multicast semantic. When you use a Datagram Messaging Pattern the reverse occurs. The Service Connector will ignore Request Semantic messages.

Controlling Semantic can let you do interesting things.. For instance you can chain service calls merely by flipping from Request to Multicast to Request...(set it to Request in the Service Connector Party's On Receive pipeline and then to Multicast in the On Publish pipeline).

If you want to play with Semantic in the API then you can use CreateReplyMessage()..

But before you go Semantic crazy pause...Do you really need to block? Multicast is asynch messaging and that's usually the way go when you have a choice. Request Reply is the pattern of choice for 90% of WS implementations but if you're using the API then you should probably consider seriously leveraging asynch patterns and architecture.

Views: 16

Comment

You need to be a member of Neuron ESB User Network to add comments!

Join Neuron ESB User Network

Neuron ESB Product Support Forums and Communities

Latest Activity

Profile Icon

Sending messages to a Client Connector from an C# Console App

I have an issue with sending messages to a Client Connector from a C# test app. The main issue is that  i never receive a response from Neuron and the Connection Times out. I'm using the sample code from the Scatter-Gather Pattern sample included in the documentation If anybody has any hints on what i'm missing, it would be appreciated.static class Utility {const string _propName = "NeuronServiceList";const string _ns = "urn:xmlns:neuronesb-com:soapheaders";const string _msg = @"…See More
Discussion posted by John Ryan Friday
Profile Icon
ThumbnailThumbnail
AMS and John Ryan joined Neuron ESB User Network Friday
Profile Icon

Scalability MSMQ & Deployment Groups

I have been trying to work out how to configure MSMQ for high availaibility. I think that I need to use Zones, & Deployment Groups to configure the server deployment.  But I am unsure how  I would go about this and what the perfromance impacts are. So let me give you the scenario that I am looking at and you can then point me in teh direction of resources that I need to be able to resolve it. I have 3 High throughput topics that need reliable messaging Service1Service2Service3 Each of these…See More
Discussion posted by Alixx Skevington Feb 7
Profile Icon
Alixx Skevington is now a member of Neuron ESB User Network Feb 6
Profile Icon
Umesh Kumar Maurya is now a member of Neuron ESB User Network Jan 24
Profile Icon
David Gnabasik is now a member of Neuron ESB User Network Dec 16, 2011
Profile Icon

Explanation of Pipelines

Hi Guys,               I need more documentation/info on how pipelines work. It appears that a context is the message that is passing though the pipeline. I want to use a code step to generate a new message to that will be passed to a service step. But I can not find any detail on how to use the context object. Regards,                   AlistairSee More
Discussion posted by Alistair Rigney Dec 7, 2011
Profile Icon
Alistair Rigney is now a member of Neuron ESB User Network Nov 25, 2011

Badge

Loading…

© 2012   Created by Neuron Admin.   Powered by .

Badges  |  Report an Issue  |  Terms of Service