PowerGen - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

PowerGen

Description:

This session discusses some of unique problems of release management and ... Producing PowerBuilder deliverables (EXEs and PBDs) with an automated repeatable ... – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 32
Provided by: philwall
Category:
Tags: powergen | exes

less

Transcript and Presenter's Notes

Title: PowerGen


1
Session No. IA364 Improving Software
Configuration Management Practices for
PowerBuilder Applications
Phil Wallingford E. Crane Computing,
Inc. philw_at_ecrane.com
2
Improving Software Configuration Management
Practices for PowerBuilder Applications
  • Abstract
  • This session discusses some of unique problems
    of release management and configuration
    management for PowerBuilder applications. It
    describes tools and techniques that address these
    problems.

3
Phil WallingfordE. Crane Computing, Inc.
  • Developer of PowerGen, the award-winning product
    for automating the build process for PowerBuilder
    applications
  • Previously founder of SQA, Inc., a pioneer in
    developing software test automation products,
    such as SQA Robot
  • Involved in the software industry for 20 years,
    serving primarily the needs of Fortune 1000
    companies

4
Topics of Discussion
  • Topic 1 - Source Traceable Builds
  • Topic 2 - Source Control for PowerBuilder
    Development
  • Topic 3 - Build Automation
  • Demonstration

5
FirstSome Background
  • Whats Different about Software Configuration
    Management (SCM) for PB?
  • In a nutshell the PowerBuilder Library (PBL)

6
The PBL
  • A Proprietary, Binary Formatted File
  • Includes many kinds of information
  • Object source
  • P-Code
  • Source Control Attributes for Objects
  • Housekeeping information
  • Free sector map
  • Directory

7
The Troubles with PBLs
  • They are fragile
  • Information gets out-of-sync.
  • Objects must be regenerate-able when they are
    saved (or imported)
  • Cant save work-in-progress
  • Cant easily reconstruct PBLs from objects
  • Dont accommodate standard SCM interfaces
  • Source control attributes conflict with external
    source management system

8
Creating release versions from controlled
PowerBuilder source
Source Traceable Builds
9
What is Source?
  • Plain text
  • Individual files
  • Should represent modular elements of design
  • Use to build deliverables

10
PowerBuilderSource?
  • PBLs
  • Plain text - No
  • Individual files - Yes
  • Should represent modular elements of design -
    No
  • Use to build deliverables - Yes

11
PowerBuilderBuild Process
PBLs
Deliverables
EXE
PBD
PBD
PBD
12
PowerBuilderSource?
  • Exported Objects
  • Plain text - Yes
  • Individual files - Yes
  • Should represent modular elements of design -
    Yes
  • Use to build deliverables - No

13
PowerBuilder SourceBuild Process
PowerBuilder Objects
PBLs
Deliverables
EXE
?
PBD
PBD
PBD
14
The Problem
  • PB Objects must be able to be Regenerated
    (without errors) to be Imported
  • Order (of import) dependencies
  • Circular reference problem

15
Circular Reference Problem
Circular Reference Problem
Circular Reference Problem
PB
Object 1
Object 2
function a ... b ( ) ... end
function b ... a ( ) ... end
Import Object 1 - Error cant find function b,
import fails Import Object 2 - Error cant find
function a, import fails
16
A SolutionPowerGen Feature
  • Bootstrap Import
  • Reconstitutes application from exported object
    source
  • Creates PBLs and imports all objects, using a
    unique, multi-pass import process
  • Enables source-traceable builds

17
PowerBuilder SourceBuild Process
PowerBuilder Objects
PBLs
Deliverables
EXE
PBD
PBD
Bootstrap Import
PBD
18
Bootstrap Import
Folder 1
PBL1
Objects.sr
Folder 2
PBL2
Objects.sr
...\Folder 1\.sr, ...\PBL1.PBL ...\Folder
2\.sr, ...\PBL2.PBL
19
Managing Object Check-in/Check-out in PowerBuilder
Source Control for PB Development
20
Source Control Problems
PB Native function for source control lacks
many required features Interface to third-party
tools (SCC-API) is architecturally flawed
21
PB SCC Interface Architecture
Check-In
Registered PBLs
Source Archive PB Objects
Check-Out
Working Library List
  • Keeping objects in Registered PBLs in sync.
    with archive
  • Registered objects in sync. with Working copy
  • File locking

Working PBLs
22
Improved Architecture
Source Archive PB Objects
Check-In
Check-Out
Import/Export
Working Library List
Working PBLs
23
Producing PowerBuilder deliverables (EXEs and
PBDs) with an automated repeatable process
Build Automation
24
The Problem
  • PowerBuilder (PB) applications are difficult to
    build
  • Can build only one application at a time
  • Many manual steps
  • Little control over the build process
  • Not robust
  • Cannot be integrated with other build operations

25
The Solution
  • PowerGen
  • Define project to build many applications
  • Can specify in detail how to build the
    applications
  • Command line interface
  • Logs detailed information about build
  • Proven with the largest PB applications

26
Features
  • Application builds
  • Regeneration
  • PBD/DLL creation
  • EXE creation
  • PBL optimization
  • Duplicate object detection
  • Automatic PBR scanning for missing resources
  • All PB code generation options

27
More Features
  • Build process control
  • Specify which libraries are regenerated
  • Specify when and if dynamic libraries will be
    created
  • Use PBDs or write-protected PBLs in a library
    list
  • Specify directory to save created dynamic
    libraries

28
Build Process Control
Application B
Application A
Application C
Third-Party Common PBLs
29
Tool Demonstration
PowerGen
PBExplorer
PBRescue
30
PowerGen Specs.
  • Supports PowerBuilder Versions 4, 5, 6, and 7
  • Enterprise and Professional
  • All Windows platforms
  • Uses PowerBuilders ORCA interface
  • Began shipping more than 4 years ago

31
Customer Acceptance
  • 600 customers
  • 2000 installations
  • Many site licenses
  • Recommended by TeamPS and Powersoft Tech. Support

32
Session Summary
  • PowerBuilder is a great development environment
  • Holes in performing and managing releases
  • PowerGen and CCC/Harvest have filled the holes

33
Questions Answers
?
Write a Comment
User Comments (0)
About PowerShow.com