1 / 31

Session No. IA364 Improving Software Configuration Management Practices for PowerBuilder Applications

Session No. IA364 Improving Software Configuration Management Practices for PowerBuilder Applications. Phil Wallingford E. Crane Computing, Inc. philw@ecrane.com. Topic 1 - Source Traceable Builds Topic 2 - Source Control for PowerBuilder Development Topic 3 - Build Automation Demonstration.

johana
Download Presentation

Session No. IA364 Improving Software Configuration Management Practices for PowerBuilder Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Session No. IA364 Improving Software Configuration Management Practices for PowerBuilder Applications • Phil Wallingford • E. Crane Computing, Inc. • philw@ecrane.com

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

  3. What’s Different about Software Configuration Management (SCM) for PB? In a nutshell the PowerBuilder Library (PBL) First…Some Background

  4. 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 The PBL

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

  6. Source Traceable Builds Creating release versions from controlled PowerBuilder source

  7. Plain text Individual files Should represent “modular” elements of design Use to build deliverables What is Source?

  8. PBLs Plain text - No Individual files - Yes Should represent “modular” elements of design - No Use to build deliverables - Yes PowerBuilderSource?

  9. PowerBuilderBuild Process PBLs Deliverables EXE PBD PBD PBD

  10. Exported Objects Plain text - Yes Individual files - Yes Should represent “modular” elements of design - Yes Use to build deliverables - No PowerBuilderSource?

  11. PowerBuilder SourceBuild Process PowerBuilder Objects PBLs Deliverables EXE ? PBD PBD PBD

  12. PB Objects must be able to be Regenerated (without errors) to be Imported The Problem • Order (of import) dependencies • Circular reference problem

  13. 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 can’t find function b, import fails Import Object 2 - Error can’t find function a, import fails

  14. “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 A SolutionPowerGen Feature

  15. PowerBuilder SourceBuild Process PowerBuilder Objects PBLs Deliverables EXE PBD PBD Bootstrap Import PBD

  16. Bootstrap Import Folder 1 PBL1 Objects.sr* Folder 2 PBL2 Objects.sr* ...\Folder 1\*.sr*, ...\PBL1.PBL ...\Folder 2\*.sr*, ...\PBL2.PBL

  17. Source Control for PB Development Managing Object Check-in/Check-out in PowerBuilder

  18. Source Control Problems • PB “Native” function for source control lacks many required features • Interface to third-party tools (SCC-API) is architecturally flawed

  19. 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

  20. Improved Architecture Source Archive PB “Objects” Check-In Check-Out Import/Export Working Library List “Working” PBL’s

  21. Build Automation Producing PowerBuilder deliverables (EXEs and PBDs) with an automated repeatable process

  22. 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 The Problem

  23. 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 The Solution

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

  25. 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 More Features

  26. Build Process Control Application B Application A Application C Third-Party Common PBLs

  27. Tool Demonstration PowerGen PBExplorer PBRescue

  28. Supports PowerBuilder Versions 4, 5, 6, and 7 Enterprise and Professional All Windows platforms Uses PowerBuilder’s ORCA interface Began shipping more than 4 years ago PowerGen Specs.

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

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

  31. Questions & Answers ?

More Related