Cloudoscope – a cost profiler for the cloud
I am very happy to announce that I am joining CodeValue. CodeValue, as our site says, is the home for software experts. Indeed, the company is built of a group of consultants and we provide mentoring and consulting in the areas of architecture, software development and technology. While I am going to be doing some consulting, the main reason for me to join (and my main role – as VP product...
Read MoreHaving fun with LINQ expressions
I don’t know how many of you need to analyze LINQ queries – but since this took me a few hours to get right I thought I’d save you some of the trouble in case you do. I am working on this pet project of mine (I’ll blog about that soon in a separate post) where I have the need to take LINQ queries and among other things verify that that the sources are from a specific...
Read MoreEvolving Architectures – Part VI – Simplification
[Edited: added explanation of the difference between upfront design with iterative implementation and Simplification] The previous installment in the series talked about leaps as a technique to change the architecture. Leaps are more of a revolution than an evolution and even though they are sometimes needed evolving an architecture is the more interesting topic. This and the next post deal...
Read MoreSOA Patterns short status update
First off, In the previous post I published the Transactional Integration anti-pattern – if you need it for off-line reading you can also get it in PDF form. I am currently writing the “3-tier SOA” anti-pattern and it seems that together with “Whitebox services” anti-pattern it will complete the anti-patterns chapter. The two other anti-patterns in the chapter are...
Read MoreSOA anti-pattern: Transactional Integration
Transactional Integration 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...
Read MoreSOA – Contracts, Events and ownership
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...
Read More


Me elsewhere