![]() | |
![]() |
| | Thread Tools | Search this Thread | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
We are exploring various alternatives for transferring binary files across our Intranet. We have a software application which stores files in a central filesystem repository. Because of the nature of the application, performance is a primary factor. Option 1: ---------- So far, the quickest file transfer performance is through the use of a Windows Folder Share. However, that's not very secure. If we must expose read/write access to a Windows Folder then that means that anyone can make an end-run around our software and access that folder directly. Option 2: ---------- We explored native Web Services but abandoned that since native Web Services require conversion to Base-64 encoding (and then subsequent decoding at the workstation) in order to transfer binary data across the wire. Option 3: ---------- We've explored using Web Service Enhancements and DIME to transfer binary attachments. This solution is MUCH better than native web services, but still lags a bit behind Option 1 in terns of performance. Option 4? ---------- Is there any way to use Remoting to accomplish binary file transfer? I'm asuming that a Remoting solution would cut IIS/HTTP out of the loop and deliver binary transfer via TCP, which might yield better performance. Am I on the right track here? Thanks for any advice which you can provide. And if I've overlooked any other alternatives, please let me know. - Joe Geretz - |
#3
| |||
| |||
|
|
just wanted to make one remark about option 4. Remoting has no security.... (requires SLL) |
|
Hi, just wanted to make one remark about option 4. Remoting has no security.... (requires SLL) Hope this helps, Marvin Smit. On Thu, 8 Sep 2005 18:47:03 -0400, "Joseph Geretz" jgeretz (AT) nospam (DOT) com> wrote: We are exploring various alternatives for transferring binary files across our Intranet. We have a software application which stores files in a central filesystem repository. Because of the nature of the application, performance is a primary factor. Option 1: ---------- So far, the quickest file transfer performance is through the use of a Windows Folder Share. However, that's not very secure. If we must expose read/write access to a Windows Folder then that means that anyone can make an end-run around our software and access that folder directly. Option 2: ---------- We explored native Web Services but abandoned that since native Web Services require conversion to Base-64 encoding (and then subsequent decoding at the workstation) in order to transfer binary data across the wire. Option 3: ---------- We've explored using Web Service Enhancements and DIME to transfer binary attachments. This solution is MUCH better than native web services, but still lags a bit behind Option 1 in terns of performance. Option 4? ---------- Is there any way to use Remoting to accomplish binary file transfer? I'm asuming that a Remoting solution would cut IIS/HTTP out of the loop and deliver binary transfer via TCP, which might yield better performance. Am I on the right track here? Thanks for any advice which you can provide. And if I've overlooked any other alternatives, please let me know. - Joe Geretz - |
#4
| |||
| |||
|
|
Hi Marvin, just wanted to make one remark about option 4. Remoting has no security.... (requires SLL) I don't understand what you mean here. The problem with direct file acces (via folder shares) is that there is no application process on the server regulating access to the files. Therefore they can be accesed via the client application, or directly by the user, via the windows shell. Imposing a Web Service allows us to verify (via our own server process) on every access, who is making the request, and where the request is emanating from. Similarly, remoting would allow the same. This is the type of security we are dealing with. As far as across-the-wire security, we could use SSL. In this respect, Remoting would be no different than Web Services. Am I missing something? Thanks, - Joe Geretz - "Marvin Smit" <marvin.smit (AT) gmail (DOT) com> wrote in message news:j8j2i1ll3jn0khl8sbrql6676hqcuqdbai (AT) 4ax (DOT) com... Hi, just wanted to make one remark about option 4. Remoting has no security.... (requires SLL) Hope this helps, Marvin Smit. On Thu, 8 Sep 2005 18:47:03 -0400, "Joseph Geretz" jgeretz (AT) nospam (DOT) com> wrote: We are exploring various alternatives for transferring binary files across our Intranet. We have a software application which stores files in a central filesystem repository. Because of the nature of the application, performance is a primary factor. Option 1: ---------- So far, the quickest file transfer performance is through the use of a Windows Folder Share. However, that's not very secure. If we must expose read/write access to a Windows Folder then that means that anyone can make an end-run around our software and access that folder directly. Option 2: ---------- We explored native Web Services but abandoned that since native Web Services require conversion to Base-64 encoding (and then subsequent decoding at the workstation) in order to transfer binary data across the wire. Option 3: ---------- We've explored using Web Service Enhancements and DIME to transfer binary attachments. This solution is MUCH better than native web services, but still lags a bit behind Option 1 in terns of performance. Option 4? ---------- Is there any way to use Remoting to accomplish binary file transfer? I'm asuming that a Remoting solution would cut IIS/HTTP out of the loop and deliver binary transfer via TCP, which might yield better performance. Am I on the right track here? Thanks for any advice which you can provide. And if I've overlooked any other alternatives, please let me know. - Joe Geretz - |
#5
| |||
| |||
|
|
It also starts some tcp listener |
|
I might just use tcp sockets as your pretty much dealing a simple request/reply pair. The request could be an xml doc that you parse and verify. The reply is the file stream. You might also be able to do a blended solution. Where WSE handles the request and security, which returns some one time key. It also starts some tcp listener if not started already. Then the client sends request (with the key) to the tcp listener and verifies against a table your WSE service maintains. The key is index into the dictionary which contains other info such as FileName requested during WSE auth part. Once the verify is done, the socket part just streams down the file or closes the socket if verify failed. -- William Stacey [MVP] "Joseph Geretz" <jgeretz (AT) nospam (DOT) com> wrote in message news:OAVMfhUtFHA.276 (AT) TK2MSFTNGP10 (DOT) phx.gbl... Hi Marvin, just wanted to make one remark about option 4. Remoting has no security.... (requires SLL) I don't understand what you mean here. The problem with direct file acces (via folder shares) is that there is no application process on the server regulating access to the files. Therefore they can be accesed via the client application, or directly by the user, via the windows shell. Imposing a Web Service allows us to verify (via our own server process) on every access, who is making the request, and where the request is emanating from. Similarly, remoting would allow the same. This is the type of security we are dealing with. As far as across-the-wire security, we could use SSL. In this respect, Remoting would be no different than Web Services. Am I missing something? Thanks, - Joe Geretz - "Marvin Smit" <marvin.smit (AT) gmail (DOT) com> wrote in message news:j8j2i1ll3jn0khl8sbrql6676hqcuqdbai (AT) 4ax (DOT) com... Hi, just wanted to make one remark about option 4. Remoting has no security.... (requires SLL) Hope this helps, Marvin Smit. On Thu, 8 Sep 2005 18:47:03 -0400, "Joseph Geretz" jgeretz (AT) nospam (DOT) com> wrote: We are exploring various alternatives for transferring binary files across our Intranet. We have a software application which stores files in a central filesystem repository. Because of the nature of the application, performance is a primary factor. Option 1: ---------- So far, the quickest file transfer performance is through the use of a Windows Folder Share. However, that's not very secure. If we must expose read/write access to a Windows Folder then that means that anyone can make an end-run around our software and access that folder directly. Option 2: ---------- We explored native Web Services but abandoned that since native Web Services require conversion to Base-64 encoding (and then subsequent decoding at the workstation) in order to transfer binary data across the wire. Option 3: ---------- We've explored using Web Service Enhancements and DIME to transfer binary attachments. This solution is MUCH better than native web services, but still lags a bit behind Option 1 in terns of performance. Option 4? ---------- Is there any way to use Remoting to accomplish binary file transfer? I'm asuming that a Remoting solution would cut IIS/HTTP out of the loop and deliver binary transfer via TCP, which might yield better performance. Am I on the right track here? Thanks for any advice which you can provide. And if I've overlooked any other alternatives, please let me know. - Joe Geretz - |
#6
| |||
| |||
|
|
In order to deal with sockets, won't I need some sort of multithreaded socket listener on the server to fulfill simultaneous requests? This is the added value that either IIS or COM+ bring to the table and so I'd like to leverage either of these server-side infrastructures. |
#7
| |||
| |||
|
|
We are exploring various alternatives for transferring binary files across our Intranet. We have a software application which stores files in a central filesystem repository. Because of the nature of the application, performance is a primary factor. Option 1: ---------- So far, the quickest file transfer performance is through the use of a Windows Folder Share. However, that's not very secure. If we must expose read/write access to a Windows Folder then that means that anyone can make an end-run around our software and access that folder directly. Option 2: ---------- We explored native Web Services but abandoned that since native Web Services require conversion to Base-64 encoding (and then subsequent decoding at the workstation) in order to transfer binary data across the wire. Option 3: ---------- We've explored using Web Service Enhancements and DIME to transfer binary attachments. This solution is MUCH better than native web services, but still lags a bit behind Option 1 in terns of performance. Option 4? ---------- Is there any way to use Remoting to accomplish binary file transfer? I'm asuming that a Remoting solution would cut IIS/HTTP out of the loop and deliver binary transfer via TCP, which might yield better performance. Am I on the right track here? Thanks for any advice which you can provide. And if I've overlooked any other alternatives, please let me know. - Joe Geretz - |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |