Good Article on ‘Practical SOA Using WCF’

http://blog.netshock.com/post/Practical-SOA-using-WCF.aspx

I definitely like the event-driven-architecture discussion.  Just recently I was asked about how to link a couple of services together.  It was described as ‘orchestrating’ but in essence, it was creating yet another service to sit in front of 2 and make 2 service calls and combine the data in return…

Which in this read, you can see he points out:

The bigger question is how are these services linked (or coupled) together? …

Your two choices would be EDA (event-driven architecture) or a "product" service.  The former is the preferred method as the latter creates a single service (providing a potential single point of fail) which orchestrates interaction between the various services.  The former is an architecture based on services publishing certain events which other services may subscribe to

The patterns I see emerging here is SOA kept loosely coupled, etc… leads to a need for event-driven-architecture… which then leads to the need for an enterprise service bus.

SOA –> EDA –> ESB

And then ESB is about business process modelling BPM

SOA –> EDA –> ESB –> BPM

So, that leads me to solutions like NServiceBus.  They have actually a good article on NServiceBus and WCF.  I’ve mentioned others here like MassTransit, and I know Ayende has his RhinoBus.

Trying to decide which route to take.  I’d prefer more convention over configuration if possible…

Udi (create of NServiceBus) describes the architectural principles :

Service-Oriented Architecture and Event-Driven Architecture together
provide the basis for identifying where NServiceBus should be used.

I’m going to plug Mass Transit as well – (Chris Patterson blogs about Mass Transit)

I’ll end with this last quote:

Strategic Domain-Driven Design helps bridge the Business / IT divide
and drives the choice of business events published using NServiceBus.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s