Tag Archives: architecture

Architecting the Internet of Things

Some highlights from the “Architecting the Internet of Things” by Dieter Uckelmann et al.

IOT requires an open, scalable, secured and standardized infrastructure to allow for person to object and object to object communication. As the cost of infrastructure goes down the amount events that can be tracked through sensor data will increase resulting in deep immerging of technologies in our day to day live.

IOT evolved and is evolving:

  1. Intranet of things
  2. Extranet of things
  3. Internet of things
  4. Internet of things and people

How to create web 2.0 or the social web? It is al about sharing: sharing becomes the norm. The financial and non-financial incentives of sharing according to the laws of information:

  • Information can be shared with other without it losing its vale.
  • The value of information increases with it use. Unused information does not provide any value.
  • Information is perishable and the value decreasing over time.
  • The value of information increase with its accuracy.
  • The value of information increase with it is combined with other information.
  • More information is not necessary better. Relevant information is.
  • Information is not depletable.

97 Things Every Programmer Should Know

Advice from 97 experts combined in one book full of wisdom is the one-line summary for “97 Things Every Programmer Should Know” by Kevlin Henney.

The book focusses on all aspects of software development.

The topics it covers are:

  • Bugs and fixes
  • Build and deployment
  • Code guidelines and code layout
  • Design principles and coding techniques
  • Domain thinking
  • Errors, error handling and exceptions
  • Learning, skills and expertise
  • Nocturnal and magical
  • Performance, optimization and representation
  • Professionalism, mindset and attitude
  • Programming languages and paradigms
  • Refactoring and code care
  • Reuse versus repetition
  • Schedules, deadlines and estimates
  • Simplicity
  • Teamwork and collaboration
  • Tests, testing and testers
  • Tools, automation and development environments
  • Users and customers

 

“Architectures: The Good, the bad and the ugly” Miha Kralj

 [MS Techday 2009] Summary “Architectures: The Good, the bad and the ugly” Miha Kralj

What is architecture?
Architecture is about models and all models are flawed but some are useful i.e. patterns & anti-patterns.

What about architects?
The arrogant Architects suffer from the McKinsey Syndrome:

  • We know it all, we don’t need to listen.
  • They don’t know what they really want.
  • Just a cookie-cutting redelivery.

How much architecture?
A rule of thumb says 1 page of functional requirements results in 4 pages of technical requirements.

Measuring results!
Measure results to avoid a softie-softie approach i.e. the project is finished when the customer is happy.

What about home-grown application?
Avoid them! The bosses?nephew has built something your boss likes so it must be installed as enterprise product.

What about scalability, security … ? If you don’t think about these things upfront they are a nightmare to add lather on.

Only the best is good enough!
The best-of-breed:

  • The best DB is from Oracle
  • The best directory is from Novel
  • The best distributed transaction manager is from IBM

The problem is how to get all those best-of-breeds to integrate?

The anti-pattern is vendor lock-in: buying everything from the same supplier.

Not invented here!
We can do it better syndrome. Maybe an out-of-the-box product is just good enough!

The anti-pattern is called the Golden Hammer. Use the same product in every occasion were it remotely seams applicable: just whack it with the same architecture.  We have created this nice enterprise library and now we going to use it everywhere.

Skills of an Architect
Skilled Architects are capable of dealing with ambiguity and uncertainty. They also require a good set of communication skills: listen & talk to peers, to engineers ?IT pro? ?Developers and to the higher hierarchy in an organization.

The Best Architecture versus The Right Architecture
The best architecture is a dream. It is better to be approximately right then working on the ultimate system that never gets delivered. The focus must be on implementable architecture and not a theoretic pleasing architecture. Focus on pragmatism. Architecture is simplicity not intellectual violence.

Wei & Wu Wei!
Uh, what ?!? Make and Not Make. Build something to specifications, nothing more nothing less. But also build something that can grow.

Middle-Out Architecture
This means a layered architecture following the hour-glass representation: a lot of possible uses on the top and a wide range of implementations at the bottom going through a minimalistic interface in the middle results in a timeless architecture.

If you look at some of the thriving business models of the last decennia, they all follow the middle-out architecture model. For example Amazon.Com: in the middle you have AWS or Amazon Web Services opening up access to everyone that wants to integrate with Amazon. Same for live.com with the live api sitting in the middle.

Strategic Thinking Think about why something is done and not only about how it can be done! Be architects and not only engineers! In the future architects can play 3 roles:

  • You can change the world!
  • You can watch the world changing!
  • You can wake up surprised that the world changed overnight!

Another summary you’ll find at https://community.dynamics.com/blogs/navigateintosuccess/comments/10162.aspx