Better VSS Remote Access Tool including SourceOffSite, SourceAnyWhere and VSS Remoting

Discussion in 'C Programming' started by bettervssremoting, Feb 25, 2005.

  1. To view the full article, please visit
    http://www.BetterVssRemoting.com


    Better VSS Remote Access Tool including SourceOffSite, SourceAnyWhere
    and VSS Remoting

    This article makes a detailed comparison among SourceAnyWhere,
    SourceOffSite, VSS Remoting and possible others.

    Keywords: VSS Remote Access, VSS Web Access, VSS Internet Access,
    SourceSafe Remote Access, SourceSafe Web Access, SourceSafe Internet
    Access

    Index
    1. Overview
    2. Comparison Summary
    3. Test Environment
    4. Test Methodology
    5. Breakdown
    5.1 Speed
    5.2 Stability
    5.3 Security
    5.4 VSS Feature Support
    5.5 Usability
    5.6 Diff/Merge
    5.7SCCI Integration
    5.8 Cross Platform
    5.9 Others


    1. Overview


    What does the article do? It makes a comparison among SourceAnyWhere
    3.1, SourceOffSite 4.1 and VSS Remoting 2.5.

    Our initiative is to make an unbiased, objective, repeatable and
    verifiable comparison:
    a. Real project is used. The project I use is eMule, which is at
    http://sourceforge.net/projects/emule/
    b. Detailed steps are presented. You can follow the detailed steps
    easily.
    c. If you want to make a comment, I can be reached at
    .

    If you need more info, please visit their official websites:

    SourceAnyWhere (SAW) from DynamSoft http://www.dynamsoft.com

    SourceOffSite (SOS) from SourceGear http://www.sourcegear.com

    VSS Remoting from Source Remoting
    http://www.sourceremoting.com

    Want to add a product? Write to me:

    The real result may vary if you do the test in different environment or
    different files are used. However, the basic concept of this
    comparison, such as which one is the fastest, which one has more VSS
    features, should be applicable everywhere.


    To view the full article, please go to
    http://www.bettervssremoting.com


    2. Comparison Summary (5 star ***** is the best)

    Speed Comparison
    SAW *****
    SOS **
    VSS Remoting **

    Stability Comparison
    SAW ****
    SOS ***
    VSS Remoting **

    Security
    SAW ****
    SOS ***
    VSS Remoting ***

    VSS Feature Support
    SAW ****
    SOS ****
    VSS Remoting ****

    Usability
    SAW ****
    SOS **
    VSS Remoting **

    Diff/Merge
    SAW ****
    SOS ****
    VSS Remoting **

    IDE Integration
    SAW ***
    SOS ***
    VSS Remoting ****

    Cross Platform
    SAW *
    SOS ****
    VSS Remoting ***

    Speed:
    I am totally surprised and excited by the speed of SourceAnyWhere. For
    Get, Checkout and other operations, SourceAnyWhere can be up to 40+
    times faster than SourceOffSite and VSS Remoting.


    Stability:
    SourceAnyWhere never has any problem in the whole test.

    VSS Remoting has difficulty to add files.

    SourceOffSite has several problems when it comes to stability. It fails
    often when I try to add big files. The big problem of SourceOffSite is
    cancel. There is no cancel support in IDE integration. After a cancel
    operation in Add, Checkin, Checkout or Get in SourceOffSite Explorer,
    the CPU usage of SourceOffSite server goes up to almost 100% and can
    not come down, unless the server is restarted.


    Security:
    What makes SourceAnyWhere unique is the password policy.
    All the products use 128-bit cryptography.
    SourceOffSite and SourceAnyWhere use BlowFish.
    VSS Remoting uses HTTPS.


    VSS Feature Support:
    Weakness and strengths equally exist in them three.


    Usability:
    SAW is the best. All the Windows of SAW is in Win32 style. It can
    detect if a file is changed automatically.


    Diff/Merge
    In File Diff (2-way)/File Merge (3-way), SourceAnyWhere and
    SourceOffSite run neck and neck; VSS Remoting has a low performance

    IDE Integration:
    SourceAnyWhere, SourceOffSite and VSS Remoting all support MSSCCI
    Integration.
    VSS Remoting supports DreamWeaver integration

    I have not tested the IDE integration intensively. I give this rate
    just according to manual of the three products.


    Cross Platform:
    SourceOffSite can cross most popular platforms, VSS Remoting has a web
    interface which can login server through web


    To view the full article, please go to
    http://www.bettervssremoting.com


    3. Test Environment

    3.1Test Data
    a. Real project is used for test
    b. All eMule0.44c and eMule0.44d files are downloaded from
    Sourceforge
    c. Big Files are simulated files created by us

    3.2 Server Configuration
    P4, 2.8G, 256M RAM, Windows XP Professional
    SourceAnyWhere profession 3.1 DEMO Server
    SourceOffSite4.1 with Cryptography DEMO Server
    VSS Remoting Server 2.5
    Visual SourceSafe6.0 + Sp6

    3.3 Client Configuration
    P4 Celeron 2.0G, 256M RAM, Windows 2003
    ADSL connection
    SourceAnyWhere profession 3.1
    SourceOffSite 4.1 with Cryptography
    VSS Remoting Client 2.5

    To view the full article, please go to
    http://www.bettervssremoting.com


    4. Test Methodology


    All the three products are tested on the same computers and internet
    connection

    All the three products are tested on the same data set

    All the three products are tested with the same process

    For speed test, every action is carried out 5 times

    The initial state of the VSS database is empty (newly created)


    To view the full article, please go to
    http://www.bettervssremoting.com


    5. Breakdown

    5.1 Speed

    Summary
    The significance of the speed can not be overemphasized, when it comes
    to Remote Access.

    I am completely amazed by the speed of SourceAnyWhere. It is just
    incredible. SAW can be up to 40+ times faster than SOS and VSS
    Remoting.

    The following data is in format of
    Operation: SAW (seconds), SOS (seconds), VSS Remoting (seconds):
    Add files: 63.6, 283.2, Failed
    Get (Local files do not exist): 64.8, 712.6, 776.6
    Get (Local files are the same as the files on server): 17.0,
    629.4, 734.8
    Get (Local files are partially changed (Replace)): 16.6, 650.2,
    786.0
    Get (Local files are partially changed (Skip)): 20.8, 841.6,
    95.0
    Checkout (Local files do not exist): 85.8, 1184.8, 1291.8
    Checkout (Local files are same as the files on server): 42.4,
    1180.4, 1349.6
    Checkout (Local files are partially changed (Replace)): 44.2,
    1212.4, 1312.8
    Checkout (Local files are partially changed (Skip)): 16.2, 841.6,
    425.6
    Checkin (Fully changed files): 96.4, 984.4, 1180.6
    Checkin (artially changed files): 72.8 755.2 834.0
    Connect to server: 4.1, 8.1, 3.2
    Login : 2.9, 5.3, 2.1
    Refresh file list (eMule files in the project): 6.8, 14.9,
    373.4

    5.2 Stability

    I did the stability test with the following 4 ways:
    a. Do the normal operations
    b. Cancel the ongoing operations in explorer
    c. Cancel the ongoing operations in IDE
    d. Unplug the cable to simulate network failure

    SourceAnyWhere is the best performer again. Both the SourceOffSite and
    VSS Remoting have problems.

    SourceOffSite freeze several times in my test and it seems the crash is
    not repeatable, except the fact that the possibility of its crash is
    higher when it operates on big files. But it fails sometime on small
    file and normal operation, even though it is not very frequent. Also,
    the handling of Cancel is very bad in SOS.

    The handling of Cancel in VSS Remote is pretty good, but it is
    difficult for me to add files through it and big file can cause it
    crash.

    5.2.1. The normal operations
    SourceAnyWhere has no problem during the whole test.

    Both SourceOffSite and VSS Remoting have problem of handling big file,
    say, more than 200M.
    In my test, it is very difficult to use VSS Remoting to add files.


    5.2.2. Cancel in Explorer
    Is cancelable? SAW:YES, SOS:YES, VSS Remoting:YES
    Can the system continue to function after the cancel? SAW:YES, SOS: Not
    really, VSS Remogint:YES
    Is the checkout rolled back? SAW: YES, SOS: NO, VSS Remoting: NO

    SourceAnyWhere is the best. No problem at all.

    5.2.2.1 Can the system continue to function after the cancel?

    After a cancellation, the SourceOffSite server CPU usage usually goes
    up to almost 100%, and will not come down by itself unless it is
    restarted. For our machine, it is very hard for the server to accept
    any new user or carry out any other operations. I also did this test on
    a machine with hyper-thread CPU, where the server could accept new
    users, but the performance degraded significantly.

    After a cancellation, the VSS Remoting server is fine.

    5.2.2.2 Is the checkout rolled back?

    Again, SourceOffSite has very big problem on cancel of checkout
    operation, whereas VSS Remoting has minor problem.

    The SourceOffSite checkouts all the to-be-checkout files first, then do
    the file transfer. If the transfer is canceled, the status of the files
    remains checkout. If before the checkout, some local files are checked
    out and modified, this can cause big problem. Let us see what we can do
    now:
    We can not do Get. If we do Get, the local changed files will be
    replaced and lost.
    We can not do Checkout, since the files have been checked out.
    We can not do Check in, since it is possible that the local files may
    be older than the files on server and a Checkin operation on those
    files can overwrite the changes made on server.
    We can not do Undo checkout, since it is hard for us to know which
    local file to be replaced or which file to be skipped.


    5.2. 3. Cancel in IDE
    SAW and VSS Remoting can do cancel in IDE.

    SOS does not provide a way to cancel in IDE. During the test, if the
    network goes down when a network operation is going on, the whole IDE
    stops responding and there is no way to save the edited files. I was
    left with no options but killing the IDE process and all the changes
    are lost.

    5.2.4 Unplug the cable to simulate network failure
    It is reasonable to assume that the internet network is not 100%
    stable. What will happen when the network failure occurs? To simulate
    the network failure, I do the test by unplugging the network cable. Two
    kinds of failures are simulated. Unplug the cable of the client machine
    to simulate the failure of local network. Unplug the cable of ADSL line
    to simulate the failure of a remote internet device, such as one of the
    50 routers in the virtual circuit.

    Unplug the cable of the client machine Can detect the unplugging?
    SAW:Yes, SOS: YES, VSS Remoting: YES.
    Can the operation be canceled properly: SAW:Yes, SOS: No. Client
    crashes, VSS Remoting: Yes
    Plug in again and redial. Can the client continue to work? SAW:Yes,
    SourceOffSite: No. The client has to be closed, VSS Remoting:Yes
    Unplug the cable of ADSL line on client Can the operation be canceled?
    SAW: Yes, SOS: No. Client crashes. VSS Remoting:Yes
    Plug in again and redial. Can the client continue to work? SAW: Yes,
    SOS: No. If I do not cancel the operation, the client does not crash
    and a network error is reported. However, the client can not be used
    again. VSS Remoting: No. Client crashes, but you can connect to server
    by opening a new client.


    5.3 Security

    Password Policy: SAW: Yes, SOS: No, VSS Remoting: No
    128-bit cryptography: SAW:Yes, SOS: Yes, VSS Remoting:Yes

    I find that the Password Policy of SourceAnyWhere is really very well
    done. VSS is designed to be used in a trusted environment and the lack
    of protection of password has long been one of the biggest weaknesses
    of VSS. Now, with the Password Policy, the password of VSS through
    remote access can be very strong.

    Take a look of Password Policy here.
    http://www.bettervssremoting.com/PasswordPolicy.jpg


    5.4 VSS Feature Support

    Weakness and strengths equally exist in them three.
    Format: Operation SAW SOS VSS Remoting
    Checkin Specify the file location for Checkin Yes No Yes
    Add File Store latest version Yes No No
    Comment Yes Yes No
    Checkout immediately No Yes No
    Get Specify the file location for Get Yes No Yes
    Set file's EOL in Get Dialog Yes No No
    Set file's EOL in Option Yes Yes No
    Set the local file time No Yes Yes
    Get old version file Yes Yes Yes
    Get old version project No Yes Yes
    Get old version file in IDE Yes No Yes
    Checkout Specify the file location for Checkout Yes No Yes
    Set file EOL In checkout Dialog Yes No No
    Set file EOL In Option Yes Yes No
    Set the local file time No Yes Yes
    Status Search No Yes Yes

    5.5 Usability

    SAW is the best:

    All the Windows of SAW is in Win32 style.
    It can detect if a file is changed automatically.
    Excellent help system.


    File Change Detection
    In my personal opinion, file change automatic detection is very
    important. Image this, you have writable 100 files in one project, and
    only 2 of them are changed in the VSS server. When you do the Get
    Latest Version from server, if the system can not detect which files
    are changed, it just keeps on asking you if you want to Replace or Skip
    a file. An option, such as "Apply to all items", can save you of
    clicking the Replace or Skip for 100 times. But if Replace and Apply to
    All Items are selected, all files are got down. It surely takes time.
    If Skip and Apply to All Items are selected, you get nothing.

    SAW SOS VSS Remoting
    File Change Detection if the file is writable
    Yes No Yes

    Proxy Support
    SAW: http/SOCK4/SOCK5
    SOS: http
    VSS Remoting: http/SOCK4/SOCK5

    All the dialog boxes of SourceAnyWhere are in win32 style and are very
    easy to use.

    Screen Shots of the three products:
    http://www.bettervssremoting.com/ScreenShot_Add.htm
    http://www.bettervssremoting.com/ScreenShot_Share.htm
    http://www.bettervssremoting.com/ScreenShot_Set.htm


    5.6 Diff/Merge


    SAW SOS VSS Remoting
    Diff/Merge File Diff (2-way)/File Merge (3-way) File Diff (2-way)/File
    Merge (3-way)/Folder Diff File Diff(2-way)


    5.7 IDE Integration

    I have not tested the IDE integration intensively. I give this rate
    just according to manual of the three products.

    All the three products support MSSCCI integration, such as Visual
    Studio6/Visual Studio.NET/Rational/Delphi.

    Only VSS Remoting supports DreamWeaver integration.


    5.8 Cross Platform

    SAW: windows
    SOS: Windows, Linux, Mac
    VSS Remoting: Windows, web client

    SourceAnyWhere has only Windows client. On the web site of DynamSoft, I
    notice that the future version of SourceAnyWhere 4.0 has a JAVA client,
    and according to SUN, this client should be "Write Once Run
    Everywhere".

    VSS Remoting has a web client. SAW and SOS do not. However, after many
    tries, I can not use the web client.

    5.9 Others

    SOS has a command line client. SAW and VSS Remoting do not.



    To view full article, please visit
    http://www.BetterVssRemoting.com
     
    bettervssremoting, Feb 25, 2005
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. bettervssremoting
    Replies:
    0
    Views:
    407
    bettervssremoting
    Feb 28, 2005
  2. bettervssremoting
    Replies:
    0
    Views:
    808
    bettervssremoting
    Feb 28, 2005
  3. bettervssremoting
    Replies:
    0
    Views:
    398
    bettervssremoting
    Feb 28, 2005
  4. bettervssremoting
    Replies:
    0
    Views:
    386
    bettervssremoting
    Feb 28, 2005
  5. bettervssremoting
    Replies:
    0
    Views:
    162
    bettervssremoting
    Feb 28, 2005
Loading...

Share This Page