Rick Curtis' UltraDev Tutorials & Design Concepts

The focus of these tutorials is to provide users with some advanced principles for using UltraDev and SQL 7 to create larger database-driven Web sites. Many of the principles here will also work for smaller sites driven with Access or other databases. These tutorials assume that you already understand the basic techniques for working with UltraDev (connecting to recordsets, creating repeat regions, etc.), These are not tutorials for first-time UltraDev users. If you are not familiar with these basic concepts, you need to go through the Ultradev tutorials first. The UltraDev manual is mostly just a basic tutorial with limited screen shots and lacks explanations of many of the advanced features of the program. There are now a series of good books out on using UltraDev 4 that fill the gaps so if you are just getting your feet wet with UD, go through the tutorial and then buy one of the books. I'd recommend you check out the books from Basic UltraDev.

I haven't been on my soapbox for a while, so let me hop on up. If you are planning on doing any kind of major database-driven Web site with UltraDev (or any other product) then there are a few keys to success and scalability.

  1. Pick the Right Database - If you are going to create a large site, leave Microsoft Access behind and go to a full-blown database like SQL Server, Oracle etc. or create a Microsoft Access Project file that uses the SQL Server database engine. Why? Access 97 and 2000 use a slightly different SQL syntax that is not automatically transferable to enterprise databases if you need to move up. In addition, enterprise databases like SQL Server give you full-blown programming and business logic within the database. [I haven't worked with the new database format in Access 2002 so I don't know what flavor of SQL it generates but I expect that it is fully SQL Server compatible].
  2. Write your Database Code in your Database Not in UltraDev - This lesson has proven itself time after time for me. I never write SQL in the little UD window. I create all my database code in Stored Procedures or Views in SQL Server. If I need to pass parameters to the SQL statement then I create a Stored Procedure with variables for the parameters. This encapsulates all of your database logic where it belongs, in your database not on an ASP or Cold Fusion page. Then when you need to change something in your database, you simply have to change the Stored Procedure or View not all your UD pages. It also means that if you change from ASP to .NET or some other platform change then a lot of your previous investment in programming is still worthwhile, since it rests within the database rather than on a specific Web page.
  3. Learn SQL - When UD first came out people said 'Learn to write script (VBScript or Javascript) it will make all the world of difference.' Well I've learned how to write code and it's been helpful but not as helpful as learning how to write Stored Procedures and other SQL programming code. The more SQL you know, the more elaborate interaction you'll be able to have with your database data.

I've worked through my own big learning curve using ultraDev. Along the way as I've mastered concepts I've managed to document them. These are my contributions to the UltraDev community to help you get your sites developed. Happy programming.

Rick Curtis

UltraDev 1.0 was released in June 2000 and offered a great deal of potential for allowing users to create database-driven Web sites using the program's predefined Server Behaviors and Extensions. UltraDev 1.0 was clearly a 1.0 version and although it provides a great design tool for building database-driven sites, the initial version shipped with limited Server Behaviors.

The release of UltraDev 4.0 in December 2000 provided some significant improvements to the code generated. Macromedia also added a number of new Server Behaviors, and "Live Objects" that allow for quick creation of Master-Detail Pages, Insert, and Update pages. This significantly reduces the time required to build the most commonly used pages and is a welcome feature. Also included is the Server Behavior Builder which significantly improves the ability for end users and third parties to create additional Server Behaviors.

UltraDev has emerged as a sophisticated tool that allows programmers to incorporate advanced coding and database interaction into graphically well-designed Web pages. I have been pleased with Macromedia's recent efforts to respond more to the needs of developers and hope to see continued expansion of this more customer-centered approach.



Copyright © 2001 All rights reserved Rick Curtis, Princeton, NJ, USA
Macromedia and UltraDev are trademarks of the Macromedia Corporation.