Oracle Designer

Last updated
Oracle Designer
Original author(s) Oracle
Final release
10.1.2.6 / 2010
Type CASE
Website Oracle Designer

Oracle Designer was Oracle's CASE tool for designing an information system and generating it. After generating the information system one is able to edit the generated code with Oracle Developer Suite.

Contents

As of April 2018 this product has reached its end of life and is now in sustaining support only. Alternative modeling and design tools are Oracle JDeveloper and Oracle SQL Developer Data Modeler. [1]

History

The product's original name was Oracle CASE and it was developed in England. Oracle CASE was based on Oracle corporations "Computer Aided Software Engineering" method (CASE Method). CASE Method was in turn developed by Oracle Consulting UK in the 1980s based on modelling techniques such as Richard Barker et al's Entity Relationship Modelling. Eventually the product would be known as Oracle Designer, with a complementary product Oracle Developer (although in practice the combination of Oracle Designer/Developer was most commonly used). Oracle became the dominant database and enterprise application vendor in the 1990s and as a consequence Oracle Designer/Developer was used by many enterprises from the mid 1990s to the mid 2000s. A product called SQL Data Dictionary (SDD) was a precursor to Oracle CASE.

Context

In the 1980s relational database systems, running on unix based servers, became popular for administrative systems used by corporations and governments. Major factors were low maintenance cost and high developer productivity compared to earlier technologies. As increasingly large systems were developed, software development teams struggled to manage requirements and maintain code quality. Oracle CASE was initially used by Oracle Consulting UK's quality management team and later became the de facto standard for Oracle Custom Development (Custom development as opposed to packaged application software). Oracle CASE Method later became known as Oracle Custom Development Method, with a similar approach for customisations of Oracle's Application Suite called Oracle Application Development Method.

Oracle sold their Designer and Developer product's to enterprises and consulting groups, who in turn created thousands of systems that are still in place as of 2021. The design philosophy behind Oracle Designer and competing tools in the 1980s and 1990s was the Three-schema-architecture that separated an external schema, logical schema and internal schema. For Oracle's product line, the internal schema corresponded to the inner workings of their relational database, the logical schema corresponded to SQL and the external schema corresponded to screens and reports.

Concepts

Oracle Designer was based on a well thought out set of concepts that suited the types of systems being developed from the 1980s to the mid 2000s. It's easiest to describe these concepts separately in terms of skills, structure and technology:

Skills

In terms of skills, software designers were expected to think out database structures in entity relationship models and functional decomposition models, then transform those models into database definitions and modules (the screens and reports). Software developers were then expected to elaborate the database definitions and modules to create working code. Finally the day to day running of the system was expected to be carried out by database administrators, who had detailed knowledge of the database internals.

Structure

Oracle Designer/Developer divided software development into data and applications, which were viewed at three levels of abstraction; Modelling, Design and implementation. This gives a 2x3 matrix of views which was visible throughout the product's lifecycle:

  1. Entity Relationship Model. This is a high level abstraction of the database structure. Used primarily to generate the database design.
  2. Database design. This is a representation of the tables, views, constraints of the database, with additional annotations. To illustrate the difference with the above; where an entity relationship model would show a relationship between two entities, the Database design would include additional columns for a foreign key, the foreign key constraint and an index over the foreign key columns. All of these could be generated from the entity relationship model, ensuring consistent naming and traceability. The names of tables and columns in many Oracle production databases in use today are due to the use of Oracle Designer. Later versions of the tool allowed specification of most of the internals of the Oracle database such as tablespaces and files.
  3. Database Definition Language (DDL) generation from the Database design.
  4. Function model. This is a function decomposition model, where each function contains a description and a CRUD matrix against the Entity Relationship model.
  5. Modules. This modelled the screens, reports and other application components. Mostly used for screens, because of the availability of code generation for Oracle (Developer) Forms. It was common for
  6. Application code. This consisted mostly of Oracle Forms, Oracle Reports, Stored procedures for the Oracle Database. Initially code was not stored in the Oracle Designer Repository, but in later versions developers were encouraged to add code to the repository, which was merged during code-generation. The client-server architecture of Oracle's Developer product was typical of the 1990s; PC computers running Oracle Forms and Reports that communicated with an Oracle Database over a network protocol called SQL*NET.

This structure was simpler than the software development processes that came before and was a better fit to the available technology. It was also simpler and led to a higher level of code generation than competing methodologies of the time such as IBM's Rational Unified Process.

Technology

Repository

Oracle Designer was initially based around a database that held design models, called a repository, not to be confused with a modern GIT repository ( A dictionary definition of a repository is a safe central place where things are stored). Later the Oracle Designer Repository included models and code, but always stored in an Oracle Database.

Modelling and design tools

The tools that made up Oracle Designer each had their view on the repository, with which to create and edit models, generate more detailed models, generate code or inspect the quality of a model. For example specification designers were expected to indicate which data elements a function would use, so that the person designing the database structure could verify there were no unused data elements. Another example is the generation of a database definition from an entity relationship model, which eventually would be used to generate table creation scripts. Early users of Oracle Designer tended to focus on modelling and generating the database structures and often neglected the function model and modules.

Initially the Oracle Designer user interface was developed using Oracle Forms and Oracle Reports. This was a character mode user interface that was typically used in terminal sessions or MS-Dos, with a GUI diagram editor that ran on Unix X-Windows terminals only. When graphical user interfaces became easily available on the Windows 3.1 and Windows 95 operating systems in the mid 1990s, a stopgap version was released in Forms 4.0 but quickly shelved and redeveloped in C++ as a Windows only program with sophisticated diagramming tools.

Code repository

By the time Oracle Designer became obsolete it encompassed code generation of Oracle Forms, Oracle Reports, Database triggers, Stored Database Procedures. It would be commonplace for large portions of a systems code to be generated in this fashion, with developers working around the code generators to add custom code at predetermined lifecycle events.

Reasons for moving away from Oracle Designer in the 2000s

Three trends made the Oracle Developer tools obsolete and Oracle Designer with it.

The internet

Oracle Designer/Developer was aimed at development of administrative systems that were mainly used internally by enterprises. Many applications appearing in the 2000s required customers to perform some form of self-service data entry. The architecture of Oracle Developer was not well suited to the needs and technologies of the internet because it would have required users on the internet to install some kind of application and then directly connect to a database. Although later versions of Oracle Developer included an application server, it required a java based plug-in to be installed in the users-browser which placed high demands on end-users browsers. This posed a challenge for organisations with a fleet of older computers and was impractical for customer-facing applications. Eventually enterprises moved to other development tools which supported HTTP/HTML form based transactions, removing the need for the associated Oracle Designer.

Integration requirements

After introducing systems for internal business processes in the 70's to the 90's, enterprises started to place more emphasis on integration between systems. Internet technologies such as HTTP, SOAP and Web-services became industry standards for data-exchange, but Oracle Developer's architecture made it hard to activate part of an application from an external source.

Graphical user interfaces

From 2000 onwards, graphical user interfaces and usability became a major factor in adopting newer development stacks. Oracle Developer was intended for, and very good at administrative applications that are used for data entry by enterprise employees. New users had to be trained how to use certain key-combinations in order to user the applications. For example each screen had a query and insert mode which allowed users to find and manipulate thinly veiled database records. Screens tended to resemble a collection of spreadsheet-like tables with a menu structure. Expectations of system user-friendliness increased in the 2000s and eventually outweighed the development productivity advantages of generating these types of applications.

Components

Business Process Modelling
Systems Analysis Modelling
Design Wizards
Systems Design
Client/Server Generators
Utilities

Versions

Oracle CASE 1

Oracle CASE 2

Oracle CASE 3

Oracle CASE 4

Oracle CASE 5 - developed using SQL*Forms 3 character mode screens

Oracle CASE 5.1 was a major redevelopment where the screens were redeveloped using the Oracle Forms 4.0 which provided a GUI interface

The version numbers get confusing at this point because the numbers go backwards. The software was renamed and the next version released was Oracle Designer/2000 6.0 (not to be confused with Designer 6 that was released years later).

The next minor release changed the numbering system to be in line with Oracle Developer, so it was named Designer 1.1

Designer 1 which supported generators for Forms 4.5

Designer 2 which supported generators for Forms 4.5 and 5

After this point the version numbers were changed to be in line with Oracle Developer

Designer 6 which supported generators for Forms 4.5, 5 and 6.

Designer 6i - the pre-release version number was 6.5. The production release was changed to 6i to keep in sync with the Oracle Developer version name

Designer 9i

Designer 10gR2 (10.1.2.6) – this was the last release of Designer [2]

Publications

Related Research Articles

A fourth-generation programming language (4GL) is any computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL). Each of the programming language generations aims to provide a higher level of abstraction of the internal computer hardware details, making the language more programmer-friendly, powerful, and versatile. While the definition of 4GL has changed over time, it can be typified by operating more with large collections of information at once rather than focusing on just bits and bytes. Languages claimed to be 4GL may include support for database management, report generation, mathematical optimization, GUI development, or web development. Some researchers state that 4GLs are a subset of domain-specific languages.

Clarion is a commercial, proprietary, fourth-generation programming language (4GL), multi-paradigm, programming language and integrated development environment (IDE) from SoftVelocity used to program database applications. It is compatible with indexed sequential access method (ISAM), Structured Query Language (SQL), and ActiveX Data Objects (ADO) data access methods, reads and writes several flat file desktop database formats including ASCII, comma-separated values (CSV), DOS (binary), FoxPro, Clipper, dBase, and some relational databases via ODBC, Microsoft SQL Server, Sybase SQL Anywhere, and Oracle Database through the use of accelerated native database drivers, and XML, Clarion can be used to output to HTML, XML, plain text, and Portable Document Format (PDF), among others.

Oracle Forms is a software product for creating screens that interact with an Oracle database. It has an IDE that includes an object navigator, property sheet, and code editor that uses PL/SQL. It was originally developed to run server-side in character-mode terminal sessions. It was ported to other platforms, including Windows, to function in a client–server environment. Later versions were ported to Java where it runs in a Java EE container and can integrate with Java, and web services that can be launched from a URL. Recent versions provide a means to run the forms from a desktop computer without requiring a browser.

A data dictionary, or metadata repository, as defined in the IBM Dictionary of Computing, is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format". Oracle defines it as a collection of tables with metadata. The term can have one of several closely related meanings pertaining to databases and database management systems (DBMS):

Dataphor is an open-source truly-relational database management system (RDBMS) and its accompanying user interface technologies, which together are designed to provide highly declarative software application development. The Dataphor Server has its own storage engine or it can be a virtual, or federated, DBMS, meaning that it can utilize other database engines for storage.

The object–relational impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a relational database management system (RDBMS) is being served by an application program written in an object-oriented programming language or style, particularly because objects or class definitions must be mapped to database tables defined by a relational schema.

Core Data is an object graph and persistence framework provided by Apple in the macOS and iOS operating systems. It was introduced in Mac OS X 10.4 Tiger and iOS with iPhone SDK 3.0. It allows data organized by the relational entity–attribute model to be serialized into XML, binary, or SQLite stores. The data can be manipulated using higher level objects representing entities and their relationships. Core Data manages the serialized version, providing object lifecycle and object graph management, including persistence. Core Data interfaces directly with SQLite, insulating the developer from the underlying SQL.

<span class="mw-page-title-main">Uniface (programming language)</span> Low-code development platform

Uniface is a low-code development and deployment platform for enterprise applications that can run in a large range of runtime environments, including mobile, mainframe, web, Service-oriented architecture (SOA), Windows, Java EE, and .NET. Uniface is used to create mission-critical applications.

<span class="mw-page-title-main">System Architect</span> Enterprise architecture tool

Unicom System Architect is an enterprise architecture tool that is used by the business and technology departments of corporations and government agencies to model their business operations and the systems, applications, and databases that support them. System Architect is used to build architectures using various frameworks including TOGAF, ArchiMate, DoDAF, MODAF, NAF and standard method notations such as sysML, UML, BPMN, and relational data modeling. System Architect is developed by UNICOM Systems, a division of UNICOM Global, a United States-based company.

SAP PowerDesigner is a collaborative enterprise modelling tool produced by Sybase, currently owned by SAP. It can run either under Microsoft Windows as a native application or in an Eclipse environment through a plugin. It supports model-driven architecture software design, and stores models using a variety of file extensions, such as .bpm, .cdm and .pdm. The internal file structure can be either XML or a compressed binary file format. It can also store models in a database repository.

Entity–attribute–value model (EAV) is a data model to encode, in a space-efficient manner, entities where the number of attributes that can be used to describe them is potentially vast, but the number that will actually apply to a given entity is relatively modest. Such entities correspond to the mathematical notion of a sparse matrix.

ER/Studio is data architecture and database design software developed by IDERA, Inc. ER/Studio is compatible with multiple database platforms and is used to create and manage database designs, as well as to document and reuse data assets. In 2015, Embarcadero Technologies was acquired by database and infrastructure management software company IDERA, Inc. Since the acquisition by IDERA, Inc., ER/Studio has been renamed to ER/Studio Data Architect with updated features.

Database administration is the function of managing and maintaining database management systems (DBMS) software. Mainstream DBMS software such as Oracle, IBM Db2 and Microsoft SQL Server need ongoing management. As such, corporations that use DBMS software often hire specialized information technology personnel called database administrators or DBAs.

<span class="mw-page-title-main">Oracle SQL Developer</span>

Oracle SQL Developer is an Integrated development environment (IDE) for working with SQL in Oracle databases. Oracle Corporation provides this product free; it uses the Java Development Kit.

The Softwell Maker is an environment development. Designer uses visual forms and reports (WYSIWYG), business rules, and visually representing other actions using flowcharts.

A metaCASE tool is a type of application software that provides the possibility to create one or more modeling methods, languages or notations for use within the process of software development. Often the result is a modeling tool for that language. MetaCASE tools are thus a kind of language workbench, generally considered as being focused on graphical modeling languages.

<span class="mw-page-title-main">CodeCharge Studio</span>

CodeCharge Studio is a rapid application development (RAD) and integrated development environment (IDE) for creating database-driven web applications. It is a code generator and templating engine that separates the presentation layer from the coding layer, with the aim of allowing designers and programmers to work cohesively in a web application.

<span class="mw-page-title-main">TACTIC (web framework)</span> Web-based, open source workflow platform and digital asset management system

TACTIC is a web-based, open source workflow platform and digital asset management system supported by Southpaw Technology in Toronto, ON. Designed to optimize busy production environments with high volumes of content traffic, TACTIC applies business or workflow logic to combined database and file system management. Using elements of digital asset management, production asset management and workflow management, TACTIC tracks the creation and development of digital assets through production pipelines. TACTIC is available under both commercial and open-source licenses, and also as a hosted cloud service through Amazon Web Services Marketplace.

<span class="mw-page-title-main">Database Workbench</span>

Database Workbench is a software application for development and administration of multiple relational databases using SQL, with interoperationality between different database systems, developed by Upscene Productions.

References

  1. "Oracle Designer - Product Information". Oracle Designer - Product Information. Retrieved 24 April 2018.
  2. "Release Notes for Oracle Designer and Oracle Designer Repository (2 of 4)".