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 Fred Preston <PR...@uk.ibm.com> on 2004/12/20 17:00:06 UTC

Proposed new AxisClient/AxisTransport/TransportFactory/Channel implementation.




Hi All,
      Here is a very rough draft of the
AxisTransport/TransportFactory/Channel model that I want to discuss...

Object Model            (See attached file: SSLModel.jpg)
Sequence Model    (See attached file: Sequence.jpg)

I have missed out a lot of the detail (and 'secondary' methods), as this is
not important at this stage.  In this design, AxisTransport and
ChannelFactory would be part of AxisClient (i.e, not separately loadable).
The IChannel Interface would be the template for any Channel implementation
(in the form of a DLL).  There would be one Channel implementation for a
'standard', non secure channel that would be built as a separate DLL whose
file name would be added to the AxisCpp.config file so that it could be
loaded by the ChannelFactory.  There would be one SecureChannel
implementation for an openSSL secure channel that would also be built as
another separate DLL, whose file name would also be added to the
AxisCpp.config file.  Thus if a user requires their own version of either
the Channel or SecureChannel implementation, they need only overwrite the
existing code and build their own Channel or SecureChannel DLL without
having to rebuild the core AxisClient code base.

Regards,

Fred Preston.



                                                                                                                                       
                      Fred                                                                                                             
                      Preston/UK/IBM@IB        To:       "'Apache AXIS C Developers List'" <ax...@ws.apache.org>                  
                      MGB                      cc:                                                                                     
                                               Subject:  1.4 release still does not work with SSL channels.                            
                      20/12/04 13:09                                                                                                   
                      Please respond to                                                                                                
                      "Apache AXIS C                                                                                                   
                      Developers List"                                                                                                 
                                                                                                                                       







Hi All,
      I've just tried to use SSL in the 1.4 release and it still does not
work on Linux or Windows...  I'm in the process of coming up with a model
that will try to explain how I think the whole Channel/Transport area
should be organised and will be looking for comment.  I hope to send out a
rough draft this afternoon.

Regards,

Fred Preston.


Re: Proposed new AxisClient/AxisTransport/TransportFactory/Channel implementation.

Posted by Samisa Abeysinghe <sa...@gmail.com>.
One more question: Have you taken into consideration the extentions
like IPV6? How can those be built by extending the proposed object
model?

Samisa...


On Tue, 21 Dec 2004 01:25:26 +0000, Samisa Abeysinghe
<sa...@gmail.com> wrote:
> Hi Fred,
> 
> As per the sequence model, I am not sure if it is a good idea to
> tunnel Channel bound messages through ChannelFactory. As an example,
> why does setTransportProperty has to go throuhg ChannelFactory to
> reach the channel? On the other hand, there is no need of passing this
> onto Channel, as transport properties has nothing to do with the
> channel.
> 
> As it looks to me this sounds like lots of changes to current trasport
> (even non secure one). Is it a good idea to change the model which
> seem to work OK?
> 
> " In this design, AxisTransport and
> ChannelFactory would be part of AxisClient (i.e, not separately loadable)."
> Does this mean that we are giving up current transport abstraction
> layer? Could one be able to use a different HTTP hadling logic?
> 
> Regards,
> Samisa...
> 
> 
> On Mon, 20 Dec 2004 16:00:06 +0000, Fred Preston <PR...@uk.ibm.com> wrote:
> >
> >
> > Hi All,
> >       Here is a very rough draft of the
> > AxisTransport/TransportFactory/Channel model that I want to discuss...
> >
> > Object Model            (See attached file: SSLModel.jpg)
> > Sequence Model    (See attached file: Sequence.jpg)
> >
> > I have missed out a lot of the detail (and 'secondary' methods), as this is
> > not important at this stage.  In this design, AxisTransport and
> > ChannelFactory would be part of AxisClient (i.e, not separately loadable).
> > The IChannel Interface would be the template for any Channel implementation
> > (in the form of a DLL).  There would be one Channel implementation for a
> > 'standard', non secure channel that would be built as a separate DLL whose
> > file name would be added to the AxisCpp.config file so that it could be
> > loaded by the ChannelFactory.  There would be one SecureChannel
> > implementation for an openSSL secure channel that would also be built as
> > another separate DLL, whose file name would also be added to the
> > AxisCpp.config file.  Thus if a user requires their own version of either
> > the Channel or SecureChannel implementation, they need only overwrite the
> > existing code and build their own Channel or SecureChannel DLL without
> > having to rebuild the core AxisClient code base.
> >
> > Regards,
> >
> > Fred Preston.
> >
> >                       Fred
> >                       Preston/UK/IBM@IB        To:       "'Apache AXIS C Developers List'" <ax...@ws.apache.org>
> >                       MGB                      cc:
> >                                                Subject:  1.4 release still does not work with SSL channels.
> >                       20/12/04 13:09
> >                       Please respond to
> >                       "Apache AXIS C
> >                       Developers List"
> >
> > Hi All,
> >       I've just tried to use SSL in the 1.4 release and it still does not
> > work on Linux or Windows...  I'm in the process of coming up with a model
> > that will try to explain how I think the whole Channel/Transport area
> > should be organised and will be looking for comment.  I hope to send out a
> > rough draft this afternoon.
> >
> > Regards,
> >
> > Fred Preston.
> >
> >
> >
>

Re: Proposed new AxisClient/AxisTransport/TransportFactory/Channel implementation.

Posted by Samisa Abeysinghe <sa...@gmail.com>.
Hi Fred,

As per the sequence model, I am not sure if it is a good idea to
tunnel Channel bound messages through ChannelFactory. As an example,
why does setTransportProperty has to go throuhg ChannelFactory to
reach the channel? On the other hand, there is no need of passing this
onto Channel, as transport properties has nothing to do with the
channel.

As it looks to me this sounds like lots of changes to current trasport
(even non secure one). Is it a good idea to change the model which
seem to work OK?

" In this design, AxisTransport and
ChannelFactory would be part of AxisClient (i.e, not separately loadable)." 
Does this mean that we are giving up current transport abstraction
layer? Could one be able to use a different HTTP hadling logic?

Regards,
Samisa...



On Mon, 20 Dec 2004 16:00:06 +0000, Fred Preston <PR...@uk.ibm.com> wrote:
> 
> 
> Hi All,
>       Here is a very rough draft of the
> AxisTransport/TransportFactory/Channel model that I want to discuss...
> 
> Object Model            (See attached file: SSLModel.jpg)
> Sequence Model    (See attached file: Sequence.jpg)
> 
> I have missed out a lot of the detail (and 'secondary' methods), as this is
> not important at this stage.  In this design, AxisTransport and
> ChannelFactory would be part of AxisClient (i.e, not separately loadable).
> The IChannel Interface would be the template for any Channel implementation
> (in the form of a DLL).  There would be one Channel implementation for a
> 'standard', non secure channel that would be built as a separate DLL whose
> file name would be added to the AxisCpp.config file so that it could be
> loaded by the ChannelFactory.  There would be one SecureChannel
> implementation for an openSSL secure channel that would also be built as
> another separate DLL, whose file name would also be added to the
> AxisCpp.config file.  Thus if a user requires their own version of either
> the Channel or SecureChannel implementation, they need only overwrite the
> existing code and build their own Channel or SecureChannel DLL without
> having to rebuild the core AxisClient code base.
> 
> Regards,
> 
> Fred Preston.
> 
>                       Fred
>                       Preston/UK/IBM@IB        To:       "'Apache AXIS C Developers List'" <ax...@ws.apache.org>
>                       MGB                      cc:
>                                                Subject:  1.4 release still does not work with SSL channels.
>                       20/12/04 13:09
>                       Please respond to
>                       "Apache AXIS C
>                       Developers List"
> 
> Hi All,
>       I've just tried to use SSL in the 1.4 release and it still does not
> work on Linux or Windows...  I'm in the process of coming up with a model
> that will try to explain how I think the whole Channel/Transport area
> should be organised and will be looking for comment.  I hope to send out a
> rough draft this afternoon.
> 
> Regards,
> 
> Fred Preston.
> 
> 
>

Re: Proposed new AxisClient/AxisTransport/TransportFactory/Channel implementation.

Posted by John Hawkins <HA...@uk.ibm.com>.



Fred - some minor questions:

1). When you discuss the dll being unloaded and being replaced etc. This
might be quite hard - do you mean that the factory can load both at once
and only returns the one that is needed at any given time i.e. maintains a
hashTable of dllnames to objects?

2). In the object model you have the SecureChannel and Channel as "dll's".
Can I just confirm what you are saying please.
a) interfaces I don't see e.g. an ISecureChannel. Would it not be better
(more explicit and perhaps necessary) to have an ISecureChannel and a
IChannelImpl (or similar).
b) the "Objects"  just happen to be packaged as seperate dll's right ? An
object model is a  strange place to put the dll point - semantics I know
:-)

3). Why doesn't the Factory get the details of the dll names from the
config object itself (thus improving the lifecycle of the factory)?



John Hawkins



Fred Preston/UK/IBM@IBMGB wrote on 20/12/2004 16:00:06:

>
>
>
>
> Hi All,
>       Here is a very rough draft of the
> AxisTransport/TransportFactory/Channel model that I want to discuss...
>
> Object Model            (See attached file: SSLModel.jpg)
> Sequence Model    (See attached file: Sequence.jpg)
>
> I have missed out a lot of the detail (and 'secondary' methods), as this
is
> not important at this stage.  In this design, AxisTransport and
> ChannelFactory would be part of AxisClient (i.e, not separately
loadable).
> The IChannel Interface would be the template for any Channel
implementation
> (in the form of a DLL).  There would be one Channel implementation for a
> 'standard', non secure channel that would be built as a separate DLL
whose
> file name would be added to the AxisCpp.config file so that it could be
> loaded by the ChannelFactory.  There would be one SecureChannel
> implementation for an openSSL secure channel that would also be built as
> another separate DLL, whose file name would also be added to the
> AxisCpp.config file.  Thus if a user requires their own version of either
> the Channel or SecureChannel implementation, they need only overwrite the
> existing code and build their own Channel or SecureChannel DLL without
> having to rebuild the core AxisClient code base.
>
> Regards,
>
> Fred Preston.
>
>
>
>

>                       Fred

>                       Preston/UK/IBM@IB        To:       "'Apache
> AXIS C Developers List'" <ax...@ws.apache.org>
>                       MGB                      cc:

>                                                Subject:  1.4 release
> still does not work with SSL channels.
>                       20/12/04 13:09

>                       Please respond to

>                       "Apache AXIS C

>                       Developers List"

>

>
>
>
>
>
>
>
> Hi All,
>       I've just tried to use SSL in the 1.4 release and it still does not
> work on Linux or Windows...  I'm in the process of coming up with a model
> that will try to explain how I think the whole Channel/Transport area
> should be organised and will be looking for comment.  I hope to send out
a
> rough draft this afternoon.
>
> Regards,
>
> Fred Preston.
>
> [attachment "SSLModel.jpg" deleted by John Hawkins/UK/IBM]
> [attachment "Sequence.jpg" deleted by John Hawkins/UK/IBM]