In the past two columns, I've talked about upcoming changes to Developer .NET UPDATE. As you might have noticed, they don't seem to have arrived. As often occurs, a small change starts to ripple throughout an organization, and before you know it, what started as a ripple becomes a wave. This wave is still building, and the improved Developer UPDATE is still coming. However, one change that is now ready involves an invitation. I would like to invite you to participate in a new advisory panel.
IT Pro Research (soon to be IT Community Research)--a research team serving the SQL Server Magazine, Windows IT Pro, and Microsoft-platform developer communities--is forming a new Developer Research Advisory Panel. This panel will consist of an influential group of developers whom are called on for insight and opinions about the developer community. As a member of this panel, you can help the research team understand the problems and challenges developers face, the products and services they use, and the areas in which they need more information. In addition, the panel will be asked to provide insight into compelling issues across the broader IT industry.
Participants are entered into monthly drawings for T-shirts, caps, mugs, and other memorabilia related to SQL Server Magazine, Windows IT Pro, and other Penton publications. In those cases in which you're asked to participate in a longer research project, there are valuable incentives (beyond logo-gear) to recognize the amount of time and effort required on your part. Special discounts on Penton products are also available to panel members. If you're interested in participating in the Developer Research Advisory Panel, go to http://websurveyor.net/wsb.dll/12237/Dev_Panel_Reg.htm and provide some information about yourself or contact Janet Robbins at firstname.lastname@example.org.
Just as Developer .NET UPDATE is going through a transition, hopefully you're looking at your own transition to .NET if you haven't already done so. I have to admit I'm somewhat surprised at how many companies still have COM-based Visual Basic (VB) components running business logic on their Web sites. Even those companies that have converted their Web sites to ASP.NET sometimes still have VB components running. COM components written in VB most often run in the apartment-threaded model, which means that to the multiple threads under Microsoft IIS, these components are essentially single threaded. Because most of these companies haven't loaded the VB components into COM+, their Web sites' scalability is severely limited.
It's not much better for those companies that have loaded the VB components into COM+. Although Windows .NET Framework 1.0 and 1.1 manage to achieve multithreaded functionality with single-threaded components and allow for the encapsulation of an alternative identity, they don't have the best solution for distributed transactions. However, this changed with the release of .NET Framework 2.0. Version 2.0 introduces the System.Transactions namespace, which makes handling distributed transactions from within .NET assemblies easy. So, as a result, there really isn't a good reason to not transition your old components to .NET.
Visual Studio 2005 makes transitioning VB components to .NET a simple task, especially if you have legacy VB 6.0 Windows applications. With the introduction of additional Windows Forms controls that better match those available under VB 6.0, Visual Studio 2005's migration wizard does an even better job of converting code to .NET than its predecessors.
There are two ways to start Visual Studio 2005's migration wizard. The first way is to right-click your VB 6.0 project file and open it with Visual Studio 2005. This will automatically trigger the wizard. The second way is to go to the File menu in Visual Studio 2005 and select the Conversions option. This will start the wizard and let you choose between converting a VB 6.0 project or a Java project.
After you launch the migration wizard, you simply follow the prompts to convert your project. At the end of the conversion, you'll have a new project (and your old project as well) and a report that lists items you'll need to examine in your project. Most of the items are relatively inconsequential. The question then becomes, "How are your skills?"
The good news is that both the Microsoft VB team and ASP.NET team have posted free training materials. The VB team has released a set of video training aids at http://msdn.microsoft.com/vstudio/express/vb/learning. These 18 videos take you from the ground up in terms of working with VB in Visual Studio 2005. Similarly, the ASP.NET team has posted a set of online tutorials at http://msdn.microsoft.com/vstudio/tour/vs2005_guided_tour/WebDev/WebDev/webdev1.htm. Like the VB training aids, the ASP.NET tutorials walk you through the steps necessary to quickly become productive. In both cases, the materials have been built around the Express versions of the Visual Studio 2005 tool suites. Whether you need a full jumpstart or are just looking for a tune-up in a particular area, you should check out these free training materials.
At this point, you have the resources to start learning the languages as well as the tools to handle most of the heavy lifting. All that's left is guidance on how to transition your VB code. You can get that guidance from the Microsoft Visual Basic Developer Center's "patterns and practices" series. Specifically, the "Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual Basic 2005" guide (http://msdn.microsoft.com/vbasic/default.aspx?pull=/library/en-us/dnpag2/html/VB6ToVBNetUpgrade.asp) provides helpful information. This guide even includes an assessment tool to help you gauge the level of effort required to transition your code. If you have any questions, you can post them on one of the Microsoft Developer Network (MSDN) forums (http://forums.microsoft.com/msdn/default.aspx?siteid=1) and leverage the power of the development community.
As you can see, there really isn't any reason not to transition to .NET. In fact, if you think of one, please let me know.