
|
Cold Fusion Studio 3.1 is an upgrade released specifically for designing database applications and Web pages in a visual environment. But anyone doing database development work in an Internet or intranet field should already know about the Cold Fusion Application Server, one of the most popular database-server tools on the market. It comes from the dark ages of Internet-based databases, when Web browsers were primitive and users were happy to see any Web pages in the Mosaic browser, never mind information from a database server. In those days, Cold Fusion was almost the only game in town, particularly on Windows NT.
Today, of course, most Web servers have some sort of database capability already built in, and webmasters and users expect sophisticated results via the Internet or an intranet. Theyıll find those results with the Cold Fusion Application Development System. Since DBMS last reviewed Cold Fusion Application Server (see "Allaire Cold Fusion 2.0 Professional," DBMS, February 1997), the product has been significantly upgraded and slightly repositioned to hit a rapidly moving target ı database server needs in an Internet/intranet environment.
Cold Fusion Application Server is half of the Cold Fusion Application Development System. The computing model behind the Cold Fusion Application Development System is simple: Itıs a sophisticated middleware bridge between a database and a Web server. Begin with your relational (Oracle, Sybase, or Informix) or desktop database (Microsoft Access and Visual FoxPro, or Borland Paradox and dBASE) and then use Cold Fusion Studio to create Web pages that query the database. Cold Fusion Application Server is then tied into Microsoft Internet Information Server (IIS), Netscape servers, and OıReilly & Associatesı WebSite, or through a generic CGI; it manages the data summoned by Cold Fusion Studio-created pages.
The upgrade of Application Server 3.0 to 3.1 is incremental (registered 3.0 users can upgrade for free at the Allaire Web site). The addition of a task scheduler, which can be used for some basic report serving, is noteworthy. More important, Application Server 3.1 adds Solaris support in a move that Allaire undoubtedly should have made a few years ago.
Windows NT is steadily gaining market share as a Web-server platform, but the truly serious Internet and intranet Web deployments still occur on Unix platforms. Windows NT tends to be reserved for smaller-scale and departmental efforts, which is also the current niche for Application Server.
However, the move to Solaris is only a first step, and if Allaire wants to increase Application Serverıs market, it will need to incorporate some advanced features. Application Server lacks some of the basic features needed to perform in a mission-critical environment ı thereıs no sophisticated load management or balancing, thereıs no redundancy mechanisms, and thereıs no other real scalability potential. In a move that will drive enterprise webmasters up a wall, Application Server still must run on the same physical server as the Web server.
In the end, the additional support for Solaris isnıt quite as useful as you would initially think. Cold Fusion Application Server isnıt set up to take advantage of the many strengths of Unix as a server platform.
But that shouldnıt detract from Cold Fusion Application Serverıs strengths, especially when itıs combined with Studio. Studio and Application Server are priced as separate products, but youıll want to consider them as a single unit and purchase a starter kit from Allaire, which features Application Server and two copies of Studio for $1,295. While they are both good products and could stand alone on their own merits, the strengths of one product weave seamlessly into the strengths of the other. Application Server, for instance, is positioned solely as a server tool; it comes with no application-development tools. Studio is a great page-layout and query-design tool that serves you well under any circumstance, but its biggest strength ı support for the database-centric Cold Fusion Markup Language (CFML), a tag-based fourth-generation language designed specifically for database queries ı shines through when teamed with Application Server.
Both products share support for CFML. CFML is what makes the product unique, and itıs also what makes creating database applications a breeze, as I discovered when creating my own database applications.
Putting the Cold Fusion Application Development System to the test, I ran a sample Web application using Cold Fusion Studio to create Web pages accessing data stored in a Microsoft SQL Server 6.5 database. I then used Application Server to send out the data via Microsoft IIS and Windows NT 4.0. (I did not test the Solaris version of Application Server or the desktop database access.)
Creating Web documents was amazingly easy. The page editor is more graphical than previous versions of Homesite, Allaireıs page-creation software and the basis of Cold Fusion Studio; the tags and elements are now color-coded to make a coded page easier to read. (See Figure 1.) While Studio isnıt quite WYSIWYG, it does feature dynamic page previewing, which is probably the next best thing. I had not been a huge fan of Homesite because I dislike working with tags on basic Web design; usually I prefer the WYSIWYG capabilities of Microsoft FrontPage or Adobe PageMill.
Here, though, tags work. In Cold Fusion, tags summon more sophisticated chores: CFML tags can encapsulate high-level processes such as connections to a database or an email server. (It also supports Microsoftıs Distributed Component Object Model, or DCOM, in the Windows NT versions.) You can also use tags for functions specific to the Cold Fusion Application Server, such as running a spell checker on a Web document. You can insert tags from palettes using a mouse, or you can type in the name of a tag. Automatic tag completion guesses at the tag youıre trying to enter.
Another benefit of Studio is that many disparate functions are tied up in one product: a visual query builder for database work, a page-layout editor, a graphics viewer, a database browser, and source-code management.
The visual query builder works with SQL statements, and queries can be saved and used in other applications. In addition, you can use Studio to view the data source in more detail, as well as for browsing the actual data. If youıre not familiar with database structures, there is a set of wizards that guides the beginner through the basic steps of creating a query. While advanced users ı especially those who know SQL like the back of their hands ı will find that wizards are beneath them, many beginning or even intermediate users will find them valuable.
Using these tools, I had no problem putting together a set of Web pages that accessed the SQL database. Most database designers will find that the built-in CFML tags will work in most situations, making rapid application development (RAD) truly rapid.
However, when I tried to leave the comfy world of CFML and do some more elaborate, custom coding, I ran into a few roadblocks that I didnıt expect.
The assumption in Cold Fusion Studio is that youıll be working by and large with either CFML tags or HTML tags. Yes, you could try to work around problems if your needs arenıt met with CFML tags and code your own HTML directly. And while Application Server does feature many language primitives (such as string operators, arithmetic and bit manipulation), using HTML to access these primitives represents programming at its worst: attempting to summon complex tasks with simple tools.
In these situations, more robust programming tools would be in order. Application Server supports any tags that call C++ programs, so you could always use another C++ programming tool to create a more complex application, but these tags are handled as DLLs (which, of course, are not very portable). If you have Visual C++ on your system when you install Fusion, Studio will automatically detect it and provide links to it in the Studio menu system.
For most down-and-dirty database work, however, the more appropriate tool these days is Java and JDBC. Itıs not that Java is so great; overall, Java is less robust than C++ for high-end work. But it lends itself well to RAD, and Studioıs strengths really lie in the RAD field. This leads to my biggest complaint about the Cold Fusion Application Development System: Thereıs precious little Java support. Studio does include a CFFORM tag for referencing Java applet-based controls, but thereıs no direct support for Java or JDBC calls themselves on Application Server.
Once I had my application up and running, most of the work was over. Even though the Application Server must be installed on the same machine that hosts the Web server, it can be administered from anywhere using a Web browser over the network. (Of course, thereıs not a lot to manage, which is why an arrangement like this works.) Two important support tools ship free of charge with Application Server in the Windows NT Professional Edition: Crystal Reports 5.0 (see "Crystal Reports Professional 6.0," DBMS, January 1998) from Seagate Software (www.seagatesoftware.com) and Search ı97 from Verity Inc. (www.verity.com). In addition, Studio ships with the StarBase Versions source control application.
The documentation for both products is extensive and useful. At a time when companies are cutting back on printed documentation in favor of online documentation, Allaire still ships a massive set of documentation.
I recommend Cold Fusion Application Server and Cold Fusion Studio to anyone working in a RAD environment who is limited to a Windows NT environment. Iım not as enthusiastic about running the Cold Fusion Application Server in a Solaris environment because it lacks many of the correction tools that typify a mission-critical Unix database server.
Be warned that youıll be making some compromises if you go with Cold Fusion; youıll be giving up any mission-critical capabilities, and youıll be consciously turning your back on Java as a tool in your RAD toolchest. But if you can live with compromises ı and my experience says that most of you can ı then the Cold Fusion Application Development System should sit high on your checklist of products to evaluate as you design your Internet/intranet database-development system.
