I am really confused by this book. The summary looked really interesting, but I think author failed to deliver on the initial "promise".
I am not sure why I did not enjoy this book much. I think it may be because it was aimed at more junior engineers, it could also be because I did not manage to grasp author's vision and the core message.
SOA Patterns is a good book, especially if you are looking for more in-depth advice on SOA design patterns. Author also manages to covers a lot of issues related to architecture in general, not just SOA specific problems.
Cloud Architecture Patterns by Bill Wilder is a really good book. After some not so amazing reading recently i was much more skeptical when i got this book but it turned out to be a really great read. It is a no-nonsense approach to scalability and cloud software especially if you plan to host your application on Windows Azure.
I have checked out this book to do some more research for my own scalability book and i have to say i was really disappointed. I was really excited to see the table of contents as i thought book would focus a lot on the human and organizational aspect of scalability and it would have some valuable insights into these areas of scalability. Unfortunately it did not manage to deliver.
I have been reading about event processing, message driven architecture and queuing for more than a year now. I think I have had some eureka moments already and got a fairly good understanding of it, but unfortunately I still have not found a truly awesome book on the subject.
Patterns of Enterprise Application Architecture by Martin Fowler was not exactly as i imagined. First of all it was written in early 2000s and you can feel that it got a little bit outdated. Back in 2003 I am sure it was a really great source of patterns and best practices but from current perspective it may be a bit less relevant.
The book has some really good parts and I think every engineer would benefit from skimming through it. Way too often I see engineers with huge haps in important areas as concurrency, distributed systems, decoupling etc. I think there is still quite a lot of relevant knowledge in the book.
First of all i would be lying if i said that i did not like RabbitMQ :) It is a pretty cool piece of software. Having said that, i could be a bit biased in favor of the technology but i will try my best to be objective here.
RabbitMQ in Action is a really nice book. I think Alvaro Videla and Jason Williams did very good job at describing how to use and leverage RabbitMQ in your web applications.
While working with legacy applications and inherently dirty code you have to find creative ways to make things better. Rewriting / major re-factoring are usually not an option as team does not get enough time to do even basic housekeeping, what do you do then?
I have seen sphagetti code way too many times in my life not to call it an anti pattern. One of the main reasons for sphagetti code is allowing any object in the codebase to talk to any other object. In addition it comes hand in hand with usage of global/static scope and leaking information between application layers.
I recently realised that i have been applying the same pattern for a while now. The pattern i propose is an effort to cluster ugliness and relief rest of the code-base from exploding dependencies.
I have been thinking a bit recently how to manage dependencies and how to structure Zend Framework based applications to make the code less coupled, more testable and less dependent on the global scope.
I don't mean to be negative but I am not too happy about the web application structure that most articles and books present. In Zend Framework world controller seems to be the place when things get done. Controller is the workhorse and this is where all the logic seems to be buried. It also seems to me that model in MVC is reduced to database integration but there is no services layer for some reason. Where ever you look you will see the same examples with controller doing all the work and models being simple Zend_Db_Table or Zend_Db_Table_Row instances. You will not see business logic focused classes, Controller or DB Model, thats all you can choose from.
To make it short and clear, I liked the book a lot. From a very begining it is clear that author has a vast experience in software design and development.
There are a few bits that really stand out.
First of all I loved the chapter showin pair programming and minimal effort principles. It is really fun to read and shows some very interesting observations.
About the author
Hi, my name is Artur Ejsmont,
welcome to my blog. I am a passionate software engineer living in Sydney and working for Yahoo!
If you are into technology, you can order my book Web Scalability for Startup Engineers on Amazon. I would love to hear what are your thoughts so please feel free to drop me a line or leave a comment.