Facilitating the spread of knowledge and innovation in professional software development



Choose your language

InfoQ Homepage Guides Dependency-Oriented Thinking: Volume 1 – Analysis and Design

Dependency-Oriented Thinking: Volume 1 – Analysis and Design


Service-Oriented Architecture (SOA) is a somewhat disappointing technology buzzword from the last decade, associated with expensive and heavyweight technology that does not provide as much of a return on investment as was hyped - or is it? Has the industry just failed to understand and exploit the power of SOA?

Ganesh Prasad, an industry veteran with over a decade's worth of SOA experience at varied organisations, has discovered the secret to unlocking SOA's wasted potential. He aims to reignite SOA practice with a fresh, lightweight yet rigorous method based on the single most important element that underlies all types of system interactions - the notion of dependencies. "Dependency-Oriented Thinking" is the book that reveals these secrets for the first time.

Volume 1 is aimed at business analysts, solution architects, designers and developers. It provides them with a formal method to develop agile, cost-effective and low-risk solutions to meet business requirements - the goals of SOA.

Free download

Table of Contents

  • Part I – Post-Mortem: Why Has SOA Been Such a Disappointment?
    • The View of SOA As Technology. 
    • Technology As Typhoid Mary.
    • “Service” As a Weasel Word.
  • Part II – The Case for “Dependency-Oriented Thinking”.
    • What Is a “Dependency” Anyway?
    • Dependencies Impact Everything!
    • Case Studies of Dependencies in the Enterprise.
      • Business Layer Case Study 1 – The Weakest Link of a Supply Chain.
      • Business Layer Case Study 2 – Take It or Leave It: Monopsony and Choice
      • Business Layer Case Study 3 – Culture Shock.
      • Application Layer Case Study 1 – Stock-Market Crash.
      • Application Layer Case Study 2 – Speaking in Different Voices
      • Application Layer Case Study 3– Buy a Puppy, Get Two Free
      • Information Layer Case Study 1 – Locked Out: Key-Person Risk.
      • Information Layer Case Study 2 – It Goes Without Saying
      • Information Layer Case Study 3 – “ASSUME” Makes an ASS of U and ME..
      • Technology Layer Case Study 1 – The Stress and Strain of an Engineer’s Life
      • Technology Layer Case Study 2 – Paying for Trouble
      • Technology Layer Case Study 3 – What Makes a Good Technology Platform?
      • Case-Study Summary
    • Current Practice Relating to Dependencies.
      • Blindness or Wilful Blindness
      • Fooled by Subtlety – Why Surrogate Principles Don’t Work.
  • Part III – Evolving a Dependency-Oriented-Design Method.
    • The BAIT Model As a Framework for Dependency-Oriented Design.
      • How to View BAIT’s Application Layer
      • How to Navigate the Layers of the BAIT Model
      • BAIT As a Model of Dependency Types
      • BAIT As a Model of “Operations”.
    • TOGAF – A Ready-Made, Comprehensive Model of the Enterprise.
      • Mining for Dependency Gems Within the TOGAF Model
      • Fundamental Enterprise Dependencies
      • Business-Layer Dependencies
      • Business-Layer Design Artefacts
      • Application-Layer Dependencies
      • Application-Layer Design Artefacts
      • Information-Layer (Data-Layer) Dependencies
      • Information-Layer Design Artefacts
      • Technology-Layer Dependencies
      • Technology-Layer Design Artefacts
    • Key Design Artefacts at a Glance.
    • Dependency-Oriented-Design Principles at a Glance.
  • Part IV – Dependency-Oriented Design in Practice.
    • Approach to Design..
    • The Business Layer.
      • Key Design Artefacts
      • An Overview of Business-Layer Dependency Principles
      • Applying Dependency Principles
    • The Application Layer.
      • Key Design Artefacts
      • An Overview of Application-Layer Dependency Principles
      • Applying Dependency Principles
    • The Information Layer.
      • Key Design Artefacts
      • An Overview of Information-Layer Dependency Principles
      • Applying Dependency Principles
    • Putting the Application and Information-Layer Principles to Work..
    • The Technology Layer.
      • Key Design Artefacts
      • An Overview of Technology-Layer Dependency Principles
      • Applying Dependency Principles
    • Odds and Ends of Design..
      • “Don’t Boil the Ocean to Make a Cup of Tea”.
      • The Ecosystem of Service Providers and Service Consumers
      • Processes as Operations
      • Patterns and Qualities of Service
  • Part V – Worked-Out Examples of Dependency-Oriented Thinking.
    • A Post-Mortem Using Dependency Principles.
      • The Impact of Dependencies Introduced by Implementation Design.
      • A Dependency-Aware Design.
    • Designing a Simple Orchestrated Process.
      • Analysis
    • Designing an Orchestrated Process with Workflow..
      • Analysis
    • Designing a Choreographed Process.
    • Designing Stable Interfaces in the Face of Change.
      • The Mainframe Era of the ’70s (Native Integration)
      • Standardisation of Protocols
      • The Minicomputer Era of the ’80s (the Emergence of Variants)
      • A Detour Through the Data Layer
      • Generic Interfaces
      • Routing from Abstract Interface to Concrete Implementation.
      • Type Hierarchy Added to the Data Model
      • Business Challenges of the ’90s (Process Innovation)
      • Supporting a New Variant Behind an Existing Interface
      • A New Message Data Model (But No Change to the Interface)
      • Implementation (Deployment onto Technology Components)
      • The Versioning That Wasn’t
  • Summary and Conclusions.
    • Contributions of This Document.
  • About the Author
  • Acknowledgements.
  • Appendix A – Dependency Principles at a Glance.
    • Business-Layer Principles.
    • Application-Layer Principles.
    • Information-Layer Principles.
    • Technology-Layer Principles.
  • Appendix B – References.
We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.