Introduction¶
The framework is developed for rapid development of Enterprise application on the C++ platform. It consists of the following and is currently implemented for LINUX/WINDOWS + GNU G++/VC++ (latest). It is the first and only C++ Application framework to provide non-intrusive Dependency Injection and Business Driven Component Logic and POCO based Development. Most of the features are controlled by configuration files.
Features¶
- Web Server (Multi process, Multi Threaded – EPOLL based)
- Dependency Injection (constructor and setter injection)
- ORM library (currently implemented for MySQL, Integrated with STL, Table mappings through configuration files –> One – Many, Many – Many ,One – One. The ORM Can be easily extended to other Databases).
- SOAP Integration (Web Service implementation through configuration file –> Methods in a C++ header file exposed as Web-Services)
- AJAX Integration (Using property based configuration - On the lines of DWR for Java –> Just define C++ header files and Methods will be exposed as AJAX calls)
- EJB styled Beans (Remote and Local Interfaces exposed -> C++ files have the services, and the methods to be exposed are defined in a configuration file)
- Universal Object type for C++ (intelligent pointer - no need of extending any class – identifies the object type)
- XML based Serialization (Limited -> only for single level /no nesting of objects - header files required)
- Reflection (Limited –> header files required)
- Dynamic C++ Pages (Mix HTML and C++ code to produce run time views)
- Template Engine and Dynamic Views generated from C++ objects.
- Controller Pattern (Implement controllers mapped with URL patterns to define custom behaviors)
- Request/Response Filters (Implement a chain of custom Filters for Pre/Post processing of request/response)
- Thread Pool Implementation
- C++ Interpreter (Limited support)
- Rule based WEB Behavior(idea can be expanded to other areas application wide)
- XML Parser (DOM Styled)
- Database Connection Pooling
- Internationalization support
- Utilities such as Timer, Logging, Property Files etc.
- File Upload
- FTP Server
- Security features for Method access (Web Services, AJAX calls, C++ Bean service calls, Server URL’s)
- Module for Integration of the framework with Apache Web Server
- Method Invoker Server for cross platform Method Invocation (A daemon per language/platform approach – XML based Serialization/De- Serialization)