Overview
Dynamic modeling services allow you to describe a Server object model instead of coding it using the C++ API. Server objects become dynamic objects whose structure is built at runtime according to the corresponding dynamic type.
A dynamic model is seen just as a compiled static model by the dynamic views. Dynamic views can create or delete dynamic server objects, assign them dynamic attributes and relations, and access them. A dynamic model is also accessible to Script integration on the server side. (See Script Integration.)
Business methods can be implemented either through the C++ API or through Script.
To describe your dynamic model, you can use:
-
a C++ API (see the class IlsDynModelInterpreter);
-
an XMI file, (that is, a UML file in XML format).
From version 5.0 on, Server provides a runtime environment to create and manipulate dynamic objects.
A Server dynamic model is similar to a static model built using Server modeling classes. The underlying concepts are common to both kinds of models, namely:
-
Automatic memory management
-
Model integrity rules
Important!
You will find dynamic modeling services very useful to design your prototypes of Server applications. However, as dynamic models are not as efficient as static compiled models, we recommend you use the standard Server modeling classes to build efficient applications. Moreover, dynamic modeling services offer less functionality than the standard modeling services. For instance, a dynamic relation cannot be specified as having minimum or maximum cardinality. |
The dynamic-modeling library is not meant to be thread safe. This fact means that you cannot create or access dynamic objects concurrently from multiple threads.
A Server application using dynamic modeling services and running a dynamic model is called a dynamic server.