September 7, 1998
Clarion Cuts Down On Coding
Rapid development product automatically generates code usually done manually
By Andy Feibus
ired of all the manual labor involved in creating applications with C++ or Visual Basic? If you could replace that drudgery with something simpler, you could save significant development resources and put the onus of some system-design tasks on content experts.
TopSpeed Corp.'s Clarion 4 automatically generates many of the manual coding steps for creating application flow and logic. The resulting application works either as a native-compiled 16-bit or 32-bit Windows application. With Clarion 4 Internet Edition, you can roll out Web-based applications, too.
Most rapid development products come with a wizard to create a starter application or give you a blank canvas to create the application from scratch. The problem with the starter applications is the results provide-at best-a 50% solution to the problem. You can easily view data, but even slightly complex interaction requires programmer intervention. With Clarion 4, a nonprogrammer with a couple of days of training can create an application-without programming-that provides a 90% solution. Your programming staff can quickly add the remaining 10%, the truly complex coding required to complete any application. The advantage you'll find with Clarion is better allocation of IS resources.
With Clarion 4, you get an application wizard for creating a "starter" application, or you can start from a blank screen. In either case, the first step you'll take in creating your Clarion application is to define a data dictionary containing the descriptions of the database tables in your application. Each dictionary entry describes a table's fields, keys, and relationships. The upcoming Clarion 5 Enterprise and Web editions-scheduled for this month-include a tool to automatically synchronize a data dictionary using an existing database's dictionary. However, Clarion 4 Professional and Internet editions don't include this tool, so I had to manually create and maintain this information for my tests.
Once you create the dictionary, the application wizard can take this information and create a simplistic -but complete-prototype application. It contains a main form with menus to display forms for browsing each table in the dictionary, editing forms for modifying individual records in each table, and reports for printing each table's contents. For a prototype, Clarion generates a surprisingly complete application, and-though you may want to add features and style choices to the resulting application-new users can create a complete application without knowing how to program.
Clarion's power comes from its use of templates-combinations of forms, controls, and code-to provide a way to quickly assemble applications with little additional coding on your part. The whole idea behind templates is that the bulk of your requirements-which you specify from dialog boxes-will be similar. For example, if you want to create a splash screen for your application, just specify the name of a new screen for the main application frame, then specify the SplashScreen procedure template as the definition for the screen you just named. Modify a few window parameters or change the window's look as you wish, and the underlying code adjusts to the new parameters without changing the way the splash screen acts. For other object-based development tools, inserting an object is easy, but actually customizing and tailoring the object requires extensive coding. With Clarion, just insert the template and modify a few parameters to arrive at the same result without any coding.
Wide Choice Of Templates
Templates are available not only for the different types of forms you'll want to create, but also for reports, controls, and common code operations. Another interesting template example is the Save-button template. If you insert this button into your form, you also can have Clarion automatically generate code for permitting insert, delete, and change operations for the table the user edits with the form. Configuring the button takes a few seconds and you don't have to write a line of code to perform the table operations. Clarion's automatic code-generation features are terrific, because even nonprogrammers can create complex applications without learning to program.
However, you'll most likely want to make changes to the automatically generated code. Clarion provides "embed" points in generated code for you to add your own code. Clarion preserves the code you write for these points in case you change parameters for the template to change how it operates. The Clarion code generator synchronizes changes well when you make changes to the templates.
The Clarion language has some similarities to other commonly used programming languages, but those unfamiliar with fourth-generation languages will find it a whole new experience. Unfortunately, except for templates, Clarion provides limited assistance for creating your own code. A code-creation wizard-such as Sybase's Power++-or construct-completion assistance like you find in Visual Basic would have been useful. In general, though, having to write code only for embed points is effective, because it limits the amount of code you'll need to worry about debugging.
The Clarion development environment is a 16-bit application and supports the inclusion of 16-bit VBX controls in your forms. You can also insert ActiveX controls in your forms, if your resulting application is going to be a 32-bit application, but the integration of these controls is less smooth than you'll find in other development tools. In addition, if you don't want to write code in the Clarion language, TopSpeed provides C/C++ and Modula-2 compilers. All you need to do to use these compilers is to create and attach C/C++ or Modula-2 source files to your Clarion application and the compiler automatically incorporates the code into your application.
Applications created with Clarion can also contain embedded HTML and dynamically generated HTML segments. These applications also support cookies for information persistence and the Secure Sockets Layer for security. All applications use Clarion's Java Support Library, which requires you to download up to 380 Kbytes (only 110 Kbytes for Microsoft clients, but more for Netscape and other browsers that don't support compressed Java downloads), which will delay application startup for users on slower-speed network connections.
What You'll Need
Some of the Internet features you'll need for creating enterprise-ready applications-such as load balancing, failover, and database connection caching-aren't in the Internet Edition, making this a limited option for deploying an application to support hundreds of concurrent users.
For larger-scale Web deployment, you'll need to purchase another add-on product: Clarion Session Router ($2,000), which distributes incoming requests to multiple Clarion application servers to provide load distribution. However, failover support is limited to the client's restarting the application on another server. And true load balancing and connection caching is still a problem.
Documentation is excellent for a product that will be foreign to many new users. Several step-by-step tutorials are included as well as more than 20 completed examples. Online help is sparse and not well indexed. The printed documents, however, are also available on the CD in Adobe Acrobat format for easier searching.
An organization innovative enough to take advantage of the coding redistribution that Clarion allows may find it possible to execute the kind of ongoing rapid development that the pace of change makes necessary. Even with the scalability limitations on the Web application side, Clarion could be a tool around which you could innovate your IT process completely.
Andy Feibus is president of CustomBytes, an application development firm in Atlanta. He can be reached at firstname.lastname@example.org.
- I Can See Clearly Now - E2 Conference Boston
- Get practical strategies to build a solid plan for profitability and success - Mobile Commerce World - Mobile Commerce World
- Learn how to enage customers through mobility - Mobile Commerce World - Mobile Commerce World
- Learn how to best integrate mobile commerce with your current systems -- Mobile Commerce World - Mobile Commerce World
- How to Choose a SaaS Vendor - E2 Conference Boston
This Week's Issue
Free Print SubscriptionSubscribe
Current Government Issue
- The Government CIO 25: These influential and accomplished government IT leaders are finding ways to be cost efficient and still innovate.
- Rethink Video Surveillance: It's not just about networked cameras anymore. New technology provides analytics, automation, facial recognition, real-time alerts and situational-awareness capabilities.
- Read the Current Issue