Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesOracle's Web-Footed Friend


June 1997 / Reviews / Oracle's Web-Footed Friend

Building a Web front end to Oracle databases just got much easier.

Robert J. Muller

This season's corporate Tickle-Me Elmo doll is the client/server application that can publish legacy database information over the Internet or intranets to a Web-browsing consumer. Everyone wants one. Oracle's Developer/2000 2.0 should help stem the demand by allowing you to quickly develop full-scale client/server applications for the Web. Version 2.0 adds wizards, subclassing, and the Object Library to existing support for Java integration and data output in HTML and Adobe Acrobat formats.

Up to now, writing a Web page that accesses a database on a server has meant gluing an HTML edifice together with an amalgam of Java, Perl, or any other scripting or programming language or plug-in product. You then interface that agglomeration to your database manager. Develo 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.

HotBYTEs
 - information on products covered or advertised in BYTE


Ratings

Technology        ****  
Implementation    ***  


Key:

***** Outstanding
**** Very Good
*** Good
** Fair
* Poor




Webbed Elegance

screen_link (51 Kbytes)

Developer/2000 for the Web adds elegant Web tools to the existing prod uct's three-tier client/server architecture.


rmuller@waonline .

Up to the Reviews section contentsGo to previous article: Looking at All the AnglesGo to next article: Developer/2000's Web-Friendly ArchitectureSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network