Metropolis: Interchangeability of Operations Pat Helland Partner Architect.

77
Metropolis: Interchangeability of Operations Pat Helland Partner Architect

Transcript of Metropolis: Interchangeability of Operations Pat Helland Partner Architect.

Metropolis: Interchangeability of OperationsPat HellandPartner Architect

MetropolisInterchangeability of Operations

Pat HellandPartner ArchitectMicrosoft Corporation

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 30

History of Manufacturing

General Motors:Flexible Mass Production

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 33

History of Manufacturing

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

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