Copyright © 2007 SoftVelocity, All rights reserved worldwide

Native Win32 code

Clarion is the foundation of the SoftVelocity product line and anchors the company's reputation for fast, efficient database application development. In addition to the Clarion 4GL language, the Clarion product also includes both a C++ and Modula-2 compiler. All of the languages share a common optimizer, and they can be mixed within a single application.

Independent software developers and corporate developers have similar needs: to increase productivity to meet demands for new database applications. Clarion is a data-centric Rapid Application Development Environment with an emphasis on code generation and reusable metadata to quickly create "corporate quality" applications to manage business data.

Through the use of code generation based on metadata Clarion helps developers ensure standards, reduce coding time, eliminate errors, and bring projects to completion in record time. It allows the entire development team to share and enforce a consistent set of coding standards. It also allows new developers to quickly and easily adopt the organization's specific styles and continue work on inherited code without a lengthy learning curve.

Click any of the subject heads below for further information on that subject.

Delivering Code Reusability for Developer Productivity

Clarion metabases allow new developers to generate project-specific code using templates created by master programmers. The metabase contains most of the information that Clarion needs to create a fully-functional application, that directly applies to their specific project requirements. The benefit for the developer is that they can immediately create very high quality "corporate" applications that maintain and report the data, and then they can use the additional Clarion tools to customize the generated application to suit their special business needs.

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 metabase storage files. These Clarion metabases are called the Data Dictionary and the Template Registry.

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 code generator relies on "templates" to store the application logic. A 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 "automated production" model for software development.

The breadth 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.

Specialized Tools and Behaviors for Database Developers

The Clarion templates (as distinct from those you create yourself) focus on data-centric behaviors that might take months to code using other tools. Each template is configured through a design-time interface, so that to apply it to the current database schema, the developer chooses attributes and properties from lists. In other words, the developers don't have to code to create complicated behaviors such as synchronizing a master - detail view of two data grids. These behaviors already exist in the metadata repository, and to implement them the developer sets the template properties. The illustration below shows the setting chosen from within the design time interface for a synchronized Master to Detail listbox:

Additionally, Clarion's Application Wizard lays out a default application with forms that provide for browsing through lists of records, adds, deletes, or changes of records, and reporting. The developer task is to pick the tables, run a wizard, and then customize.

The Application Wizard "reads" the file layout, as stored in the data dictionary, looking at the relations between tables. Where it finds a parent table, it creates a browse window. Selecting a record in the browse provides an edit form. Each edit form contains additional tabs on which a list box browse on a child table resides. Selecting a record in the child's browse table brings up an edit form for that record. If the child table has a child file associated with it, another tab appears... and so on.

If a validity check and a primary/foreign key relation specifies that a particular field must not be blank, and that the value must exist in another table, the Form is intelligent, so that if an end user tries to skip over or close the Form without filling in a valid entry, it displays a list of values in the other table for the end user to choose from.

Your application can be generated at anytime without overwriting any custom code the developer has added, and without losing the options previously chosen in the design time interface.

Rich Language, Compilers, Tools for Other Platforms

Unlike most other tools based on general purpose languages, Clarion has always and exclusively been designed for database applications. The Clarion language is a powerful fourth generation language, easy to learn. It is object oriented, and Clarion contains its own data-centric object framework. The benefit to the developer is that they can extend the default application into anything they imagine, because the tools and the language are powerful enough.

The application generator is language neutral. Templates can create code in any language, and the templates are able to access metadata stored in the data dictionary. .

The development environment comes with a full array of visual formatters for customizing windows and reports, plus miscellaneous tools to create formulae (on the fly functions and logical conditionals). (Illustration: window formatter):

Clarion's reports are built in, and are not delivered by a bundled external tool. Report functions, therefore, are compiled into the resulting application, and execute at machine code speeds. Clarion can also access external reporting tools, and is shipped with an interface to Crystal Reportsİ.

Applications are compiled and are distributed royalty free.

Clarion comes in an Enterprise and a Professional level edition.


Copyright © 2007 SoftVelocity, All rights reserved worldwide

Feature Tour

Delivering Code Reusability

The Data Dictionary

The Template Registry

Cloning Master Programmers' Code

Specialized Tools and Behaviors for Database Developers

Referential Integrity, Validity Checks, Concurrency Checks, Hot Fields, etc.

Application Wizards

Built in Reporting Tools

Rich Language and Compilers

The Clarion Language

Development Environment

Professional Edition

Enterprise Edition

Enterprise vs. Professional Edition