1 / 33

Services and Complexity

Services and Complexity. Roger Sessions CTO ObjectWatch. The Questions. Many SOAs fail. Why? What can we do about it?. The project will be delivered late. The project will not meet business needs. The project will exceed its budget. The project will have poor quality.

Audrey
Download Presentation

Services and Complexity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Services and Complexity Roger Sessions CTO ObjectWatch

  2. The Questions • Many SOAs fail. • Why? • What can we do about it?

  3. The project will be delivered late. The project will not meet business needs. The project will exceed its budget. The project will have poor quality. “At-Risk” IT Projects

  4. Costing the New Zealand economy 21 billion NZD per year 60% of IT budgets are invested in at-risk projects. The problem is getting worse. Costing the world economy 6.5 trillion USD per year Who cares? Exponentially!

  5. What’s Causing the Problem? Complexity!

  6. What About Complexity • Failure rates are proportional to complexity • Cost is proportional to complexity • Agility is inversely proportional to complexity • Security is inversely proportional to complexity. • Maintainability is inversely proportional to complexity. The Bottom Line: Complexity is Very Bad

  7. The Claim • Say architecture A and B both solve the business problem • Say A is twice as complex as B • Then A will cost twice as much, work half as well, and be twice as likely to fail as B

  8. Library 1 Inter Library Loan Agency Library 2 Example: Interlibrary Loan

  9. Solution One Borrower ILLA Lender • Process ILLA Request • Agree to Loan Request • Reject Loan Request • Process New Book • 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

  10. Solution Two Borrower Lender • Process Borrow Request • Agree to Loan Request • Reject Loan Request • Process New Book • Borrow Book • Process Positive Response • Process Negative Response • Receive Catalog ILLA • Receive New Book Item • Update Catalog Which SOA is least complex?

  11. Glass’s Law For every 25 percent increase in problem complexity, there is a 100 percent increase in solution complexity. - Facts and Fallacies of Software Engineering by Robert Glass

  12. Glass’s Law Applied to SOAs For every 25 percent increase in the business functionality in a service, there is a 100 percent increase in the complexity of that service. 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.

  13. 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

  14. Bird’s Formula Glass’s Law 1.25 functionality = 2 X complexity 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.

  15. Simplifying Bird’s Formula 10 log(Cx) x log(bf) / log(Fx) is with constants replaced 10 log(2) x log(bf) / log(1.25) Equivalent to 10 .30103 x log(bf) / .09691 Equivalent to Glass’s Constant 10 3.10log(bf)

  16. Sessions’s Formula for Service Complexity 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) Equivalent to 10 3.10log(bf) + 10 3.10 log(cn)

  17. m 10 3.10log(bfi) + 10 3.10 log(cni) i=1 Sessions’s Formula for SOA Complexity An SOA with m services has a total complexity (in SCUs) of

  18. Complexity of Solution One Borrower ILLA Lender • Process ILLA Request • Agree to Loan Request • Reject Loan Request • Process New Book • 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 bd comp cn comp total 3 30 3 30 61 7 422 7 422 844 3 30 4 74 105 Total: 1009

  19. Complexity of Solution Two Borrower Lender • Process Borrow Request • Agree to Loan Request • Reject Loan Request • Process New Book • Borrow Book • Process Positive Response • Process Negative Response • Receive Catalog ILLA • Receive New Book Item • Update Catalog bd comp cn comp total 4 74 4 74 148 2 9 2 9 17 4 74 4 74 148 Total: 314

  20. Two SOA Solutions • Solution 1: 1009 SCUs • Solution 2: 314 SCUs • Solution 1 will cost 3 times more than Solution 2 and be 3 times more likely to fail.

  21. 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.

  22. SIP Simple Iterative Partitions

  23. The Process - Identification Inter Library Loan Loan Borrow Ask to borrow Process request Process positive response Agree to loan Process negative response Refuse to loan Receive catalog Process new book Add book to catalog

  24. The Process - Partitioning A Ask to borrow A Process positive response A Process negative response A Receive catalog B Process loan request B Agree to loan B Refuse to loan B Process new book C Add book to catalog

  25. The Process - Subsetting A Ask to borrow A Process positive response A Process negative response A Receive catalog B Process loan request B Agree to loan B Refuse to loan B Process new book C Add book to catalog

  26. The Process - Connecting Ask 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

  27. Goals of SIP • A process to drive the simplest possible SOA that solves a given business problem • Based on mathematical models of complexity, partitioning, and set theory. • Reproducible and verifiable.

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

  29. For more information

  30. question & answer

  31. Resources • www.microsoft.com/teched • Sessions On-Demand & Community • www.microsoft.com/learning • Microsoft Certification & Training Resources • http://microsoft.com/technet • Resources for IT Professionals • http://microsoft.com/msdn • Resources for Developers

  32. © 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.

More Related