Alan Fisher is cofounder of IronSpeed (http://www.ironspeed.com).
Increasingly, software developers are turning to a new approach for rapidly building robust database applications without programming — application generators. Today’s business environment demands managers find ways to do more with less, and application generation allows for building applications quickly and efficiently.
What Types of Applications Can You Build?
Application generation tools build database-driven applications that can be deployed to the Web, the cloud, or to Microsoft SharePoint environments. Like any hand-built application, these database applications are typically used for:
- Data entry and management: collecting and editing data from users.
- Reporting and tracking: reporting, summarizing, and visualizing data.
- Workflow and scheduling: automating step-wise business processes.
- Business process automation: orchestrating data flow between multiple systems.
While individual applications may look quite different from one another, these applications usually contain a variety of rich, interactive page types, reports, data import and export features, and integrated application security. Because most business applications are built atop an underlying database, they lend themselves to automated and semi-automated solutions for creating and customizing their Web pages and data access code. Only custom business logic need be added by hand. Moving from the conceptual to a concrete example, let’s take a look at one such tool, marketed by my company as Iron Speed Designer.
Figure 1 shows a typical order management application that was generated by Iron Speed Designer.
To develop this application, you begin with a simple application wizard to create a fully functioning Web application based on your underlying database. This application can be deployed “as is” or further customized using an intuitive page layout spreadsheet and simple Microsoft Excel-like formulas to add custom logic. Data elements, and even entire panels and charts, can be dropped from the toolbox onto the layout spreadsheet — no programming is required.
The tool includes a wide variety of predesigned page styles and you can customize these styles, or create your own to maintain your particular look and feel. One significant advantage of these tools is they frequently add a bevy of sophisticated features to your application that would have taken weeks or months to build by hand. These features give your application a level of polish lacking in most custom applications. Reporting, data import and export, and application security are commonly included features. For example, you can export formatted data directly to Microsoft Excel for further analysis and reporting.
Application Generation Upside
Some key benefits of application generation tools include:
- Reduced software development costs. Applications can be developed and deployed faster and more efficiently with less cost in human resources. Proof-of-concept systems can be rapidly built, feedback gathered, and quickly modified.
- Consistent look and feel. Generated applications have highly consistent and professionally designed user interfaces, giving applications a finished look and feel, even at the prototype stage. A consistent look and feel across applications reduces end-user learning curves when assimilating new applications.
- Simplified application maintenance. Generated applications follow a highly consistent architecture, allowing any developer to maintain any application. There is little or no "ramp up" time necessary for one developer to maintain another developer’s application because the architectural knowledge transfers from one application to another.
While traditional software developers may believe that machine-generated applications can’t possibly be as good as their own hand-written code, the architectural consistency and the time and cost savings garnered from application generation tools are simply too significant to ignore.
Many of us hardened programming veterans remember the cumbersome fourth-generation languages (4GLs) of the '70s and '80s, which were advertised as bringing in the new age of programmer-free application development. We also remember the second phase of 4GLs, released in the '90s, that focused on end-user development and many times created more problems than they solved. Thus, we may be reluctant to even consider the “new and improved” application generation tools. But, like the modern tools found in home improvement stores, improved technology has brought many application development tools that simply make the job easier.