
ffead-cpp
Binary Downloads
Starting from v1.9, all downloads are actively maintained at https://github.com/sumeetchhetri/ffead-cpp, for all release downloads visit https://github.com/sumeetchhetri/ffead-cpp/releases. All downloads will now be maintained at github as goodle code has stopped allowing downloads on the project site.
Testing Frameworks
You can use the GATF framework for API test executions of all you REST/SOAP endpoints.
Release Notes version 1.9
- Fix for the socket select issue (when number of connections increases 64)
- Added support for autotools build system
- The intermediate libraries (libinter/libdinter) can also be built at run-time using ./configure/make
Release Notes version 1.8
- CORS Filter support for corss origin resource sharing
- Changes to XML/JSON/Binary Serialization
- Moved common code to a new SerializeBase class
- Modified the AMEF Protocol classes for better binary serialization support
- Added support for handling namespaces and nested classes in Reflection
- Fixed the Date/DateFormat classes for all issues related to parsing/formatting/updating dates
- Added new Multipartcontent object for handling multipart requests
- Added gzip/deflate compression for responses
- Added chunked transfer encoding support
- Added Last Modified/If-Modified-Since header based cache support
- Moved request/response headers to a map instead of properties
- Fixed the HttpResponseParser class
- Fixed the JSONUtil class for error in json parsing
- Introduced a new LoggerFactory class to handle multiple loggers, fixed the Logger class
- Introduced Futures based Thread pooling support
- Fixed various web service issues/problems
- Introduced JobScheduler class for job scheduling
- Added a new CronTimer class for handling cron times
- Introduced stream based single/multi File upload support in Rest Controllers
- Added a few new html pages for testing/sanity
- Fixed the accpetance test related files
- Added a couple of new classes in the default app for testing new features
- Fixed the afc.js file to resolve existing issues
- Fixed an existing issue with namespace handling within the Element class
- Introduced new properties for connection keep-alive, transfer encoding chunk size, default content encoding method, max number of input headers and max file upload size to the server.prop config file
- Changed the web-service related template files for better web service support
Introduction
The framework is developed for rapid development of Enterprise application on the C++ platform. It is a c++ web framework, c++ application framework, c++ rest framework, c++ security framework and c++ soap framework all bundled into one.
It consists of the following and is currently implemented for LINUX/FREEBSD/WINDOWS(Cygwin)/SOLARIS.
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
- Easy to use View Framework
- SSL Support available
- Web Server (Multi process, Multi Threaded – EPOLL based)
- Inbuilt Authentication handlers and OAUTH support
- Configuration driven URL mapping
- 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)
- REST Controller framework (pretty URL's) and RESTFULL acceptance test framework
- 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)
- Binary, XML and JSON 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 without web server restart)
- 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
- ROLE based 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)
Also hosted at https://github.com/sumeetchhetri/ffead-cpp'>https://github.com/sumeetchhetri/ffead-cpp
Project Information
- License: Apache License 2.0
- 81 stars
- svn-based source control
Labels:
application
ajax
web
orm
serialization
reflection
dependency
interpreter
Services
ffead
Messaging
Application
Server
injection
IOC