YOUR FEEDBACK
Craig Balding wrote: Bruce I read your comment and couldn't quite understand how it related to the p...

SYS-CON.TV
TOP MICROSOFT .NET LINKS


Extending SourceSafe for Internet and Cross-Platform Development
Migrating from ASP/COM to .NET using Spring.NET

By: Amy Gu

Is My Team Facing "The Problem"?
In today's global and diversified development environment, it is common for development teams to require remote and cross-platform access to their source code repository. Software products are routinely built by distributed teams. Whether developers on these teams are working from home, on a business trip, as an outside contractor, or as part of a global development team, they all need to access the same code base.

MICROSOFT VISUAL SOURCESAFE
Microsoft Visual SourceSafe (VSS) is a popular source control package, and is ideal for sharing code across a local area network. It provides essential source control functions and has excellent integration with Microsoft development solutions. Although widely used and based on Microsoft technology, SourceSafe has limitations with security remote access performance, data corruption, cross platform support and non-MSSCCI IDE integration.

POOR SECURITY
Source code is one of the most valuable assets for an organization. As development moves outside the LAN, security becomes a top priority since the code repository needs to be protected from accidents as well as malevolent attacks.

In SourceSafe, you need to grant the READ & WRITE permission of the WHOLE VSS database folder recursively to the user who needs access to the VSS database, even though the user may only need to read one single file. Doing this may be OK behind the firewall. But exposing your source code database to the public Internet is a totally different story and brings great risk for your source code.

Also, exposing the VSS database folder to the Internet means you need to open up the fire sharing port in your firewall, which could mean the file sharing port of your entire LAN is open up to the Internet if you do not have another layer of security measurement.

In short, sharing VSS database over Internet exposes too much of your valuable data to the outside, which may potentially cause the data to be stolen or damaged. These damages could not only impact your VSS database, but possibly your entire LAN.

SLOW REMOTE ACCESS PERFORMANCE
Over a slow Internet connection, VSS becomes almost unusable. SourceSafe could take more than 10 minutes to open a project or several minutes to check in a single file when it is used remotely over Internet.

However, when a company has remote developers, they need to be using a version control tool that has fast remote access so that they can access the files quickly and efficiently. A developer's time is expensive, and shouldn't be wasted checking code in and out from the repository over a slow connection.

VSS DATABASE CORRUPTION WHEN ACCESSED REMOTELY
Whether you are accessing your VSS database locally or remotely, VSS Explorer treats the VSS database as files on a disk driver. Due to the internal structure of SourceSafe, one operation involves reading and writing a bunch of files. For example, to check in one file involves reading more than 10 files and writing several files. Since the file operation is not transactional, if something happens when the VSS Explorer is writing a file, it is very likely, that the VSS database will corrupt. It is also possible when operating on a remote VSS database because the operation takes a much longer time. During that lengthy process, one network glitch can interrupt the writing process and leave your VSS database half cocked. This is why Microsoft recommends analyzing and repairing the database on a weekly basis.

LACK OF CROSS-PLATFORM SUPPORT
Additionally, VSS only supports the Windows platform. If your team uses development platforms in addition to Windows, they may need to take the extra steps to check in and check out files from Windows and copy them back and forth to other operating system through SMB.

ONLY SUPPORTS MSSCCI IDE INTEGRATION
VSS only supports MSSCCI compatible IDE integrations, such as Visual Studio. If you are using any non MSSCCI compatible IDEs, like Eclipse, you do not have the convenience of operating the source control file without leaving the IDE.

Why the Problems?
The main cause of the problems is the fundamental design philosophy of SourceSafe: a version control tool for small teams working in LAN. The cross-platform and ITE compatibility issues are due to the overall Microsoft product policy of promoting Microsoft Windows system and other products.

The technical reason for the slow remote access performance and security issues is that VSS is a file based system. Without an application/server tier, the SourceSafe Explorer needs to go through the files to get the data by itself, which involves lots of file reading and writing. With client/server or multi-tier applications, the client only needs to send the request to the server and get the result back. No more and no less. Since the Windows file system is not transactional, if the writing operation is interrupted, it is very likely that the data is corrupted. (Even though Windows Vista ships with transactional file system, SourceSafe does not take advantage of it.) Also, since file sharing is an operating system level feature, exposing the SourceSafe database to the Internet could expose the shared file system to the public.

So, What Are the Options?
As distributed development becomes more and more pervasive, Microsoft Visual SourceSafe cannot meet a remote development team's need for performance, security, and multi-platform development. The alternatives include:
  •   increasing the network speed
  •   using a VPN
  •   using a third-party VSS remote access add-on tool

INCREASE NETWORK SPEED
One option is to have a faster network. By increasing the network speed, VSS becomes more functional over the Internet. However, many developers are already accessing the Internet at maximum remote speed and their remote access to VSS is still too slow. Besides, this option does not fix the security and limited platform support inherited with VSS. Also, increasing network speed can be very costly to set up and, in many locations, there is no such infrastructure available to carry out this option.

About Amy Gu
Amy Gu is the vice president of Dynamsoft Corporation. She has 17 years of experience in the software industry and earned her PhD degree in computer science in 2003. She taught Object-Oriented Programming Language and software engineering at universities. Her research interests are software processes, software configuration management, duplicate bug detection, artificial intelligence, and IRIS recognition.

YOUR FEEDBACK
Java Application Development wrote: Good Information for web development services...... Java developer.....
Ellie's Professional Software Insight wrote: Trackback Added: An A-Z of RIA Frameworks : From Adobe AIR to Zimbra Kabuki AJAX Toolkit; SYS-CON Media?? RIA Frameworks? ?? ???? ? ? URL : http://dotnet.sys-con.com/read/491052.htm From Adobe AIR to ZK: An A - Z of RIA Frameworks in 2008 — From AIR to ZK, this is an alphabetical round-up of the fast moving-world of application development t..
Clean AJAX wrote: Easy to use AJAX framework that uses messages to control AJAX requests - provides message queue, XSLT, XPath, encryption (SHA1, MD5), web service access (SOAP, XMLRPC), JSON-RPC, cross browser AJAX, AJAX history and cache control.
Oracle ADF wrote: Oracle Application Development Framework (ADF) is an end-to-end J2EE framework that simplifies development by providing out of the box infrastructure services and a visual and declarative development experience.
OpenXava wrote: OpenXava is a full-stack framework for developing database-backed web applications, like Ruby on Rails, but OpenXava produces standard J2EE / JavaEE applications that can be deployed and any standard Java Application Server (or standard Java Portal). OpenXava has been created by Java developers (who need developing Java Enterprise applications in a productive way) for their own use; hence it's powerful, extensible and enjoyable by a Java expert. On the other hand OpenXava allows to a new Java developer to start rapidly to be productive, therefore is a pleasant experience for beginners too.
Gérard Ringenaldus wrote: Jeremy Geelan asked for Omissions to his list, and I would like to add a product called Novulo. Novulo is the award winning Visual Web Development solution for rapidly building and easily deploying AJAX-based web applications. Novulo allows you to build web applications, starting with the user interface, the real screens that customers are going to use. We generate the application from the user interface, and deploy them automatically on any LAMP or WAMP server.
Zoop Framework wrote: Anyone her know when Zoop will come back online?
Makumba wrote: Makumba is a query-centric technology designed by BEST that helps you to rapidly develop web applications that keep their data in a database (i.e. data driven web applications). It is implemented in Java and offers a JSP tag library and a Java API to the web app developer. The technology has been in use since late 2001, and is being further developed, based on users' experience and requests.
Django wrote: Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Developed and used over two years by a fast-moving online-news operation, Django was designed to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of the experienced Web developers who wrote it. It lets you build high-performing, elegant Web applications quickly.
DotNetNuke wrote: DotNetNuke is a free, Open Source Framework ideal for creating Enterprise Web Applications. It is an open source web application framework ideal for creating, deploying and managing interactive web, intranet and extranet sites.
Pyjamas wrote: A Python equivalent of the Google Web Toolkit. Build AJAX apps in Python (like Google did for Java).
RIA Site wrote: If you want a peek into the future of RIAs (rich Internet applications), take a look at Tabblo (tabblo.com). The model that Tabblo has set into motion for photographers -- both amateur and professional -- will soon be adopted by enterprise IT to empower its user base.
GWT On Rails? wrote: GWT-REST is an asynchronous RESTful client implementation for GWT. GWT-REST can be used alongside GWT-RPC or as a replacement for it. The intent is to provide a drop-in solution for communicating with REST web services that may or may not be implemented in Java. A set of generic interfaces is provided along with implementations for JSON and Rails in this first release.
Confused wrote: So is this about Rails versus Grails or Ruby versus Groovy or C versus Java?
RoR wrote: If you're interested in Ruby on Rails and how you can use it to build sexy rich Internet applications, then you should join the Ruby on Rails RIA mailing list at Google Group. Here's the link: http://groups.google.com/group/adobe-rubyonrails-ria-sdk
Grails vs Rails wrote: Rails has zero enterprise penetration, let's put that out there right now. Grails on the other hand has enterprise penetration and is only growing.
Grails wrote: Grails is an open-source web application framework that leverages the Groovy language and complements Java Web development. You can use Grails as a standalone development environment that hides all configuration details or integrate your Java business logic.
openJFX wrote: OpenJFX is the site where development of various parts of JavaFX is happening in the open. For example, the compiler that is being written for JavaFX Script is being developed at the OpenJFX site, so that developers interested in trying out the early versions can grab the latest copy for themselves and even pitch in with suggestions and feedback for the development group.
Thinlet wrote: Thinlet is a complete GUI toolkit for J2SE and Personal Profile (e.g. J9 VM for Pocket PCs). The new version is completely redesigned from ground up, currently only a very early alpha version is available to introduce its main features.
Helmi wrote: Helmi's Open Source RIA Platform permits client- and server-side engineers to work independently while communicating effectively through an object-oriented environment. Today's end users demand the rich, highly interactive experience that is the promise of Web 2.0. At the core of this experience are high performance applications powered by Rich Internet Application (RIA) and Asynchronous JavaScript and XML (AJAX) technologies.
MICROSOFT .NET LATEST STORIES
As a long-time PB developer, I have successfully created or maintained many PB applications for clients and for myself. Since day one, I was impressed with the ease with which applications can be created using PowerBuilder. Although I had been exposed to Visual Studio and other client/...
TeamExpand, a developer of products complimentary to Microsoft Visual Studio Team System (VSTS), announced the commercial version of its TX Chrono, a timesheet tracking application targeted at software development organizations standardizing on the Visual Studio .NET environment. Besid...
China’s new anti-monopoly law went into effect August 1 and China-based Evermore Software, an Office wannabe, would love to haul Microsoft into court. It says it’s collecting evidence and has suggested to MarketWatch that the integration between Office and Windows might be just...
Developer Express announced the immediate availability of its reporting platform for WinForms and ASP.NET – the XtraReports Suite v2008 vol 2. Built and optimized for Visual Studio, the DevExpress suite of reporting components allows software developers to deliver cutting-edge capabi...
Poland’s Office for Competition and Consumer Protection (UOKiK) has complained to the European Commission about Microsoft Windows being on laptops to the exclusion of Linux. It suspects collusion between Microsoft and the laptop makers that Microsoft allegedly greases with rebates, a...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING NEWS FROM THE WIRES
Microsoft Corp. and Nikon Corp. have signed a patent cross-licensing agreement to further the develo...