Introducing Rogue Wave Server > Introducing Dynamic View Services > Notification and View Services: Overview > View Types
 
View Types
General
Each view is an instance of a view type. A view type defines a specific mapping between a server object model and a representation object model.
A view type is therefore characterized by:
*The server object types in which the view is interested and to which it can subscribe.
*A notification path propagating along selected inter-object relations, and starting from one or more origin objects.
So as to be notified of some or all modifications of a server object structure, the view automatically subscribes to every object met on the notification path and directly or transitively related to the origin object.
*A set of mappings between the server model object types and the representation object types.
Note: Adding a new view type does not affect the existing view types. Moreover, a server model and its representation models are implemented separately.
Dynamic View Types
As mentioned earlier, Rogue Wave Server view services are implemented as dynamic views, which let you specify dynamic view types and make the server interpret new view type specifications or update existing ones at any moment at runtime.
Dynamic view types do not exist at compile time. Defining a dynamic view type, therefore, consists in specifying the mapping all or part of a server object model to a target object model called a representation model, which is handled by an application component. Dynamic view types are defined within view specification files, which are interpreted at runtime by a view server.
Specification files are written using a very straightforward syntax and can be created
or modified at any time. You will find the complete grammar of this language in Appendix C, “Grammar of Dynamic View Type Specification” of the Reference Manual. See also “Dynamic View Type Specification”. for a commented code sample.
The interactions between a dynamic view and its associated representation take place via a single generic representation protocol. This protocol is transparent to the view designer. It is also independent from the view specification and from the representation types. This representation protocol is embedded in the various communication layers supported by Rogue Wave Server.
Note: Although fully asynchronous to prevent any deadlock, the generic representation protocol features logic synchronization functionality. Typically, a graphical component that waits for an acknowledgement from the server following an editing action can stop any new action that would result in modifying server objects, but will not freeze the graphical interface itself.
Using dynamic views, you can produce a distributed application from a linked application by simply modifying the way the component is initialized.
The next section will now focus on the key features of dynamic view services.

Version 5.8
Copyright © 2014, Rogue Wave Software, Inc. All Rights Reserved.