Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..
SYS-CON.TV
Today's Top SOA Links


PowerBuilder Product Review — Who Needs to Do Impact Analyses?
Save yourself from flubbing it

Last week, our development team was supposed to launch a new version of our application. As usual, right before finishing the application we discover that one or two problems had to be corrected.

We were then faced with the following options:

  • We correct the problems and test to verify that everything is working. Usually this means the project will be delayed (it wasn't exactly ahead of schedule to begin with...) and that numerous time-consuming tests will have to be done.
  • We correct the problems without testing the application. After all, we've done very complete tests and since the project is late already ...
  • We wait for the new version to modify the changes ("it's too bad but we saw these problems too late and didn't want to delay the project any longer...").
Lately, we've been exploring a new method of implementing changes more efficiently using an impact analysis tool called Visual Expert to analyze the consequences of each change. Depending on the results, we decide if we modify the code now or wait for the next version.

The impact analysis lists all the components related to an item we want to change. If there are lots of components, the modification will be time-consuming...and probably put off until the next version.

A big advantage of impact analysis is that it helps you avoid problems that can be caused by a change. Visual Expert automatically finds all the impacted components. We get complete results where manual searches can take a long time to do and can be incomplete. To compensate for the limitations of a manual search we've had to reinforce the testing team.

Here are some examples of modifications that require impact analysis:

Example 1: We want to add a new column to a table in a database. Impact analysis will list all the PowerBuilder objects or stored procedures using this table. We may have to modify them to take the new column into account.

  • Visual Expert starts to analyze the application to extract the SQL statements.
  • It then identifies all the tables and columns used in the application (see Figure 1).
  • We can then select a table and do an impact analysis: all the components using this table are listed (see Figure 2).
  • Each component found can be opened directly in PowerBuilder and modified.
Example 2: We want to add a new parameter to a function. The impact analysis will search all the scripts referencing this function: it might be necessary to modify the calls to the function to take the new prototype into account.
  • Visual Expert starts analyzing the application.
  • It identifies all the elements of the application, including the windows.
  • We can then select a window and list its methods. We select an event to run an impact analysis on. It lists all the components using the event (see Figure 3).
  • Each component it finds can be opened directly in PowerBuilder and modified.
However, impact analysis tools have their limits. For instance, they analyze source code and don't detect the dynamic calls.

Example 3: If a dynamic SQL request is generated during an application's execution, the impact analysis tool won't be able to read it from the source code and so won't find any references to the tables and columns used.

To fill this gap, Visual Expert allows for sophisticated string searches. The idea is the same with the string searches in PowerBuilder, with very useful new functionalities such as search of a given type of object, search of objects modified at a certain date, and search inside PowerBuilder scripts only.

The textual search completes the impact analyses by searching inside the code for the name of the element we want to modify.

Example 4: We want to add a column in the "Product" table and we want to know where this table is used in the application. We'll start with an impact analysis (as shown above), which will take into account the static SQL (clearly visible in the code). We'll continue by searching the text "product" in the application, which will find the dynamic SQL - assembled during the execution of the application - that use the "product" table.

Who needs impact analysis? According to me, every project needs it. The question is not "does my project need it?" but a question of the real benefits. I recommend you come to your own decision by getting an evaluation copy of the application from www.visual-expert.com and trying it for yourself.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE