Tag: Architecture
Fallacies of massively distributed computing
In the last few years, we see the advent of highly distributed systems. Systems that have clusters with lots of servers are no longer the sole realm of the googles’ and facebooks’ of the world and we begin to see multi-node and big data systems in enterprises. e.g. I don’t think a company such as Nice (the company I work for) would release an hadoop based analytics platform and solutions, something we did just last week, 5-6 years ago.
So now that large(r) clusters are more prevalent, I thought it would be a good time to reflect on the fallacies of distributed computing and how/if they are relevant; should they be changed.
If you don’t know about the fallacies you can see the list and read the article I wrote about them at the link mentioned above. In a few words … Read More »
The Saga pattern and that architecture vs. design thing
It has been few months since SOA Patterns was published and so far the book sold somewhere between 2K-3K copies which I guess is not bad for an unknown author – so first off, thanks to all of you who bought a copy (by the way, if you found the book useful I’d be grateful if you could also rate it on Amazon so that others would know about it too)
I know at least a few of you actually read the book as from time to time I get questions about it :). Not all the questions are interesting to “the general public” but some are. One interesting question I got is about the so called “Canonical schema pattern“. I have a post in the making (for too long now,sorry about that Bill) that explains why I don’t consider it … Read More »
Utility trees and quality attributes
I recently answered this question in Stackoverflow :
What is an utility tree and what is it’s purpose in case of Architecture tradeoff analysis method(ATAM)?
I did answer the question there but here’s a better explanation with lots of examples base on the initial version for chapter 1 of SOA Patterns (which didn’t make it into the final version of the book).
There are two types of requirements for software projects: functional and non-functional requirements. Functional requirements are the requirements for what the solution must do (which are usually expressed as use cases or stories). The functional requirements are what the users (or systems) that interact with the system do with the system (fill in an order, update customer details, authorize a loan etc.).
Non-Functional requirements are attributes the system is expected to have or manifest. These usually include requirements in areas such as performance, … Read More »
SOA Patterns status update
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 »

