You are previewing Software Fortresses: Modeling Enterprise Architectures.
O'Reilly logo
Software Fortresses: Modeling Enterprise Architectures

Book Description

This book introduces a new approach for modeling large enterprise systems: the software fortress model. In the software fortress model, an enterprise architecture is viewed as a series of self-contained, mutually suspicious, marginally cooperating software fortresses interacting with each other through carefully crafted and meticulously managed treaty relationships.

The software fortress model is an intuitive, simple, expressive approach that maps readily to existing technologies such as .NET and Java 2 Enterprise Edition (J2EE). This book is designed to meet an immediate need to define, clarify, and explain the basics of this new modeling methodology for large enterprise software architectures.

Software Fortresses is your essential roadmap to all aspects of software fortresses.

Key topics include:

  • The fundamental concepts and terminology of software fortresses

  • Documentation techniques, including Fortress Ally Responsibility Cards (based on Class Responsibility Cards) and Sequence Ally Diagrams (based on UML's Class Sequence Diagrams)

  • The proper use of drawbridges to provide fortress interoperability

  • The innovative software fortress model for enterprise security

  • Correct design approaches to fortress walls, which keep intruders out, and to guards, which let allies in.

  • The role of loosely coupled and tightly coupled transactions in a software fortress architecture

  • Design and technology issues associated with the six major software fortress types

  • This book is a must-read for all enterprise software professionals, whether you are a manager seeking to rein in run-away enterprise system complexity, an architect seeking to design interoperable, scalable, and highly secure systems, a consultant expected to give advice on how .NET and J2EE fit into the enterprise space, an implementer wanting to understand how your system relates to a larger enterprise architecture, or a business analyst needing to know that your system requirements will be translated into a successful software implementation.


    Table of Contents

    1. Copyright
    2. Preface
    3. About the Author
    4. Introduction
      1. Definitions
      2. Software Fortress Organization
      3. Typical Technologies
      4. The Fortress as a Trust Boundary
      5. The Main Fortress Types
      6. Treaty Relationships
      7. The Fortress as a Unit of Interoperability
      8. Objects, Components, and Fortresses
      9. Summary
    5. Diagramming Software Fortresses
      1. Basic Software Fortress Diagram
      2. Fortress–Ally Diagram
      3. Treaty–Ally Diagram
      4. Sequence–Ally Diagram
      5. Fortress–Ally–Responsibility Cards
      6. Treaty–Ally–Responsibility Cards
      7. Fortress Overview Document
      8. Treaty Overview Document
      9. Summary
    6. Transactions
      1. Transactionally Aware Resources
      2. Tightly Coupled Single-Resource Transactions
      3. Multiple-Resource Transactions
      4. The Distributed Transaction Coordinator
      5. Summary
    7. Drawbridges
      1. Drawbridge Overview
      2. Summary
    8. Synchronous Drawbridges
      1. Components
      2. Homogeneous Synchronous Drawbridges
      3. Heterogeneous Synchronous Drawbridges
      4. Summary
    9. Asynchronous Drawbridges
      1. Message Queues
      2. Implementation of Asynchronous Drawbridges
      3. Persistence and Transactions in Queues
      4. Heterogeneous Asynchronous Drawbridges
      5. Homogeneous Asynchronous Drawbridges
      6. Advantages of Asynchronous Drawbridges
      7. Performance Problems of Asynchronous Drawbridges
      8. Summary
    10. Guards and Walls
      1. Fortification
      2. Validation
      3. Auditing
      4. Authentication
      5. Privacy
      6. Integrity
      7. Nonrepudiation
      8. Authorization
      9. Summary
    11. Treaties
      1. A Treaty between Two Fortresses
      2. Treaty Considerations
      3. Summary
    12. General Fortress Issues
      1. Scalability
      2. Reliability
      3. Integrity
      4. Summary
    13. Internet Fortresses
      1. Presentation Fortresses
      2. Web Service Fortresses
      3. Summary
    14. Business Application Fortresses
      1. Foundation: Components and COMWare
      2. Leveraging Clusters
      3. .NET versus the J2EE Approach
      4. Summary
    15. Legacy, Service, and Treaty Management Fortresses
      1. Legacy Fortresses
      2. Service Fortresses
      3. Treaty Management Fortresses
      4. Summary
    16. Software Fortress Design Review
      1. Group One: Enterprise Overview Questions
      2. Group Two: Enterprise Architecture Questions
      3. Group Three: Fortress Architecture Questions
      4. Summary
    17. Case Study
      1. The Problem
      2. First-Pass Design
      3. Second-Pass Design
      4. The ProcessOrder Drawbridges
      5. The CheckInventory Drawbridges
      6. Guards
      7. Summary
    18. Postlude
      1. Ten Important Points about Software Fortresses
      2. Ten Reasons to Adopt the Software Fortress Model
      3. Ten Rules for Software Fortress Design
      4. Ten Controversial Ideas within the Software Fortress Model
      5. Ten Considerations for Evaluating J2EE versus .NET
      6. Ten Observations on the State of the Software Industry
      7. Where to Go Next
      8. Final Words
    19. Glossary