- Object Interactions
- Object Interaction Scenario in IT Management
- Example of a Mediator
- Mediator Base Class
- Mediator Subclass
- Widget Class
- Two Widget Subclasses
- LspDirector Implementation
- Widget Class Implementation
- PathWidget Class Implementation
- Putting It All Together
- Conclusion
- Additional Reading
Object Interaction Scenario in IT Management
A notable feature of IT management is the need to handle large numbers of small objects. As discussed in my earlier articles, these objects include nodes, logical connections, links, traffic parameters, and so on. All these entities are interrelated and many of them interact directly with one another. Let’s take a look at one area in which substantial service-affecting interactions often occur in real time.
Figure 1 shows an example of a complex managed network, which offers a variety of services to its users, including Internet telephony and data applications (email, server access, application access, and so on). Also displayed in Figure 1 is a label switched path (LSP), which is a forwarding path from incoming traffic. The advantage of using LSPs rather than merely relying on IP forwarding is that LSPs provide fine-grained control of the network.
Figure 1 Object interactions in a complex network
The interactions between the LSP and the other parts of the system in Figure 1 are as follows:
- The LSP is initially created.
- The LSP comes into service ready to start forwarding traffic.
- The LSP is configured to forward traffic.
- The LSP path is later modified for optimization purposes.
- The LSP is deleted.
Some of these interactions occur through the network management system displayed in Figure 1. When a network is initially deployed without management, and at some later stage a network management system is added, any LSPs are then "discovered" by the latter. This is a further mechanism that allows for LSPs to be managed by the network management system. In short, LSPs (and other logical connection technologies, such as ATM, Frame Relay, and so on) are complex entities!
Let’s now look at some simple C++ code.