I am proud to announce that today ArtinSoft released version 4.0 Beta of its flagship product the Visual Basic Upgrade Companion.
This new release once more collects our learnings from migrating millions and millions of lines of code from Visual Basic 6 to VB.NET and C#.
This release revolves around a number of themes:
1) Visual Studio 2010 compatibility: You can now use the VBUC to create projects that are compatible with Visual Studio 2010.
2) Take advantage of new framework features: The code generated by the VBUC now takes advange of some advanced features of the .NET Framework to improve the quality of the code avoiding dependencies to any third party runtime.
3) Compatibility with Windows 7 and 64 bits system: The platform is evolving and the VBUC is evolving along with it. Now the VBUC is compatible with Win XP, Vista and 7 on both 32 and 64 bits systems.
4) Impoved usability: We are trying to minimize the learning curve to start a VB migration project. There will be even more changes in this theme for the next release. (I am specially excited about this!)
Please read our official press release, learn the specifics of version 4.0 or give it a try!
You can also watch a video demo on the Microsoft site channel 9: http://channel9.msdn.com/posts/VSIPMarketing/VSIP-Partners-CAN-DO--ArtinSoft-Visual-Basic-Upgrade-Companion/
Aberdeen Group recently published a report titled “Migrating from VB6 to .NET: The challenge of Software Agility in a Volatile Economy”.
The report contains a good summary of the status quo with respect to Visual Basic 6 renewal efforts. It is based on a survey of 130 organizations at the end of 2008.
The Aberdeen report contains lots of advice for organizations that are faced with the challenge of upgrading their infrastructure, I think it is worth reading it.
ArtinSoft is very proud to have been recognized as a key player in the Visual Basic migration game along with a number of its outsourcing partners. This shows once more how our 15 years trajectory in the migration business is our best letter of presentation.
In his summary of the report, Aberdeen analyst Michael Lock also shows how best in class companies have a much greater tendency to use automatic migration tools to support their porting efforts. During these times of financial uncertainty is more important than ever to minimize the cost of evolving your infrastructure and automation is certainly a good way of doing so. ArtinSoft approach to automatic migration is aimed at minimizing the cost of reaching functional equivalence while at the same time ensuring that all delivered code is completely .NET native and ready to be evolved to the next level by our customers. ArtinSoft offers the best balance between cost speed and future insurance. Jose Aguilar also analyzes some of the conclusions from Aberdeen in this blog post.
If you are deciding what’s your next move with VB6, you should certainly read the Aberdeen report and you should look at our Visual Basic Upgrade Companion 3.0 and our new technical resources site www.VBtoNET.com .
Today ArtinSoft launched the Visual Basic Upgrade Companion 3.0 both for our Enterprise and Developer Editions. This latest release of the best (I am biased!) Visual Basic migration tool in the world is focused on reducing the total effort of a migration project. Together with the conversion tool release we also revamped its companion technical site http://www.vbtonet.com/ . This site, which will be continuously updated in the following weeks, is the perfect side help to any person that needs to complete a migration project. It contains everything from a getting started guide to how-to articles with advanced migration topics.
At ArtinSoft we are truly proud of this release and we continue to be fully committed to support our customers in their transition from VB 6 to Visual Basic .NET or C#.
Specifically, here are the latest additions to the VBUC 3.0. Click here to get a trial of this exciting product.
VBUC 3.0 New Features
Source Code Conversion Features
- Windows API and 'Declare' Support
VBUC 3.0 introduces support for external DLL function declarations and invocations. A vast research was performed to identify the correct way of declaring and passing parameters and return types for primitives, classes, enums, structs, fixed lenght strings, arrays and combinations of these types.
- Increased Support for Windows Common Controls Conversion
VBUC 3.0 introduces a substantial amount of improvements for the conversion of Windows Common Controls to native .NET controls. An extensive effort was performed to identify and resolve issues related to these components which are present in most VB6 applications. The main improvements are related (but not limited) to the following controls: ImageList, ListView, StatusBar, Toolbar, TreeView.
- Public Class Instantiation Models Support
Public classes in ActiveX EXE/DLL projects may have different instantiation models (multiuse, singleuse, etc.) To achieve the same behavior in .NET a whole conversion solution was implemented and incorporated into VBUC 3.0.
- Default Property Resolution Through Helper
The VBUC contains a new helper class designed to resolve several late binding issues that are not solved by the typing mechanism. This solution significantly reduces compile errors and EWIs while providing higher functional equivalence.
This solution resolves the EWIs related to late-binding and default property issues which represent around 50% of known issues from older versions.
- Data Access Conversion Improvements
The data access conversion to ADO.NET with System.Data.Common has been a very popular feature from the previous VBUC versions. VBUC 3.0 introduces several improvements to this feature. It includes enhancements to the helper classes functionality as well as additional members coverage (clone, sort, getrows and many others)
- IsMissing Support
VBUC 3.0 introduces support for the IsMissing function. Since VS.NET doesn't include the concept of missing parameters, VBUC now generates a code pattern that produces the same behavior by taking advantage of nullable types and overloading.
- NotUpgradedHelper for Not-Upgraded Statements and Members Handling
A very common problem with older versions of VBUC was the handling of NotUpgraded members and statements. They were usually generating compile or runtime errors that made the post-VBUC manual work more difficult.
VBUC 3.0 introduces a helper class to report and handle the usages of not supported elements while avoiding compile and runtime errors.
- Multiple improvements to existing features
Around 450 individual improvements were implemented for VBUC 3.0. Most of them are related to providing increased automation and enhance the resulting code quality, others are related to other areas such as robustness and graphical interface.
Performance Improvements
- Speed Boosting
For VBUC 3.0 several time performance improvements were implemented to achieve a substantial improvement, reducing to 50% the required time to perform an upgrade process. Additional time improvements could be experienced when converting large projects which used large amounts of memory.
- Reduced Memory Requirements
Memory usage was also significantly improved. Based on tests over medium projects we estimate around a 30% improvement. It is estimated that more significant improvements will be experienced with bigger projects.
Assessment
- Assessment Tool Integration
The VBUC Assessment Tool functionality has been incorporated into the VBUC. Users can now execute the assessment process from the VBUC main window. One important advantage of this approach is that users can solve migration warnings before executing the assessment process, allowing the obtention of better quality information.
- Additional Assessment Reports
Two additional reports have been included into the integrated assessment process:
- An advanced dependency analysis that shows internal-dependency trees per project.
- A shared and potential-duplicate files report. It includes the following sub reports:
- A shared files report indicating which projects include each shared file.
- A potential-duplicate files report indicating which projects include each presumed duplicate file.
- A projects list sorted topologically with LOC counts for each project where shared and potential-duplicate files are counted only in the first project they occur.
Other Features
- Graphical Interface Status Information
The VBUC 3.0 graphical user interface shows detailed information for each project. It shows sizes, progress and status by project and by source file detail.
It helps the user to understand the volume of work required for each project and its current upgrade progress as well as to identify any eventual pieces of code that may have not been fully converted.
- EWIs and Upgrade Report Improvements
Several modification have been implemented to the upgrade messages generated by VBUC into the generated code.
- UpgradeReport Synchronization: for previous versions of VBUC the UpgradeReport didn't show properly all the EWIs generated into the upgraded code. For VBUC 3.0 this report includes all the EWIs generated in the converted code plus the global EWIs that are not included into the target source code.
In addition, the accumulated counts per section where also improved to show the correct amount of occurrences.
- Links to Online Documentation: Hiperlinks are added for each EWI to its corresponding online documentation in the new www.vbtonet.com site.
- Restructuring: The EWI message structure was modified to show the numeric code first. Also some messages where improved and some EWIs were removed or merged.
- Increased Robustness and Logging
Several actions were taken to handle and recover from unexpected situations. In the event that any exceptional situation may arise, an window is displayed explaining the issue and providing the user with options to generate debugging information that can be sent to ArtinSoft support for diagnosis and recommendations.
Products, Versions and License Types Formalization
- Developer and Enterprise Editions
The second version of VBUC Developer Edition is released with VBUC 3.0. The development process has been formalized to syncronize the maintenance and releases of both versions. The Developer Edition includes an improved activation and licensing model as well as an easier on-line sale mechanism.
- Trial Licenses
Both Developer and Enterprise editions support trial licenses. Developer trials are now available for download in the Artinsoft web site.
- ASP Upgrade Engine Integration
The ASP Upgrade Engine has been integrated into the VBUC 3.0. It is now installed together with VBUC. The license file can still restrict the use of ASP upgrade abilities though.
On Wednesday April 15th 2009 Avanade and ArtinSoft will host a webinar on how to quickly and cost effectively renew your Visual Basic 6 applications.
Here’s an excerpt from the invitation:
“Don’t miss this chance to learn more about VBUC and other cost effective migration options, including:
• Which migration strategy works best for you (complete, partial,
coexistent, partial development)
• How to reduce project risk, costs, and time to market
• How to guarantee business continuity by preserving knowledge
invested in legacy applications“
You can RSVP and make sure you don’t forget to attend.
Here is a summary of some recent case studies that we have produced with our customers.
The message is common: Visual Basic 6 to C# migrations are an excellent alternative that saves time and money when you need to move your application to .NET.
HSI
This Texas-based company provides geo-navigation solutions for the horizontal drilling industry, and when the end of official support for the VB6 development environment was announced, they turned to ArtinSoft to migrate their LatNav application from VB6 to C# on a turn-key basis, using a slightly customized version of the Visual Basic Upgrade Companion.
“Utilizing the Visual Basic Upgrade Companion saved us about one year of development and $160,000. This conversion will allow us to leapfrog well in front of our competition” -- Ken Bowdon - HSI founder
Read the full HSI case study.
MDA
After discarding a manual rewrite and the Upgrade Wizard, MDA –a software services provider for the real estate sector– settled for ArtinSoft’s Visual Basic Upgrade Companion tool, with which RDO was transformed to ADO.NET, third party controls were converted to native .NET controls, Component One’s True DB grid was upgraded to the latest version of that component, and coding standards that were common place when developing in Visual Basic 6.0 were also migrated to equivalents in VB.NET.
“We looked at different options, like a rewrite and the Upgrade Wizard. The UW couldn’t cater for our needs, especially since we were going from RDO to ADO.NET. A rewrite would have been about a five-year project for us, and possibly in the region of US$500,000. Using the Visual Basic Upgrade Companion represented an estimated saving for the project of about 3 years and US$300,000”. -- Rodger Beadle – Technical Director, MDA
Read the full MDA case study.
Vertex
Vertex, a leading global BPO and customer management outsourcing company, managed to ensure compliance and business continuity by upgrading not one, but two mission-critical applications from VB to .NET using a customized version of the Visual Basic Upgrade Companion (VBUC). These case studies underscore the joint efforts made by both companies, which proved to be decisive to accomplish the goal of having both migrated applications up and running within some serious time constrains.
"ArtinSoft has been an excellent company to work with. They have been responsive to requests from Vertex to change their processes in order to accommodate the way in which we work. They have provided us with daily updates throughout the migration life cycle and have worked in partnership with Vertex to resolve any issues that have arisen in a pragmatic and expedient manner." -- Sue Craig - Senior Project Manager, Vertex
Read the full Vertex Omiga Case Study.
Read the full Vertex Supervisor Case Study.
Banamex / Citigroup
Learn how Banamex, one of the most widely recognized financial institutions in Latin America and purchased by Citigroup in 2001, was able to migrate over 5 million lines of code from VB6 and ASP to C# and ASP.NET using ArtinSoft’s Visual Basic Upgrade Companion, in compliance with Citigroup’s corporate policies for quality assurance and information security. The project also included the creation of an effective collaboration environment and the implementation of highly advanced security tactics in order to guarantee full confidentiality in data handling.
Read the full Banamex/Citigroup Case Study.
Here is an excerpt from an article that Greg DeMichillie wrote on Directions on Microsoft April Edition:
"The planned follow-on release to Windows Vista, code-named Windows 7, will not include the Visual Basic 6.0 (VB 6) runtime libraries, Microsoft has begun informing customers. This sets a timeframe for the final end of support for the runtime."
As we have informed on several occasion in this Blog, Microsoft is performing all the normal steps to retire a technology from market. Visual Basic 6 was/is a tremendously popular technology but never the less it will have to go away.
Jarvis Coffin once said: "All technologies fade away, but they don’t die." This is most probably what is going to happen to VB6 (hey.. we still have COBOL code written more than 30 years ago that is alive and kicking!!!) but the question I have for you is: will you embrace the new technology? Or will you fade away with it?
It is time to upgrade your skills as a developer and also to migrate your application to greener grounds.
ArtinSoft has been hugely successful at migrating customers as Eric Nelson (Microsoft UK DPE and blogger) recently mentioned: "Artinsoft have a lot of VB6 migration experience and can help you do the migration - either by licensing their VB Upgrade Companion or by taking advantage of their migration services. Artinsoft are doing some great work with some of my UK ISVs helping them move off VB6."
If you have any questions or comments regarding your migration strategy let's cover them in this blog.
UPDATE March 11th 2009: The title of this post was: "VB Runtime NOT in next Windows". However, Microsoft has recently updated the support policy for Visual Basic 6 Runtime. The new policy states that the VB runtime is now supported for the full lifecycle of Windows 7.
PS: You can read the inflammatory comments I got over the past week below!