The Software Fortress Model.
Who Cares about Software Fortresses?
The Goals of This Book.
Who Should Read This Book.
The History of the Software Fortress Model.
The Organization of This Book.
About the Author.
Software Fortress Organization.
The Fortress as a Trust Boundary.
The Main Fortress Types.
The Fortress as a Unit of Interoperability.
Objects, Components, and Fortresses.
2. Diagramming Software Fortresses.
Basic Software Fortress Diagram.
Fortress Overview Document.
Treaty Overview Document.
Transactionally Aware Resources.
Tightly Coupled Single-Resource Transactions.
Loosely Coupled Multiple-Resource Transactions.
Tightly Coupled Multiple-Resource Transactions.
The Distributed Transaction Coordinator.
5. Synchronous Drawbridges.
Homogeneous Synchronous Drawbridges.
Heterogeneous Synchronous Drawbridges.
6. Asynchronous Drawbridges.
Implementation of Asynchronous Drawbridges.
Persistence and Transactions in Queues.
Heterogeneous Asynchronous Drawbridges.
Homogeneous Asynchronous Drawbridges.
Advantages of Asynchronous Drawbridges
Performance Problems of Asynchronous Drawbridges.
7. Guards and Walls.
A Treaty between Two Fortresses.
9. General Fortress Issues.
10. Internet Fortresses.
J2EE versus the .NET Approach.
Web Service Fortresses.
J2EE versus the .NET Approach.
11. Business Application Fortresses.
Foundation: Components and COMWare.
Transaction Boundary Management.
State Management Revisited.
.NET versus the J2EE Approach.
12. Legacy, Service, and Treaty Management Fortresses.
Broadcast Service Fortresses.
Loosely Coupled Transaction Management Service Fortresses.
Treaty Management Fortresses.
13. Software Fortress Design Review.
Group One: Enterprise Overview Questions.
Question 1: Do we need a software fortress architecture?
Question 2: Do we all have the same understanding of the software fortress methodology?
Question 3: Have the requirements for each fortress been clearly articulated?
Question 4: Have our fortresses been partitioned with organizational boundaries in mind?
Question 5: Are our fortresses organized around natural trust boundaries?
Question 6: Have we really made enterprise-level decisions at the enterprise level and fortress-level decisions at the fortress level?
Question 7: Have we confused objects, components, and fortresses?
Question 8: Have we identified all of the security issues?
Group Two: Enterprise Architecture Questions.
Question 9: Do we have the right number of fortresses?
Question 10: Are all drawbridge requests idempotent?
Question 11: Are all drawbridge requests for substantial work?
Question 12: Do we have any tightly coupled transactions across fortresses?
Question 13: Are all drawbridges heterogeneous asynchronous?
Question 14: Does all interfortress communication pass through drawbridges?
Question 15: Have we considered all of the risk factors inherent in our presentation and Web service fortresses?
Group Three: Fortress Architecture Questions.
Question 16: Are we considering fortress-appropriate technologies?
Question 17: If we must use a synchronous drawbridge, do we have an asynchronous back end?
Question 18: Are we using more than one technology base within a single fortress?
Question 19: Have we designed a scale-out architecture?
Question 20: Have we designed a fortress architecture that can leverage loosely coupled clusters for reliability?
Question 21: Have we designed adequate security for each of our guards?
Question 22: Have we built effective walls around the fortress?
Question 23: Are we using only homogeneous synchronous communications within the fortress?
Question 24: Do all of our outgoing communications pass through envoys?
Question 25: Is all of our data being stored in the data strongbox?
14. Case Study.
The ProcessOrder Drawbridges.
The CheckInventory Drawbridges.
Ten Important Points about Software Fortresses.
Ten Reasons to Adopt the Software Fortress Model.
Ten Rules for Software Fortress Design.
Ten Controversial Ideas within the Software Fortress Model.
Ten Considerations for Evaluating J2EE versus .NET.
Ten Observations on the State of the Software Industry.
Where to Go Next.