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 2009/12/21 04:05:49 UTC
Re: Implementing Http Keep Alive and Transport level session support
for Axis2/C
Looks good.
Have you committed?
Samisa...
On Tue, Dec 15, 2009 at 11:58 AM, Damitha Kumarage <da...@wso2.com> wrote:
> Hi,
> I have implemented Http keep alive support and Cookie session support for
> Axis2/C and commited to svn.
> Following is a brief introduction into how I implemented it.
>
> Cookie session support.
>
> I use Apache mod_dbd module to store sessions at server side. The functions
> for storing and retrieving session can be accessed through Axis2/C
> environment. I have
> implemented this for Apache module. Plan to implement this for Axis2/C
> standalone server soon(which is trivial)
> A service could support session by creating a hash table filling it with
> key value pairs and setting it to the message context.
> Then when this message context reach the server side sender it extract the
> values from the hash table and make a session string from that. It then
> generate a session id and
> store the session string against the id generated(using the above mentioned
> function in environment).
> Then it add the Set-Cookie header into the response message which has the
> cookie header value of session id and expiration time.
>
> In the client side the sessions are stored in a session map against the
> server.
>
> When the server get the Cookie header it will retrieve the session value by
> calling the environment function mentioned above and create a hash table and
> set it to the message context.
>
> Http Keep Alive support for Axis2/C client side.
>
> Here implementation is as following.
> When http transport sender is initialized it will mark whether keep alive
> is supported when sending messages. This is the default behaviour. However
> user can change this(in HTTP1.0) by
> keep alive transport sender parameter in axis2.xml.
> Now when http sender send the message for the first time it will store the
> http_client in the keep alive map in the configuration context, against the
> server. From there
> onwards it will reuse this http client for sending the messages. In http
> 1.0 case it will set the http keep alive header when sending the messages.
> The implementation handle session close messages from the server in http
> 1.1 case and keep alive header from server side in http 1.0 case.
>
> Attached is the patch for the changes to implement above.
>
> Thanks,
> Damitha
> --
> __________________________________________________________________
>
> Damitha Kumarage
> http://people.apache.org/
> __________________________________________________________________
>
--
Samisa Abeysinghe
Director, Engineering - WSO2 Inc.
http://www.wso2.com/ - "The Open Source SOA Company"
Re: Implementing Http Keep Alive and Transport level session support
for Axis2/C
Posted by Damitha Kumarage <da...@wso2.com>.
Deepal jayasinghe wrote:
> Damitha,
>
> Did you get a chance to check with Axis2/Java? it would be a good
> interoperability testing.
>
Will do Deepal,
Thanks,
Damitha
> Thanks,
> Deepal
>
>> Samisa Abeysinghe wrote:
>>
>>> Looks good.
>>> Have you committed?
>>>
>> Yes it is in svn
>>
>> Thanks,
>> Damitha
>>
>>> Samisa...
>>>
>>>
>>> On Tue, Dec 15, 2009 at 11:58 AM, Damitha Kumarage <damitha@wso2.com
>>> <ma...@wso2.com>> wrote:
>>>
>>> Hi,
>>> I have implemented Http keep alive support and Cookie session
>>> support for Axis2/C and commited to svn.
>>> Following is a brief introduction into how I implemented it.
>>>
>>> Cookie session support.
>>>
>>> I use Apache mod_dbd module to store sessions at server side. The
>>> functions for storing and retrieving session can be accessed
>>> through Axis2/C environment. I have
>>> implemented this for Apache module. Plan to implement this for
>>> Axis2/C standalone server soon(which is trivial)
>>> A service could support session by creating a hash table filling
>>> it with key value pairs and setting it to the message context.
>>> Then when this message context reach the server side sender it
>>> extract the values from the hash table and make a session string
>>> from that. It then generate a session id and
>>> store the session string against the id generated(using the above
>>> mentioned function in environment).
>>> Then it add the Set-Cookie header into the response message which
>>> has the cookie header value of session id and expiration time.
>>>
>>> In the client side the sessions are stored in a session map
>>> against the server.
>>>
>>> When the server get the Cookie header it will retrieve the session
>>> value by calling the environment function mentioned above and
>>> create a hash table and set it to the message context.
>>>
>>> Http Keep Alive support for Axis2/C client side.
>>>
>>> Here implementation is as following.
>>> When http transport sender is initialized it will mark whether
>>> keep alive is supported when sending messages. This is the default
>>> behaviour. However user can change this(in HTTP1.0) by
>>> keep alive transport sender parameter in axis2.xml.
>>> Now when http sender send the message for the first time it will
>>> store the http_client in the keep alive map in the configuration
>>> context, against the server. From there
>>> onwards it will reuse this http client for sending the messages.
>>> In http 1.0 case it will set the http keep alive header when
>>> sending the messages.
>>> The implementation handle session close messages from the server
>>> in http 1.1 case and keep alive header from server side in http
>>> 1.0 case.
>>>
>>> Attached is the patch for the changes to implement above.
>>>
>>> Thanks,
>>> Damitha
>>> --
>>> __________________________________________________________________
>>>
>>> Damitha Kumarage
>>> http://people.apache.org/
>>> __________________________________________________________________
>>>
>>>
>>>
>>>
>>> --
>>> Samisa Abeysinghe
>>> Director, Engineering - WSO2 Inc.
>>>
>>> http://www.wso2.com/ - "The Open Source SOA Company"
>>>
>>
>
>
>
--
__________________________________________________________________
Damitha Kumarage
Technical Lead; WSO2 Inc.
"Oxygenating the Web Service Platform; " http://www.wso2.com/
blog: " http://damithakumarage.wordpress.com/
__________________________________________________________________
Re: Implementing Http Keep Alive and Transport level session support
for Axis2/C
Posted by Deepal jayasinghe <de...@gmail.com>.
Damitha,
Did you get a chance to check with Axis2/Java? it would be a good
interoperability testing.
Thanks,
Deepal
> Samisa Abeysinghe wrote:
>> Looks good.
>> Have you committed?
> Yes it is in svn
>
> Thanks,
> Damitha
>>
>> Samisa...
>>
>>
>> On Tue, Dec 15, 2009 at 11:58 AM, Damitha Kumarage <damitha@wso2.com
>> <ma...@wso2.com>> wrote:
>>
>> Hi,
>> I have implemented Http keep alive support and Cookie session
>> support for Axis2/C and commited to svn.
>> Following is a brief introduction into how I implemented it.
>>
>> Cookie session support.
>>
>> I use Apache mod_dbd module to store sessions at server side. The
>> functions for storing and retrieving session can be accessed
>> through Axis2/C environment. I have
>> implemented this for Apache module. Plan to implement this for
>> Axis2/C standalone server soon(which is trivial)
>> A service could support session by creating a hash table filling
>> it with key value pairs and setting it to the message context.
>> Then when this message context reach the server side sender it
>> extract the values from the hash table and make a session string
>> from that. It then generate a session id and
>> store the session string against the id generated(using the above
>> mentioned function in environment).
>> Then it add the Set-Cookie header into the response message which
>> has the cookie header value of session id and expiration time.
>>
>> In the client side the sessions are stored in a session map
>> against the server.
>>
>> When the server get the Cookie header it will retrieve the session
>> value by calling the environment function mentioned above and
>> create a hash table and set it to the message context.
>>
>> Http Keep Alive support for Axis2/C client side.
>>
>> Here implementation is as following.
>> When http transport sender is initialized it will mark whether
>> keep alive is supported when sending messages. This is the default
>> behaviour. However user can change this(in HTTP1.0) by
>> keep alive transport sender parameter in axis2.xml.
>> Now when http sender send the message for the first time it will
>> store the http_client in the keep alive map in the configuration
>> context, against the server. From there
>> onwards it will reuse this http client for sending the messages.
>> In http 1.0 case it will set the http keep alive header when
>> sending the messages.
>> The implementation handle session close messages from the server
>> in http 1.1 case and keep alive header from server side in http
>> 1.0 case.
>>
>> Attached is the patch for the changes to implement above.
>>
>> Thanks,
>> Damitha
>> --
>> __________________________________________________________________
>>
>> Damitha Kumarage
>> http://people.apache.org/
>> __________________________________________________________________
>>
>>
>>
>>
>> --
>> Samisa Abeysinghe
>> Director, Engineering - WSO2 Inc.
>>
>> http://www.wso2.com/ - "The Open Source SOA Company"
>
>
--
Thank you!
http://blogs.deepal.org
http://deepal.org
Re: Implementing Http Keep Alive and Transport level session support
for Axis2/C
Posted by Damitha Kumarage <da...@wso2.com>.
Samisa Abeysinghe wrote:
> Looks good.
>
> Have you committed?
Yes it is in svn
Thanks,
Damitha
>
> Samisa...
>
>
> On Tue, Dec 15, 2009 at 11:58 AM, Damitha Kumarage <damitha@wso2.com
> <ma...@wso2.com>> wrote:
>
> Hi,
> I have implemented Http keep alive support and Cookie session
> support for Axis2/C and commited to svn.
> Following is a brief introduction into how I implemented it.
>
> Cookie session support.
>
> I use Apache mod_dbd module to store sessions at server side. The
> functions for storing and retrieving session can be accessed
> through Axis2/C environment. I have
> implemented this for Apache module. Plan to implement this for
> Axis2/C standalone server soon(which is trivial)
> A service could support session by creating a hash table filling
> it with key value pairs and setting it to the message context.
> Then when this message context reach the server side sender it
> extract the values from the hash table and make a session string
> from that. It then generate a session id and
> store the session string against the id generated(using the above
> mentioned function in environment).
> Then it add the Set-Cookie header into the response message which
> has the cookie header value of session id and expiration time.
>
> In the client side the sessions are stored in a session map
> against the server.
>
> When the server get the Cookie header it will retrieve the session
> value by calling the environment function mentioned above and
> create a hash table and set it to the message context.
>
> Http Keep Alive support for Axis2/C client side.
>
> Here implementation is as following.
> When http transport sender is initialized it will mark whether
> keep alive is supported when sending messages. This is the default
> behaviour. However user can change this(in HTTP1.0) by
> keep alive transport sender parameter in axis2.xml.
> Now when http sender send the message for the first time it will
> store the http_client in the keep alive map in the configuration
> context, against the server. From there
> onwards it will reuse this http client for sending the messages.
> In http 1.0 case it will set the http keep alive header when
> sending the messages.
> The implementation handle session close messages from the server
> in http 1.1 case and keep alive header from server side in http
> 1.0 case.
>
> Attached is the patch for the changes to implement above.
>
> Thanks,
> Damitha
> --
> __________________________________________________________________
>
> Damitha Kumarage
> http://people.apache.org/
> __________________________________________________________________
>
>
>
>
> --
> Samisa Abeysinghe
> Director, Engineering - WSO2 Inc.
>
> http://www.wso2.com/ - "The Open Source SOA Company"
--
__________________________________________________________________
Damitha Kumarage
Technical Lead; WSO2 Inc.
"Oxygenating the Web Service Platform; " http://www.wso2.com/
blog: " http://damithakumarage.wordpress.com/
__________________________________________________________________