Model-View Controller Architecture. Under 2.0, the Migrator will re-architect
the original monolithic ColdFusion application into a modular Model-View-Controller
(MVC) application framework using Struts, J2EE and JSP. This re-architecturization
separates the application logic from the presentation logic. The application
logic is translated to back-end Java and Struts and modularized into reusable
components, while the presentation logic is translated to JSP. The Model and
Controller layers are modularized into Java reusable components; ColdFusion
custom tags are separated into JSP tags for the Presentation layer and/or
server-side Java reusable components for the Model-Controller layers, while
include files are similarly separated into JSP includes for the Presentation
layer and/or Java methods for the Model-Controller layers. The JSP Presentation
layer is greatly reduced and confined to stateless presentation and user-interaction
responsibilities. For the Controller layer of Struts, the Struts XML configuration
file, plus all form and action Java classes are all generated automatically, thus
producing a J2EE application ready for deployment.
XML-Based Project Configuration. XML is used to configure the translation
project by specifying sets of input and output file paths. Multiple wildcarded file
paths may be specified in order to represent possibly separate file paths which make
up the sources of the project.
Black-Box Compilation Approach. This ColdFusion migration process is simple,
comparable to a compilation process. Once all the input and output sources
have been specified in the XML project configuration file, the Migrator can be
invoked. The ColdFusion Migrator will import all the ColdFusion sources, then
perform local semantic analysis, global enterprise-wide semantic analysis across
all the source files, translate the original sources and generate the resulting
JSP source files. All this is done in a black-box approach and without user
intervention.
HTML and Java Formatting. The ColdFusion Migrator includes formatters for
HTML and Java, which apply formatting principles (spacing, indentation and
line breaking) to the translated or refactored sources. Optional hierarchical
line-breaking is also performed as necessary in order to avoid line-width overflow.
These formatters are applied to the resulting JSP sources in order to further
enhance the readability of the resulting source code. The ColdFusion Migrator
also generates a formatted version of the input ColdFusion source files.
Source to Source. All the ColdFusion Migrator's results are produced in
textual source form, this includes source .jsp files, as well as source Java
libraries for the converted application. In addition, eKnowlogie provides the
Java package com.eknowlogie.jsp is source form. This package is used
by the resulting JSP program throughout the application. This way, customers
are free to later upgrade and maintain any aspect of the converted application
or its supporting Java packages.
Migrator Speed. The ColdFusion Migrator processes and converts
large ColdFusion applicactions at the speed of approximately 55,000 / min
(fifty five thousand lines per minute) on a typical Windows machine with
a 1.4 Pentium processor.