Ru-Brd |
Traditional software development techniques that statically link and configure a networked application's services together can be limiting. For example, the effort and time needed to rebuild an entire program for each new or modified service increases development and maintenance costs substantially. Moreover, making these changes in the field is inefficient and error prone, and can cause support costs to soar and customer satisfaction to plummet. This chapter described the ACE Service Configurator framework, which implements the Component Configurator pattern [POSA2] to provide a portable way to statically and/or dynamically link services and then initiate, suspend, resume, and shut them down dynamically at run time. This framework helps to improve the extensibility of networked software by allowing applications to defer the selection of a particular service implementation until late in the software life cycle ”as late as installation time or even run time. This flexibility yields the following important advantages:
This chapter explained the origin and usage of each of the ACE Service Configurator framework's classes and helper macros. We also used these capabilities to separate parts of the previous chapter's logging servers into independently linkable and configurable services. The result was a networked logging service that can be configured and deployed in various ways. The extensibility afforded by the ACE Service Configurator framework allows operators and administrators to select the features and alternative implementation strategies that make the most sense in a particular context, as well as make localized decisions on how best to initialize and evolve them. |
Ru-Brd |