DBMS -- September 1995 -- David S. Linthicum

One-Stop Shopping with Oracle

Oracle's Designer/2000 and Developer/2000 Tools are
Repackaged and Ready for Action.

Developers build most client/server systems by integrating several products made by several vendors. These products include front-end development tools, middleware, CASE tools, and database servers. Nearly all client/server developers accept multiproduct integration as a fact of life in today's competitive client/server world. The problem is, vendors don't always work or play well with others, and integration problems abound. That problem might soon be solved, now that Oracle offers a single-vendor suite of design and development products known as Designer/2000 and Developer/2000. With these products, Oracle offers one-stop shopping for developers who want a set of integrated tools that supports all aspects of client/server design and development.

In April 1995, Oracle renamed and repackaged CDE2 (Cooperative Development Environment, version 2), a bundle of Oracle CASE and development tools, as Designer/2000 and Developer/2000. Designer/2000 supports the analysis and modeling aspects of client/server development via a CASE-like environment. Designer/2000 includes business process reengineering (BPR) tools, process and data modeling facilities, and other application design tools to design Developer/2000 applications. Developer/2000, on the other hand, is the development half of the 2000 series. Developer/2000 provides rapid application development tools, as well as the ability to create scalable applications using an application partitioning mechanism. Oracle sells both Designer/2000 and Developer/2000 as a complete client and server design and development standard. The target market is the organization that wants an integrated, single-vendor solution for its next client/server development project, in which all the tools (and the database) need to work well together. Or, the tools are targeted at those long-time Oracle shops looking to modernize existing systems previously built using older Oracle tools (such as Oracle Forms, now a part of Developer/2000).

With Designer/2000 and Developer/2000, Oracle wants to gain a larger portion of the client/server marketplace quickly by enhancing its product capabilities. However, as client/server developers take on larger and more complex client/server projects, can a single vendor such as Oracle do it all? This month I look at whether Oracle can become a "Jack of all trades" for client/server development.

Oracle's View of the World

Before we get into the details of Designer/2000 and Developer/2000, you should understand Oracle's view of the client/server world. Oracle wants to develop client/server applications for the single user, workgroup, department, and enterprise. In other words, Oracle attempts to make its development environment completely scalable through its new suite of development and design tools, Designer/2000 and Developer/2000.

Both Designer/2000 and Developer/2000 exist around a shared repository. This repository allows shared access to common application development components (for example, stored procedures, database elements, and application objects). In addition to BPR and modeling support, Designer/2000 supports application generation and reverse engineering, as well as team support and model management. Developer/2000 is a suite of existing Oracle development tools that developers can use along with Designer/2000 to build complex client/server systems that encompass the entire system development life cycle, or use alone for rapid application development and prototyping. Let's look at each product in more detail.

Designing with Designer/2000

In a nutshell, Designer/2000 is the new and improved CASE environment for Oracle. However, it goes a few steps further by providing system-generation capabilities. Moreover, Designer/2000 can reverse-engineer existing systems that were built using Developer/2000, and put them back into models.

One of the handiest features of Designer/2000 is its BPR tool. This facility lets analysts build process flow models using sound, images, animation, and full-motion video to redesign business processes at a high level. If you're looking for more traditional design facilities, Designer/2000 provides functional modeling diagrammers that let system designers create logical and physical database structures, as well as define business rules and processes. Not only does Designer/2000 let you define business rules, it also lets you partition the rules in your client/server environments (for example, you can decide which rules reside on the client, and which rules reside on the server). With Designer/2000, developers can create entity relationships, function hierarchies, and dataflow and matrix diagrams.

However, Oracle does not introduce a new paradigm for development. Designer/2000 uses a model- or repository-driven approach to system design and development similar to those you'll find in many other client/server development tools and CASE products. This means that all your reports, database elements, forms, business rules, and even the application logic reside in the shared Oracle database repository, which is accessible to other developers in the workgroup or the enterprise. Thus, developers can share application components during development, or other developers or development groups can reuse application components for new systems. Also, the repository lets the developer define where each application object will execute. This repository is not proprietary. Designer/2000 provides an open API for integration with third-party tools. You can also export entity, attribute, domain, relationship, and process model information to other popular repositories.

In the Windows version I tested, Designer/2000 supports OLE 2.0 for integration with other Windows applications. If you want to complete your design quickly, you may want to give one of the Design Wizards a try. They derive your system design rapidly from information in the repository. Using the Module Structure Diagrammer, developers can define the structure of the application, as well as the component program modules and how they interact. The developer applies the Module Logic Navigator to define the procedural definitions that are written in Oracle PL/SQL (Oracle's 4GL).

With Designer/2000, you can model the physical database using the Data Diagrammer, in which you can create and modify table information (such as foreign keys and data validation logic) and even define server-specific triggers. You modify the data-access characteristics of modules by defining allowable operations (select, insert, update, and delete) from within the Data Diagrammer. Moreover, Designer/2000 lets you define the visual characteristics for master application objects. Using inheritance, these master application objects can define a standard look-and-feel for a single application or a group of applications. A preferences Navigator lets you modify preferences for modules, or you can inherit them from a standard set of preferences shared at the workgroup or enterprise level.

After you complete the system design, it's time to generate your working Developer/2000 application. From Designer/2000, you can generate multiscreen layouts, reports, buttons, menus, and other client-side application objects, as well as the database connection. All of these application features are derived from information in the shared repository. In addition to generating applications for the client, Designer/2000 can also create server-side database components. For example, ANSI SQL DDL is generated from the database model, including table and column information and validation rules and keys. Also, if you use Oracle7, Designer/2000 can create definitions that facilitate replication, role-based security, stored procedures, triggers, and data storage parameters. Designer/2000 supports application partitioning by implementing application components at specific servers and clients from within the toolset.

Developer/2000

Developer/2000 is a suite of development tools that enables developers to generate scalable applications. As with other multiplatform tools, Developer/2000 lets you build a Developer/2000 application using the Windows-based tools, and deploy that same application on Macintosh, Motif, Windows, and even character-based environments without modification. Developer/2000 (as well as Designer/2000) has limited connectivity features that include hooks for Oracle's API as well as the ODBC SQL API. These connectivity features allow access to any database with an ODBC driver such as Microsoft SQL Server, Microsoft Access, and DB1/400. Missing is native driver support for non-Oracle databases. Once you deploy a Developer/2000 application on a particular database you can easily swap databases, because the toolset supports consistent read-and-write functionality. However, Developer/2000 generates stored procedures and triggers for Oracle7 only.

Developers can view and alter client and server code from a single window. Developer/2000 provides a PL/SQL debugger and interpreter to locate and correct application errors. This environment also lets developers create procedures, and then edit, compile, run, and debug the procedures in a single environment known as the Procedure Builder.

At the core of Developer/2000 is the Object Navigator, a structural browsing and editing interface. Using Object Navigator, developers can locate, inspect, and manipulate application components. Object Navigator provides search-and-replace mechanisms to find objects quickly, and uses drag-and-drop operations for selecting objects for reuse among applications, or for application partitioning. Partitioning the application is simply a matter of dragging a client object onto a server, where it automatically becomes a stored procedure or database trigger. The ease of partitioning a client/server application makes Developer/2000 one of the best application partitioning tools that I've used thus far.

Within the Windows environment, I could integrate OLE 2.0 objects and VBX controls inside my test application. Also, Developer/2000 provides charting and "data visualization" tools that let you present information as charts and graphs. If you want your Developer/2000 application to sound as good as it looks, Developer/2000 also supports multimedia objects, including video, images, and sound (through OLE 2.0).

As I mentioned earlier, Developer/2000 uses a model-driven approach to development and generates applications from repository definitions. Like other model-driven development environments, this approach promotes reuse and allows developers to standardize the application environment, including business logic and user interface style. Moreover, with Developer/2000 you can generate forms and reports from models you created with Designer/2000 that exists within the shared repository, an you can modify them the same way you would any other Developer/2000 application component. Developers can automatically reverse-engineer any Developer/2000 application into models for use within Designer/2000, which is helpful for those "prototype before design" client/server projects.

For those of you who already use Oracle tools, one of the biggest improvements is Oracle Forms 4.5, which is part of Developer/2000. With this new release, Oracle is clearly after the mainstream client/server development market. Forms provides a high degree of integration with Designer/2000's and Developer/2000's graphics and reporting tools. Moreover, the user interface is an improvement, and Oracle Forms 4.5 now does Windows as well as any other tool. Developers will be happy to know that Oracle Forms 4.5 does not have the rigid application conventions found in the previous versions of Oracle Forms.

Team development features exist inside Developer/2000 with its shared repository. Developers can share application logic and user interface objects, as well as define and enforce standards. Developer/2000 also provides check-in, check-out version labeling, and difference reporting through third-party version control software, including Intersolv's PVCS source-code control system.

Single-Source Solution

What Oracle brings to the table is a single-vendor solution that provides not only a powerful database server facility, but design and development tools as well. The Designer/2000 environment is first-rate, and uses many of the best aspects of its predecessor, the Oracle CASE environment. Moreover, the single repository model (which shares information with all tools provided with Designer/2000 and Developer/2000) provides tight integration with all Oracle tools and is the real value of the product. Developers can finally get out of the business of trying to make vendors work together so that they can get systems out the door.

The tools' most significant feature is the ability to partition an application. Developers will find that they can optimize their client/server application effortlessly by dividing the application between the client and the server using the drag-and-drop facility. For most workgroup applications, Designer/2000 provides all of the application partitioning power you'll need. At $8000 for the combined packages, Designer/2000 and Developer/2000 cost only a fraction of what you would pay for the other partitioning products.

For those of you using Oracle Forms, the new 4.5 version that comes with Developer/2000 is a must-have.

As it releases Designer/2000 and Developer/2000, Oracle's challenge is to sell itself as a complete client/server solution provider - not just as another DBMS vendor trying to enhance its position in the development tools market. After looking at Designer/2000 and Developer/2000, I think Oracle will succeed.