Title: PWB503 - Managing the Evolution of Your PowerBuilder Applications with Visual Expert
1PWB503 - Managing the Evolution of Your
PowerBuilder Applications with Visual Expert
Christophe DUFOURMANTELLECEO- Novalyscdufour_at_nov
alys.net08.07.03
2INTRODUCTION
- Sybase is introducing a new product in on the
American PB market. This product is dedicated to
extending the life of PB applications. - Why did Sybase choose this product?
- Understanding the PowerBuilder market
- What kind of services does it provide?
- Daily situation solver
-
3I. UNDERSTANDING THE PB MARKET
I.I A Worldwide Survey
- In order to understand todays PB market and its
future evolution, a worldwide survey was
conducted on PowerBuilder in 2002
4I.II The surveys purpose structure
I. UNDERSTANDING THE PB MARKET
Purpose of the survey
- The past few years has seen the emergence of
Internet/Intranet architecture in IT systems. It
is important to evaluate the current PB market,
and how do users plan to use PB in the future? - Sybase has been increasing the technical and
marketing effort on PB for the past two years.
What is the impact of these efforts on PB users?
Structure
- Different questions were asked to more than
4000 developers from all over the world to
evaluate the importance of PB in their
environment.
5 Where are PB developer from?
I. UNDERSTANDING THE PB MARKET
I.III The 2002-2003 PowerBuilder Survey
- American developers are widely represented
in this survey, which makes this - survey valid for studying the US market
trends.
6I.III The 2002-2003 PowerBuilder Survey
I. UNDERSTANDING THE PB MARKET
What is the size of PB teams?
PowerBuilder was used by projects of important
size (departmental projects or company projects).
This trend is confirmed. The average size of
development teams reaches 12 people. More than
half of the teams count between 4 and 20
developers
7I. UNDERSTANDING THE PB MARKET
I.III The 2002-2003 PowerBuilder Survey
How long will PB be used for?
- PB will be used for a long time 79 believe they
will for more than 2 years ! - The US forecast is very close to the one in other
countries such as in Europe or Asia.
8I. UNDERSTANDING THE PB MARKET
I.III The 2002-2003 PowerBuilder Survey
Is PB used on existing applications, new
applications or both?
- All developers stated they work on existing
applications, which is not a surprise if we
consider that PowerBuilder has become a mature
tool. - The proportion of users who intend to develop new
applications with PowerBuilder remains important
almost 60 !
9I. UNDERSTANDING THE PB MARKET
I.III The 2002-2003 PowerBuilder Survey
Which mark out of 10 is given to PB?
- PowerBuilder is an excellent tool whose users are
satisfied the average mark is close to 8/10. - More than 80 of the users gave him a mark higher
than 7/10.
10I. UNDERSTANDING THE PB MARKET
I.IV What can we conclude from this survey?
- This search shows the impact of PB will remain
strategic in IT departments in the following
years, teams are still sizeable. - The bigger the application, the more it lasts,
the more it is difficult to make it evolve. - Many strategic applications are still daily
developed with PowerBuilder. - There is a need for these applications to be
maintained and enhanced.
Therefore, Sybase chose to introduce a solution
named Visual Expert to help in maintaining and
developing existing PB applications
11II. MAKING LIFE EASIER
II.I Which situations are we targeting?
- The maintenance and development of existing PB
applications often leads to a variety of
hindrances, take time and efforts to solve and
bypass.
Situations involving Application Knowledge
Management
When someone joins a project they need several
months to master the application.
1. Joining a project
When an application is transferred to another
group, there is a high cost in time and effort to
transfer the knowledge.
2. Knowledge transfer
3. Leaving a project
When someone leaves a project they take their
knowledge with them.
12II. MAKING LIFE EASIER
II.I Which situations are we targeting with this
product?
Situations involving the modification of an
application
- Every modification has the possibility of
creating unexpected side effects
- To avoid side effect issues, each modification
should first be validated with an Impact Analysis.
- When an Impact Analysis is done manually it is
time consuming and might be incomplete.
- Often there is not even the time available to
conduct this analysis.
13II. MAKING LIFE EASIER
II.II Who and How
- Who does it concern?
- Sooner or later, everybody in the IT
department is concerned. - How are we going to go about it?
- Taking different examples of daily situations
every development team meets - and showing the appropriate solution for such
situations.
141- MODIFYING A COLUMN
1.1 SITUATION
2. MAKING LIFE EASIER
- Scenario
- A modification was made in the database
- For example, the size of a column has changed.
- This column is widely used by the PB application
(in Datawindows, embedded SQLs, etc..)
- Questions
- What is the impact of this change on the
PowerBuilder application? - Which Datawindows and script are referencing this
column?
151. MODIFYING A COLUMN
1.2 PROPOSED SOLUTION
- The tables and columns referenced by the PB
application are listed - The modified column is selected (product.name in
this example) - An impact analysis is performed
- It shows which component is using this column.
162.MODIFYING AN UNKNOWN COMPLEX WINDOW
2.1 SITUATION
- Scenario
- A user requests a modification in a complex
window. - You never worked on this window and your only
specification is a screenshot with a note. - For instance, the name of a button should be
changed urgently because the clients find it
confusing (see next slide).
- Questions
- Which object corresponds to the screenshot?
- Which control corresponds to the button I should
modify? - Once defined, what is the impact of the
modification?
172.MODIFYING AN UNKNOWN COMPLEX WINDOW
2.2 USER SPECIFICATION
182.MODIFYING AN UNKNOWN COMPLEX WINDOW
2.3 PROPOSED SOLUTION
- A string search lists several objects that could
correspond to the window to be modified - The right window is identified using graphical
previews - The control to be modified is directly located
from the window preview
193. MODIFYING AN INHERITED WINDOW
3.1 SITUATION
- Scenario
- The application is based on a large framework
- A windows attribute needs to be modified.
- This attribute might be inherited from an
ancestor window - Of course, you dont know about the window to be
modified or the Framework
- Questions
- Is the attribute to be modified inherited from an
ancestor ? - If so, from which ancestor object?
- Should you modified the attribute in the
ancestor, what would the impact on the rest of
the application be?
203. MODIFYING AN INHERITED ATTRIBUTE
3.2 PROPOSED SOLUTION
- The attribute continue_action should be
modified. - The left arrow means it has been inherited from
an ancestor window - Where is this attribute defined?
213. MODIFYING AN INHERITED ATTRIBUTE
3.2 PROPOSED SOLUTION
- The attribute is defined in an ancestor named
pfc_w_master - A descendant hierarchy shows many windows
inheriting from this ancestor. - Its probably not such a good idea to modify the
attribute directly in the ancestor!
224. GENERATING SOURCE CODE DOCUMENTATION
4.1 SITUATION
- Scenario
- The development or maintenance of an application
is transferred from one group to another. - There is no source code documentation to help on
transferring the knowledge.
- Questions
- How do you produce immediately a support that may
help for knowledge transfer? - How do you easily update this support in case of
modifications in the code?
234. GENERATING SOURCE CODE DOCUMENTATION
4.2 PROPOSED SOLUTION
- Any time, you can generate automatically a source
code documentation. - A wizard propose several options to customize the
result. - HTML format is recommended for on-line reading.
Word is used when the documentation has to be
printed
245. CLEANING UP UNUSED COMPONENTS
5.1 SITUATION
- Scenario
- The application has been developed for years by
several different developers. - Each version of the application has generated
unused components. - The application has become quite large. It is
time to clean up the code and get rid of this
dead code.
- Questions
- How do you list such unused items?
- How do you check that each item is truly not
used anymore?
255. CLEANING UP UNUSED COMPONENTS
5.2 PROPOSED SOLUTION
-
- Global variables and functions are sometimes
forgotten when the code is modified. - Removing the unused ones will simplify the
application maintenance
265. CLEANING UP UNUSED COMPONENTS
5.2 PROPOSED SOLUTION
-
- Same for every type of objects (windows,
datawindows, userobjects, etc.) - It might be tedious and difficult to find such
unused components, especially if they have been
developed by someone else.
27III. SYBASES CHOICE
- With Visual Expert, Sybase provides PowerBuilder
Developers a solution to deal more easily with
heavy applications they have to maintain and
enhance regularly.