Metropolis: Interchangeability of Operations Pat Helland Partner Architect.
-
Upload
shawna-cornick -
Category
Documents
-
view
247 -
download
3
Transcript of Metropolis: Interchangeability of Operations Pat Helland Partner Architect.
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
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 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
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
showus a lot about
wherewe are heading!
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
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”
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…
Slide 10
Important Points from This PresentationExplicit
Boundariesand Autonomy
The Semantics of Cross Service Operations Must Be Independent
Agreement IsDifferent
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 CanBe Made from
InterchangeableOperations
-- Assembling Operations from Different Services in Different Ways-- The Pieces Are Interchangeable But the Collection Has Tremendous Variety
The Semantics of
Interchangeableof Operations
-- To Make One Operation Is as Good as the Next, Intricacy Should Be Avoided-- Intricacy Is Different than Precision
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
Slide 12
History of Manufacturing
The “American Systemof Manufacturing”
The “Armory Systemof Manufacturing”
Sewing Machinesand Bicycles
Ford Motor Company: Extreme Mass
Production
General Motors:Flexible Mass Production
Slide 13
History of Manufacturing
The “American Systemof Manufacturing”
The “Armory Systemof Manufacturing”
Sewing Machinesand Bicycles
Ford Motor Company: Extreme Mass
Production
General Motors:Flexible Mass Production
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
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…
Slide 16
History of Manufacturing
The “Armory Systemof Manufacturing”
Sewing Machinesand Bicycles
Ford Motor Company: Extreme Mass
Production
General Motors:Flexible Mass Production
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. GreenAddison Wesley Longman 1956
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 SmithCornell University Press 1977
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…
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
Slide 21
History of Manufacturing
Sewing Machinesand Bicycles
Ford Motor Company: Extreme Mass
Production
General Motors:Flexible Mass Production
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
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 1880See “From the American System to Mass Production” by David A. HounshellJohns Hopkins University Press 1984
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 Lineagefrom Armoriesto Bicycles toAutomobiles…
Slide 25
History of Manufacturing
Ford Motor Company: Extreme Mass
Production
General Motors:Flexible Mass Production
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
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
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
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 IsGreat but There
Are Other Requirements!
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 --
AssemblySee “The Americans: The Democratic Experience” by Daniel J Boorstin – Random House 1972
Slide 32
American, Armory, and Agile All Together
• GM Brought Together:• Mechanized Production• Interchangeability• Rapid Changeover to New Models
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
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
Slide 36
Accounting Inventory
Transaction T2
Update 8Records
Update 11Records
Accounting Inventory
Transaction T1
Update 13Records
Update 7Records
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 BetweenAccounting and Inventory!
Fitting Is Done Separately Within Each Transaction
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
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
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
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
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-OrderOneOf
TentativePlace-Order
ConfirmPlace-Order
OneOf
CancelPlace-Order
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-A Service-B
Op
Op
Op1
2
3
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
DataUpdateRecord
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
`
PerformBiz-Op
Transaction
Data
Biz Logic
ReturnMsg
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
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
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 Requiresat Least “N-1” Accept Uncertainty• In 2-Phase-Commit, Uncertainty Is Holding Locks• With Cancelable Ops, Uncertainty Is Business
and Application Managed
ExampleEscrow to Buy
a House
ExampleBooking
a Trip
ExampleOrdering Stock
for a Store
There Is an Intrinsic Conflict Between Consistency and Availability!
Two Phase Commit Is the Anti-Availability Protocol - Pat Helland
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
TentativeOp
1
TentativeOp
2
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
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
Service-ATentative
OpSlide 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 Icancel?I can’t
decide!!!
Fickle adj Characterized by erraticchangeableness or instability, esp.with regard to affections of attachments
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
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
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!
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
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
Inventoryof SKU#71946
####
CustomerInfo for
Cust #8319“Sally’s Auto”
#Info#
ShoppingBasket
#1834953
####
Bank Balanceof Account#01600-18653
#$$$#
Shipping Order#86403 tied toPO#307654-03
#Info#
#Shipped#
Account-RecvInv#173-45 forPO#307654-03
#Info#
#Shipped#
PO#307654-03Order for
Joe’s Flowers#Master#
#LineItems#
We’re going to examine
some of the consequences
of these differences…
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
SQL
ResourceOriented
Data
####
ActivityOriented
Data
####
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
ActivityOriented
Data
####
SQL
Resource-Oriented-Service
ActivityOriented
Data
####
ResourceOriented
Data
####
Slide 59
Tentative Operations In Activity-Oriented-Services• Activity-Oriented-Services Encapsulate Activity-Data
• Activity-Oriented-Data Is Used in aSingle 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 60
ReservationManagement
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-3 K/S-N/S
Guest CredCard
Reservation for
Oct 1-2 K/S-N/S
Guest CredCardKing-Sized
Non-Smoking RoomsOct 3 29 Reserved
King-SizedNon-Smoking RoomsOct 2 17 Reserved
King-SizedNon-Smoking RoomsOct 1 22 Reserved
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
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
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
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
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
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
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 Op1 Tent Op
2Cancel
3Cancel
4
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
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
Slide 70
Our Grandparents Were Smart!• Our Grandparents Were Smart!!
• Boy, the More I Read the More I’m Impressed!
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
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!
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
Slide 74
Important Points from This PresentationExplicit
Boundariesand Autonomy
The Semantics of Cross Service Operations Must Be Independent
Agreement IsDifferent
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 CanBe Made from
InterchangeableOperations
-- Assembling Operations from Different Services in Different Ways-- The Pieces Are Interchangeable But the Collection Has Tremendous Variety
The Semantics of
Interchangeableof Operations
-- To Make One Operation Is as Good as the Next, Intricacy Should Be Avoided-- Intricacy Is Different than Precision
Resources
• Technical Communities, Webcasts, Blogs, Chats & User Groupshttp://www.microsoft.com/communities/default.mspx
• Microsoft Learning and Certificationhttp://www.microsoft.com/learning/default.mspx
• Microsoft Developer Network (MSDN) & TechNet http://microsoft.com/msdn http://microsoft.com/technet
• Trial Software and Virtual Labshttp://www.microsoft.com/technet/downloads/trials/default.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
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!
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