Copyright © 2007 SoftVelocity, All rights reserved worldwide

Delivering Code Reusability for Developer Productivity

The Clarion metabases store the metadata (business logic and database schema), application (application logic) and user interface layers for all projects referencing corporate data. An extensible code generation system generates full featured applications from the descriptions stored in the repositories.

The Data Dictionary

In addition to storing a description of the database schema and business rules, the Clarion Data Dictionary stores default options for type of control associated with a specific column from the database for use on a Form or Report. All of your applications that use that Dictionary can make use of these defaults, or the programmer can override any of them in the visual design tools.

The Template Registry

The Template Registry stores the reusable application logic that is applied to the specific project. The Templates that ship with Clarion have built-in capability to perform almost all common database requirements. There are also third party templates available from other vendors for sale. And then there are the templates that businesses develop on their own for use in house.

Clarion Code Reusability

Business developers may generate many applications from the same metadata, e.g., an application to access the Human Resources tables, and another to access the Accounts Receivables tables. The generated applications will have the uniform look and feel that the developer specifies, providing a corporate standard and making it easier for users to learn new applications.

The illustration below pictures the default application paradigm: threaded browses allow the end user to locate a record by typing a few characters. Double-clicking the record displays an edit window. If there are child records in another table, they appear in a list contained on a tab in the edit window. Double clicking one of the child records displays an edit window, and so on.

The code generator relies on "templates" to store the application logic. A business' master programmers can create their own templates, in effect flawlessly cloning their expertise to all subsequent projects produced by entry level programmers, even ones that reference different data or even different databases. This creates a "factory floor" production model for software, and is most useful for businesses that require many look-alike applications for different tasks, whose only commonality is that they view, edit and report corporate data.

The level of options stored in the Data Dictionary, and the amount of flexible, extensible application logic stored in the template registry distinguish the Clarion development model from any other.

The concept behind Clarion development is to store in the Data Dictionary a description of the database plus formatting and behavioral options for the controls that refer to specific data elements. The developer can run a wizard which asks what tables within the dictionary to design an application for. It creates a remarkably full application. From there, the developer walks the Application Tree (below), which is a hierarchical view of the application, and enhances its functionality by applying additional templates.

Click to enlarge. No additional download necessary.

The metabases enhance developer productivity by making as many application behaviors as possible available through lists, helping the developer to fulfill as high a percentage of the programming task as possible by selecting, rather than by coding, and delivering true code reusability.

Developers may also further customize the generated applications further with a rich business oriented language that programmers say is remarkably easy to learn, and for which many training options exist. In effect, developers may add in functionality for anything the templates don't already provide. Additionally, Clarion provides an object framework specifically for database and business oriented functions. Clarion also makes it very easy to access external libraries written in any language.

Because the templates generate an overwhelming majority of the code necessary for most projects (they feature important business functions that other development environments lack), programmers concentrate on application logic specific to your industry, and perhaps as importantly, are only required to learn one application methodology that applies to many applications.

The list below shows the functions available through the template repository in Clarion Enterprise Edition:

  • Threaded, multi-user aware data grid
  • Multi-user aware update form
  • Multiple document interface application window including threading and menu
  • Single document interface application window
  • Process user defined code statements for each record in a table, sequentially
  • Generic report with print preview
  • Call a function in an external library
  • Introductory screen
  • Display text
  • Display read-only Form, with no update allowed
  • Generic window
  • Print a text file
  • Search a text file
  • Implement fuzzy matching in database search
  • Print a single record in data grid
  • Query by Example
  • Toolbar navigation buttons
  • Cancel an operation
  • Close the current window
  • Locate a file name
  • Change the source for a displayed image
  • Search for a record based on a lookup value
  • Create a dropdown list or combo box from a table
  • Insert an OCX control
  • Pause the current process
  • Hierarchical data display in tree control
  • Date and time stamps for report
  • Display and edit Rich Text Format file
  • Save current update, keep window open
  • Validate items in selected controls vs. business rules
  • Popup menu
  • Implement drag 'n drop
  • HTML help file
  • Report Operating System version
  • Create new thread
  • Lookup a record in a non-related table
  • Create flexible layout to allow resizing of window and its controls
  • Display date and time in the current window
  • Database auditing
  • Create a progress control
  • VCR form controls
  • Run an external command

All the actions above are available by applying Clarion templates, which are managed in the template registry:

 

 

The Data Dictionary

The Template Registry

Cloning Master Programmers' Code

 

 


Copyright © 2007 SoftVelocity, All rights reserved worldwide