Metropolis:
Interchangeability of Operations
Pat Helland
Partner Architect
Pat Helland
Partner Architect
Microsoft Corporation
Metropolis
Interchangeability of Operations
Outline
 Introduction
 The History of Manufacturing: 1800-1930
 The “American System” of Transaction Processing
 Service-Orientation, Nouns, and Verbs
 The “Armory System” of Transaction Processing
 Achieving Interchangeability of Operations
 “Manufacturing Equipment” for Transaction Processing
 Flexible Mass Production
 Conclusion
Slide 3
Outline
 Introduction
 The History of Manufacturing: 1800-1930
 The “American System” of Transaction Processing
 Service-Orientation, Nouns, and Verbs
 The “Armory System” of Transaction Processing
 Achieving Interchangeability of Operations
 “Manufacturing Equipment” for Transaction Processing
 Flexible Mass Production
 Conclusion
Slide 4
The Term “Metropolis”
• Metropolis
• History
• Looking at the History of Cities, Transportation, Manufacturing,
Retail, Government, and more…
• Trends
• Explaining Current Trends in IT by Examining History
• Predictions
• Predicting Future Directions by Drawing Parallels with History
Slide 5
The Metropolis Analogy
• IT Shops  Cities
• Gradual Evolution in Isolation
• Connection Caused Change!
• Railroads Connected the Cities
• Internet Connected the IT-Shop
We propose that
these parallels show
us a lot about where
we are heading!
• Factories and Buildings  Applications
• Each Building is Part of the City
• Some Buildings Produce Goods
• Some Buildings House Retailing
• Retail  Business-Process
• The Delivery of the Goods
• Sometimes Delivers Goods from Multiple Manufacturers
• Manufacturing Goods  Structured Data and Ops
• Standardization Drove Changes in Manufactured Goods
• It Will Drive Changes in Data and Operations
This Talk
Slide 6
Challenges with Service-Oriented
Architectures
• Explicit Boundaries and Autonomy
• Explicit Boundaries
• You Know What Code and Data Is Inside the Service
• You Know What Code and Data is Outside the Service
• No Confusion!
• Autonomy
• Service-A Is Always Independent of Service-B
• Each Can Be Recoded, Redeployed, and/or Completely Replaced
• As Long As the Schema and Contract
for the Interaction Are Upheld
• Performing Actions Across Trust Boundaries
• Each Service Must Define Its Style of Trust
• Is Your Credit Rating Sufficient to Place an Order?
• What Are the Penalties for Canceling an Order
• Modeled After Real Interactions Across Businesses
Slide 7
The Debate About Transactions
• Some Propose 2-Phase Commit Transactions Across Services
• WS-Transactions Is Part of the Work in that Area
• Others Believe Services Don’t Hold Locks for Other Services
• This Involves a Great Deal of Trust that the Unlock Will Be Timely
• Doesn’t Sound Autonomous and Independent to me…
• The Debate Is About the Definition of the Word Service
• Autonomy and Independence?
• Intimacy across Service Boundaries?
• There Will Be Code Connected by 2-Phase Commit
• Is This the Same Service or Different Services?
• For the Duration of This Talk, I Presume No Cross-Service Txs
• Again, This Is Simply about the Definition of the Word “Service”
Slide 8
Manufacturing History and
Service-Orientation
• Manufacturing: The Transition to Mass Production
• Use of Machines to Create Parts
• Even with Early Machines Hand Fitting Was Required
• Intense Development to Achieve Interchangeability
• Parts from One Gun Interchange with Parts from Another Gun
• The Combination of Machine Creation and Interchangeability Led
to Mass Production
• Computing: The Transition to Service-Orientation
• Attempting to Build Solutions Out of Really Discrete Parts
• Connecting the Parts Requires Interchangeability
• We Will Discuss This in More Detail…
Slide 9
Important Points from This Presentation
Explicit
Boundaries
and Autonomy
The Semantics of Cross Service Operations Must Be
Independent
Agreement Is
Different
Have to Do the “Two-Step”:
Tentative and Confirm/Cancel
Interchangeability
of Operations
-- One Is As Good as the Next
-- Allows Tentative Operations to Accumulate
Against Shared Resources
The Semantics of
Interchangeable
of Operations
-- To Make One Operation Is as Good as the Next,
Intricacy Should Be Avoided
-- Intricacy Is Different than Precision
Variety Can
Be Made from
Interchangeable
Operations
-- Assembling Operations from Different Services
in Different Ways
-- The Pieces Are Interchangeable But the
Collection Has Tremendous Variety
Slide 10
Outline
 Introduction
 The History of Manufacturing: 1800-1930
 The “American System” of Transaction Processing
 Service-Orientation, Nouns, and Verbs
 The “Armory System” of Transaction Processing
 Achieving Interchangeability of Operations
 “Manufacturing Equipment” for Transaction Processing
 Flexible Mass Production
 Conclusion
Slide 11
History of Manufacturing
The “American System
of Manufacturing”
The “Armory System
of Manufacturing”
Sewing Machines
and Bicycles
Ford Motor Company:
Extreme Mass Production
General Motors:
Flexible Mass Production
Slide 12
History of Manufacturing
The “American System
of Manufacturing”
The “Armory System
of Manufacturing”
Sewing Machines
and Bicycles
Ford Motor Company:
Extreme Mass Production
General Motors:
Flexible Mass Production
Slide 13
The “European System of Manufacturing”
• Early Nineteenth Century
• Cheap Labor in Europe
• Lots of Skilled Craftsmen
• Each Worker Built a Complete Item
• Each Worker Built an Entire Gun
• Lots of Guns, Lots of Workers…
• Generic Power Tools Driven By Water or Steam
• Grinders, Lathes, Drills, etc.
• Completing Something Required Lots of Fitting
• Filing, Grinding, Adjusting
• No Two Manufactured Items Were the Same!
• Soft Parts Were Shaped and Stamped with a Serial Number
• Disassembled Parts Were Hardened
• Using the Serial Number, the Item Was Reassembled
Slide 14
The “American System of Manufacturing”
• Early Nineteenth Century
• Severe Labor Shortage; Labor Was Expensive
• Where Possible, Build a Machine to Save on Labor
• Custom Made Manufacturing Machines
• Specialized for a Specific Item Being Made
• Cotton Gin, Guns, Carriages, Clocks, Locks, etc.
• Working in Wood and Metal
• Manufacturing Was Inaccurate
• The Manufacturing Machines Had Large Tolerances
• “Fitting” Was Required for Almost Everything
• Frequently, Fitting
Was the Most Work…
Slide 15
History of Manufacturing
The “Armory System
of Manufacturing”
Sewing Machines
and Bicycles
Ford Motor Company:
Extreme Mass Production
General Motors:
Flexible Mass Production
Slide 16
LeBlanc, Jefferson, and Whitney
• Interchangeability
• Parts of an Item May Be Interchanged With Parts from Another
• Desirable for Battlefield Repair of Small Arms
• Honore LeBlanc
• Frenchman Who Proposed Interchangeable Small Arms in the 1780s
• Was Too Hard and Dropped by the French
• Thomas Jefferson
• Heard About Interchangeability and Brought the Idea
to the United States
• Eli Whitney
• Inventor of the Cotton Gin
• Obtained a Large US Government Contract to Build 10,000 Rifles in 1807
• Promoted and Promised Interchangeability but Didn’t Really Achieve It in
His Rifles…
See “Eli Whitney”
by Constance McL. Green
Addison Wesley Longman 1956
Slide 17
John H. Hall and the Harpers Ferry Armory
• John H. Hall, Inventor (1781-1841)
• Invented the Breech-Loading Rifle
• Got Cheated from His Patent and Ruined Financially
• Employed at Harpers Ferry Armory from 1818 until 1841
• Obsessed About Precision Machines
• Created Hundreds of Specialty Machines
• Developed Machines with Sufficient Precision for Interchangeability
• Never Had Adequate Funding to Show Economies of Scale
• Obsessed About Interchangeability
• Developed Precision Jigs and Gauges
• In 1834, Demonstrated Interchangeability Between Rifles Made at
Harpers Ferry, VA and Those Made in Connecticut
• John Hall’s Precision Gauges Made This Possible
• Politics Slowed Adoption
• Poor Funding
• Yankee Working in Virginia
See “Harpers Ferry Armory and the
New Technology”
by Merritt Roe Smith
Cornell University Press 1977
Slide 18
Jigs, Gauges, Precision, and Labor
• Interchangeability Required Precision
• The Parts Must Exactly Fit
• Cannot Have “Fitters” adjusting during assembly
• John Hall Created Precision Gauges
• Three Sets of Gauges
• Manufacturing, Test, and Master Sets
• Exact Measurements of the Part
• He Created Jigs
• Special Holders for Parts
• “Bearing Point” for Mounting the Part
• At First, Interchangeability Cost More
• Increased Precision Needed
More Skilled Labor…
Slide 19
The Expense of the Armory System
• John Hall’s Precision Machinery
• Easy to Operate
• An 18 Year Old Could Keep 3 Machines Going
• Small Orders and Inadequate Facilities
• Prevented Economies of Scale: 1824 - 1841
• Funding for Hall Driven by Interchangeability
• Government was Experimenting
• Cost Was Higher than Traditional Methods…
• Interchangeability Remained Esoteric
• Most Manufacturing Stuck to Using Fitters
Slide 20
History of Manufacturing
Sewing Machines
and Bicycles
Ford Motor Company:
Extreme Mass Production
General Motors:
Flexible Mass Production
Slide 21
Early Sewing Machines
• Wheeler & Wilson
• Started in 1850 Making Sewing Machines
• Originally Used European System
• Success Pushed Them to Armory Techniques in 1855
• Rapid Increase in Production
• 25,000 Machines in 1860 and 108,000 in 1876
• Still No Successful Machines to Make Needles
• Willcox & Gibbs
• Used Patented Single Thread Chain Stitch
• Started in 1958 Using Brown and Sharpe Co. to Manufacture
• Brown and Sharpe
• Makers of Precision Tools
• Learned Much About Manufacturing
• Annealing (Softening) Metal Before Shaping
• Precision Grinding
• Marketed Machines for Creating Sewing Machine Parts
Slide 22
Singer Sewing
Machines
• Started in 1850 by Isaac Singer
• European System of Manufacturing
• Lots of Skilled Craftsmen and Handwork; Lots of Filing
• Singer Believed Hand Finishing Made Better Product
• Singer Had Better Marketing
• Local Demonstrations Throughout the Country
• Examination of Smithsonian Singer Machines
• 1865 Models
• Internal Parts Stamped With Serial Numbers
• Large Differences Between Parts of Different Machines
• 1884 - 5 Models
• Interchangeable Parts; No Serial Numbers on Parts
• Sales Reached 500,000 Per Year by 1880
See “From the American System to Mass Production”
by David A. Hounshell
Johns Hopkins University Press 1984
Slide 23
The Pope Bicycle and the Armory System
• Weed Sewing Machine Co.
• Started in 1866 Building Sewing Machines
• Manufacturing Done by Sharps Rifle Company
• When Sharps Moved, Weed Kept the Building and People
• Albert A. Pope
• In 1878, Contracted with Weed Sewing Machine Company to Make the
“Columbia” Bicycle
• Insisted on Using the Armory System
• In 1890, Gained Control Over Weed and Shifted Exclusively to Bikes
• Rose to Making 60,000 Bicycles Per Year
• Back Integrated: Steel Tubing, Rubber Manufacturing…
Direct Lineage
from Armories
to Bicycles to
Automobiles…
Slide 24
History of Manufacturing
Ford Motor Company:
Extreme Mass Production
General Motors:
Flexible Mass Production
Slide 25
Disassembly and Assembly
• Disassembly Plants
• Hormel and Swift in Chicago
• High Throughput Slaughtering and Butchering of Beef and Pork
• Meat Moved on Hooks Past the Workers Who Cut
• Assembly Plants
• Ford Moved the Parts to the People Not the People to the Parts
• Analyzed the Flow of Parts and the Time to Perform Each Step
• Ensured the Timing for Each Step Was Aligned for Constant Flow
• Disassembly and Assembly Plants
• Both Replace Skilled Labor with Unskilled and Repetitive Labor
Slide 26
Obsession with Interchangeability
• Everything in the Model-T had Interchangeability
• The Ford Factory Produced Many Different Parts
• All the Parts Were Identical Copies
• As They Were Created, They Flowed Together to Be Assembled
• The Absence of Fitters
• Henry Ford Was Insistent on the Absence of Fitters!
• Fitting Took Time!
• Fitting Meant Imprecise Production in the Parts
• Every Part Was Thoroughly Designed, and Custom Machines
Were Made
Slide 27
Advances in Specialized Machine Tools
• Each Model-T Part Had a Machine to Make It!
• These Machines Provided the Accuracy
• They Were Designed from Scratch to Create Parts that Were
Interchangeable
• Specialized Machines Are Very Different than the General
Machines Tools
• General Machine Tools (e.g. Drills, Lathes, Grinders)
• Speed the Construction of Parts
• Each Tool Is Helpful for Many Parts
• Requires Skill to Create Parts
• Specialized Machine Tools
• The Tool Does Nothing But Create One Type of Part
• Little Skill Required
• Easily Produces Many Interchangeable Parts
Slide 28
The Efficient Creation of
Identical Automobiles
• Ford Built the Most Optimized Factory Possible to Create
Exactly One Car (Model-T)
• The Layout of the Buildings and All the Assembly Lines Were
Customized for the Model-T
• Became Impossible to Change the Car Design!
• The Factory Was Too Enmeshed with the Car Design!
• Model-T’s Were Almost Identical for Close to 20 Years!
Interchangeability Is
Great but There
Are Other
Requirements!
Slide 29
History of Manufacturing
General Motors:
Flexible Mass Production
Slide 30
The Rise of General Motors
• The Unchanging Model-T Caused the “Search for Novelty”
• In the 20s, GM Gradually Introduced the Annual New Model
• Everybody Wanted the Latest and Greatest Car
• GM Was Agile and Ford Couldn’t Change
• Agile Manufacturing:
• Heavy-Duty Multi-Purpose Machine Tools
• Could Be Adapted to the Next Years Model
• Had Fixed Gigs and Hardened Support to Behave Like Machines
Custom Made for One Part
• Multi-Site Manufacturing
• Flint, MI – Motors and Axles
• Toledo, OH – Transmissions
• Tarrytown, NY, Flint, MI, St. Louis, MO, Oakland, CA -- Assembly
See “The Americans: The Democratic Experience”
by Daniel J Boorstin – Random House 1972
Slide 31
American, Armory, and
Agile All Together
• GM Brought Together:
• Mechanized Production
• Interchangeability
• Rapid Changeover to New Models
Slide 32
History of Manufacturing
Slide 33
Outline
 Introduction
 The History of Manufacturing: 1800-1930
 The “American System” of Transaction Processing
 Service-Orientation, Nouns, and Verbs
 The “Armory System” of Transaction Processing
 Achieving Interchangeability of Operations
 “Manufacturing Equipment” for Transaction Processing
 Flexible Mass Production
 Conclusion
Slide 34
The Transactional Approach to Work
• Work Arrives, Is Processed, and Answered
• Work May Arrive from Human or from Messaging
• A Transaction Is Used to Modify the App Data
• All the App’s Data Is Inside the Database
• Answer Is Returned to Human or Via Messaging
Browser
Transaction
Transaction
Data
Data
2-Tier
N-Tier
Slide 35
Doing “Fitting” Inside the Transaction
• All the Data Is In One Database
• The Update for the Work Is Performed Atomically
• The Boundaries Inside the Database Are Flexible
• On a Case By Case Basis, Lots of Adjustment Can Occur
Between Sets of Data
Transaction T1
Update 7
Records
Accounting
Update 13
Records
Inventory
Transaction T2
Update 11
Records
Accounting
Update 8
Records
Inventory
There Are No Exact Boundaries Between
Accounting and Inventory!
Fitting Is Done Separately Within Each Transaction
Slide 36
Volume Production of Atomic Txs
• “European System of Manufacturing”
• Many Craftsmen
• Each Product Different Inside
• “American System of Manufacturing”
• Machine Tools Speed Production of Parts
• Inaccuracy of Parts Does Not Allow
Interchangeability
• Internal Parts Aren’t Interchangeable
• Today’s Apps Use the “American System”
• Lots of Mechanization to Increase Productivity
• Internal Parts Not Interchangeable
• Finished Products Similar
Slide 37
Transactional “Machine Tools”
• Early General Machine Tools Included Grinders and Drills
• Powered by Steam (the Industrial Revolution)
• No Precision from the Machine Tools
• Shape of the Part Controlled by the Operator
• Significant Labor Savings Over Hand Tools
• Transactional General Machine Tools
• Software Objects and Components
• Automated Control Over Business Objects
• Usually Allow Tremendous Flexibility Over Results
• Different Object Users
(Craftsmen) Get
Different Results
• Serious Labor Savings in
Software Implementation
Slide 38
The Independence of Apps
• Manufactured Products Were Separately Finished
• A Skilled Craftsman Would Finish an Entire Gun or
Sewing Machine
• Internally, the Parts Were Not Interchangeable
• Externally, Each Machine Was Slightly Different
• Today, Applications Stand Alone
• External Behavior Is Similar Across Different Execution
• Internally, No Interchangeability
• Everything Is “Fitted” Differently for Each Run
• This Works Fine If You Don’t Build the App from Pieces…
• To Disassemble an App into Services Requires More
• You Need Interchangeability of the Operations Connecting the App’s
Services
Slide 39
Outline
 Introduction
 The History of Manufacturing: 1800-1930
 The “American System” of Transaction Processing
 Service-Orientation, Nouns, and Verbs
 The “Armory System” of Transaction Processing
 Achieving Interchangeability of Operations
 “Manufacturing Equipment” for Transaction Processing
 Flexible Mass Production
 Conclusion
Slide 40
Interconnecting with Independent Services
• Services Are Connected by Messaging
• The Only Interaction Between Two Services Is by the Messages that They
Exchange
• Schema: The Formats of the Individual Messages
• Contracts :The Allowable Sequences of Messages
Service
Tentative
Place-Order
One
Of
Contract
Accept-Order
One
Of
Reject-Order
Confirm
Place-Order
Cancel
Place-Order
Slide 41
Interaction Based on
Business-Functionality
• Messages Across Services Perform Business Operations
• Interactions Across Businesses Perform Operations
• Service Behavior Can Be Modeled This Way
• Services Do Not Share Data
• They Exchange Operations
• Sometimes Services Publish Reference Data
• This Is Data Used to Fill Out Operation Requests
3
1
Op
Op
Service-A
Op
Service-B
2
Slide 42
What about Optimistic Concurrency Control?
• What Is Optimistic Concurrency Control?
• Data Are Read
• Changes Are Made and Submitted to the Data’s Owner
• If the Original Data Hasn’t Changed, the New Changes Are Applied
• This Assumes the Remote System Should Be Able to Write Directly
on the Data
• This Is a Trusting Relationship… Not Autonomous!
Update
Record
Data
Service-B
Slide 43
Autonomy and Updates to Data
• Autonomy Means Independent Control
• My Local Biz-Logic Decides How My Local Data Changes!
• If You Want a Change, Ask Me To Do a Business Op
• It’s My Data…
• I’ll Decide How It Changes!
Biz Logic
Perform
Biz-Op
`
Transaction
Return
Msg
Data
Service-B
Slide 44
Example: Updating the Customer’s
Address
• What About a Salesperson Updating a Customer’s
Address?
• Shouldn’t That Just Be Optimistic Concurrency Control?
• No! It Should Invoke Business Logic with a Request!
• Not All Fields of the Customer Record Should Be Updated by Sales
• Requests Across Service Boundaries Invoke Business Logic when
the Customer Address Is Changed
Slide 45
Outline
 Introduction
 The History of Manufacturing: 1800-1930
 The “American System” of Transaction Processing
 Service-Orientation, Nouns, and Verbs
 The “Armory System” of Transaction Processing
 Achieving Interchangeability of Operations
 “Manufacturing Equipment” for Transaction Processing
 Flexible Mass Production
 Conclusion
Slide 46
Long-Running Work and Cancelable Ops
• Services Don’t Share Transactions
• How Do They Make Joint Decisions?
• How Do Businesses Make Joint Decisions?
• Tentative Operations
• Reservations
• Orders that May Be Cancelled
• Confirmation or Cancellation
• Later, the Outcome Is Decided
• Coordinating “N” Systems Requires
at Least “N-1” Accept Uncertainty
• In 2-Phase-Commit, Uncertainty Is Holding Locks
• With Cancelable Ops, Uncertainty Is Business
and Application Managed
Example
Booking
a Trip
Example
Escrow to Buy
a House
Example
Ordering Stock
for a Store
There Is an Intrinsic Conflict Between Consistency and Availability!
Two Phase Commit Is the Anti-Availability Protocol
- Pat Helland
Slide 47
The Semantics of Cancellation
• Because Tentative Ops Are Cancelable, They Must Be
Able to Reorder Them
• Other Requests May Have Occurred
• Cancellation Results in Compensation
• This is Not Undo!
• It Is a New Action to Cope with the Cancellation
Cancel!
Service-A
3
1
Tentative
Op
Service-C
Service-B
2
Tentative
Op
Slide 48
Semantics Of Cancellation
And Confirmation
•
Cancellation
•
•
•
Confirmation
•
•
•
Cope with Not Doing Tentative Operation
• Not Undo
• New Operation to “Make Things Right”
Accepting Tentative Means It’s OK to Cancel
Relinquish the Right to Cancel Tentative Op
Sometimes Time Driven
• Hotel Rooms Confirm in the Morning
Every Tentative Op Confirms or Cancels
Slide 49
Generalizing to Make Ops Cancelable
• To Make Ops Cancelable, Reserve the Effects of the Op
• It Must Be OK for It to Confirm or Cancel
• If an operation is unique, you must lock its effects until you
know if it cancels…
• This is a big challenge if you modify a shared resource
• Interchangeable Operations
• One Operation of the Class Is the Same as Another
• Reserve a “King-Sized Non-Smoking Room”
• Order 200 Widgets
• Interchangeability Comes by Increasing Commonality
• When the Operations Are Common, They Are Interchangeable
• The Larger the Commonality, the Bigger the Interchangeable
Pool
Slide 50
Cancelable Operations and
Independence of Services
• It Is a Pain to Offer Cancelable Operations!
• Hard to Code!
• It Impacts the Execution of the Service!
• Why Would Anyone Want To?
• Cancelable Operations Are In Demand!
• The Invokers of the Service May Be Fickle!
Should I
cancel?
I can’t
decide!!!
Service-A
Tentative
Op
Fickle adj
Characterized by erratic
changeableness or instability, esp.
with regard to affections of attachments
Service-B
Slide 51
Creating a Whole Out of Parts
• Used to Be, We Made Decisions Atomically
• Each Transaction Either Committed or Aborted
• Everything Changed Lived In One Database
• If Operations Are Cancelable, We Can Compose
Long-Running Work
• We Reach a Decision and Confirm or Cancel
• This Can Nest
• Each Service Becomes a Part
• It Is a Part of the Long-Running Work
• It Composes with Other Parts
Slide 52
The “Armory System” of
Transaction Processing
• Armory System of Manufacturing
• Parts Are Precisely Made So They Are Equivalent (“Interchangeable”)
• Machines Tools Are Used to:
• Ensure the Precision of the Parts
• Reduce the Cost of Producing the Parts
• A Completed Product Is Made by Assembling Parts
• Armory System of Transaction Processing
• Operations Provided by the Services Are Precisely Defined So They Are
Equivalent (“Interchangeable”)
• Programmatic Machine Tools Are Used To:
• Ensure the Precision of the Operations
• Reduce the Cost of Implementing the Operations
• A Completed Solution Is Made
By Assembling the Operations
Slide 53
“Machine Tools” for the
“Armory System of Transaction Processing”
• Machine Tools for Armory Manufacturing
• Understand the Shape and Form of the Part
• Optimize the Creation of Parts that Meet Strict Tolerances for
“Interchangeability”
• The Machine Tool Ensure Compliance to the Standard
• No Flexibility
• Can’t Make a Mistake In Its Use
• Machine Tools for Armory Transaction Processing
• Understand the Constraints on the Operation
• Make It Easy to Process the Operation within Constraints
• Ensure Compliance to the Constraints
• Can’t Make a Mistake!
Different Set of Assumptions Than Most Components!
Variance, Options, and Choice Are Bad!
Slide 54
Outline
 Introduction
 The History of Manufacturing: 1800-1930
 The “American System” of Transaction Processing
 Service-Orientation, Nouns, and Verbs
 The “Armory System” of Transaction Processing
 Achieving Interchangeability of Operations
 “Manufacturing Equipment” for Transaction Processing
 Flexible Mass Production
 Conclusion
Slide 55
Resource-Oriented-Data and
Activity-Oriented-Data Bank Balance
•
Resource-Oriented-Data
•
•
•
Lives Longer Than One
Long-Running-Operation
Changed by
Long-Running-Operations
Activity-Oriented-Data
•
•
Gets Modified by
Long-Running-Operations
Retires On Completion of
Long-Running-Operation
These classes of data have
different characteristics!
We’re going to examine
some of the consequences
of these differences…
Inventory
of SKU#
71946
of Account#
01600-18653
Customer
Info for
Cust #8319
“Sally’s Auto”
#$$$#
#Info#
####
Shopping
Basket
#1834953
PO#307654-03
Order for
Joe’s Flowers
#Master#
####
#LineItems#
Account-Recv
Inv#173-45 for
PO#307654-03
Shipping Order
#86403 tied to
PO#307654-03
#Info#
#Info#
#Shipped#
#Shipped#
Slide 56
Containment of Activity-Oriented
and Resource-Oriented Data
• Activity-Oriented and Resource-Oriented Data Live
Inside Services
• They Are Encapsulated within the Service
• Access Is Mediated by Business Logic
SQL
Resource
Oriented
Data
Activity
Oriented
Data
####
####
Slide 57
Resource and Activity Services
• Consider Operation “Foo”
• One Invocation of Foo Is Equivalent to Another
• Two Possibilities:
• The Data Affected by Each Invocation is Isolated
• Only Uses Activity-Oriented Data
• Call These Activity-Oriented-Services
• There Is Shared Data across Invocations of Foo
• Uses Both Activity-Oriented-Data and Resource-Oriented-Data
• This Is Harder
• Call These Resource-Oriented-Services
Activity-Oriented-Service
Resource-Oriented-Service
SQL
Activity
Oriented
Data
####
SQL
Activity
Oriented
Data
####
Resource
Oriented
Data
####
Slide 58
Tentative Operations In
Activity-Oriented-Services
•
Activity-Oriented-Services Encapsulate Activity-Data
•
•
•
Activity-Oriented-Data Is Used in a
Single Long-Running-Operation
Never Spans Long-Running-Operations
Tentative Operations Are Easy
•
•
Remember Commitments for Tentative Ops
Nothing Is Shared
•
Hard Problems Are in Resource-Oriented Data
•
That’s Where the Sharing Is…
Travel Itinerary
• May Include Reserve Air Seats and Hotels
• Ops with Airlines & Hotels for Reservations
• Travel-Itinerary Works Indirectly
• Easy to Manage Tentative Changes
Shopping Basket
• Everything Is Tentative
•Trivial to Cancel
Slide 59
Tentative Operations In
Resource-Oriented-Services
•
Resource-Oriented-Data
•
•
May Span Concurrent Long-Running-Ops
Activity-Oriented-Data
•
•
•
Resource-Oriented-Services Make Commitments
Tentative Ops Are Commitments
Must Track Each Commitment with Activity-Oriented-Data
King-Sized
Non-Smoking Rooms
King-Sized
Oct 1 22
Reserved
Non-Smoking Rooms
King-Sized
Oct 2 17
Reserved
ResourceNon-Smoking Rooms
Oriented
Oct 3 29 Reserved
Data
Reservation for
Oct 1-2
K/S-N/S
Guest CredCard
Reservation for
Oct 2-3
Guest
ActivityOriented
Data
Reservation
Management
CredCard
Service
K/S-N/S
Slide 60
Tentative Operations, Reorderability,
And Interchangeability
•
Long-Running Work Needs Tentative Ops
•
•
•
Reorderability Is Essential for Tentative Ops
•
•
•
Allows Distributed Commitment
Invoked Service Accepts the Uncertainty
Easy with Activity-Oriented-Data
•
Hold Reordering In the Activity-Oriented-Data
Hard with Resource-Oriented-Data
•
Stuff Shared Across Long-Running Work
Interchangeability Provides Reorderability
•
•
One Resource Is As Good As Another
Easier to Rearrange the Order
Slide 61
Specificity Is Not the Same as Variety
• Specificity Is the Friend of Interchangeability
• Specify Clearly  Interchange More Reliably
• Variety Is the Enemy of Interchangeability
• More Choices
 More Buckets of Interchangeability
• More Buckets
 Fewer Members in Each Bucket
• Fewer Members
 Higher Probability of Rejecting Tentative Request
Slide 62
Outline
 Introduction
 The History of Manufacturing: 1800-1930
 The “American System” of Transaction Processing
 Service-Orientation, Nouns, and Verbs
 The “Armory System” of Transaction Processing
 Achieving Interchangeability of Operations
 “Manufacturing Equipment” for Transaction Processing
 Flexible Mass Production
 Conclusion
Slide 63
Domain Specific Languages
• DSLs Define Operations Within a Business Domain
• Expressiveness Is Based on the Business Domain
• Operations Are Business Operations
• DSLs Constrain the Work
• The Business Operations Provide the Foundation for
the Specific DSL
• The Functionality of the Language Is Bounded by
the Business Function
• DSLs Are a Great Foundation
• The Business Functions Can Be Designed for Interchangeability
• The Interchangeability Shows Up in
the Domain Specific Language
Slide 64
Heavy-Duty Multi-Purpose Machine Tools
• Domain Specific Languages
• May Be Reconfigured for New Uses
• Once Configured, Constrain for Interchangeability
• Skills Required to Use the Tool Are Lower Because the Tool
Prevents Misuse
• Design the Tool to Ensure the Usage Yields Interchangeable
Operations
• Just Like General Motors!
• The Tool Is Heavy Duty and May Be Reconfigured
• Each Configuration Yields Interchangeable Results
• Using the Tool Prevents Errors by Constraints
Slide 65
Outline
 Introduction
 The History of Manufacturing: 1800-1930
 The “American System” of Transaction Processing
 Service-Orientation, Nouns, and Verbs
 The “Armory System” of Transaction Processing
 Achieving Interchangeability of Operations
 “Manufacturing Equipment” for Transaction Processing
 Flexible Mass Production
 Conclusion
Slide 66
Standard and Composeable Parts
• Service Operations Are Like Standard Parts
• They Are Available in Stock
• Use Them when Needed
• Tentative-Operations Compose
• Service-A Offers a Tentative Operation
• It Uses Service-B
• Service-B Offers Tentative Operations, too.
• Service-A Uses Service-B’s Tentative Ops
• Service-A Manages Telling Confirm or Cancel to Service-B
1 Tent Op
3
2
4
Cancel
Cancel
Tent Op
Service-B
Service-A
Slide 67
Changing the Façade While Keeping the Parts
• General Motors
• Built Standard Engines, Transmissions, & Chassis
• Used Them in Chevrolets, Buicks, Oldsmobiles, and Cadillacs
• Applications
• Can Use Standard Service-Operations
• Can Compose Multiple Service-Operations
• Can Add a New Façade
(in a Private Activity-Oriented-Service)
• Provides a Distinctive Flavor to the Services’ Use
Slide 68
Outline
 Introduction
 The History of Manufacturing: 1800-1930
 The “American System” of Transaction Processing
 Service-Orientation, Nouns, and Verbs
 The “Armory System” of Transaction Processing
 Achieving Interchangeability of Operations
 “Manufacturing Equipment” for Transaction Processing
 Flexible Mass Production
 Conclusion
Slide 69
Our Grandparents Were Smart!
• Our Grandparents Were Smart!!
• Boy, the More I Read the More I’m Impressed!
Slide 70
Rambling Philosophy…
• Atomic Transaction Are Singularities
• Locking Makes Them Appear To Be at a
Single Point in Time
• Two-Phase Commit Removes Distribution Concerns
• The New Challenges Happen when Spreading Work
across Space and Time
• Different Services Are in Different Spatial Locations
• Work across Different Messages Gets Processed at Different
Times
• Interchangeability Helps Relax Space and Time
• It Must Be OK to Interleave and Reorder Multiple Operations and
Their Cancellations
• Interchangeability Is a Powerful Technique to Allow Operations to
Interleave and Reorder
Slide 71
Precision vs. Variety
• Variety
• Lots of Options
• Lots of Choices
• Impossible to Keep in Stock!
• Must be Custom Made!
• Precision
• Accurate Specifications
• Compliance to the Specifications
• Interchangeability Requires
Precision without Variety!
Slide 72
Interchangeability Empowers Separation
• Manufacturing
• One Skilled Craftsman Made Each Machine
• With Interchangeable Parts:
• The Parts Could Be Made in Different Places
• Inexpensive Production of Sophisticated Machines
• Computing
• The App Is Enmeshed into a Big Bunch of Code
• With Interchangeable Operations:
• Access to Shared Resources Can Be Coordinated
• Multiple Apps (Services) Can Compose
Slide 73
Important Points from This Presentation
Explicit
Boundaries
and Autonomy
The Semantics of Cross Service Operations Must Be
Independent
Agreement Is
Different
Have to Do the “Two-Step”:
Tentative and Confirm/Cancel
Interchangeability
of Operations
-- One Is As Good as the Next
-- Allows Tentative Operations to Accumulate
Against Shared Resources
The Semantics of
Interchangeable
of Operations
-- To Make One Operation Is as Good as the Next,
Intricacy Should Be Avoided
-- Intricacy Is Different than Precision
Variety Can
Be Made from
Interchangeable
Operations
-- Assembling Operations from Different Services
in Different Ways
-- The Pieces Are Interchangeable But the
Collection Has Tremendous Variety
Slide 74
Resources
•
Technical Communities, Webcasts, Blogs, Chats & User
Groups
http://www.microsoft.com/communities/default.mspx
learn
support
•
•
Microsoft Learning and Certification
http://www.microsoft.com/learning/default.mspx
Microsoft Developer Network (MSDN) & TechNet
http://microsoft.com/msdn
http://microsoft.com/technet
connect
subscribe
MSDN Library
Knowledge
Base Forums
MSDN Magazine
•
•
Trial Software and Virtual Labs
http://www.microsoft.com/technet/downloads/trials/defa
ult.mspx
New, as a pilot for 2007, the Breakout sessions will be
available post event, in the TechEd Video Library, via the
My Event page of the website
User Groups
Newsgroups
E-learning Product
Evaluations Videos
Webcasts V-labs
Blogs MVPs
Certification Chats
Visit MSDN in the ATE Pavilion and get a FREE 180-day trial of MS Visual Studio Team System!
Complete your evaluation on the My Event pages
of the website at the CommNet or the Feedback
Terminals to win!
All attendees who submit
a session feedback form
within 12 hours after the
session ends will have the
chance to win the very latest
HTC 'Touch' smartphone
complete with Windows
Mobile® 6 Professional
© 2007 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only.
MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.