About this Manual > About this Manual > What is Rogue Wave Server? > Rogue Wave Server Library
 
Rogue Wave Server Library
Provided as a C++ library made up of classes and class templates, Rogue Wave® Server offers a set of services to support the development of reactive object servers, including:
*modeling services to implement the application model,
*view services to interface components with the application model.
Modeling Services
Rogue Wave Server includes a set of class templates that lets you define one-to-one and one-to- many relations among instances of your application model and lets you invert the relations you have created. In Rogue Wave Server, relations are implemented by means of smart pointers, a feature that manages automatic deletion of objects and helps you maintain the referential integrity of your application model transparently.
Rogue Wave Server automatically propagates changes in the data of your application by means of derived data members. These data members are constrained data members associated with an evaluation function. It also propagates changes in the object structure.
All these services combined together guarantee the design of a sound object model that will preserve its internal consistency as it is updated.
With Rogue Wave Server 5.0 and later, you can also use the dynamic modeling services to describe your object model dynamically instead of coding it using the C++ static modeling classes. Server objects become dynamic objects whose structure is built at runtime according to the corresponding dynamic type. Moreover, Rogue Wave Script integration lets you use Rogue Wave Script on the server side of your Rogue Wave Server application to access the model described in the server model interpreter, as well as the most common Rogue Wave Server API.
View and Notification Services
In a reactive object server, your application is interfaced with application components by means of C++ objects called views. A view maintains the consistency between a structure of inter-related server objects and a component representation of these objects.
A view subscribes to all or part of the Server objects. When these objects are in a logic state of creation, modification, or deletion, each view notifies its associated component representation accordingly. Views are instances dynamic view type specified by the user at runtime. Dynamic views are high-level services which allow you to start a server as soon as its object model is implemented.
Dynamic-view services provide a generic representation protocol to handle the interactions between view servers and components. Developing a component consists in implementing a bridge between the two classes of the generic representation protocol —IlsRpObject and IlsRepresentation— and the internal component classes.
Moreover, dynamic view services also integrate the communication layer between servers and components. Thus, making a linked Server application distributed requires only a few modifications in the main function of the executable and in the make file. This is also true if you want to change the communication layer, for instance from MvTCP to a CORBA ORB.
Writing a Server application involves three basic development steps:
1. Defining the Server object model;
2. Defining the component representation models;
3. Defining the view types that map the Server object model to representation models.
To complete the third step, you can use the Rogue Wave Server/Rogue Wave Views integration, called Rogue Wave Server Studio, to specify dynamic-view types via a graphical interface and associate them with gadgets, thus implementing the most part of your graphical components without coding.
The components can be either linked to the server or distributed.

Version 5.7
Copyright © 2013, Rogue Wave Software, Inc. All Rights Reserved.