Presentation is loading. Please wait.

Presentation is loading. Please wait.

Metropolis: Interchangeability of Operations Pat Helland Partner Architect.

Similar presentations


Presentation on theme: "Metropolis: Interchangeability of Operations Pat Helland Partner Architect."— Presentation transcript:

1 Metropolis: Interchangeability of Operations Pat Helland Partner Architect

2 Metropolis Interchangeability of Operations Pat Helland Senior Architect Architecture Strategy Team Metropolis Interchangeability of Operations Pat Helland Partner Architect Microsoft Corporation

3 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

4 Slide 4 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

5 Slide 5 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

6 Slide 6 This Talk The Metropolis Analogy IT Shops  Cities Gradual Evolution in Isolation Connection Caused Change! Railroads Connected the Cities Internet Connected the IT-Shop 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 We propose that these parallels show us a lot about where we are heading!

7 Slide 7 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

8 Slide 8 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”

9 Slide 9 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…

10 Slide 10 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 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 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

11 Slide 11 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

12 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 Extreme Mass Production General Motors: Flexible Mass Production

13 Slide 13 History of Manufacturing The “American System of Manufacturing” The “Armory System of Manufacturing” Sewing Machines and Bicycles Ford Motor Company: Extreme Mass Production Extreme Mass Production General Motors: Flexible Mass Production

14 Slide 14 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

15 Slide 15 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…

16 Slide 16 History of Manufacturing The “Armory System of Manufacturing” Sewing Machines and Bicycles Ford Motor Company: Extreme Mass Production Extreme Mass Production General Motors: Flexible Mass Production

17 Slide 17 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

18 Slide 18 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

19 Slide 19 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…

20 Slide 20 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

21 Slide 21 History of Manufacturing Sewing Machines and Bicycles Ford Motor Company: Extreme Mass Production Extreme Mass Production General Motors: Flexible Mass Production

22 Slide 22 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

23 Slide 23 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

24 Slide 24 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…

25 Slide 25 History of Manufacturing Ford Motor Company: Extreme Mass Production Extreme Mass Production General Motors: Flexible Mass Production

26 Slide 26 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

27 Slide 27 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

28 Slide 28 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

29 Slide 29 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!

30 Slide 30 History of Manufacturing General Motors: Flexible Mass Production

31 Slide 31 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

32 Slide 32 American, Armory, and Agile All Together GM Brought Together: Mechanized Production Interchangeability Rapid Changeover to New Models

33 Slide 33 History of Manufacturing

34 Slide 34 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

35 Slide 35 Data Transaction Data Transaction N-Tier 2-Tier Browser 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

36 Slide 36 AccountingInventory Transaction T2 Update 8 Records Update 11 Records AccountingInventory Transaction T1 Update 13 Records Update 7 Records 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 There Are No Exact Boundaries Between Accounting and Inventory! Fitting Is Done Separately Within Each Transaction

37 Slide 37 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

38 Slide 38 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

39 Slide 39 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

40 Slide 40 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

41 Slide 41 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 Contract Reject-Order Accept-Order One Of Tentative Place-Order Confirm Place-Order One Of Cancel Place-Order

42 Slide 42 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 Service-AService-B Op 1 2 3

43 Slide 43 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! Service-B Data Update Record

44 Slide 44 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! Service-B ` Perform Biz-Op Perform Biz-Op Transaction Data Biz Logic Return Msg

45 Slide 45 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

46 Slide 46 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

47 Slide 47 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 Escrow to Buy a House Example Booking a Trip 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

48 Slide 48 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 Service-B Service-A Service-C Cancel! 3 Tentative Op 1 2

49 Slide 49 Semantics Of Cancellation And Confirmation Cancellation Cope with Not Doing Tentative Operation Not Undo New Operation to “Make Things Right” Accepting Tentative Means It’s OK to Cancel Confirmation Relinquish the Right to Cancel Tentative Op Sometimes Time Driven Hotel Rooms Confirm in the Morning Every Tentative Op Confirms or Cancels

50 Slide 50 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

51 Service-A Tentative Op Slide 51 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! Service-B Should I cancel? I can’t decide!!! Fickle adj Characterized by erratic changeableness or instability, esp. with regard to affections of attachments

52 Slide 52 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

53 Slide 53 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

54 Slide 54 “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!

55 Slide 55 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

56 These classes of data have different characteristics! Slide 56 Resource-Oriented-Data and Activity-Oriented-Data 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 Inventory of SKU# 71946 #### Customer Info for Cust #8319 “Sally’s Auto” #Info# Shopping Basket #1834953 #### Bank Balance of Account# 01600-18653 #$$$# Shipping Order #86403 tied to PO#307654-03 #Info# #Shipped# Account-Recv Inv#173-45 for PO#307654-03 #Info# #Shipped# PO#307654-03 Order for Joe’s Flowers #Master# #LineItems# We’re going to examine some of the consequences of these differences…

57 Slide 57 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

58 Slide 58 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 SQL Activity-Oriented-Service Activity Oriented Data #### SQL Resource-Oriented-Service Activity Oriented Data #### Resource Oriented Data ####

59 Slide 59 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

60 Slide 60 Reservation Management Service 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 Reservation for Oct 2-3K/S-N/S GuestCredCard Reservation for Oct 1-2K/S-N/S GuestCredCard King-Sized Non-Smoking Rooms Oct 329 Reserved King-Sized Non-Smoking Rooms Oct 217 Reserved King-Sized Non-Smoking Rooms Oct 122 Reserved

61 Slide 61 Tentative Operations, Reorderability, And Interchangeability Long-Running Work Needs Tentative Ops Allows Distributed Commitment Invoked Service Accepts the Uncertainty Reorderability Is Essential for Tentative Ops 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

62 Slide 62 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

63 Slide 63 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

64 Slide 64 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

65 Slide 65 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

66 Slide 66 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

67 Slide 67 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 Service-A Service-B Tent Op 1 2 Cancel 3 4

68 Slide 68 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

69 Slide 69 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

70 Slide 70 Our Grandparents Were Smart! Our Grandparents Were Smart!! Boy, the More I Read the More I’m Impressed!

71 Slide 71 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

72 Slide 72 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!

73 Slide 73 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

74 Slide 74 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 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 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

75 Resources Technical Communities, Webcasts, Blogs, Chats & User Groups http://www.microsoft.com/communities/default.mspx http://www.microsoft.com/communities/default.mspx Microsoft Learning and Certification http://www.microsoft.com/learning/default.mspx http://www.microsoft.com/learning/default.mspx Microsoft Developer Network (MSDN) & TechNet http://microsoft.com/msdn http://microsoft.com/technet http://microsoft.com/msdn http://microsoft.com/technet Trial Software and Virtual Labs http://www.microsoft.com/technet/downloads/trials/defa ult.mspx 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 Required slide: Please customize this slide with the resources relevant to your session MSDN Library Knowledge Base Forums MSDN Magazine User Groups Newsgroups E-learning Product Evaluations Videos Webcasts V-labs Blogs MVPs Certification Chats learn support connect subscribe Visit MSDN in the ATE Pavilion and get a FREE 180-day trial of MS Visual Studio Team System!

76 Complete your evaluation on the My Event pages of the website at the CommNet or the Feedback Terminals to win!

77 © 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


Download ppt "Metropolis: Interchangeability of Operations Pat Helland Partner Architect."

Similar presentations


Ads by Google