Advanced software
technologies for
vertical markets

Benefits to the
Development Process

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 ("", "", "", "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.

Copyright © 2016 eKnowlogie, Inc. All rights reserved.