Top Banner
Services and Complexity Roger Sessions CTO ObjectWatch
33
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Services and Complexity Roger Sessions CTO ObjectWatch.

Services and ComplexityRoger SessionsCTOObjectWatch

Page 2: Services and Complexity Roger Sessions CTO ObjectWatch.

The Questions

Many SOAs fail.Why?What can we do about it?

Page 3: Services and Complexity Roger Sessions CTO ObjectWatch.

The project will not meet business needs.

The project will have poor quality.

The project will be delivered late.

The project will exceed its budget.

“At-Risk” IT Projects

Page 4: Services and Complexity Roger Sessions CTO ObjectWatch.

60% of IT budgets are invested in at-risk projects.

Costing the world economy 6.5 trillion USD per year

Costing the New Zealand economy 21 billion NZD per year

The problem is getting worse.

Exponentially!

Who cares?

Page 5: Services and Complexity Roger Sessions CTO ObjectWatch.

What’s Causing the Problem?

Complexity!

Page 6: Services and Complexity Roger Sessions CTO ObjectWatch.

What About ComplexityFailure rates are proportional to complexityCost is proportional to complexityAgility is inversely proportional to complexitySecurity is inversely proportional to complexity.Maintainability is inversely proportional to complexity.

The Bottom Line: Complexity is Very Bad

Page 7: Services and Complexity Roger Sessions CTO ObjectWatch.

The Claim

Say architecture A and B both solve the business problemSay A is twice as complex as BThen A will cost twice as much, work half as well, and be twice as likely to fail as B

Page 8: Services and Complexity Roger Sessions CTO ObjectWatch.

Example: Interlibrary Loan

Library 1

Library 2

InterLibraryLoan

Agency

Page 9: Services and Complexity Roger Sessions CTO ObjectWatch.

Solution OneBorrower ILLA Lender

•Borrow Book•Process Positive Response•Process Negative Response

•Process Borrow Request•Request IL Loan•Process Positive Lender Response•Process Negative Lender Response•Respond to Borrower•Receive New Book Item•Update Catalog

•Process ILLA Request•Agree to Loan Request•Reject Loan Request•Process New Book

Page 10: Services and Complexity Roger Sessions CTO ObjectWatch.

Solution TwoBorrower

ILLA

Lender

•Borrow Book•Process Positive Response•Process Negative Response•Receive Catalog

•Receive New Book Item•Update Catalog

•Process Borrow Request•Agree to Loan Request•Reject Loan Request•Process New Book

Which SOA is least complex?

Page 11: Services and Complexity Roger Sessions CTO ObjectWatch.

- Facts and Fallacies of Software Engineering by Robert Glass

For every 25 percent increase in problem complexity, there is a 100 percent increase in solution complexity.

Glass’s Law

Page 12: Services and Complexity Roger Sessions CTO ObjectWatch.

For every 25 percent increase in the business functionality in a service, there is a 100 percent increase in the complexity of that service.

Glass’s Law Applied to SOAs

For every 25 percent increase in the number of connections in a service, there is a 100 percent increase in the complexity of that service.

Page 13: Services and Complexity Roger Sessions CTO ObjectWatch.

SCU = Standard Complexity Unit

The amount of complexity in an average atomic business function implemented in an idealized green field environment with no internal or external interactions.

Examples of atomic business functions:process-check, hire-employee, remove-from-inventory

Page 14: Services and Complexity Roger Sessions CTO ObjectWatch.

1.25 functionality = 2 X complexity

Glass’s Law

Fx Cx

Bird’s Formula

A system with bf business functions is

10 log(Cx) x log(bf) / log(Fx)

times more complex than a system of 1 business function.

Bird’s Formula

Page 15: Services and Complexity Roger Sessions CTO ObjectWatch.

is with constants replaced

Equivalent to

Simplifying Bird’s Formula

10 log(2) x log(bf) / log(1.25)

10 log(Cx) x log(bf) / log(Fx)

10 .30103 x log(bf) / .09691

Equivalent to

10 3.10 log(bf)

Glass’s Constant

Page 16: Services and Complexity Roger Sessions CTO ObjectWatch.

A system with bf business functions and cn connections has a complexity value (in SCUs) of

10 log(Cx) x log(bf) / log(Fx) + 10 log(Cx) x log(cn) / log(Fx)

Sessions’s Formula for Service Complexity

Equivalent to

10 3.10 log(bf) + 10 3.10 log(cn)

Page 17: Services and Complexity Roger Sessions CTO ObjectWatch.

An SOA with m services has a total complexity (in SCUs) of

Sessions’s Formula for SOA Complexity

∑i=1

m

10 3.10 log(bfi) + 10 3.10 log(cni)

Page 18: Services and Complexity Roger Sessions CTO ObjectWatch.

Complexity of Solution OneBorrower ILLA Lender

•Borrow Book•Process Positive Response•Process Negative Response

•Process Borrow Request•Request IL Loan•Process Positive Lender Response•Process Negative Lender Response•Respond to Borrower•Receive New Book Item•Update Catalog

•Process ILLA Request•Agree to Loan Request•Reject Loan Request•Process New Book

bd comp cn comp total3 30 3 30 617 422 7 422 8443 30 4 74 105

Total: 1009

Page 19: Services and Complexity Roger Sessions CTO ObjectWatch.

Complexity of Solution TwoBorrower

ILLA

Lender

•Borrow Book•Process Positive Response•Process Negative Response•Receive Catalog

•Receive New Book Item•Update Catalog

•Process Borrow Request•Agree to Loan Request•Reject Loan Request•Process New Book

bd comp cn comp total4 74 4 74 1482 9 2 9 174 74 4 74 148

Total: 314

Page 20: Services and Complexity Roger Sessions CTO ObjectWatch.

Two SOA Solutions

Solution 1: 1009 SCUsSolution 2: 314 SCUsSolution 1 will cost 3 times more than Solution 2 and be 3 times more likely to fail.

Page 21: Services and Complexity Roger Sessions CTO ObjectWatch.

But We Have a Problem

We can’t exhaustively examine every possible solution.

Why not?

For 20 business functions, there are more than 50 trillion SOA solutions.

We need a directed process.

Page 22: Services and Complexity Roger Sessions CTO ObjectWatch.

SIP

Simple Iterative Partitions

Page 23: Services and Complexity Roger Sessions CTO ObjectWatch.

The Process - Identification

Inter Library Loan

Borrow Loan

Ask to borrow

Process positive response

Process negative response

Receive catalog

Process request

Agree to loan

Refuse to loan

Process new book

Add book to catalog

Page 24: Services and Complexity Roger Sessions CTO ObjectWatch.

The Process - PartitioningAsk to borrow

Process positive response

Process negative response

Receive catalog

Process loan request

Agree to loan

Refuse to loan

Process new book

Add book to catalog

A

A

A

A

B

B

B

B

C

Page 25: Services and Complexity Roger Sessions CTO ObjectWatch.

The Process - SubsettingAsk to borrow

Process positive response

Process negative response

Receive catalog

Process loan request

Agree to loan

Refuse to loan

Process new book

Add book to catalog

A

A

A

A

B

B

B

B

C

Page 26: Services and Complexity Roger Sessions CTO ObjectWatch.

The Process - ConnectingAsk to borrow

Process positive response

Process negative response

Receive catalog

Process loan request

Agree to loan

Refuse to loan

Process new book

Add book to catalog

Page 27: Services and Complexity Roger Sessions CTO ObjectWatch.

Goals of SIP

A process to drive the simplest possible SOA that solves a given business problemBased on mathematical models of complexity, partitioning, and set theory.Reproducible and verifiable.

Page 28: Services and Complexity Roger Sessions CTO ObjectWatch.

Summary

IT is in a multi-trillion dollar crisis.The major cause is complexityWe must build the simplest possible SOAs.SIP is a process for finding the simplest possible SOA.

Page 29: Services and Complexity Roger Sessions CTO ObjectWatch.

For more information

Page 30: Services and Complexity Roger Sessions CTO ObjectWatch.
Page 31: Services and Complexity Roger Sessions CTO ObjectWatch.

www.microsoft.com/teched

Sessions On-Demand & Community

http://microsoft.com/technet

Resources for IT Professionals

http://microsoft.com/msdn

Resources for Developers

www.microsoft.com/learning

Microsoft Certification & Training Resources

Resources

Page 32: Services and Complexity Roger Sessions CTO ObjectWatch.

COMPLETE YOUR EVALUATION COMPLETE YOUR EVALUATION FORMS IN FORMS IN COMMNETCOMMNET AND BE IN TO AND BE IN TO WIN ONE OF THE 150 DAILY WIN ONE OF THE 150 DAILY PRIZES*PRIZES*

GIVE US YOUR FEEDBACK & WIN INSTANTLY!

*For full terms & conditions and more information, please visit the CommNet Portal.

Page 33: Services and Complexity Roger Sessions CTO ObjectWatch.

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,

IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.