ARC315 Zen of Architecture

Juval Löwy was good as usual. This time he talked about his method of producing an architecture for a system.

Here are some of the main parts of Juvals method

  • Simple and effective analysis and design technique
    • Mechanizes design decisions
    • Focuses on the required run-time behavior
  • In 3-5 days
    • System architecture comprising 40-60 diagrams
    • Design validation
    • Vertical slice implementation and demonstration
    • Stress testing
  • Removing design and technology as a risk


  • Time crunch essential for prioritizing, focus and avoiding gold-plating
  • Sharing and capturing across the team
    • Thought process
    • Tradeoffs an insights
    • Use cases analysis
    • Operational assumption
    • Design decisions
  • Design and architecture survival
  • Communicate between architects

Some of the design rules Juval talkes about

One of the most important part of the architecture is to isolate the areas of change and make the areas of change decoupled from the rest of system

Systems are typically designed in layers, even simple systems

Layers are used to layer encapsulation

All cross-layer entities should be WCF services

You only pass the following between layers:

  • Primitives
  • Arrays of primitives
  • Data contracts
  • Array of data contracts

Logic in data contracts should not cross layers

A layer should always authenticate the caller. There is no need to pass the authentication thru layers.

I agree in the most parts with Juval but I think a more domain driven design approach is more useful.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s