Iron Speed Designer
Create Database-driven ASP.NET Web Applications Quickly and Easily
By Mike Riley
Microsoft has supplied developers with the necessary .NET database interface libraries and ASP.NET code generators and snippets to expose a database for basic record creation, updating, and deleting. But these collections are used most often for prototyping and simple, internal only use cases versus the need for polished, production-ready presentation and business logic layers. As Web framework alternatives like Ruby on Rails and the Python-based Django have built into them the ability to auto-generate attractive, fully functional Web pages that seamlessly interact with the target back-end database, Microsoft has yet to deliver a generator that is at parity with these free, open source alternatives.
Seeing this as an opportunity to address this expanding shortcoming, the talented folks at Iron Speed have created a tool that places this auto-generating UI interface back in the hands of the .NET developer. Called Iron Speed Designer, this tool allows for the generation of such interfaces via an extremely simple point and click interface. Web pages can be automagically created in a matter of seconds a process that normally takes hours or even days to code by hand. Attributes such as the generated interface s look and feel, assignment and incorporation of internal and third-party controls (such as charts, graphs, menu elements, etc.), and more can be set prior to the code generation phase to provide greater functionality and flexibility in the final output.
Unlike other code generators, Iron Speed Designer s generated code can either be used as is or further tweaked by the developer without worrying too much about adverse impacts they might have in the event of the need to re-generate new code based on database schema changes.
Creating an Application
Generating a new Web application using Iron Speed Designer (ISD) is a simple, straightforward five-step process. In fact, it s so easy that even non-programmers can use it to generate sophisticated database-driven Web apps.
After launching the program, users are greeted with a three-pane window (see Figure 1). One immediate fact upon using ISD is its copious amount of assistance, from online help, links to screencasts (there are more than 30 freely available training screencasts available at http://www.ironspeed.com/products/Training.aspx), and additional technical support. The topics covered range from the rather obvious way to run through the generation process to more advanced subjects, such as working with multi-table join queries, code customizations, built-in and third-party controls, and more.
Figure 1: Iron Speed Designer s main window, encouraging users to create a new application or seek additional help in doing so.
Clicking the Create a New Application button in the center pane initiates the designer, prompting the user to click through a series of dialog boxes. The first of these is a static billboard preparing the user for the process. Clicking the Next button advances the workflow to the selection of a page style/theme (see Figure 2). The number of available themes depends on the ISD version being used.
Figure 2: The page style step presents several themes that can be selected for the generated application.
After selecting a page style and database type (Microsoft Access, SQL Server, MySQL, or Oracle), location and authentication parameters are next. Once a database connection has been successfully verified, the next step presents a list of page types to be generated and the table(s) that will be polled to populate the page data (see Figure 3). Views and custom queries also can be included in this part of the generation process.
Figure 3: Various data display options can be selected to be included in the different pages generated from the designer process.
Once the data selections have been made, the next step allows the selection of the more than 250 spoken language variations, with English (United States) assigned as the default. Following this step, the Application Settings dialog box collects the application name, code language (C# or VB.NET), .NET Framework (2.0, 3.0, or 3.5), and SQL Statement generation style (stored procedures or Inline). Application namespace and its virtual directory name also can be entered on this screen. Users can traverse all these steps to ensure their configuration parameters have been correctly entered before clicking the Finish button. Doing so will put the ISD generator to work, spinning out a considerable volume of code and at least nine or more individual .aspx pages, depending on the number of tables and queries requested to participate in the Pages stage. If all goes well, a dialog box similar to the one shown in Figure 4 will be displayed.
Figure 4: The number of files generated depends on the number of tables selected.
Once the file generation phase has completed, users are returned to the main screen of the designer, with Design, Preview, HTML, and ASPX file tabs provided to traverse the code, along with an Application Explorer tree view supplying quick access to the generated application s Presentation, Business, and Data layers. Stored procedures, base classes, and the source databases also can be accessed from this pane (see Figure 5). This is the screen that ISD users will spend the most time looking at, as it allows them to access all the elements, as well as run and modify the various elements of the generated application.
Figure 5: The final screen shows a facsimile of the final pages, along with quick access to the generated code.
One annoying aspect about the product is its requirement to run on a system that has an active Internet connection. (You must be connected to the Internet when working with Free Edition. However, you may request an offline activation code to work offline in the Enterprise and Professional Editions. Read more at http://www.ironspeed.com/Designer/5.2.1/WebHelp/Part_IX/Offline_Activation_of_Iron_Speed_Designer.htm.) If not connected, the program will complain and abruptly exit. This is an unnecessary demand, because, at least on the surface, this requirement seems to be tied to the advertisement/news/update notification pane (again, see Figure 1) and the online help references. While I recognize the convenience of up-to-date documentation, there are times when I m coding on the train or some other off-line environment. Iron Speed should cache these presentations and install base documentation and update the local copy accordingly when changes necessitate it. I also could not shake my agitation whenever I ran the program, feeling that Iron Speed was keeping tabs on my frequency of its use.
A Variety of Editions
Three editions of the product exist: free, professional, and enterprise. The free version can be used to generate single-database applications with up to 30 Web pages consuming a maximum of 15 tables from the selected data source. The professional edition allows for an unlimited number of database tables and generated Web pages from five page types, 11 design themes, and 20 built-in Web controls. The enterprise edition features 11 page types, 27 design themes, 25 built-in controls, and 14 third-party controls, along with a host of other enhancements, such as the auto-generation of search and select record pages, Crystal Reports and ActiveReports report-generation formats, multi-level menus, URL encryption, and more. View http://www.ironspeed.com/products/Features.Application.aspx for a comprehensive feature comparison between the editions.
Considering how quickly and easily Iron Speed Designer creates database-driven ASP.NET Web applications, this is a tool that can be confidently adopted by database analysts, junior-level programmers, and those developers who are besieged with department-level requests for Web front-ends to their slice of the business distributed data warehouse. Iron Speed has also made their product respectable at the senior-programmer level by encouraging post-generation code editing while protecting these changes against overwriting in the event of a code re-generation pass. And for those developers who have spent weeks of coding their own database presentation layer, it s humbling to see how a more attractive and likely more feature-rich and functional version that ISD can provide. For those who are seeking an easier way to quickly deliver such applications, Iron Speed Designer is the catalyst to just such an objective.
Web Site: http://www.ironspeed.com
Price: Free for limited/evaluation use. Commercial versions start at US$795 (Professional) and US$1,995 (Enterprise).
Mike Riley is an advanced computing professional specializing in emerging technologies and new development trends. He also is a contributing editor for asp.netPRO. Readers may contact Mike at mailto:[email protected].