One-Time ColdFusion Migration. The ColdFusion Migrator is not a
ColdFusion server implementation on top of Java. The ColdFusion Migrator
provides a migration or permanent translation of the ColdFusion application
sources to Java and JSP. This is a one-time migration. Once accomplished,
the new source code no longer has any relation or dependencies to ColdFusion
and can be run on any JSP server unrelated to ColdFusion and without any
ColdFusion support.
Client-Side Scripting. This is a ColdFusion-only migration tool. The
application's HTML and client-side scripts remain intact, and in the same
scripting language in which they were written (e.g. JavaScript). Thus,
the application's VBScript, Macromedia Flash and/or Shockwave scripts
remain intact.
Readability and Simplicity. It maintains the simplicity of the original
ColdFusion code, while enhancing its readability. The migrator performs one to
one translation of selected high-level ColdFusion tags to
selected JSP tag libraries in order to maintain a highly-descriptive,
readable level for the translated functionality.
Scalable Performance Through a Compilable Web Page Architecture.
ColdFusion is not a full software-development language, it is a "data retrieval
and formatting" language designed for the quick prototyping of websites by
non-technical developers at the expense of scalability, performance and
functionality.
In ColdFusion, the location of data variables needs to be recalculated during
page execution time, every time such data is referenced, which is a significant
cause of performance degradation. In Java JSP, such
location is known before page execution time and thus does not need to be
recomputed. This solution requires that the ColdFusion
to JSP Migrator performs enterprise-wide semantic analysis on an entire
ColdFusion source code application.
Scalable Performance by Eliminating Layers of Web Servers.
Some ColdFusion solutions suggest the use of ColdFusion servers on top of the
standard Java J2EE servers. These solutions still do not eliminate the need for
the ColdFusion server, and even though the underlying Java language in J2EE
supports page compilation, the ColdFusion language on top still requires
recomputation of data references at execution time for every time such
data is referenced. In other words, this ColdFusion performance drawback at
execution time is inherent in the design of the ColdFusion language, and cannot
be bypassed by your choice of a server, nor by stacking up layers of
servers on top of each other.
Scalable Development Through Page Modularization. ColdFusion's virtue for
the development or prototyping of small-scale systems, is the fact that
the location of variables need not be known in the source code of
ColdFusion pages. ColdFusion's drawback for the development of
large-scale projects is the fact that the location of variables is not
known in the source code of ColdFusion pages; thus system-wide source-code
manual inspection needs to be performed by developers before these local
relationships are understood, making these systems difficult to understand
and maintain. Thus, ColdFusion systems become more and more
difficult to understand, modify and maintain as these systems gain complexity.
The chosen translation solution was designed to automatically unravel and specify
variable locations right in the source code and at the local page level. This
way, by looking at the source of a single web page in the system, the developer can
understand its relationship to the rest of the system. Typical web-based client-side
architectures share the danger of an unsuccessful modularization or localization.
With the information automatically extracted from a ColdFusion system, the
Migrator enforces certain page interface rules that allow these systems to remain
modular.
Use of Java JSP for a Highly Functional Translation. Most ColdFusion tags
are directly translated to reusable Java components instead of JSP tags or JSP
tag libraries. This
solution still produces the equivalent readability of tags, but with the
advantages of increased performance and complete flexibility as to how this
functionality may be maintained, enhanced and complemented in the future.
That is, future functionality is not restricted by the rigid behavior of
tags. For example, with the eKnowlogie reusable classes provided in source form,
you can send mail by simply writing:
-
Mail. sendMail ("smtp.server.com",
"myself@mycompany.com", "customer@cust.com", "Can we meet?");
Reliance Only on Open-Source Technologies. Resulting translated JSP
system requires only open-source Java and JSP tecnology to run. Of course,
a company can optionally choose among the best commercial servers and tools
available in the industry today.
Page Modularization and Compilation. The origin of translated variables is made explicit
in the JSP source pages, thus the
relation between individual pages and the entire web system become well
understood, and the new JSP pages become truly compilable. This minimizes the
need for resolving the origin of variables at run-time and significantly speeds
up run-time performance.
Increased Application Performance. The same translation principle producing truly
compilable pages also allows the origin of variables to be known at compile time,
reducing the significant run-time overhead associated with ColdFusion execution
and significantly increasing performance.