ArtinSoft's Blogs

Software Migration Experts
Welcome to ArtinSoft's Blogs Sign in | Join | Help
in Search

Erick Nassar Blog

Thoughts and findings about the software migration world... plus the inevitable random rants and cogitations eventually.
  • Birth pangs to ease your .NET migration pains: ArtinSoft’s Visual Basic Upgrade Companion v2.0 is born!

     

    I mentioned a few days ago that ArtinSoft was about to release a new version of its VB to .NET migration product. Well, today it is official: finally, the Visual Basic Upgrade Companion v2.0 has been released! After an incredible amount of work (kudos to everyone involved), the tool now includes a series of enhancements basically aimed towards increasing the generated code quality and the overall automation of the upgrade process, allowing to reduce even further the manual effort required to convert and compile your VB6 code to VB.NET or C#.

     

    These are just some of the new features and improvements included in this version of ArtinSoft’s Visual Basic Upgrade Companion (VBUC):

     

    • Upgrade Manager: The VBUC v2.0 now sports a dashing GUI and Command Line interface that improves the user experience. Incorporating a screen to set up migration profiles, it allows selecting and applying only those features you require for a specific conversion.
    • Support for conversion of multi-project applications.
    • Migration of mixed ASP and VB6 code to ASP.NET and VB.Net or C#.
    • Individual conversion patterns designed to improve the migration of a large amount of diverse specific language patterns.
    • Conversion of unstructured to structured code, reducing the presence of spaghetti code and improving code maintainability and evolution.  This includes the transformation of frequently used patterns related to error handling. For example, the VBUC recognizes “On Error Goto” and “On Error Resume Next” constructs patterns and replace them with the .NET “Try-Catch” structure. It also performs “Goto” removals.
    • Improved typing system, which provides additional information to assign more accurate target types to existing VB6 variables, functions, fields, parameters, etc.
    • Improved Array migration, such as conversion of non-zero-based arrays and re-dimensioning of arrays.
    • C# specific generation enhancements: declarations and typing, events declaration and invocation, error handling, conversion of modules to classes, indexer properties, case sensitive corrections, brackets generation for array access, variable initialization generation, and much more.
    • Migration of ADO to ADO.NET using .NET Common Interfaces.
    • Support for converting many new 3rd-party components such as SSDataWidgets SSDBGrid, TrueDBList80, Janus Grid, TX Text Control, ActiveToolBars, ActiveTabs, ActiveBar 1 and 2, etc.
    • New helper classes that offer frequently used VB6 functionality that is either unavailable in .NET and/or that is encapsulated for the sake of readability.
    • Automatic stub generation of no-maps as a proven strategy to manage overall remaining effort towards successful compilation of upgraded code.
    • And much more!

     

    For more info, you can visit ArtinSoft’s website, and let us know about your specific migration requirements.

     

  • VB6 is dead. Long live .NET

     

    Well, not exactly. But official support for Visual Basic 6.0 has certainly ended, as I’ve mentioned on previous posts. VB 6 has been used by millions of people all over the world to develop applications ranging from thousands to millions of lines of code. It’s definitely time to move those significant organizational investments to .NET, and appropriately ArtinSoft is about to launch a new enhanced version of its VB to .NET migration product (Visual Basic Upgrade Companion). Stay tuned for details…

  • Jay Roxe on VB to .NET migration motivations and benefits

     

    Browsing through some of the good old VB to .NET migration resources I’ve accumulated through all these years, I rediscovered a Dr. Dobb’s interview by Scott Swigart with Jay Roxe. Among other things, they talked about the motivations for migrating from Visual Basic 6.0 to the .NET platform, either to VB.NET or C#, and some of the benefits of the new environment.

     

    Putting aside the VB6 support end concerns, he describes the lifecycle of any application as one of the motivations for a .NET upgrade: “The application has reached a point where the code has grown beyond its original scope, and it's time to rewrite the application anyways, and it just makes sense to transition to the latest development platform at the same time”. Other incentives relate directly to the .NET Framework’s new functionality and development capabilities, and that’s where the benefits come under the spotlight. For instance, he mentions that “We're also seeing, particularly for some of our Web customers, that when they took a VB6/ASP application, and moved it to a VB.NET/ASP.NET application, it was 300 percent more scalable, and they got 200 percent more throughput from the application”.

     

    Roxe also explains how the ClickOnce technology solves the DLL Hell issue by providing better deployment and management, checking the prerequisites availability before installing the application itself, with the option of setting up version checking and without impact to any other applications on the machine. There’s also the possibility of deploying a COM component with an application without having to register it, allowing multiple side-by-side installations of that component without conflicts.

     

    Finally, he responds to the questions around choosing the programming language (VB.NET or C#) once you decide to move to the .NET platform, adding some advice around VB to .NET migrations and pointing some of the available resources. You can read the whole article here, and if you have a VB to .NET migration project in your hands or want to share any experience you’ve had with such upgrades, I’d definitely love to hear about it.

  • The curtain unveils – Aggiorno is out!

    Since 2007, a team of ArtinSoft’s experts has been working on a tool that helps automate a lot of actions commonly performed by web developers, increasing their productivity and resulting in more efficient pages. The outcome is Aggiorno, an expandable plug-in for Visual Studio that produces SEO friendly, XHTML compliant, CSS styled HTML and ASP.NET, which eases enormously the task of delivering web standards compliant web sites. Based on a unique pattern detection and transformation engine, Aggiorno’s beta version is currently available on a by-invitation-only basis, so register now and get early access to this revolutionary product!

    Posted Jan 15 2008, 04:56 PM by enassar with no comments
    Filed under:
  • Visual Basic 6.0 - End of Life is near!

    There has been a lot of controversy around the end of Visual Basic 6.0, a language that was generally available since January 1999. Opposition is comprehensible when you take into account that there is a huge VB 6.0 code base out there. But when you look at Microsoft's Product Family Life-Cycle Guidelines for Visual Basic 6.0, it is ultimately a very large orphaned code base.

    On previous posts, I've mentioned the End Of Life of VB6, referring specifically to the official support phase. Microsoft's Visual Basic 6.0 support policy has been in effect since the release of Visual Studio .NET. The Mainstream Phase, where standard support offerings were available (professional telephone and online incident support, free critical updates and free online self-help tools), ended on March 31, 2005. The Extended Phase began in April 2005 and will end on March 2008. During this period, that is, at this moment and for the next couple of months, standard support offerings are still available, including Premier Support, paid telephone and online incident support, and free online self-help tools. Free telephone and online incident support is no longer being provided, and critical updates are available for a fee.

    Starting on April 2008, Visual Basic 6.0 will enter the Non-Supported Phase, where support will no longer be offered by Microsoft. The Visual Basic 6.0 family of products includes the Standard, Professional, and Enterprise editions of Visual Basic 6.0. It also includes users of Visual Basic 6.0 who obtained their licenses via Visual Studio 6.0 Professional and Enterprise editions.

    Of course, you may be able to find support elsewhere; with such a large code base, the community is a viable source for support. There is a lot of self-help tools and content out there: articles, how-to guides, troubleshooting information, frequently asked question lists, webcasts, and more. But this might not be enough for companies with business critical applications and/or subject to regulations, or ISVs whose customers will demand the latest technologies without doubt.

    End of support doesn't imply that you can't continue using the product; it doesn't mean that the IDE will stop working, but it signifies that any existing or new defects are unlikely to ever be fixed. You will not find any new Service Packs, which keeps your product up-to-date with the latest collection of fixes for the core product and components, since Microsoft stopped delivering these after the Mainstream Support Phase. Finally, in the Non-Supported Phase, no security fixes will be provided at all.

    In the end, all this is only natural. There have always been advances in software development capabilities, and the history of Microsoft's Visual Basic has been no different. For example, for VB4 Microsoft introduced 32-bit address spaces. But in going from VB6 to VB .NET Microsoft did far more than that. It re-wrote the whole product: VB.NET is, in essence, a totally new programming language. It bears some superficial resemblance to VB6, but underneath it is entirely predicated on the .NET Common Language Runtime (CLR) and its data types; and at compile time, you have to use the .NET framework. Visual Basic .NET is clearly a better language, with its improved error handling and a much better development tool in Visual Studio. It's also multithreaded and a true object-oriented programming language, which limits backward compatibility.

    Software assets represent a competitive advantage, and keeping up to date with the latest technologies is crucial in today's business environment. Precisely, Microsoft disclosed those guidelines to provide the advanced notice required by many to make accurate information-technology and product planning decisions within their organizations. So this is the time to stop developing legacy applications in VB6 and assess the remaining VB portfolio for modernization options. It might not be a trivial task, but there are VB to .NET migration products and services that can definitely ease the process.

     

  • Why upgrade from VB6 to .NET – Part 2: Migration benefits

    On my last post I mentioned some of the motivations of one of ArtinSoft’s largest customers to upgrade their critical Visual Basic 6.0 and ASP applications (around 5M total LOC and 9,000 total users!) to the .NET platform. They expect more than US$40M of accumulated benefits in 5 years as a result of this investment in software migration, and considering the Total Property Benefit (TPB) and the Total cost of Ownership (TCO), recuperation time is 4 years in the most probable scenario.

    In this particular case, the following migration benefits would help to reduce current costs, increase the income, steer clear of new costs, and avoid losing market position:

    1- Reducing the number of incidents and the total cost associated with the fixes: Having around 3-4 incidents per year at US$3,500–US$4,000 per fix, it was estimated that a migration would reduce this number between 60–70%.

    2- Avoiding business disruption: When avoiding the increase in the number of incidents, business disruption is prevented. Migration averts a negative impact upon the company’s value chain caused by the degradation of a business process supported by the system.

    3- Providing a competitive advantage: Migration provides an advantage over competitors, allowing the quick development of new system functionalities demanded by the customers. Some of the .NET’s characteristics that facilitate this are distributed technologies support, Web Services, Remoting and Windows Communication Foundation. It is estimated that the effect of losing competitiveness ranges between 4-5% of the revenue per year.

    4- Reducing new development efforts: With about 300 new developments per year, a migration to the .NET platform would reduce the effort between 18% – 22%. Some of the .NET characteristics that allow this are the fact that registry configuration or DLL registration is not necessary, a better deployment (sharing of multiple DLL versions, XCOPY, incremental installations, One-Click) and increased productivity (Just-In-Time (JIT) compilation, Common Language Runtime (CLR), Common Type System (CTS), .NET Framework Class Library (FCL), Garbage collection, Integrated Development Environment, Task List).

    5- Increasing new developments reuse: Some of the .NET integration characteristics that allow this are the easy interaction with .NET components and legacy systems and COM interop allowing the use of components from the original application. Reuse of new developments would range between 16 – 20%.

    6- Improving system performance: the .NET platform provides several improvements in this area, such as a multithreading and ASP.NET.

    This is just an example of the reasons and some of the expected benefits for a particular migration project, and this varies from case to case. However, let’s be honest: any upgrade is generally a complex task, but in most cases the alternative is to drop behind the competition and go out of business. So this might be a good time to assess your investment in business applications.
  • Why upgrade from VB6 to .NET – Part 1: Compelling reasons to migrate

    One of ArtinSoft’s most recent customers performed a thorough analysis around upgrading all their critical Visual Basic 6.0 and ASP applications, accounting for about 5 millions of lines of code, to C# and ASP.NET 2.0. End of Life for Visual Basic 6.0 and the Sarbanes-Oxley Act (SOX) played a big role on their decision. The end of extended support for VB 6.0 in March 31, 2008 means that there will not be access to new technologies that allow to take full advantage of the company’s hardware investment, and that the business will find it hard to react to market changes. Plus their own corporate IT management policies state that all business areas should only use software and operative systems supported by an approved provider and have an appropriate patch/upgrade configuration mechanism.

    A migration aligns with the corporate strategies in many ways. Business wise, they highly value any investment in initiatives that contribute to improve customer royalty, increase employee productivity and reduce costs, and it was estimated that improving system performance will increase user productivity between 0.04 – 0.05%. And regarding their systems, they look forward to minimizing the learning curve and required trainings, procuring an extensible and easy-maintainable code base, and maintain knowledge through the preservation of business rules, comments and cross references.

    But why chose ArtinSoft’s VB to .NET automated conversion solutions and Microsoft’s .NET as the target platform? Well, they listed several reasons.

    I’m not going to evangelize on the benefits of .NET, but I would like to mention a couple of our customer’s motivations. The .NET platform is the base of a complete strategy that integrates all Microsoft’s products, from the OS to market applications. It is a response to a growing market of web-based business processes. On the long run, it seems that Microsoft intention is to replace API Win32 or Windows API with the .NET platform. This could be because their lack of detailed documentation, uniformity and cohesion between its components, causing issues when developing Windows-based applications. .NET addresses most of these issues by providing a single, easily extensible group of interconnected blocks that eases the development of robust applications. In general, the .NET framework has a lot of advantages for increasing productivity.

    On the other hand, they chose ArtinSoft’s solution basically because it proved to have a much lower risk and overall cost than other alternatives. They’ve been developing most of their applications since 1990, and an automated migration allows preserving all the business rules that exist in a core-business application.

    On my next post I’m going to provide more details about the expected benefits for this specific migration project.
  • BlogSigs: Promoting your blog through your email's signature

    Here's a neat utility for constant bloggers who want to drive more traffic to their sites. Available for both Windows and Mac OS BlogSigs can be configured to work with Outlook, Gmail, Yahoo! Mail, and Hotmail, and it adds a link to your latest blog post in your email signature. It's definitely much better than just putting the standard link to your site's main URL!
  • Easy link builder for lazy bloggers

    Just wanted to share a nice tool I found to create quick links at blog posts. Developed by Laurence Gonzalves using the Google AJAX Search API, this is perfect for those constant bloggers who make extensive use of hyperlink tags.
  • Quicksand at the comfort zone

    I’ve seen recently an increase in the number of people with business critical applications written in Visual Basic 6.0 that are looking more actively towards making the transition to the .NET platform. I think that this may have been triggered in part by the proximity of the end of Microsoft’s extended support for VB 6, in March 2008 (mainstream support ended 2 years ago). For Independent Software Vendors specially, this is a source for considerable market pressure. According to some analysts, most people moved to .NET because of the demand from clients or for the need to keep up with the latest trends, aside from the platform’s own capabilities and features, of course. In the past, there’s been a consistent lack of perceived need for .NET among VB 6 developers, but .NET usage continues to increase from year to year. And with more successful migration stories every day and a broad range of related resources and incentives available (take for example Microsoft’s NXT initiative for ISVs), many are starting to consider the .NET upgrade as an unavoidable step to avoid the legacy quicksand.
  • <Blog>

    OK. So finally, after months of encouraging my colleagues to post their thoughts and experiences on this domain, I decided to start my own blog. Yeah, well, it probably should have started the other way around, but you know what they say: "Shoemakers’ wives go barefoot, and doctors' wives die young". Having worked at ArtinSoft's marketing and customer service departments for years, it's only natural to write about the market/business side of the software migration world (motivations, advances, tips, experiences, issues, achievements, statistics, etc.), specially around Visual Basic to .NET upgrades. But you should also expect some random stuff thrown in once in a while.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems