Jump to content

ColdFusion frameworks and their features

By virtue of Adobe ColdFusion, developers can rapidly deploy, build as well as maintain Java applications. The seamless integration along with multitude of features has made this application server quite popular. To reap the best advantages out of this server it is essential to adapt the best suitable framework so that you might be able to increase productivity as well as employability. So how do you know which one of the frameworks to choose from? Here is a guide on the various kinds available along with their features so that you can decide perfectly.

ColdBox

This convention-based event-driven platform provides a reusable code set and tools so that the development productivity along with development standard may be increased. The applications can be built easily along with easy enterprise debugging, monitoring as well as caching. Typical application aspects are provided like logging, bug reporting, debugging tools, enterprise caching, pretty URLs, i18N, ORM integration, etc. It is both modular as well as comprehensive thus addressing major infrastructure concerns that are typically associated with such applications.

Model-Glue- This object-oriented framework operates with XML configuration file on an implicit event-based invocation paradigm. Event messages can be received by message listeners through registration. The messages are broadcast and multiple listeners can receive them, offering a system architecture that is highly coupled which allows you to develop as well as extend the application flexibly. Functionality like generating and displaying basic user interface for listing as well as editing of database data along with scaffolding are available in this framework which helps in prototyping as well as development of the application. It also generates development-time code and helps in tighter integration for CFC dependency injection with ColdSpring into listeners.

Mach II- This is another object-oriented framework that helps invoke some aspects of an application through an event that has been fired by application code or fired from URL. Those events are routed through XML configuration files to a series of filters and listeners, thus determining the functions that might be invoked on them. This configuration file helps you better understand the application’s logical flow since the layout is done in a sequence. There are logging and built-in caching functionality to it along with some pre-built tools that can build the applications.

Fusebox- Out of the above mentioned MVC framework, this is the oldest and the concept revolves around that of a real electrical fuse box which contains as well as controls many circuits, each of which has its very own fuse. Thus the application may be broken up into several related sections. You simply must write ColdFusion templates; the application may be developed with simple CFM pages, custom tags, etc. You can also have CFCs integrated or do both. The learning curve is easy and you can use XML for configuration of the control layer; even conventions-based CFC may be used for the configuration as well. Plug-ins can also be written so that the code can be executed during Fusebox request.

LightWire- Unlike the above mentioned frameworks which are MVC based, this a dependency injection one which allows configuration through XML along with programmatic interface. It is very lightweight, providing all functionality associated with dependency injection. It is easily deployable and can be integrated with any project, with the minimum overhead.

ColdSpring- This dependency injection platform enables the using of XML file for configuration of both CFCs as well as their dependencies which may be set explicitly. It may be autowired for CFC’s meta-data introspection; then the dependencies are instantiated and resolved automatically. Code blocks may be wrapped anywhere in the CFC functions that are implemented already. RemoteProxyFactories can be used to expose services for remote invocations.

Reactor- This persistence ColdFusion ORM is based on design pattern of Active Record which ensures that every object represents some data and this object is responsible for its very own persistence. The objects save their own data so that the data may be retrieved from the database, instead of asking external services. CFCs are also generated through provision of development mode so that objects, generic data access gateways as well as objects may be generated. A combination of database introspection and XML configuration powers the code generation. A lot of usable code is provided with minimal effort.

Transfer- This ORM revolves around business objects concept, representing a single entity within an application. The business objects can be generated from XML configuration files at run time and provide a lot of basic functionality needed for application development. The business objects may be retrieved as well as modified if necessary. A perfectly configurable caching layer is also provided by it along with Publish-Subscribe model to observe Transfer events, scripting language to carry out database-agnostic querying, etc.

Basically there are three kinds of frameworks for ColdFusion- MVC, Dependency injection and Persistence. Each has its own sets of advantages as well as disadvantages. For example MVC ones help in organizing the application logic along with view, Dependency ones allow easy management of object relationships and compositions while Persistence ones eliminate the cumbersome code writing process for the storage as well as retrieval of objects through relational data storage. For the best advantage, some developers even resort to using a combination of multiple frameworks; ultimately the choice depends upon your discretion. You can get in touch with a ColdFusion web development company who can help you with your Coldfusion projects.

We provide ColdFusion application development services. If you would like to hire ColdFusion developer for your development needs, please contact us Mindfire Solutions.