You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Samisa Abeysinghe <sa...@wso2.com> on 2007/05/28 10:06:52 UTC

Re: Using Unix Domain Sockets with Axis2/C (was Re: [Axis2]Local Transport Implementation.)

sanjayak@wso2.com wrote:
> Well as far as web services are concerned, OM trees should not be exposed
> to the outside. But I guess this can be treated as a special case here,
> where the client and the server both should be Axis (The practical use
> case I believe).
>   
If both client and server are Axis2/C, using OM and not serializing 
would give best performance.
If either is not Axis2/C, we got to serialize because OM cannot be 
understood by one party. If we want to support both the homogeneous case 
as well as heterogeneous case, we may come up with some parameter to 
indicate whether to serialize or not.
> In terms of portability I am not sure whether UNIX domain sockets as the
> way to go. In that case it should be pipes. According to POSIX standard,
> pipes are unidirectional. So the standard way to use it is to have two
> pipes one to read and one to write. But in windows and in some UNIX
> implementations they are bi-directional like domain sockets. But that
> doesn't stop you from using it in the standard way which is portable
> across platforms.
>   
+1 for pipes. May be we can learn for APR API on how to make it 
portable. 
(http://apr.apache.org/docs/apr/1.2/group__apr__file__io.html#gae3b81342d239c58c351cf11190740ed)

Samisa...
> Thoughts?
>
> /Sanjaya
>
>
>   
>> Are we going to skip serializing/deserializing of OM trees in use in
>> this case? If so how?
>>
>> Samisa...
>>
>> Dinesh Premalal wrote:
>>     
>>> Hi Sanjaya,
>>>
>>> sanjayak@wso2.com writes:
>>>
>>>
>>>       
>>>> Hi Dinesh,
>>>>
>>>> If it is a local transport I should be able to make use of it without
>>>> an
>>>> http server. In the design of Axis2 the http protocol is treated as
>>>> another transport, if I am not mistaken. So having to run an http
>>>> server
>>>> to make use the local transport doesn't sound right somatically.
>>>>
>>>>         
>>> Well...I think ,I confused everyone :) , by using name Local
>>> Transport. When both server and client in same machine there is a
>>> performance improvement using Unix Domain Sockets [1].
>>>
>>> If we are going to use Unix Domain Sockets with Axis2/C, definitely
>>> there should be a server to listen up for incoming localhost
>>> connections [2]. Therefore My suggestion was extend axis2_http_server
>>> functionality for Unix Domain Sockets with a parameter in axis2.xml.
>>>
>>> Theoretically there is a performance gain in using Unix Domain Sockets
>>> in local transport. I'm not sure whether there is a practical
>>> performance gain.
>>>
>>> thanks,
>>> Dinesh
>>>
>>> 1.
>>> http://lists.freebsd.org/pipermail/freebsd-performance/2005-February/001143.html
>>> 2. http://www.ecst.csuchico.edu/~beej/guide/ipc/usock.html
>>>
>>>       
>> --
>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services
>> Developers' Portal)
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-dev-help@ws.apache.org
>>
>>
>>     
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-dev-help@ws.apache.org
>
>
>   


-- 
Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal)


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org