Architecture
OpenFAST uses a generic message object model combined with a generic template model. Each piece of the template model is a part of the decoder/encoder. By defining a template, the corresponding decoder and encoder are built-in to the template definition.
Pros
- No recompilation or code-generation is needed as templates change
- New templates can be loaded on the fly
- Dynamic template exchange is simple and relatively straight forward
- Getting up and running with OpenFAST is much easier and faster than code generated solutions
- More flexible and easier to change than hard-coded template encoder/decoder implementations
Cons
- Memory consumption is high due to the fact that all data is stored as objects in the generic object model
- Performance is lower than FAST implementations using code generation