Gizmox > Resources > White Papers

White Papers

July 12, 2011 :: 3297 Views :: Download PDF: Download PDF

The cost effective path to modernizing client/server applications

Recent developments in application accessibility have shifted the balance between keeping outdated enterprise client/server information systems running that bit longer and replacing them with a truly modern alternative.

In 2010-2011 the demand for unrestricted application access from browsers, tablets and mobile phones and the new economics of cloud computing have placed increasing pressure on CIO's to finally do what they've been deliberating over for years. But economics is not the only consideration facing managers.

The End of the Road for VB 6.0

Microsoft has announced the end of support of the VB6 tool kit in 2009 and end of support of the run time with Windows 8. The discontinuing of support for legacy technologies such as VB 6.0 has long since blocked the way for older systems to compete and, according to Microsoft, they won't run at all on Windows 8, planned for release in 2012.

This will have a profound impact on enterprise systems and their billions of lines of code currently in service. These systems will go from being unmaintainable to unavailable.

This outlook is reinforced by Microsoft, traditionally not overly supportive of cross platform initiatives, when they recently surprised many in their announcement that Windows 8 will incorporate an application development approach based on HTML5 and JavaScript.

What Else Has Changed?

Accessibility and economics. Questionable benefits of the past have come of age and now present a powerful case against waiting any longer and in favor of making the move now towards modernization.

New trends are not readily adopted by corporate decision makers until they become a convincing value proposition. The following developments have catalyzed the current urgency for modernization:

  1. Cloud computing infrastructure has gone live and more cloud power is costing less every year. Microsoft's Azure, the Google App Engine, github, VMware, Salesforce and OpenStack are just the tip of the iceberg of service providers who let companies run their line of business applications with low cost of ownership, combined with true scalability.
     
  2. Competitors offering powerful SaaS models have multiplied dramatically in many traditional business areas. It's time to compete or risk losing business.
     
  3. The demand for the convenience of browser-based access including mobile access has rocketed as fast and reliable infrastructures and efficient browsers have become a reality.
     
  4. The emerging generation of developers has both the knowledge and desire to develop for the web and so young talent for the legacy client / server world is becoming increasingly difficult to find.

Ultimately, every one of these has clear economic implications, through lower running and development costs, longer customer reach and keeping systems functionally competitive.

Which Conversion Path?

Three different approaches are available for the transition from VB 6.0, .NET and other legacy client server applications to a modern infrastructure.

  1. Rewriting the application
  2. Application virtualization
  3. Migration and modernization

Each approach offers a very different combination of risk, end product and cost.

  1. Rewriting the application

    • Pros:
      • Should produce state of the art code and choice of target languages (such as C# or VB.NET) 
      • 'Cleanup' of tired code that has been patched many times over
      • Availability of young talent
      • Easy implementation of new technologies like jQuery and HTML5
         
    • Cons:
      • Lack of platforms that support desktop richness on web
      • Complexities involved with programming with existing platforms
      • Often produces poor code due to lack of expertise of existing development team and lack of application understanding by new development personnel
      • Difficulty in estimating resources required. Experience proves that you know when you start but never when you'll deliver
      • High risk
      • High complexity in achieving a RIA interface
      • Lack of built-in security requires enforcing of development best practices or applying security features that reduce the application performance considerably
         
    • Examples:
      • Flex
      • Silverlight
      • JavaFx
      • Visual WebGui
      • Client-based Ajax frameworks
         
  2. Application virtualization

    • Pros:
      • Fast implementation
      • No need for CAPEX, all costs can be OPEX
      • Good security
      • Desktop-like user experience (in browser's plug-in)
      • No development needed
      • Low risks
         
    • Cons:
      • Unfeasible for large numbers of users or random accessibility
      • Needs remote client maintenance
      • Severe performance limitations
      • Dependent on client
      • Does not use state-of-the-art web technologies such as HTML5
      • No application code upgrade options beyond the legacy technology
      • High CPU usage and server usage result in an expensive infrastructure
      • Necessitates client-side installation
      • Cannot take full advantage of cloud infrastructure, due to restrictive architecture.
         
    • Examples:
      • Citrix RDP
      • VMware
  3. Migration and modernization

    • Pros:
      • New tools provide a fast, automatic  path to native "latest and greatest" code
      • Some tools allow to choose the target code such as the choice between C# and VB.NET
      • More reliable project estimation
      • Lowest cost
      • Lowest risk
         
    • Cons: 
      • Some solutions require runtime libraries
      • Degree of manual intervention can be high
      • Automation can lose functionality
      • Some solutions prevent development during migration, which could result in the inability to upgrade code and make use of newly available features
         
    • Examples:
      • Visual WebGui
      • Code Architects
      • ArtinSoft

All things considered, the migration approach offers the greatest jump ahead for the smallest risk and price. Today, many ISVs and enterprises are looking for the best migration and modernization tools for their systems.

Instant CloudMove - a Full Featured Migration and Modernization Solution by Visual WebGui

Visual WebGui’s base product, which has been around since 2006, is an add-on for Visual Studio that provides the only .NET application development solution for HTML5 web apps. Based on the same award winning technology, the company is introducing its hottest and newest products for migrating client / server applications to web environments, described in this paper.

Instant CloudMove Assessment

Instant CloudMove is the name given to the Visual WebGui migration kit. It consists of two prime components: AssessmentTool and TranspositionTool.

AssessmentTool executes a fast but in-depth analysis of your client / server VB 6.0 or Windows Forms system and produces a detailed report of the complexity of conversion to web, cloud and mobile platforms. Additionally, it estimates the Windows Azure resource requirements for running the converted application. Moreover, you can send the report to the Visual WebGui support team who will explain the report in more detail. They will additionally give you proposals for executing the migration process using the tools yourself, for a turnkey project handled fully by the Visual WebGui migration experts and also for a hybrid project divided between you and their team.

Assessmentool Report
AssessmentTool Report Overview

Windows Azure Calculator
Expected Windows Azure resource consumption

Download Free AssessmentTool >

Instant CloudMove TranspositionTool Enterprise edition

TranspositionTool is a smart migration mechanism which takes a VB 6.0 or Windows Forms application and redeploys it on a web server, ready to run on mobile, web or cloud as a pure .NET application in either C# or VB.NET. It is ready for further development and expansion whenever you want, via Microsoft Visual Studio. See also After the Move, below.

The transposition process is fully automatic regarding the majority of code sections and it converts them into modern .NET code (VB.NET or C#). The tool also provides ways to enhance and modernize the legacy code with comprehensive code refactoring. This enriches the application with features such as object oriented code, integration of application blocks and applying an n-tier architecture.

Sections of code and controls which don’t have a straightforward web equivalency are indicated in the mapping studio which suggests a recommended course of action. The user makes a decision whether to accept the tool's automated suggestion or makes the change manually.

Because conversion issues commonly repeat themselves, the decision taken is learned by the tool as a rule and implemented as a suggestion the next time a similar code section is encountered. This reduces risk and makes the process very efficient. Instant CloudMove is therefore very different to other migration solutions; it ensures a fast but controlled process that doesn't risk loss of functionality due to over-automation.

TranspositionTool Mapping Studio
Mapping Studio

Automated Application Migration
The automatic code migration

The result of the Instant CloudMove migration is a fully modernized, secured-by-design application that runs on any browser on any device and is instantly ready for an n-tier, cloud deployment. It uses pure HTML5 and JavaScript, running on top of the .NET infrastructure.

The Instant CloudMove Toolset and What's to Come

AssessmentTool has been out since 2010 for Windows Forms and an extension to VB6 will be available in beta form in September 2011, together with TranspositionTool beta. The full production versions are scheduled for release by the end of the year. 

TranspositionTool will be available in Enterprise and Standard versions, the main difference being that only the Enterprise version will allow transition directly to web, mobile, cloud and N-tier ready apps, whereas the Standard Edition will be for web-deployment without an enterprise architecture. 

Migration Tools Comparison

Feature/Capability Gizmox TranspositionTool Other Vendors
  Standard Enterprise
VB6 to VB.NET Windows Forms standalone + + +
Support for Web/Cloud-Ready standalone + + -
VB6 to full Web/Cloud/Mobile deployment - + -
VB6 to C# Windows Forms standalone - + Some vendors
VB6 to C# Web-ready or Web/Cloud/Mobile - + -
Transformation to plain .NET - no runtime libraries + + Some vendors
Progressive migration process + + Partially by 1 vendor
Process time per 100K lines of code  30 secs 30 secs  30 mins to a few hours
Off-site accurate cost/effort assessment  Free Free  -
Automatic process output is a compile-able .NET + +  -
Separation of code into N tiers  - +  -
Transformation into Object Oriented ready code  - +  -
Automatic documentation of structure changes  - +  -
Separation of code into regions (project  standards)  - +  -
Projects split and merge including namespace-ing  - +  -
Applying coding/naming standards - + -
Integration of Application Block - + -

 

After the Move: Getting Back to Development

It should be remembered that whatever path is chosen to go from a client / server to a browser based architecture, the day after the system has gone live, you will need to continue developing it. Visual WebGui comes out a clear winner on this count. It is strictly server driven and doesn't put the application or data in jeopardy by allowing distributed clients to interfere with the application flow or data content. Its client layer is pure display without hidden identifiers and all actions and data entered are controlled by the server application.

The VWG user interface is comprised of static AJAX / HTML5 code that acts as a thin but flexible client; the static nature of the client code block enables coding the entire application as a single layer of .NET code that runs on the server and therefore facilitates debugging.

It uses a single channel of communication to handle all browser-server requests for a session. In other words, the client speaks to the application server only and the server speaks to any other services required.

High security, visualized data binding at design time, automatic HTML5 code generation, cross-browser compatibility, maximum use of current developer skills (.NET and Java), high performance for a large number of users, strong debugging, a visualized component-oriented development process and efficient run time data interactions all make Visual WebGui perfect for data centric LOB applications.

Visual WebGui is .NET look and feel on web architecture. It allows developers to produce data centric applications with finger-touch control on mobiles and tablets, optimized for the n-tier cloud. It doesn't need plug-ins such as Flash, Silverlight or Citrix, its applications are proven to be 100% secure and its technology allows for complete control of state just like a desktop system.  It integrates fully into Visual Studio and has enjoyed over 700,000 downloads to date.

Download PDF Download PDF