Tuesday, August 25, 2009

Journey of coldfusion

ColdFusion is a commercial, rapid application development
platform invented by Jeremy and JJ Allaire. The product made its debut around 1995,
leading the way for similar products from Microsoft and another from the open source
community named Bluefish. The major difference between ColdFusion and the other
WYSIWYG development tools of the time was ColdFusion's ability to interface with
a database. This enabled people who would likely have trouble creating a dynamic
website to create a dynamic site with remarkable ease.


Overview


One of the distinguishing features of ColdFusion is its associated scripting language,ColdFusion Markup Language (CFML), which compares to the scripting components of ASP, JSP, and PHP in purpose and features, but more closely resembles HTML in syntax. "ColdFusion" is often used synonymously with "CFML", but there are additional CFML application servers besides ColdFusion, and ColdFusion supports programming languages other than CFML, such as server-side Actionscript and embedded scripts that can be written in a JavaScript-like language known asCFScript.

Originally a product of Allaire and released in July 1995, ColdFusion was developed by brothers Joseph JJ and Jeremy Allaire. In 2001 Allaire was acquired by Macromedia, who in turn were acquired by Adobe System Inc in 2005.

ColdFusion is most often used for data-driven web sites or intranets, but can also be used to generate remote services such as SOAPweb services or Flash remoting. It is especially well-suited as the server-side technology to the client-side Flex.

ColdFusion can also handle asynchronous events such as SMS and Massaging via its gateway interface, available in ColdFusion MX 7 Enterprise Edition.

Main features

ColdFusion provides a number of additional features out of the box. Among them:

  • Simplified database access
  • Client and server cache management
  • Client-side code generation, especially for form widgets and validation
  • Conversion from HTML to PDF and FlashPaper

  • Data retrieval from common enterprise systems such as  Active Directory, LDAP,
    SMTP, POP, HTTP, FTP, Microsoft Exchange Server and common data formats such as RSS and Atom

  • File indexing and searching service based on Verity K2

  • Gui administration
  • Server, application, client, session, and request scopes
  • XML parsing, querying (XPath), validation and transformation (XSLT)

  • Server clustering

  • Task scheduling
  • Graphing and reporting
  • Simplified file manipulation including raster graphics (and CAPTCHA) and zip archives (introduction of video manipulation is planned in a future release)

  • Simplified web service implementation (with automated WSDL generation / transparent SOAP handling for both creating and consuming services - as an example, ASP.NET has no native equivalent for )

Other implementations of CFML offer similar or enhanced functionality, such as running in a .NET environment or image manipulation.

The engine was written in C and featured, among other things, a built-in scripting language (CFScript), plugin modules written in Java, and a syntax very similar to HTML. The equivalent to an HTML element, a ColdFusion tag begins with the letters "CF" followed by a name that is inidicative of what the tag is interpreted to, in HTML. E.g. to begin the output of variables or other content.

In addition to CFScript and plugins (as described), CFStudio provided a design platform with a WYSIWYG display. In addition to ColdFusion, CFSTudio also supports syntax in other languages popular for backend programming, such as Perl. In addition to making backend functionality easily available to the non-programmer, (version 4.0 and forward in particular) integrated easily with the Apache Web Server and with Internet Information Server.

Other features

The first version of ColdFusion (then called Cold Fusion) was released on July 10, 1995. This first version was written almost entirely by one person, Joseph JJ Allaire. Primitive by modern standards, early versions of ColdFusion did little more than database access.

All versions of ColdFusion prior to 6.0 were written using Microsoft VC++. This meant that ColdFusion was largely limited to running on Microsoft windows. although Allaire did successfully port ColdFusion to Sun Solaries starting with version 3.1.

For reasons that may have been tied to lackluster sales the company was sold to Macromedia, then to Adobe. Earlier versions were not as robust as the versions available from version 4.0 forward.

With the release of ColdFusion MX 6.0, the engine had been re-written in Java and supported its own runtime environment, which was easily replaced through its configuration options with the runtime environment from Sun. Version 6.1 included the ability to code and debug Shockwave Flash.

History

  • 1995 : Allaire Cold Fusion version 1.0
  • 1996 : Allaire Cold Fusion version 1.5
  • 1996 : Allaire Cold Fusion version 2.0
  • 1997-Jun : Allaire Cold Fusion version 3.0
  • 1998-Jan : Allaire Cold Fusion version 3.1
  • 1998-Nov : Allaire ColdFusion version 4.0 (space eliminated between Cold and Fusion to make it ColdFusion)
  • 1999-Nov : Allaire ColdFusion version 4.5
  • 2001-Jun : Macromedia ColdFusion version 5.0
  • 2002-May : Macromedia ColdFusion MX version 6.0 (build 6,0,0,48097), Updater 1 (build 6,0,0,52311), Updater 2 (build 6,0,0,55693), Updater 3 (build 6,0,0,58500)
  • 2003-Jul : Macromedia ColdFusion MX version 6.1 (build 6,1,0,63958), Updater 1 (build 6,1,0,83762)
  • 2005 : Macromedia ColdFusion MX 7 (build 7,0,0,91690), 7.0.1 (build 7,0,1,116466), 7.0.2 (build 7,0,2,142559)
  • 2007-Jul-30 : Adobe ColdFusion 8 (build 8,0,0,176276)
  • 2008-Apr-04 : Adobe ColdFusion 8.0.1 (build 8,0,1,195765)

Versions

ColdFusion MX

Prior to 2000, Allaire began a project codenamed "Neo". This project was later revealed as a ColdFusion Server re-written completely using java. This made portability easier and provided a layer of security on the server, because it ran inside a Java Runtime Environment. Senior software engineer Damon Cooper, still with Adobe, was the major initiator of the Java move.

On January 16, 2001, Allaire announced a pending merger with Macromedia. Macromedia continued its development and released the product under the name ColdFusion 5.0. It retained the name "ColdFusion" through the remainder of version 5 releases. In June 2002 Macromedia released the product under a slightly different name, allowing the product to be associated with the Macromedia brand, as well as the brand that the Allaire brothers had given it, originally: ColdFusion MX (6.0). ColdFusion MX was completely rebuilt from the ground up and was based on the Java 2 Enterprise Edition (J2EE) platform. ColdFusion MX was also designed to integrate well with Macromedia Flash using Flash Remoting.
With the release of ColdFusion MX, the CFML language API was released with an OOP interface.

ColdFusion
MX 7

With the release of ColdFusion 7.0 on February 7, 2005, the naming convention was amended, rendering the product name "Macromedia ColdFusion MX 7". CFMX 7 added Flash-based, and XForms-based, web forms and a report builder that output in Adobe PDF as well
as FlashPaper, RTF and Excel. The Adobe PDF output is also available as a wrapper to any HTML page, converting that page to a quality printable document. The enterprise edition also added Gateways. These provide interaction with non-HTTP request services such as IM Services, SMS, Directory Watchers, and an asynchronous execution. XML support was boosted in this version to include native schema checking.

ColdFusion MX 7.0.2, codenamed "Mystic" includes advanced features for working with Adobe Flex 2.

Adobe ColdFusion 8

On July 30, 2007, Adobe Systems released ColdFusion 8, dropping "MX" from its name. During beta testing the codename used was "Scorpio" (the eighth sign of the zodiac and the eighth iteration of ColdFusion as a commercial product). More than 14,000 developers worldwide were active in the beta process - many more testers than the 5,000 Adobe Systems originally expected. The ColdFusion development team consisted of developers based in Newton/Boston, Massachusetts and Bangalore, India. Some of the new features are the CFPDFFORM tag, which enables integration with Adobe Acrobat
forms, some image manipulation functions, Microsoft .NET integration, and the CFPRESENTATION tag, which allows the creation of dynamic presentations using Adobe Acrobat Connect,
the Web-based collaboration solution formerly known as Macromedia Breeze. In addition, the ColdFusion Administrator for the Enterprise version ships with built-in server monitoring.



ColdFusion 8 is available on several operating systems including Linux, Mac OS X
and Windows Server 2003. Other additions to ColdFusion 8 are built-in AJAX widgets, file archive manipulation (CFZIP), Microsoft Exchange server integration (CFEXCHANGE), image manipulation including automatic captcha generation (CFIMAGE), multi-threading, per-application settings, Atom and RSS feeds, reporting enhancements, stronger encryption libraries, array and structure improvements, improved database interaction, extensive performance improvements, PDF manipulation and merging capabilities (CFPDF), interactive debugging, embedded database support with Apache Derby, and a more ECMAScript compliant CFSCRIPT.



For development of ColdFusion applications, several tools are available: primarily Adobe Dreamweaver CS4, Macromedia HomeSite 5.x, CFEclipse, Eclipse and others. "Tag updaters" are available for these applications to update their support for the new ColdFusion 8 features .


Adobe ColdFusion 9

Adobe is currently working on ColdFusion 9 (Codename: Centaur). It is currently in the public beta stage. There is no release date set, but the list of potential new features include:

  • Ability to code User Defined Functions (UDFs) and ColdFusion Components (CFC's) entirely in CFScript.
  • An explicit "local" scope that does not require local variables to be declared at the top of the function.
  • Implicit getters/setters for CFC.
  • Implicit constructors via method called "init" or method with same name as CFC.
  • New CFFinally tag for  Exception handling syntax and CFContinue tag for Control flow.

  • Object Related Mapping(ORM) Database integration through Hibernet(Java).

  • Server.cfc file with onServerStart and onServerEnd methods.
  • Tighter integration with Adobe AIR.
  • Integration with SharePoint including the document library.

Adobe ColdFusion Builder

Adobe ColdFusion Builder (codenamed "Bolt") is the name for Adobe’s new Eclipse based development IDE that can be used to build applications for ColdFusion. The codename Bolt is a reference to the original lightning icon for the product from the Allaire days.

Although still in development, some of the intended features for the tool include:

  • Object Relational Mapping auto-configuration
  • Application Code Generation
  • Server management
  • Easily extensible through the Eclipse framework
  • CFML, HTML, Javascript, and CSS Syntax Highlighting
  • Code assist for tags, functions, variables, and components
  • Code folding
  • Snippet creation and management
  • Outline viewing
  • RDS Explorer for files and databases
  • Line-level Debugging

Adobe is currently targeting the commercial release for some time in 2009.





Main Article wikipedia


No comments:

Post a Comment