1.8 Objects, Components, and Fortresses


1.8 Objects, Components , and Fortresses

Considerable confusion exists in our industry on the relationship between objects and components. Throwing software fortresses into the fray, which share characteristics of both objects and components, is likely to add to the confusion. So let me take a moment to clarify how these three loosely connected ideas are related .

Objects are implementation details of a larger body of software. They are created with object-oriented programming languages, such as C# or Java. A typical program may be composed of hundreds or even thousands of interacting objects. Object interfaces are typically made up of many fine-grained methods . They run inside the process of their callers . Security is not an issue for objects.

Components are coarse-grained blobs of software that make up distributable units. They are created with some distributed-component technology, such as Enterprise JavaBeans. A typical distributed application may have several components working together. Component interfaces are typically made up of a small number of methods, each about the granularity of a tightly coupled transaction. They typically run outside the process of their callers. There are many security options for components, but the overall security model for components is undefined.

Fortresses are entire systems, each probably consisting of several fully functional applications. They are built according to the principles of the software fortress model. The equivalent of an interface for a fortress is a drawbridge. Drawbridges usually have only one allowable request, and that request is of a granularity coarse enough that probably several tightly coupled transactions will be required to fulfill it. The security model is highly defined for fortresses, making extensive use of walls to keep requests out and guards to let requests in.

Figure 1.5 pictorially shows how objects, components, and fortresses are related.

Figure 1.5. Objects, Components, and Software Fortresses



Software Fortresses. Modeling Enterprise Architectures
Software Fortresses: Modeling Enterprise Architectures
ISBN: 0321166086
EAN: 2147483647
Year: 2003
Pages: 114

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net