Cloudoscope – a cost profiler for the cloud

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 More

Having fun with LINQ expressions

Having 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 More

Evolving Architectures – Part VI – Simplification

Evolving 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 More

SOA Patterns short status update

SOA 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 More

SOA anti-pattern: Transactional Integration

SOA 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 More

SOA – Contracts, Events and ownership

SOA – 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