| By Gian Luca De Bonis | Article Rating: |
|
| March 19, 2008 12:00 PM EDT | Reads: |
3,598 |
Enable Runtime Explorer
Rex is a tool for developers that implements the runtime-driven development cycle (see Figure 1). There are three components:
- Runtime Engine: This runs together with the application so that it can be explored in runtime, enabling errors/improvements to be identified and layouts/properties/scripts to be changed as a consequence
- Rex IDE: This allows the developer to review the work performed in runtime and decide how to proceed: view, create reports, or submit to Enable Source Change
- Enable Source Change (ESC): This automatically applies to the source code the runtime changes that are confirmed by the developer using Rex IDE
Rex's main panel (see Figure 2) displays the runtime tools (plug-ins) available to the developer together with the controls architecture of the selected window. This information is provided by the runtime engine, which writes the changes made in runtime to a log file that's subsequently analyzed by Rex IDE.
Separating the runtime and design time components makes it possible to analyze the application's behavior on PCs that aren't part of the main development environment. In this way, specific feedback can be obtained from colleagues, test engineers, and technical support. Even power users and graphics designers, with no access to the source code, can propose detailed revisions for review by the developer.
Rex IDE
As mentioned, the plug-ins write to a log file opened by Rex IDE. Each transaction recorded in the log file can be reviewed and processed as appropriate, depending on the plug-in concerned. Possible operations include:
- View: The DWSnapShot plug-in, for example, provides the full state of a DataWindow captured in runtime
- PSR report: The Img Capture plug-in, for example, documents the images captured, together with the related notes, in a report sorted by Window name
- ESC: The PropertyX and Layout plug-ins, for example, send commands to ESC to update the source code to reflect the changes made in runtime (see Figure 3).
ESC is a batch command processor that applies the change transactions confirmed by the developer using Rex IDE directly to the application's source code. This component makes it possible to change automatically the properties of a DataWindow object or control and to amend scripts (see Figure 4).
Plug-in Architecture
Rex's plug-in architecture means that new components can be created whenever required for use in runtime and Rex IDE. Indeed, developers can write their own plug-ins and aren't dependent on Enable Development for this. Examples of runtime activity by plug-ins include:
- Analyzing the content of objects: Using BufferX, for example, developers can manipulate DataWindow and DataStore buffers
- Capturing elements for analysis: DWSnapShot, for example, captures the full state of a DataWindow (to reproduce a bug or for testing purposes) so it can be examined at design time
- Capturing elements to be included in reports: Img Capture, for example, captures screenshots for inclusion in a PSR report
- Making changes for application to the source code: PropertyX, for example, displays and changes the properties of objects and DWOs, while ObjectX displays and changes the related scripts
Table 1 shows the runtime tools are currently available.
There's no limit to the number of plug-ins. Developers can write their own, while others are already at the design stage:
- Transaction ObjectX: View the properties of the application's transaction objects, connect to/disconnect from databases, create dynamic DataWindows that can be explored in the same way as any other DataWindow, change or reapply the transaction object to the current DataWindow
- InstanceX: View the properties and instance variables of user-defined classes
- Object Factory: Create new controls in windows
- Help Author: Write portions of help files and associate their contexts to specific objects
- Extension for ObjectX to facilitate script changes Extension for PropertyX to include painters for each property type: Colors, SQL statements, Filters, Sort, Computed fields
Traditional approach
Following the design of classes and the creation of framework structures, the typical development cycle in RAD environments can be summarized as follows:
- Runtime activity:
- Analysis of improvements to be made, identification of behavior to revise or rewrite, search for bugs (using the debugger or otherwise)
- Annotation in a "manual log file" - hard copy or electronic
- Review of proposed changes noted in the manual log file
- Design time activity:
- Best-effort correction of the behavior identified at runtime based on the list of activities/changes to be made - Return to runtime:
- Run the application, log-in, open the required windows
- Repeat the cycle to check on the effect of the changes (OK/KO)
Published March 19, 2008 Reads 3,598
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Gian Luca De Bonis
Gian Luca De Bonis is CEO/CTO of Enable Development, a London-based software house. He has considerable international consultancy experience, primarily focused on PowerBuilder, database technologies and software engineering.
- Why SOA Needs Cloud Computing - Part 1
- Cloud Expo and The End of Tech Recession
- The Transition to Cloud Computing: What Does It Mean For You?
- A Rules Engine Built in PowerBuilder
- Sybase Named “Silver Sponsor” of iPhone Developer Summit
- How PowerBuilder Got Its Groove Back
- The Cloud Has Cross-Border Ambitions
- Ulitzer Names The World's 30 Most Influential Virtualization Bloggers
- Ulitzer Named "New Media" Partner of Greatly Anticipated iStrategy Event in Berlin
- Risks and Enterprise Mobility?
- Steps for Success in Enterprise Mobility?
- Are Mobile Luddites Resisting Mobility?
- The Difference Between Web Hosting and Cloud Computing
- Sybase CTO to Speak at 4th International Cloud Computing Expo
- Why SOA Needs Cloud Computing - Part 1
- Cloud Expo and The End of Tech Recession
- The Transition to Cloud Computing: What Does It Mean For You?
- Five Reasons to Choose a Private Cloud
- Seeding The Cloud: The Future of Data Management
- The Threat Behind the Firewall
- Economy Drives Adoption of Virtual Lab Technology
- Tips for Efficient PaaS Application Design
- A Rules Engine Built in PowerBuilder
- Sybase Named “Silver Sponsor” of iPhone Developer Summit
- Where Are RIA Technologies Headed in 2008?
- PowerBuilder History - How Did It Evolve?
- The Top 250 Players in the Cloud Computing Ecosystem
- Custom Common Dialogs Using SetWindowsHookEx
- DDDW Tips and Tricks
- OLE - Extending the Capabilities of PowerBuilder
- DataWindow.NET How To: Data Entry Form
- Book Excerpt: Sybase Adaptive Server Anywhere
- Sybase ASE 12.5 Performance and Tuning
- Working with SOA & Web Services in PowerBuilder
- Office 2003 Toolbar: A New Look For Your Old PowerBuilder App
- Dynamically Creating DataWindow Objects






























