Service Oriented Architecture
My book on Service Oriented Architecture patterns is finally published. You can get the ebook on manning’s site. The printed version will be available Sept 7 (can be preordered on Amazon) and the Kindle version/ePub versions will be available on Sept 20th.
I also prepared pages for all the pattern on my site (you can click on the pattern map) which holds a brief description of each pattern and is meant to use as a quick reference. There are a few thing I still need to do there like add the page number for each pattern, provide links to the first and last chapters (which are available for free on Manning’s site), add the anti-pattern etc. but most of the work is done.
What’s really amazing is that Gregor Hohpe agreed to write the forward to the book and what is even … Read More »
I want to say I am delighted but I guess relieved is the right word here - I’ve finally submitted all the book chapters to manning and I’m now doing an editing round on all the chapters (re-adding missing images, update pattern references, fixing typos etc.).
The current (and hopefully final) table of contents is as follows:
Part I – SOA Patterns
Chapter 1 – Solving SOA pains with patterns – an introduction
Chapter 2 – Basic structural patterns
Chapter 3 – Performance, scalability and availability patterns
Chapter 4 – Security and manageability patterns
Chapter 5 – Message exchange patterns
Chapter 6 – Service consumer interaction patterns
Chapter 7 – Service integration patterns
part II – SOA in the real world
Chapter 8 – SOA anti-patterns
Chapter 9 – Putting it all together – a case study
Chapter 10 – SOA vs. the world – how SOA fits with other techs: REST, Cloud and Big data
As part … Read More »
It all starts with a business requirement – as it always should. We have an ordering system (say the same one from the Knot anti-pattern) and the business says they only want to confirm an order to the user if the item is already secured for that order in the stock. From the technical point of view we have 2 separate services – one handles orders the other handles the stock – now what?
Figure 10.1 A vanilla ordering scenario. An Ordering service needs to confirm item in stock before confirming order for customer.
This sounds like a text book case for using transactions but in reality it isn’t. I am going to explain why in a short while but before we go there let’s do a (very) short recap on transactions and distributed transactions.
Transactions basically build on four basic tenets: … Read More »
I recently listened to Udi Dahan’s excellent “Avoiding a failed SOA” presentation from QCON London (it is about an hour long, but it is worth your time). I agree with most of what Udi says except two points. One is that pub/sub is not the only way to go (and you should minimize duplex message). Events and choreography are definitely my preferred way to go since they make it easier to do the right thing – i.e. model the solution correctly, but I believe orchestration based solution can also work. Maybe I’ll expand this in another post – but the point of this one is on the other point I disagree with
Udi presents services (which I usually call business services) which hold within them autonomous components (I usually call these services). The solution offered is based on pub/sub (Inversion of communications pattern) so … Read More »
The formatting on the html version of the nano-services is a bit off (Word to HTML is so much fun) so I am also making it available as PDF.
if you don’t remember
Nonoservice is an Anti-pattern where a service is too fine grained. Nanoservice is a service whose overhead (communications, maintenance etc.) out-weights its utility.
* illustration by verzerk