A Visual Studio tool eliminating the need to rewrite for web and mobile
We have already covered the BYOD requirements that an
application developer is faced with, in an earlier blog
entry (How to Bring Your Own Device (BYOD) to a .NET
application). In that entry we emphasized the fact that application
developers will need to prepare their applications for
serving multiple types of devices on multiple platforms,
ranging from the smallest mobile devices up to and beyond
the largest desktop devices.
The experts
prediction is that in the near future we will see that the
majority of all applications developed, will need to be able
to service these multiple platforms and devices in one way
or the other, in order to survive.
Where does
that leave our legacy single-platform targeted desktop
applications, in which we have even invested decades of
manpower?
We could build a User Interface
front-end for those legacy applications, still running the
legacy application as a back-end. That does in some cases
require considerable effort, and it doesn't change the fact
that the back-end is still running the legacy, and
potentially obsoleted technology, code. On top of that, we
will have two tiers to manage, the back-end and the new
front-end.
We could rewrite or convert the
legacy application for the new technology. For that there
are multiple code conversion tools out there on the market
that will assist you and make your conversion process a bit
easier than to do it all "by hand". All the current tools in
this category have one thing in common though, they do code
conversion for you, and some of them even pretty well. You
will still need to rewrite or reconstruct the parts of code
where there is no corresponding library on the target
platform.
We could migrate the legacy
application to the new technology using any of the migration
solutions available. The currently available solution base
their migration on a fixed set of black-box built-in rules
with no (or very limited) ability to adapt to your special
migration needs. In many cases this will only help with the
migration of a portion of your code, still requiring
rewriting or reconstruction of considerable percentage of
your code.
Taking on such a conversion or
migration task means that you will use the code
conversion/migration tool of your choice to convert/migrate
your code. You will most likely have huge sections of code
that need to be rewritten and/or reconstructed because there
is no direct correspondence between the libraries used on
the legacy application and the ones on your new platform.
As soon as you start the conversion process, you will be
converting the legacy application version that is current at
that time, which can present major additional efforts in
both management and coding if you need to continue
maintaining the legacy application after you have started
the conversion process.
What you really need
here is a conversion tool that "knows" more about your
legacy source application platform and the target platform
and "knows" how to "map" between the two whenever possible.
In addition, you often may need to continue development on
the legacy application while you are converting/migrating.
What you need is to lift that requirement and not freeze the
development of the legacy application.
Based on
these needs, Gizmox's built its solution and called the
action transposition rather than migration or conversion.
The
Transposition studio
is a rule based migration and modernization solution. It
comes with built-in rules that will automatically handle
about 95% of the conversion right out of the box. In some
cases it will be able to migrate all your code. In other
cases there will be portions that you need to work on
yourself, but the entire work is done within the
Transposition studio which is integrated into Visual Studio
and offers you wizards and guiding tools to minimize risk
and required resources.
What distinguishes the
Transposition from other migration solutions are mainly
three things:
First, it's migration rules are
fully open and adjustable so you can change the default
migration at will and thereby gradually adapting it to your
own specific needs. It uses a very powerful pattern matching
engine along with equally powerful template engine that
enables you to make very advanced and complex conversions on
small and large code segments, all by defining a set of
rules and templates within the Transposition studio itself.
The Transposition Studio integrates directly into the Visual
Studio development environment and you have the legacy
source code right at your fingertips and also allows you to
override the defined rules by directly customizing parts of
the code according to your needs. The rules and templates
are stored in user definable libraries, where you can build
multiple sets of related rules, which can then be used for,
or shared with, other migration projects.
Second,
there is no need to freeze development on the legacy source
application, so you can continue developing your old
application, while you are transposing. Using traditional
migration/conversion procedures, you do a one time
migration/conversion of the code, and then you start
reconstructing/rewriting the parts of the outcome where
necessary. This is completely different in Gizmox's
Transposition studio. The majority of the required work is
spent on defining migration rules and templates within the
Transposition studio itself and then you simply re-run the
transposition (migration) process to produce a new set of
target code. You re-run the transposition as often as you
need/like and it is only at the last stage, when you have
migrated everything that can be migrated, that you start
working directly on the target platform code.
Third, one of the target platform options is a
cloud enabled and mobile enabled ASP.NET application with
HTML5 front end (based on the Visual WebGui framework) which
will fulfill the BYOD requirement of modern applications
perfectly.
I invite you to download and try the new Transposition Studio from Gizmox on a demo application.