The Architect´s Napkin

Software Architecture on the Back of a Napkin
posts - 69 , comments - 229 , trackbacks - 0

My Links



Post Categories

June 2008 Entries

Software cells as asynchronous islands of code
During the first phase of architecting a software you try to break up the "application blob" in OS processes. They are the corner stones of any application. You can view them as large software components: usually they are binary, they are defined by explicit or visual contracts, they are units of deployment and maybe even re-use. Because identifying the OS processes in your application is so important, I might have emphazised the notion of a software cell being an OS process a bit too much. You might ......

Posted On Sunday, June 22, 2008 3:47 PM | Comments (5) |

Set the logic free
The main concern of software cells is how business logic is distributed. But as I write "business logic" I don´t really feel comfortable. The term sounds as if software cells were just a tool to help modelling business applications - as opposed to games or compilers or infrastructure. But right to the contrary: software cells claim to be a universal meta model for software. You can model any software with them. That´s why I don´t like to use the term "business logic". I prefer the neutral and unqualified ......

Posted On Tuesday, June 17, 2008 7:32 PM | Comments (0) |

Napkins: A tool for the trade
You know how that is when you start to immerse yourself into some new subject and all around you related stuff suddenly seems to sprout and blossom. Stuff you had never seen before and you doubt, existed before. This is happening to me right now. Until a couple of days ago, I was not much concerned with napkins. Pretty much they were below my concious radar. I used them when appropriate, but otherwise gave them not much thought. Except maybe for not liking napkins out of real fabric much. They are ......

Posted On Saturday, June 14, 2008 11:52 AM | Comments (2) | Filed Under [ Why a napkin? ]

Software cell - What´s in a name?
Software cells to me are the basic building blocks of software in the large. Don´t think in smaller terms as a software architect - at least at first. Keep your planning on the process level or above, e.g. on the service level. Services - as in SOA - can be depicted as software cells, too. You can think of a service as a composite consisting of several smaller software cells. As peel away the layers of your software system, your application starting from the top, i.e the whole application... ......

Posted On Friday, June 13, 2008 10:07 PM | Comments (6) |

Software cells as large scale building blocks
The basic building blocks of software when you start architecting it are... well, not classes, and no UML packets either. I believe it should be something more high level and general. Classes are too fine grained to be used as architectural modelling elements. No chip architect would start planning a new processor by arranging single transistors, and no building architect would plan a house by thinking about where to place each brick: Such a detailed view of a house might be nice for home owners ......

Posted On Thursday, June 12, 2008 5:23 PM | Comments (6) |

How to fill an empty napkin
Before I bore you with some theory let me quickly show you, how I think you can fill any (!) empty napkin in a minute with a meaningful sketch of a software system, be it completely new or already 30 years old, whether it´s object oriented or all assembler code, and regardless of its size. Imagine your boss calling you in to talk to you about a new software project. He explains to you his grand vision of a one-size-fits-all "Hello, world!" program. And you can´t hold back your excitement. What a ......

Posted On Wednesday, June 11, 2008 10:45 PM | Comments (8) |

Don´t try to impress with your drawings!
Why did I choose the napkin to promote as a canvas for software architectural drawings? To be honest, except for my general belief in the virtues of simplicity it´s also somewhat a hommage to a book I recently read: The Back of the Napkin: Solving Problems and Selling Ideas with Pictures. Dan Roam impressed me with his creativity and his ability to depict the essence of all sorts of stuff in clear and simple pictures - all fitting on the back of a napkin. Before I´ve read his book I either did not ......

Posted On Wednesday, June 11, 2008 1:06 AM | Comments (0) | Filed Under [ Why a napkin? ]

Welcome to my new blog on .NET software architecture. I set it up as a journal for my work on a book I plan on making architecting or modelling .NET software easier. For the past 2-3 years I developed a small system or method or view on how I think developers should approach planning and implementing the structure of a software. Sure, there are already many guidelines as to how one should design software - but still developers feel uneasy when standing in front of a blank flipchart. At least that´s ......

Posted On Tuesday, June 10, 2008 11:47 PM | Comments (5) |

Powered by: