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.