SOA Principles of Service Design book review

I am currently involved in a project that is part of our larger SOA strategy. SOA and related topics is a massive area and I am currently reading everything I can get my hands on to learn more about this complex area.

Sometime ago I was recommended Thomas Erl’s SOA Principles of Service Design (I’m going to shorten this to POSD to avoid RSI) as a good overview/introduction by a consultant I was working with (thanks Dave S!).

It is also worth noting that POSD has a brother/sister book called SOA Design Patterns which is apparently designed to complement & follow on from POSD. I haven’t read it so cannot comment much about this.

soaPOSD

POSD weighs in at just under 600 pages & claims to introduce the reader to SOA principles and concepts, explain design approaches, techniques for maximizing reliability and much more – sign me up!

Despite its length POSD is a straight forward read & the text is broken up with frequent full colour diagrams. The use of colour is actually really nice in a heavy book such as POSD.

In many places the diagrams do a great job of explaining important concepts but I couldn’t help thinking that many were unnecessary and conveyed very little or the data/concepts would be better represented in tabular format. Having content broken up with an unnecessary diagram was a bit frustrating & I found myself flicking through them quickly as say you might those songs/poems in a Tolkien classic.

The book does an excellent job of introducing core concepts & some of the advantages/disadvantages of this style of architecture.

Subjects such as contracts. Schemas etc are given a thorough treatment. I guess at times some of the focus on XML related technologies & approaches can make it feel dated but it certainly doesn’t distract too much from the core concepts/principles.

For me at times the book felt like a school or university text book & I couldn’t help feel the content could be distilled into say a quarter of the size without losing anything. Maybe it’s arrogant to say but I think I could get the important stuff down to around 100-150 pages and lose very little.

A case study is used throughout the book with issues that will be very familiar to any developers/architects currently working with SOA.

I really wish the author has used the case study more and gone into more depth (say similar to Vaughn Vernon’s implementing domain driven design). The case study forms a tiny part of the book in relation to lengthy explanations of abstract principles which would benefit from further pairing with a solid example.

Overall for those new to SOA this book does an excellent job of covering the core concepts, it is easy to read despite its length & the colour diagrams make it nice to read.

I suspect an experienced practitioner probably wouldn’t learn so much from the book – I was familiar with much of the content (which is probably partly be due to some of the awesome people I work with).

Despite some of my concerns I have yet to find a clear introduction to SOA concepts so if you are new to this area you probably won’t do much better.

Overall 6.5/10.

2016 Goals

Each year I like to reflect on the previous year & set new goals.

This blog post doesn’t have too much relevance to anyone apart from me but I have found value in looking back at the previous year and setting myself new goals.

I’d normally try & write this at the beginning of January so it’s probably a good reflection of how busy I have been that i’m doing this early Feb.

This year was a transitional year for me learning how to be a dad to my new daughter.

As a new parent I certainly have a lot less time that I took for granted previously (and less energy) so had to cut back on a few things – this also made me much more selective about what I spent my time on!

Highlights for me of the last year included:

Pluralsight – Edge for Developers course

Microsoft surprised everyone this year with the release of a browser to replace Internet Explorer. Despite a few annoyances and omissions (an extension model was the big one for me as meant no password managers etc) Edge is a massive step forward.

This year I released another course for Pluralsight that has been well received called Edge for Developers concentrating on those changes of interest to developers and site owners.

BuzzConf, Microsoft Ignite and Web Directions

I really enjoyed talking at a new technology focussed conference called BuzzConf on brain computer interfaces. It’s a mix of developer conference, hackathon & music festival.
We are going to be talking to the buzz conf guys about the possibility of running a DDD track at the next buzz conf so watch this space!

It was great to head up to the Gold Coast this year to talk about Microsoft Edge for Developers at Microsoft’s ignite conference.

Web Directions as always was a lot of fun and I enjoyed taking a deep dive into how numbers work in JavaScript.

Black belt in Taekwondo

It was great to reach the level of blackbelt in Taekwondo. I did feel that students were pushed quickly through the grading system & know I would have benefited from additional time spent on some aspects & was under no illusion that I have a long way to go to reach any level of mastery.

blackbelt

Practice Lead promotion

I was promoted to practice lead at my workplace – I really enjoy the opportunity amongst other things to focus on learning whats working and what is not working for our teams, helping teams work closer together, improving our processes, identifying educational opportunities & refining our induction and recruitment processes.

Visit Singapore and the UK

It was great to catch up with family and friends in the UK although flying with a 15 month year old was er not so fun.

House Sale

After putting it off for some time we finally got around to selling our house & will very shortly be moving into a much larger house in a nicer suburb and around 1km from the beach!

Weight Training

I pretty much dedicated the last year to strength based training & worked with a great PT specializing in this area.

Weight training really rewards consistency & although I missed some of my original targets set last year (which were maybe optimistic) I was happy with the progress including a massive increase in deadlift.

One unexpected benefit I found was that heavy weights (especially 1RM squats!) can really test you psychologically and your state of mind can make a massive difference in terms of what you can lift. I believe that practicing something that scares you regularly helps you learn focus skills and be applied to other areas.

I made the following improvements 1RM numbers wise:

  • Deadlift – 102kg -142kg  (over double body weight!)
  • Squat – 87kg – 107kg
  • Bench – 75kg – 85kg
  • Overhead Press – 50kg – 52.25kg

weights

Goals

So for 2016 I have the following targets:

Work

  • I”m currently quite interested in Actor approach and playing with Akka.net. I have a personal project in mind to utilize this for
  • Learn more about F# – I havent revisited F# in a while so think its time for another look
  • React. I haven’t had too much of a play with this yet & intend to work with this as part of my personal project.
  • Talk at NDC Sydney & Microsoft Ignite

Fitness

  • Get back into the Cross Fit/cross training. I focussed more on strength this year and really missed that burn of good cross training workout
  • I’d like to be able to do a bar muscle up by the end of the year
  • Weights – Deadlift to 155kg, Squat to 115kg, Bench to 90kg, Press to 56kg.
  • Get back into healthy eating – my current diets a bit crap which is a mix of laziness & tiredness. I kicked this off with some advice from a friend of mine currently training to be a nutritionist

I wish you all the best for your own 2016!