Thanks for the informaton. Could there be any license poblems with Apache when using it for commerical purposes?
2010/7/28 Jean-Sefbastien Delfino <[email protected]> > Mario Grotschar wrote: > >> Ah ok. I see that in M4 everything is a module to httpd server. So in M4 >> there is no way to run the runtime without httpd server? What was the >> reason >> for changing to this different approach? >> > > M3 supported HTTPD as well. Some of the limited SOAP-only samples used > Axis2/C axis2_http_server, but the HTTPD integration was a more solid > option. > > There were (and still are) issues with the axis2_http_server integration: > - only worked for SOAP and no other bindings in the same app; > - limited support for HTTP, no HTTPS or multipart requests for example; > - caused memory leaks, and eventually crashes; > - forced to run multithreaded (problematic with some libraries). > > See [1][2][3][4] for some of these issues. In [1][3] the Axis2/C folks > themselves are recommending to use HTTPD instead in production. > > The latest code requires HTTPD, but with a little bit of work, it should be > possible to not require a server at all in client-only apps. Let me know if > you're interested in working on a few runtime changes to support that (but > you'll see below that HTTPD is not that big...). > > The problem for the project we would like to use SCA for is a very limited >> host system, offering only 25 MB of disk storage. >> >> As far as i can see in M3 the native SCA binding uses ws and therefore the >> AXIS2 server, so unless i use REST I dont need the HTTPD server. The >> runtime >> will load the modules directly. >> > > About the size of the binaries, here are a few numbers which I hope can > help you (Ubuntu 9.10 build without debug symbols). > > Subset of Tuscany-cpp for C++ components, JSON-RPC and ATOM bindings: > /tuscany-sca-cpp-bin$ du -c modules/server modules/http > 24 modules/server/htdocs/js > 28 modules/server/htdocs > 708 modules/server > 20 modules/http/conf > 76 modules/http > 784 total (0.8Mb) > > Subset of HTTPD needed by Tuscany-cpp (see the list of modules in [5]): > /httpd-2.2.15-bin$ du -c bin lib modules > 516 bin > 748 lib > 756 modules > 2020 total (2Mb) > > With the latest code you can just use the JSON-RPC binding, which is > lighter than the old SOAP binding. Let's add the library used for JSON: > /tracemonkey-bin$ du -c lib/libmozjs.so > 1704 lib/libmozjs.so > 1704 total (1.7Mb) > > That gives us a total of 784 + 2020 + 1704 = 4508Kb (4.4Mb). > > That's all you need to run your SCA components, with robust support for > HTTP, and JSON-RPC and ATOM/REST bindings. > > > If you want SOAP, you need the Tuscany-cpp Web service component: > /tuscany-sca-cpp-bin$ du -c components/webservice > 656 components/webservice > 656 total (0.6Mb) > > and Axis2/C: > /axis2c-1.6.0-bin$ du -c axis2.xml bin lib modules > 8 axis2.xml > 268 bin > 1864 lib > 52 modules/addressing > 24 modules/logging > 80 modules > 2220 total (2.2Mb) > > That's a total of: 784 + 2020 + 1704 + 2220 = 6728Kb (6.6Mb) > > Is M3 completly obsolete or is there any interest in pursuing this >> architure? >> > > M3 is more than 3 years old, that's getting old :) > > Here is an analysis of the M3 binaries. > > Subset of Tuscany-sca-cpp-M3 for C++ components, SOAP and REST bindings: > /tuscany-sca-cpp-M3-bin $ du -c extensions lib > 148 extensions/cpp > 248 extensions/ws > 108 extensions/sca > 320 extensions/rest > 828 extensions > 532 lib > 1360 total (1.3Mb) > > I'm including the SOAP binding here as I'm assuming that you need an > RPC-type binding and won't do everything with REST, and there was no > JSON-RPC binding in M3. > > You also needed Tuscany-sdo-M3: > /tuscany-sdo-cpp-M3-bin $ du -c lib > 1192 lib > 1192 total (1.2Mb) > > So, including the recommended HTTPD and Axis2/C, M3 needed at minimum: > 1360 + 1192 + 2020 + 2220 = 6792Kb (6.6Mb) > > > We can discuss the various packaging options, but if you're really > constrained by disk storage, I'd suggest the latest code with JSON-RPC > instead of SOAP, 4.4Mb including HTTPD. > > Now, if you really want to use M3 or integrate the latest code with > axis2_http_server again, that's OK too. I'll try to help as much as I can > when I find some spare time. > > [1] http://wso2.org/forum/thread/8779 > [2] http://markmail.org/message/dfbbnnpnmlraxv2w > [3] http://markmail.org/message/kz6gnorlrj3smjjs > [4] https://issues.apache.org/jira/browse/AXIS2-4756 > [5] > http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/modules/http/httpd-conf > > Hope this helps. > -- > Jean-Sebastien > -- Mit freundlichen Grüßen, Mario Grotschar [email protected]
