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.
- The BAIT Model As a Framework for Dependency-Oriented Design.
- 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
- A Post-Mortem Using Dependency Principles.
- 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.