per/2000 2.0 wizards help you define the application based on your database schema and then compile the application and run it on the Web.
To Developer/2000, the Web is just another one of its supported platforms, along with Windows 3.1, Windows 95, Windows NT, and the Mac OS. The giant leap forward Developer/2000 provides is the simplicity of developing applications with new wizards and object-like technologies. Other new features include a Project Builder (for building and deploying multiple-module applications), Data Blocks based on procedures instead of tables, faster server-side report generation, and live, WYSIWYG report editing.
Mastering the Wizards
The Data Block and Layout wizards let you create a simple Developer/2000 applicatio
n with no programming at all. You create an Oracle database scheme with Designer/2000 or another database-design tool. You then use the Data Block wizard with the Oracle7 data dictionary to display the data in your tables and let the wizard do the rest.
Developer/2000 can generate some validation code and master-detail relationships between Data Blocks. However, that code is fragile and may require modification with PL/SQL, Oracle's database language that extends SQL with such procedural constructs as loops, conditionals, procedure calls, and packages. I have found that coding validation triggers by hand is usually easier than relying on generated code. The master-detail code does work well but requires some tricky configuration management if you want to modify it.
Once you've finished setting up the Data Block, the Layout wizard helps specify the application window layout. The Layout wizard prompts for information about display items and structure. It then builds your display canvas and frame. T
he frame puts a level of indirection between the Data Block and the canvas, so you can display Data Blocks and items on different canvases, a major advance over version 1.0 of Developer/2000.
The frame allows you to modify layouts, but it also -- unfortunately -- serves as a visual border around the display fields. I deleted the border and could no longer manipulate the layout with the Layout wizard.
While the wizard's layout algorithm is an improvement over earlier versions, you'll still need to rearrange items with the Layout Editor's drawing tools. You must do other details by hand (e.g., setting object properties or specifying the fonts and sizes you want). On balance, however, the Layout wizard improves productivity dramatically over previous versions of Developer/2000 and other applications-development tools (e.g., Powersoft's PowerBuilder).
The wizards help lay down the basic features of the application. Object Navigator and property sheets help fill in the details of every conceivabl
e aspect of the application objects. The new Property Inspector is easier to use than the old property sheets, being much closer to the Object Navigator style.
Triggers and PL/SQL let you do virtually anything as long as you can identify an object and event to which to tie an action. Object Navigator's new SmartTriggers help you choose the most appropriate triggers for an object instead of confronting you with the whole list of dozens of events, though this feature would be more useful if you had more control over this hard-code list.
Subclass Consciousness
Subclassing lets you create an object based on an existing object, avoiding the tedium of building every object from scratch. Developer/2000 1.0 supported property classes, clusters of properties and triggers that you could associate with objects to set the default values of the properties and to override triggers. When you changed a property in a property class, the objects associated with the class changed as well. Standard
practice was to put property classes in a shared module and then to refer to those classes by dragging and dropping them into new form modules. Version 2.0 improves on that model by letting you base objects on other objects directly while continuing to support property classes for backward compatibility.
With subclassing, you can drag and drop the base object to create a new object and then edit the new object's property sheet and/or triggers. Changing the original object's properties or triggers changes the new object's properties and triggers. You can override a property by entering a different value or override the code in a trigger by entering new code or modifying the existing code. This technology takes Developer/2000 a step closer to full object orientation, but not quite all the way.
Library of Objects
The Object Library module is a repository for objects to be shared between form modules. The library uses a series of tabbed sections into which you can drag and drop obj
ects. Save the library, and its objects are available for dragging and dropping into an open form. Marking a library object as a SmartClass means that it's available as a base object. If you right-click on a new object, you can choose a SmartClass object on which to base the new object. You can lock SmartClass properties, disallowing changes once they are copied to the library.
The Object Library and subclassing create a powerful reuse library for your forms-development process. Reusing objects is the classic method for improving productivity in object-oriented programming (OOP). If you can build most of your application objects through subclassing from a standard reuse library, you can quickly build applications to deploy on the Web using standard elements and debugged code.
The only problem I've found in this beta version is that once you've copied the object into the Object Library, you sever all links with the original object. To change the object, you must delete it and recopy it to the libra
ry; there is no configuration management tool to simplify object changes. Oracle plans to fix this in its final release.
Taken together, the new wizards, the Object Library, and subclassing increase your Web-development productivity dramatically over the alternative of Common Gateway Interface (CGI), scripts, and assorted other development tools, particularly when you're developing several similar applications. This is a first pass at making Developer/2000 easy to use. There is still a way to go, especially in the area of integrating reports and charting. Even so, anyone developing Oracle-based client/server applications for the Web should seriously consider Developer/2000 2.0.
Product Information
Developer/2000 2.0................................Price to be determined
Oracle Corp.
Redwood Shores, CA
Phone: 800-672-2531
Phone: 415-506-7000
Internet:
http://www.oracle.com
Circle 1114 on Inquiry Card.