| | Copyright |
| | Preface |
| | | 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 |
| | | Acknowledgments |
|
| | About the Author |
| | | About the Art Coordinator |
| | | About the ObjectWatch Newsletter |
|
| | Chapter 1. Introduction |
| | | Section 1.1. Definitions |
| | | Section 1.2. Software Fortress Organization |
| | | Section 1.3. Typical Technologies |
| | | Section 1.4. The Fortress as a Trust Boundary |
| | | Section 1.5. The Main Fortress Types |
| | | Section 1.6. Treaty Relationships |
| | | Section 1.7. The Fortress as a Unit of Interoperability |
| | | Section 1.8. Objects, Components, and Fortresses |
| | | Summary |
|
| | Chapter 2. Diagramming Software Fortresses |
| | | Section 2.1. Basic Software Fortress Diagram |
| | | Section 2.2. Fortress “Ally Diagram |
| | | Section 2.3. Treaty “Ally Diagram |
| | | Section 2.4. Sequence “Ally Diagram |
| | | Section 2.5. Fortress “Ally “Responsibility Cards |
| | | Section 2.6. Treaty “Ally “Responsibility Cards |
| | | Section 2.7. Fortress Overview Document |
| | | Section 2.8. Treaty Overview Document |
| | | Summary |
|
| | Chapter 3. Transactions |
| | | Section 3.1. Transactionally Aware Resources |
| | | Section 3.2. Tightly Coupled Single-Resource Transactions |
| | | Section 3.3. Multiple-Resource Transactions |
| | | Section 3.4. The Distributed Transaction Coordinator |
| | | Summary |
|
| | Chapter 4. Drawbridges |
| | | Section 4.1. Drawbridge Overview |
| | | Summary |
|
| | Chapter 5. Synchronous Drawbridges |
| | | Section 5.1. Components |
| | | Section 5.2. Homogeneous Synchronous Drawbridges |
| | | Section 5.3. Heterogeneous Synchronous Drawbridges |
| | | Summary |
|
| | Chapter 6. Asynchronous Drawbridges |
| | | Section 6.1. Message Queues |
| | | Section 6.2. Implementation of Asynchronous Drawbridges |
| | | Section 6.3. Persistence and Transactions in Queues |
| | | Section 6.4. Heterogeneous Asynchronous Drawbridges |
| | | Section 6.5. Homogeneous Asynchronous Drawbridges |
| | | Section 6.6. Advantages of Asynchronous Drawbridges |
| | | Section 6.7. Performance Problems of Asynchronous Drawbridges |
| | | Summary |
|
| | Chapter 7. Guards and Walls |
| | | Section 7.1. Fortification |
| | | Section 7.2. Validation |
| | | Section 7.3. Auditing |
| | | Section 7.4. Authentication |
| | | Section 7.5. Privacy |
| | | Section 7.6. Integrity |
| | | Section 7.7. Nonrepudiation |
| | | Section 7.8. Authorization |
| | | Summary |
|
| | Chapter 8. Treaties |
| | | Section 8.1. A Treaty between Two Fortresses |
| | | Section 8.2. Treaty Considerations |
| | | Summary |
|
| | Chapter 9. General Fortress Issues |
| | | Section 9.1. Scalability |
| | | Section 9.2. Reliability |
| | | Section 9.3. Integrity |
| | | Summary |
|
| | Chapter 10. Internet Fortresses |
| | | Section 10.1. Presentation Fortresses |
| | | Section 10.2. Web Service Fortresses |
| | | Summary |
|
| | Chapter 11. Business Application Fortresses |
| | | Section 11.1. Foundation: Components and COMWare |
| | | Section 11.2. Leveraging Clusters |
| | | Section 11.3. .NET versus the J2EE Approach |
| | | Summary |
|
| | Chapter 12. Legacy, Service, and Treaty Management Fortresses |
| | | Section 12.1. Legacy Fortresses |
| | | Section 12.2. Service Fortresses |
| | | Section 12.3. Treaty Management Fortresses |
| | | Summary |
|
| | Chapter 13. Software Fortress Design Review |
| | | Section 13.1. Group One: Enterprise Overview Questions |
| | | Section 13.2. Group Two: Enterprise Architecture Questions |
| | | Section 13.3. Group Three: Fortress Architecture Questions |
| | | Summary |
|
| | Chapter 14. Case Study |
| | | Section 14.1. The Problem |
| | | Section 14.2. First-Pass Design |
| | | Section 14.3. Second-Pass Design |
| | | Section 14.4. The ProcessOrder Drawbridges |
| | | Section 14.5. The CheckInventory Drawbridges |
| | | Section 14.6. Guards |
| | | Summary |
|
| | Chapter 15. Postlude |
| | | Section 15.1. Ten Important Points about Software Fortresses |
| | | Section 15.2. Ten Reasons to Adopt the Software Fortress Model |
| | | Section 15.3. Ten Rules for Software Fortress Design |
| | | Section 15.4. Ten Controversial Ideas within the Software Fortress Model |
| | | Section 15.5. Ten Considerations for Evaluating J2EE versus .NET |
| | | Section 15.6. Ten Observations on the State of the Software Industry |
| | | Section 15.7. Where to Go Next |
| | | Section 15.8. Final Words |
|
| | Glossary |