What is an Active Object Server?
An active object server manages a set of C++ objects that can consistently be shared by several application components. When objects are updated, the active object server notifies the “client” application components connected to it accordingly.
Active object servers implement an object model and provide interface services, called views, which are used to connect application components to the object model. Various application components—graphical user interfaces, database management systems, and external data sources—can be plugged to a server object model. These components can be either distributed over a network or linked within the object server process.
A server object model manages the objects of the application and their associated logic. It is composed of the set of C++ classes that describe the shared information system. Instances of these classes are known as server objects. The server object model is designed using the modeling services provided by Server. Together with the application components connected to it, it makes up a Server application.
Interface services, known as views, come in between the server object model and application components. Since views isolate the object model from application components, you can easily extend your Server application. New application components can be plugged into an object server without modifying the existing object model. Through views, application components can subscribe to selected server objects in the model. Views notify application components whenever an object to which they subscribe is updated. As each component may use or represent server objects in a specific way, views maintain mappings between the server objects and the particular type of representations that each component can handle.