On Tue, Oct 11, 2011 at 1:58 AM, Giorgio Zoppi <giorgio.zo...@gmail.com>wrote:
> > Hi there! a few thoughts: > > Tuscany-cpp has a hard dependency on HTTPD, used as runtime container > > instead or writing my own. > > Not sure if HTTPD mods can be easily ported to LightHTTPD. If it's > feasible > > and people want to try, I can help with any questions you have on the > > Tuscany HTTPD mods. > > Some sizing info posted to the Tuscany user list last year, showing that > > HTTPD can be built small: > > http://marc.info/?l=tuscany-user&m=128031058024758&w=2 > > Hope this helps. > > Hi Jean Sebastian, > some thoughts about SCA native. The roading map might be: > + remove pthread dependency in parallell.hpp with the new c++ > concurrent features. g++, Intel C++, MS C++ support really well. > Are you concerned about footprint? or is it that pthread is not available in your specific environment? Do you have a pointer to the equivalent features in g++, for example? Any equivalent in Clang? IIRC Daniel was trying to port the whole thing to Clang and I'm interested in that too. > + remove Axis/C dependency with gSOAP. Axis/C relies on java runtime, > afaik. > Huh, you may want to double check that statement... > This remove as well Apache2 dependency > ... and that one too :) > + valuate if we can remove Curl dependency. > In my idea there is the option to use boost at some extent. net-cpp > based on boost asio, > works as curl. > Are you saying that net-cpp provides features equivalent to curl? got a pointer to some docs with a feature comparison? > + replace the python dependency with PyMite. > + remove any dependency on Java. > + move to autoconf tools to CMake. > + remove any SQL dependencies. > + introduce regression tests Boost:Test > + provide a flexible way for managing memory. You use apache pools. I > am not sure if you can use in a stricted memory enviroment, > with 512 kb/1M for example. > Not sure if you've realized that, but -- with the exception of Curl, HTTPD and APR -- all the 'dependencies' you've listed there are already optional integration points. For example you only need Axis2/C if you decide to build the Tuscany Axis2/C integration component, you only need Python if you decide to build the support for Python components, only need PostgreSQL if you decide to build the PostgreSQL integration component. In other words the Tuscany runtime does *not* depend on Axis2/C, Python, PostgreSQL, etc. The idea is to branch from your native and starting to removing > things. Now I am thinking to a client. > Yeah it's probably feasible to come up with a different runtime branch with the 'server code' removed for use in a client-only environment. I'm not sure how much code you'll be able to reuse eventually after you do that, so another approach could be to start fresh for the client-only runtime and pull bits of existing code where it actually helps... Just 1c, > cheers, > Giorgio > -- > Quiero ser el rayo de sol que cada día te despierta > para hacerte respirar y vivir en me. > "Favola -Moda". >