In 1999, I started talking about a design pattern I called Autonomous Computing. In numerous presentations, I talked about “Fiefdoms and Emissaries” as constructs commonly used by businesses to accomplish work without trust.
I’ve always regretted not setting this into a paper. Attached is a link to the first draft of a paper called Autonomous Computing that finally, after 22 years, sets these concepts into prose. It’s been updated to describe the messaging pattern more formally as a construct I call a “Collaboration”. Also included is a discussion of how this work can be used to do massively scalable businesses.
My argument is that this pattern of business has been going on for decades and centuries using paper instead of computers. Today, many applications leverage this construct to get their work done.
I’d love to get feedback and commentary to this blog post. The PDF has a version number in the header and line numbers throughout the paper. I’m very interested in discussions about both the concepts (i.e., am I full of crap), and the exposition (i.e., is this confusing).
Thanks for your attention and support!
Pat
Hi Pat. I'd like to think more about syndicated reference data. Particularly, with syndicated reference data, what do you think the role is for auto_increment integer primary keys? I'm thinking that syndicated reference data would prefer natural keys, such as e.g. Part Number 'ZX1234', rather than Part ID 1234 (which, being an auto_increment ID, might vary across syndicated schemata? And if Part ID is not auto_increment then how is it allocated and managed?). But if we do use natural keys for syndicated reference data, then how do we reference them within our own schema? Do we just use the natural key directly in our foreign key table, as, e.g., 'ZX1234', or should we wrap the natural key in our own table and allocate it an auto_increment ID for within our schema..? Also what processes do we have for maintaining and distributing syndicated reference data? Are hard deletions allowed or only soft deletions as with an 'is_deleted' flag? If you wanted to talk more about this I'd be happy to hear from you via your blog of you could email me at jj5@jj5.net. Hope to hear from you. Thanks!
Since teched2002 I’ve used your deck to shape the thinking of my teams around how we thinking about system boundaries and interfaces. Really glad to see this updated new version of the content