| By Andrew Cripps | Article Rating: |
|
| January 27, 2001 12:00 AM EST | Reads: |
7,506 |
This article describes Allaire's technology roadmap. Allaire started off with a single product, the ColdFusion Web application server. Now they have many products, and there's an increasingly strong relationship between them. Allaire is using a range of code names to refer to its products, and it can be difficult to remember which products are which and which code names refer to which releases.
In this article you'll learn about the products and their code names, how the products relate, and the features Allaire is promising in new versions. With this information you'll be armed to answer questions such as:
- Should I stick to programming in ColdFusion Markup Language (CFML) or switch to Java?
- Should I build some functionality myself or wait for the next product release from Allaire?
A Web Platform
Allaire is trying to create what they call a Web platform - a foundation on which you can build Web systems in the same way a computer operating system is the foundation on which you build software applications. The pillars that create this foundation were articulated in the "Spectra Technology Overview" white paper as:
- Web systems management
- Packaged systems or applications
- Visual tools
- Application servers
But at the conference and in the March 2000 Allaire "Technology Roadmap" white paper, this set of pillars had been reformulated as:
- Application frameworks (changed from packaged applications)
- Visual tools
- Application servers
Allaire Objectives
The technical direction for Allaire's products comes from their business and user objectives, articulated at the conference by Jeremy Allaire. Let's explore them.
Ease of use: Allaire products should have simple interfaces and be simple to use. Jeremy Allaire gave a demonstration of what he meant by this by creating a simple ColdFusion application (using technology from Voxeo) that responded to telephone calls and provided a telephone interface to sound files.
Productivity: Allaire creates tools that increase developer productivity. They offer strong development environments, powerful tags and programming language tags, and extensions that help developers produce software solutions quickly.
Open: In the last year customer interest has shifted to companies offering products that adopt or adhere to open industry standards and architectures. Allaire is embracing open standards and recommendations such as Java and XML.
Empowering: One design goal in Allaire's application servers and frameworks is to package complex technology so it's easy to use and deploy. Allaire makes it easy for developers to get their work done, even when it involves complexity. Operations such as transferring data between languages such as JavaScript and CFML, or calling Java Servlets on a remote machine, are made easy through custom tags or ColdFusion tags.
Accessibility: Allaire's business goal is to make products that are inexpensive and broadly adopted and deployed. Some companies try to be profitable by charging a small customer base a lot of money for their services and products; Allaire has the opposite view - make the products inexpensive and effective, and they'll be broadly adopted.
Product Roadmap
In this section we look at the products that make up the technology pillars of Allaire's Web platform. Figure 1 shows the product roadmap for application servers (ColdFusion and JRun), application frameworks, and visual tools. The long-term trend is to provide a single application server - code-named Pharaoh - that runs both CFML and Java applications.
The switch to a single-application server from the current split offerings of ColdFusion and JRun will occur after ColdFusion 5.0 in a release called "Neo" (ColdFusion 6.0), demonstrated at the conference. With Neo your CFML code will run on a Java engine, but you'll still be able to run your ColdFusion applications without change on the same server (see sidebar, "How Can CFML Run on a Java Engine?"). A simple application to calculate prime numbers was run on the ColdFusion engine and on the Java engine (Neo). Neo proved to be about three times faster than the ColdFusion engine in this case.
The move to Java is shown in Figure 2. At present, only the ColdFusion and Spectra products rely on the ColdFusion engine. Both products will be moving to a Java-based engine in the next couple of releases. Technologies from JRun, ColdFusion, Harvest, and Tron will all contribute to the Pharaoh product release.
Allaire Products
So far we've looked at the technology pillars of Allaire's Web platform. In this section we look ahead to what's planned for the products that form those pillars.
Web Application Servers
Allaire started business offering only ColdFusion. Developers could write Web applications in CFML. But Allaire acquired JRun from LiveSoftware in 1999, adding an important component to their Web platform. Before the acquisition, with only ColdFusion as their product offering, Allaire met considerable opposition from some potential customers because it had only a "proprietary" Web application server and language. With JRun, Allaire had a strong contender for people looking for an open standards Web application server. JRun 4.0 will comply with the Java 2 Enterprise Edition (J2EE) 1.3 specification and the Enterprise JavaBean (EJB) 2.0 specification from Sun Microsystems.
With JRun and ColdFusion, Allaire is reaching two broad sets of Web developers: Java developers and ColdFusion developers.
The challenge for Allaire, which they've successfully addressed in their technology roadmap, is to integrate these two apparently separate worlds of Java and ColdFusion without losing developers in either camp.
ColdFusion 5.0 and Neo: Allaire has planned the next two releases of ColdFusion: ColdFusion 5.0 and ColdFusion 6.0 (Neo). In the first half of 2001 Allaire will introduce ColdFusion 5.0, which is built on the existing ColdFusion code base. After ColdFusion 5.0, the Neo release is planned. Neo will be based on the JRun engine and will run CFML and Java applications.
In ColdFusion 5.0 you can expect to see a host of new features, some borrowed from the Harvest initiative, some a result of feedback from the Allaire developer community. The following features were demonstrated at the conference:
- Server management features (from the Harvest initiative)
- Context-sensitive help
- User-defined functions and function libraries
- Ability to query against existing query sets
- Partial-page output
- Server-side graphics engine
Context-sensitive help will be added to ColdFusion 5.0's administration section. If you want to know how to perform a certain task or get definitions of various settings, you'll no longer need to dig for the manual - you'll click on the help icon.
User-defined functions are a major addition to ColdFusion 5.0. You'll be able to create libraries of your own (and others') functions and include them whenever you need to do so. For example, you could define a function called #myprefix(string,">")# that returns a string prefixed with ">". This has been one of the most widely requested additions to ColdFusion, and it's nice to know that Allaire listens to its customers.
Another much-requested feature is the ability to query existing query sets, meaning that you can execute a CFQUERY statement and then execute another CFQUERY against the results of the first. One application of this would be to query a database for a product set when the application first starts up, and then use a second CFQUERY to query the memory-resident product set obtained from the first query. Another application would be to obtain results from one database with the first CFQUERY, and then combine them with results from a second database in the second CFQUERY.
Partial-page output makes it possible to stream Web pages to a browser as the pages are being generated by ColdFusion.
The last ColdFusion 5.0 feature demonstrated at the conference was the server-side graphics engine. Although Allaire didn't reveal whose technology they were using, it looked as though ColdFusion 5.0 will include software to generate Macromedia Flash graphs. One company offering this technology right now is CORDA Technologies in their PopChart product.
JRun and Trinity: JRun 4.0 is to be released in the first half of 2001. Trinity will follow. JRun offers many features, including adherence to open standards, the ability to run on a broad range of platforms, a distributed object architecture, and support for unicode. JRun 4.0 also provides support for JSP custom tags that hide Java programming complexity for the developer and a WAP (Wireless Application Protocol) gateway that allows developers to quickly create and test WAP and Wireless Markup Language (WML) applications.
Pharaoh - the future application server:
Pharaoh is the code name for the initiative that wraps a number of future technologies under development at Allaire. At its core Pharaoh will be an application server with a Java engine that runs both CFML applications and applications built with Java. Pharaoh will also include Harvest and Tron (and possibly Spectra) technologies. With Pharaoh, you can combine CFML, JSP, servlets, and EJBs. You'll have a framework for creating multitiered applications.
Pharaoh will be backward compatible with both ColdFusion 4.x and JRun 3.x applications. Yet it will be fully compatible with Sun's J2EE specification and therefore appeal to developers wanting to create applications with Java and use technology that takes advantage of open industry standards. An example architecture of a multitiered Web application running on Pharaoh is shown in Figure 3.
Visual Tools: Kawa, Harpoon,
Pharaoh Studio
The visual tools pillar covers all of Allaire's development tools. There were two announcements of interest at the conference:
- Allaire has acquired Kawa from Tek-Tools, Inc.
- Allaire is working closely with Macromedia on Harpoon - software that lets you create Macromedia Flash components from ColdFusion pages.
Kawa: Kawa is an integrated development environment for Java from Tek-Tools. Allaire is shipping Kawa version 5.0 as an Allaire product. An important component of Kawa for Allaire is the ability to create and edit EJBs. Kawa also provides class browsing, syntax highlighting, proj-ect management, context-sensitive Java Development Kit (JDK) help, and a powerful debugger. It's likely that the underlying capabilities of Kawa will be harnessed to the familiar JRun Studio user interface.
Harpoon: The Harpoon initiative is a collaborative effort between Macromedia and Allaire. The goal is to give ColdFusion developers the ability to create Flash components from ColdFusion. Macromedia's Flash version 5.0 is likely to be increasingly popular on the Web as a technology for creating user interfaces. Using ColdFusion tags, you specify data sources for data that's passed to Flash. The Flash elements are dynamically generated with your data and can be manipulated by dragging and dropping.
Pharaoh Studio: In the future, Allaire will combine their HomeSite (HTML editor), ColdFusion Studio, JRun Studio, and Kawa technologies into a single IDE (integrated development environment) code named Pharaoh Studio. Pharaoh Studio will provide a seamless environment for Java, CFML, JSP, JavaScript, XML, WML, and so on as well as integrated tools for wireless application development and creating server-side Java applications. In addition, Pharaoh Studio will provide greater support for building Spectra applications.
Application Frameworks: Spectra, Dharma, and Nirvana
Spectra has been incredibly successful. Launched in 1999, it has accounted for a significant percentage of Allaire's revenue. Spectra was initially pitched as a packaged application for content management, e-commerce, and personalization. This positioning has caused some confusion in the marketplace, however, as customers imagine they can deploy an e-commerce or business Web site out of the box.At the conference, Allaire clearly repositioned Spectra as an application framework, which is much closer to the truth. With Spectra you get a set of integrated services that allow you to rapidly create Web applications. Spectra is targeted to developers and provides the framework for rapidly building Web systems that need content management, personalization, and e-commerce capabilities.
Spectra 1.0 was extremely ambitious and included a wide range of innovative ideas. Allaire has continued to work hard on Spectra and plans to release Tardis (Spectra version 1.5) in the first quarter of 2001. Later in the year, Dharma (Spectra 2.0) is planned. No dates have been released for product launch. Dharma will still use the ColdFusion engine. After Dharma, the Nirvana release is planned, and Nirvana will use an underlying Java engine (see Figure 4). Spectra technology will also contribute to the Pharaoh application server effort.
Web Systems Management: Harvest
Allaire has made the lives of developers simpler with ColdFusion by achieving their objectives of packaging complexity and ease of use. What Allaire has done for Web systems developers, they'd like to do for Web systems administrators. "Harvest" is the code name given to the technology initiative to create an easy-to-use Web systems management tool. Allaire acquired the seed technology from Bright Tiger in 1999.Harvest is aimed at meeting the growing demand for highly reliable Web systems that operate 24/7. Allaire identified the need for a set of management utilities that would take the pain out of managing these systems. Harvest will build on Allaire's current Web systems management technology, such as clustering (for both ColdFusion and JRun), Cisco LocalDirector integration, administration of distributed components in JRun, Web browser-based administration tools, re-mote development services, and scriptable deployment and replication.
For example, if you have a cluster of servers providing highly reliable service for your Web applications, a cluster of database servers, and some technology in place to provide load balancing and fail-over, Harvest will give you system monitoring and configuration capabilities from a single console.
Harvest will ship as part of ColdFusion 5.0. Dave Gruber, senior product manager for ColdFusion and Harvest, demonstrated the following features at the conference:
- Application and ColdFusion server monitoring
- Archive and restore capabilities for backup and fast deployment
- Log file analyzer
- New encryption scheme for CFML
The second major feature is archive and restore. You can take a snapshot of an entire application (including server and application settings and databases, if you need them) and archive the entire ColdFusion application in a .car (ColdFusion archive file). The archive files can be deployed to a ColdFusion server; in Dave Gruber's example he repaired a broken application by restoring the last good version of it.
The ColdFusion server creates several log files, and with the log file analysis tools that ship with ColdFusion 5.0 you'll be able to combine data from several log files and search for different error conditions or keywords across files in a given time frame. You can also obtain statistics on the number of errors of a given type over a given time range.
The management tools for a single server are extended in Harvest to allow you to manage applications that run on a distributed environment. For example, you can deploy your ColdFusion archive not just to a single server, but to an entire server farm. Harvest technology not included in ColdFusion 5.0 will debut in Pharaoh.
Tron
Tron is the code name Allaire has given to their technology that addresses complexity for B2B applications. Tron embraces XML as a language of data interchange between two Web systems. It provides a framework for building workflow applications that need to exchange data and services. It addresses the need businesses have to exchange data and participate in multiparty processes.One of the problems with exchanging data between applications is that the data may be represented in different XML Schemas. Tron provides a data mapping facility so that fields from one XML Schema can be easily mapped to those in another. Tron gives the developer a means to create "nodes" that perform simple pieces of processing, as well as "interpreters" that can transform data.
In addition to data interchange businesses need to be able to share and use distributed services. The World Wide Consortium has a working group for XML Protocol, which is the successor to SOAP (Simple Object Access Protocol). Tron uses XML Protocol as the vehicle to provide distributed application functionality over HTTP. On your system, as a developer, you create APIs to functionality that you want to make available to a remote system. Tron simplifies the creation and syndication of your services.
Summary
Allaire has a well-defined technology roadmap that takes them well beyond 2001. The company has carefully selected and acquired products and technologies that strengthen their product offerings.The move to Java and the corresponding industry perception of commitment to open standards that this move entails is of central importance to Allaire's strategy. With a popular and powerful Java engine (JRun) that can be sold independently - and sold as the underlying engine for ColdFusion and Spectra - Allaire has aligned itself with the open standards movement and is squared off against Microsoft in the marketplace for Web platforms. Microsoft has largely chosen to pursue the Web platform market with its own set of tools and technologies.
The move to Java doesn't mean that ColdFusion developers need to learn to program in Java or JSP, however. With future application server offerings, ColdFusion developers will be able to continue to create and deploy ColdFusion applications and see performance and reliability benefits. But at the same time, those developers can choose to create and deploy Java applications.
The combination of an open standards, Java-based application server, a strong visual integrated development environment, and an application framework providing services for rapid application development puts Allaire in a strong position in the Web platform market. In addition, Allaire is spending research dollars on technology that's soon to be in high demand by businesses, such as Tron and Spectra's ability to create B2B solutions quickly and Harvest's ability to administer and manage large Web systems.
It's going to be an interesting road to follow with Allaire, with many improvements that will simplify the creation of Web applications. Keep the technology roadmap handy!
Published January 27, 2001 Reads 7,506
Copyright © 2001 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
About Andrew Cripps
Andrew Cripps has over thirteen years of experience in the computing
industry. His computing career has taken him from delivering large
enterprise systems in Europe and in Canada to his current position as a development manager at Macromedia in Boston where he works on ColdFusion
and Flash technologies. He holds a Masters degree in Computing Science and a Masters degree in Philosophy from Canadian universities.
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Ulitzer’s Amazing First 30 Days in Public Beta
- "Government IT Expo" to Highlight Cloud Computing and SOA
- Will Ulitzer Dominate News Content on The Web? -Gartner
- Clear Toolkit 4: The Road Map
- Creating Adobe AIR Native Menu with Flash CS4
- Ulitzer Responds to Published Reports
- Ulitzer vs. Ning - a Quick Review
- Adobe AIR: Creating Dock and System Tray Icon Menus
- Ted Weissman and Lois Paul & Partners PR Firm
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Web Services Using ColdFusion and Apache CXF
- Adobe Takes LiveCycle into the Cloud
- Ulitzer’s Amazing First 30 Days in Public Beta
- Adobe Creates a Sandbox in the Sky
- "Government IT Expo" to Highlight Cloud Computing and SOA
- Will Ulitzer Dominate News Content on The Web? -Gartner
- The Role of an RIA in the Enterprise
- Clear Toolkit 4: The Road Map
- Creating Adobe AIR Native Menu with Flash CS4
- The Next Programming Models, RIAs and Composite Applications
- Constructing an Application with Flash Forms from the Ground Up
- AJAX World RIA Conference & Expo Kicks Off in New York City
- CFEclipse: The Developer's IDE, Eclipse For ColdFusion
- Personal Branding Checklist
- Adobe Flex 2: Advanced DataGrid
- i-Technology Viewpoint: We Need Not More Frameworks, But Better Programmers
- The Asynchronous CFML Gateway
- Building a Zip Code Proximity Search with ColdFusion
- Web Services Using ColdFusion and Apache CXF








































