By Martin Heller
Client/server application development is not for the faint of heart. It adds a slew of considerations-like scaling, multi-user contention and network latency-to the challenge of producing a desktop application. It becomes even more complex when you add in multitier features.
PowerBuilder 5.0 and Clarion 2.0 both address these
issues. Built around 4GLs (fourth-generation languages) with native
code compilers, both boast object-oriented visual development
environments, offer significant database functionality and connectivity,
and offer ActiveX and highly functional database browsing controls.
They also include report generators.
You can successfully utilize general-purpose application development environments such as Microsoft Visual Basic (VB) and Borland Delphi for client/server database application development. While these offer significant database support, they can't match the tailor-made development environments of Clarion and PowerBuilder.
Previous PowerBuilder versions sometimes exhibited runtime speed problems because of the interpreted nature of PowerScript. PowerBuilder 5.0 fixes that with a native code compilation option and a C++ class builder. Dividing the product into desktop, professional and enterprise bundles helps ease the price barrier.
PowerBuilder applications still require a significant amount of system resources, however. Clarion, on the other hand, has been the darling of small, independent database software developers, to whom time is the most precious resource. This program can be amazingly productive, especially in experienced hands. It's particularly useful in small businesses, where applications often must run on underpowered hardware.
PowerBuilder Desktop includes the Windows 95, Windows 3.1x and Windows NT/Intel development environments; the native code compiler; SQL Anywhere; ActiveX control support; galleries of ActiveX controls, applications and art; a syntax-coloring, self-indenting script editor; desktop ODBC drivers; and an install disk builder. PowerBuilder Professional adds client/server ODBC drivers, the Advanced Developers Toolkit, check-in and check-out, and version control interfaces. PowerBuilder Enterprise has ObjectCycle, a client/server change and configuration management system integrated with PowerBuilder; Distributed PowerBuilder, for building multi-tier applications; native DBMS drivers; a C++ class builder; InfoMaker, a report generator; PowerBuilder Library for Lotus Notes; and runtimes for European languages.
Clarion Standard Edition includes the Clarion development environment with online documentation, TopSpeed database drivers and a conversion utility for other databases, and predesigned end-user applications.
Clarion Professional Edition adds full printed documentation, OLE client and ActiveX control support, a report generator and a full set of database drivers. Clarion Enterprise Edition will also have PVCS Version Manager; graphical data modeling within the Clarion database dictionary; a deployment kit; and database dictionary synchronization, which allows automatic updates to flow between the Clarion data dictionary and a database server dictionary.
Start a new PowerBuilder application, and you'll get a main window with a menu-it runs but doesn't do very much. You quickly add functionality by connecting the application to a database and defining a DataWindow. Although you'll have to write some PowerScript code to make anything significant happen, you'll probably find what you need in the extensive help system.
PowerBuilder makes it exceptionally easy to reuse code through inheritance. Inheriting the window is the norm for building PowerBuilder applications. Even in the simplest tutorial example provided, you are instructed to create an ancestor DataWindow with base layout and functionality, and derive from it several DataWindows that are specific to the application's tables.
You can test and debug PowerBuilder applications quickly, at any time during the development cycle. Compilation to PowerBuilder byte-code happens incrementally whenever an object is saved, an almost unnoticeable process on a Pentium-based machine.
Building an EXE using PowerBuilder's native code generation option is more of a go-for-coffee process-you'll do it when you're ready to roll the application to beta-testers and eventually users.
Clarion requires that you first focus on the database dictionary, imported or created through the product's dictionary editor. Clarion's dictionary stores preformatting options-what PowerBuilder calls extended attributes-along with data types. Preformatting options can include capitalization, justification, the font for a text control, radio-button options and validity checks.
Once you've defined a database, you can generate a complete application based on the standard Clarion application template automatically with the Clarion Application Wizard. In some cases, the generated application will be all you need, as it includes tabbed browse boxes for each table sorted by all defined keys, nested browses into related tables and reports for each table. In other cases, you customize the application's screens, reports and behavior using Clarion's visual design tools and/or by adding code. While Clarion's design tools do the job quite effectively, they aren't as polished as PowerBuilder's.
You can reuse code in Clarion by cutting and pasting or through templates. Written in a parameterized template language for generating code, Clarion templates work with its wizards and database dictionary. You can either customize them or build your own.
Clarion always generates native code, even for debugging and testing. TopSpeed's code generators and compilers are quite fast, though.
PowerBuilder is a complete, mature, well-supported, platform-independent database application development environment.
At the enterprise level, I wouldn't hesitate to recommend it. But PowerBuilder isn't cheap, and it requires significant amounts of RAM and disk space, both for its development environment and its runtime environment.
Clarion, on the other hand, is not so complete, not so mature and not really platform-independent-but it's small and fast. You can deploy Clarion applications on all but the most RAM-starved Intel/Windows machines, with minimal impact on hard disk space. If you can live with Clarion's limits-or learn to circumvent them- you'll find it an incredibly productive tool.
My choice? It depends on the application. If I had a week to personally deliver a garden-variety relational database application with a few tables, screens and reports to a small business, I'd choose Clarion. If I had time to develop a significant client/server or multi-tier database application in a team setting, I'd go with PowerBuilder.
Price: Desktop, $295; Professional, $1,295; Enterprise, $2,995
Pros: Platform-independence; support; native compilation on Intel and other platforms
Cons: Big; expensive
Platforms: Windows 95, 3.1x, NT
Disk Space: 32 to 80MB+
RAM: 12MB (minimum), 16MB (recommended)
WinMag Box Score: 4.5
Price: Standard, $199; Professional, $599; Enterprise, $1,499
Pros: Good database-to-app conversion; small, fast applications
Cons: Intel-only; enterprise support is pending
Platforms: Windows 95, 3.1x, NT
Disk Space: 8 to 20MB+
RAM: 8MB (Windows 3.1x), 12MB (Windows 95), 16MB (Windows NT)
WinMag Box Score: 4.0