aprovy / ffead-cpp Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/ffead-cpp
Automatically exported from code.google.com/p/ffead-cpp
README Framework for Enterprise application development in C++ Sumeet Chhetri 21-04-2012 FEATURES 1. Easy to use View Framework 2. SSL Support available 3. Web Server (Multi process, Multi Threaded EPOLL/Kqueue/Event Ports/Devpoll/Poll/Select based) 4. Inbuilt Authentication handlers and OAUTH support 5. Configuration driven URL mapping 6. Dependency Injection (constructor and setter injection) 7. 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). 8. SOAP Integration (Web Service implementation through configuration file - Methods in a C++ header file exposed as Web-Services) 9. REST Controller framework (pretty URL's) 10. 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) 11. 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) 12. Universal Object type for C++ (intelligent pointer - no need of extending any class - identifies the object type) 13. Binary, XML and JSON based Serialization 14. Reflection (Limited - header files required) 15. Dynamic C++ Pages (Mix HTML and C++ code to produce run time views without web server restart) 16. Template Engine and Dynamic Views generated from C++ objects. 17. Controller Pattern (Implement controllers mapped with URL patterns to define custom behaviors) 18. Request/Response Filters (Implement a chain of custom Filters for Pre/Post processing of request/response) 19. Thread Pool Implementation with Futures 20. Bigint and Bigdecimal classes for arithmetic operations on big numbers 21. C++ Interpreter (Limited support) 22. Rule based WEB Behavior(idea can be expanded to other areas application wide) 23. XML Parser (DOM Styled) 24. Database Connection Pooling 25. Internationalization support 26. Utilities such as Timer, Logging, Property Files etc. 27. File Upload 28. FTP Server 29. Security features for Method access (Web Services, AJAX calls, C++ Bean service calls, Server URL’s) 30. Module for Integration of the framework with Apache Web Server 31. Method Invoker Server for cross platform Method Invocation (A daemon per language/platform approach – XML based Serialization/De- Serialization) 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 REQUIREMENTS 1. Any box that runs linux, BSD, Solaris or Windows/Cygwin or any other OS(using autotools) 2. Boost is no longer required as of version 1.7 3. UnixODBC and development files 4. OpenSSl and development files 5. (GNU C++ compiler, GNU make) or Autotools(autoconf/automake/libtool/c++ compiler) INSTALL Autotools/Any OS Refer to the AUTOTOOLS-ANY-OS-INSTALL for generic installation directions. Unix Refer the UNIX-INSTALL-WITH-GNU-MAKE file for installation directions. BSD Refer the FREEBSD-INSTALL-WITH-GNU-MAKE file for installation directions. Windows/Cygwin Refer the WINDOWS-CYGWIN-INSTALL-WITH-GNU-MAKE file for installation direction on Windows platform having Cygwin installed Solaris Refer the SOLARIS-INSTALL-WITH-GNU-MAKE file for installation directions. UPDATES Find latest and older versions on Google Code - http://code.google.com/p/ffead-cpp Github - https://github.com/sumeetchhetri/ffead-cpp Copyright © 2014 Sumeet Chhetri
What steps will reproduce the problem?
1. compile and install apache web server successfully for my Linux System
Ubuntu 12.04 LTS.
2. Then compile ffead-server-src-v1.8 source package successfully without any
issue in my system.
3. After that I have started to compile apache_mod_ffead module for my system
which gets failed to compile.
What is the expected output? What do you see instead?
Apache module compilation process has been closed due to some error.
make: *** [mod_ffeadcpp.o] Error 1
What version of the product are you using? On what operating system?
ffead-server-src-v1.8 and apache 2.4.9 installed in Ubuntu 12.04 LTS and tried
to compile apache_mod_ffead module for same.
Please provide any additional information below.
Please find following list of errors for more reference.
1)
ffead/ffead-server-src-v1.8/Debug/ffead-server/include/ConfigurationData.h:113:2
: error: ‘ConfigurationData::ConfigurationData()’ is private
2) ffead/ffead-server-src-v1.8/Debug/ffead-server/include/SSLHandler.h:40:2:
error: ‘SSLHandler::SSLHandler()’ is private
3) FfeadCppApacheModule.cpp:155:59: error: no matching function for call to
‘ServiceTask::ServiceTask(int, std::string&, NULL, bool&, NULL, SSLHandler&,
ConfigurationData&, void*&)’
4) FfeadCppApacheModule.cpp:321:8: error: ‘class HttpRequest’ has no member
named ‘setHttpVersion’
5) FfeadCppApacheModule.cpp:337:14: error: ‘class HttpResponse’ has no
member named ‘getContent_type’
6) FfeadCppApacheModule.cpp:339:30: error: ‘class HttpResponse’ has no
member named ‘getContent_type’
7) FfeadCppApacheModule.cpp:341:14: error: ‘class HttpResponse’ has no
member named ‘getContent_str’
8) FfeadCppApacheModule.cpp:343:27: error: ‘class HttpResponse’ has no
member named ‘getContent_str’
9) FfeadCppApacheModule.cpp:373:2: error: ‘init’ is not a member of
‘Logger’
10) FfeadCppApacheModule.cpp:374:11: error: ‘getLogger’ is not a member of
‘Logger’
11) FfeadCppApacheModule.cpp:386:121: error: no matching function for call to
‘ConfigurationHandler::handle(strVec&, strVec&, std::string&, std::string&,
std::string&, std::string&, bool&)’
12) FfeadCppApacheModule.cpp:430:62: error: no matching function for call to
‘ScriptHandler::execute(std::string&, std::vector<std::basic_string<char> >&,
std::string&)’
Please let me know if you need any more information and help me to solve above
problems.
Original issue reported on code.google.com by [email protected]
on 5 Aug 2014 at 4:48
Hello Summet,
I followed the instruction you mentioned for install ffead on windows
environment.
Default page if index.html came successfully. But nothing else work.
I tried to use RestController example , it did not work either even I added new
users in user file. it goes to login page , I entered user and then came back
to Index.html.
Am I doing something wrong here? How to test other default examples mentioned
by you in wiki ?
Many thanks for your wonderful application.
Thanks and Regards
Abhishek Kumar
Original issue reported on code.google.com by [email protected]
on 16 Aug 2012 at 10:52
What steps will reproduce the problem?
1. Compile and install Apache Web Server 2.4.9 in my Ubuntu 12.04 LTS system
2. Compile ffead package 1.9 with apache_mod_ffeadcpp module using help of
INSTALL and other User Guide.
3. Started httpd process and see that apache_mod_ffeadcpp module is loaded
successfully but connection goes into reset state after requesting default
index.html page from web browser.
"http://<<Server IP>>/ffead-server/web/default/index.html"
What is the expected output? What do you see instead?
I have tried to debug from apache module source code and found that
"serverRootDirectory" and "webpath URL" becomes invalid after requesting
index.html page.
Also that "serverRootDirectory" is valid after starting httpd process but
before calling HTTP request.
What version of the product are you using? On what operating system?
Please provide any additional information below.
This is valid serverRootDirectory path
"/usr/local/apache2/htdocs/ffead-server/" after starting httpd process and
before calling HTTP request with default index.html page.
Then serverRootDirectory path becomes invalid
"/usr/local/apache2/htdocs/ffead-server//usr/local/apache2/htdocs/ffead-server/"
and also webpath URL
"URL/usr/local/apache2/htdocs/ffead-server//usr/local/apache2/htdocs/ffead-serve
r/web//ffead-server/web/default/index.html" after calling HTTP request with
default index.html page.
Also connection goes into reset state and one of child httpd process killed
after that.
[core:notice] [pid 13260:tid 3075201344] AH00051: child pid 13261 exit signal
Aborted (6), possible coredump in /usr/local/apache2
Please let me know if you have any idea about this issue.
Original issue reported on code.google.com by [email protected]
on 6 Aug 2014 at 12:19
Hi,
I have using this link https://code.google.com/p/ffead-cpp/wiki/ExampleRestController
It showing lot of header file errors. I don't know how to install and use the
rest controller code.
Please help Me.. Give me the solution..
Thanks,
Pari
Original issue reported on code.google.com by [email protected]
on 23 Feb 2015 at 12:24
What steps will reproduce the problem?
1. Building the Library libinter.so manually because the ffead-logs telling me
it is missing (auto-generation also fails)
What is the expected output? What do you see instead?
Building file: ReflectorInterface.cpp
Invoking: GCC C++ Compiler
g++ -I/data/work1/gui/ffead/src/Debug/ffead-server/web/default/include/
-I/data/work1/gui/ffead/src/Debug/ffead-server/web/flexApp/include/
-I/data/work1/gui/ffead/src/Debug/ffead-server/web/oauthApp/include/
-I/data/work1/gui/ffead/src/Debug/ffead-server/web/rest2cobol/include/
-I../include -O0 -Wall -c -fmessage-length=0 -fPIC -MMD -MP
-MF"ReflectorInterface.d" -MT"ReflectorInterface.d" -o"ReflectorInterface.o"
"ReflectorInterface.cpp"
ReflectorInterface.cpp: In function »ClassInfo
getReflectionCIForDefaultRestController()«:
ReflectorInterface.cpp:1840: Fehler: redefinition of »ClassInfo
getReflectionCIForDefaultRestController()«
ReflectorInterface.cpp:243: Fehler: »ClassInfo
getReflectionCIForDefaultRestController()« wurde vorher hier definiert
ReflectorInterface.cpp: In function »void
invokeAdToVecForDefaultRestController(void*, void*)«:
ReflectorInterface.cpp:1884: Fehler: redefinition of »void
invokeAdToVecForDefaultRestController(void*, void*)«
ReflectorInterface.cpp:287: Fehler: »void
invokeAdToVecForDefaultRestController(void*, void*)« wurde vorher hier
definiert
ReflectorInterface.cpp: In function »void*
invokeGetNewVecForDefaultRestController()«:
ReflectorInterface.cpp:1885: Fehler: redefinition of »void*
invokeGetNewVecForDefaultRestController()«
ReflectorInterface.cpp:288: Fehler: »void*
invokeGetNewVecForDefaultRestController()« wurde vorher hier definiert
ReflectorInterface.cpp: In function »int
invokeGetVecSizeForDefaultRestController(void*)«:
ReflectorInterface.cpp:1886: Fehler: redefinition of »int
invokeGetVecSizeForDefaultRestController(void*)«
ReflectorInterface.cpp:289: Fehler: »int
invokeGetVecSizeForDefaultRestController(void*)« wurde vorher hier definiert
ReflectorInterface.cpp: In function »void*
invokeGetVecElementForDefaultRestController(void*, int)«:
ReflectorInterface.cpp:1887: Fehler: redefinition of »void*
invokeGetVecElementForDefaultRestController(void*, int)«
ReflectorInterface.cpp:290: Fehler: »void*
invokeGetVecElementForDefaultRestController(void*, int)« wurde vorher hier
definiert
ReflectorInterface.cpp: In function »void*
invokeReflectionCICtorForDefaultRestController(vals)«:
ReflectorInterface.cpp:2995: Fehler: redefinition of »void*
invokeReflectionCICtorForDefaultRestController(vals)«
ReflectorInterface.cpp:2018: Fehler: »void*
invokeReflectionCICtorForDefaultRestController(vals)« wurde vorher hier
definiert
ReflectorInterface.cpp: In function »void
invokeReflectionCIDtorForDefaultRestController(void*)«:
ReflectorInterface.cpp:3002: Fehler: redefinition of »void
invokeReflectionCIDtorForDefaultRestController(void*)«
ReflectorInterface.cpp:2025: Fehler: »void
invokeReflectionCIDtorForDefaultRestController(void*)« wurde vorher hier
definiert
ReflectorInterface.cpp: In function »void*
invokeReflectionCIMethodForDefaultRestControlleraddNumbersintint(void*, vals)«:
ReflectorInterface.cpp:3007: Fehler: redefinition of »void*
invokeReflectionCIMethodForDefaultRestControlleraddNumbersintint(void*, vals)«
ReflectorInterface.cpp:2030: Fehler: »void*
invokeReflectionCIMethodForDefaultRestControlleraddNumbersintint(void*, vals)«
wurde vorher hier definiert
ReflectorInterface.cpp: In function »void*
invokeReflectionCIMethodForDefaultRestControllerpowerintint(void*, vals)«:
ReflectorInterface.cpp:3015: Fehler: redefinition of »void*
invokeReflectionCIMethodForDefaultRestControllerpowerintint(void*, vals)«
ReflectorInterface.cpp:2038: Fehler: »void*
invokeReflectionCIMethodForDefaultRestControllerpowerintint(void*, vals)«
wurde vorher hier definiert
make: *** [ReflectorInterface.o] Fehler 1
What version of the product are you using? On what operating system?
Linux 2.6.32-100.28.5.el6.x86_64 #1 SMP Wed Feb 2 18:40:23 EST 2011 x86_64
x86_64 x86_64 GNU/Linux
I am in directory:
ffead/src/Debug/ffead-server/rtdcf
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 26 Nov 2012 at 11:00
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.