PUG Challenge South Africa 2018

From February 21, 2018 08:30 until February 22, 2018 17:30

PUG South Africa proudly invites you to attend the PUG Challenge South Africa 2018 at which you will benefit from: 

Presentations by high profile and well known international speakers namely:

Mike Fechner (Consultingwerk Software Services)

mike fechner

Director and lead modernization architect at Consultingwerk

Mike Fechner, director and lead modernization architect at Consultingwerk started using Progress over 27 years ago and ever since has supported Progress Application Partners and end customers in adopting the features of the latest OpenEdge and Progress releases to enhance the capabilities of existing applications. With his framework design skills, he has set the stage for the development of many successful OpenEdge applications. 

Mike is specialized on object orientation in the ABL, software architectures, the GUI for .NET, web technologies and a wide range of Progress products such as OpenEdge, Telerik and Corticon. He is involved in software modernization projects on a day by day basis. He is a well-known and active member of the international OpenEdge community, a frequent presenter at conferences around the world and is a board member of the German PUG and the committee of the EMEA PUG Challenge. He’s also a founding member of the Common Component Specification project.

This email address is being protected from spambots. You need JavaScript enabled to view it.

Consultingwerk - Empowering developers, empowering modernization

Consultingwerk supports application partners and ends customers with consulting services throughout any phase of application development and modernization projects and for every period in the lifetime of a business application. 

We are a provider of development tools and focus on application modernization, application architecture, the OpenEdge GUI for .NET, Mobile and Web applications. 

Our consulting services range from coaching and mentoring, training, technology and architecture assessment, prototyping, framework design and actual software development. Consultingwerk is a founding member of the Common Component Specification initiative and a Progress Software Service Delivery and Technology Alliance Partner.

SmartComponent Library – the Application Modernization Framework

The SmartComponent Library is the unique framework and toolset for OpenEdge developers that combines ease of use and developer productivity with flexibility and future proofness. The Common Component Specification compliant framework provides the user interface flexibility for desktop, mobile and web applications and provides out of the box integration with Telerik Kendo UI, Rollbase, Corticon, OpenEdge BPM and DataDirect OpenAccess. This year we will feature user interface flexibility and business logic modernization.

WinKit – the ABL GUI modernization toolkit

The WinKit was designed to jump-start user interface modernization of OpenEdge GUI applications and has been successfully used as the foundation for over 40 modernization projects.

Tom Bascom (White Star Software)

tom bascom

Curmudgeon, White Star Software

Tom has been working with Progress since 1987 and is well-known to the Progress community for his frequent postings in online forums reminding people that version 9 is ancient, obsolete and unsupported and that OE10 will be following soon. He also occasionally posts helpful information on getting the most out of OpenEdge - even if you are still running v9 (if you are still running v9 you should, of course, upgrade). 

When he is not taking people to task for running dangerously obsolete releases or complaining about paperwork Tom is either working on developing ProTop, the Best OpenEdge DB Monitoring tool in the Galaxy, or consulting with customers throughout the world helping improve their OpenEdge system's performance and scalability. Or he might be walking the dog. Walking the dog is very relaxing. Tom also has a fondness for a good dark beer and has been known to bite his tongue regarding the wisdom of continuing to run v9 if a nice cold porter or stout is in hand. 

Paul Koufalis (White Star Software)

paul koufalis

Senior DBA, White Star Software

Paul began his OpenEdge DBA career nearly 25 years ago after completing a Computer Engineering Degree at McGill University. If he’s not staring at his multiple computer screens, you can probably find him speaking at a Progress event somewhere in the world or being roughed-up by his twin boys back home in Montreal.

This email address is being protected from spambots. You need JavaScript enabled to view it.

Why ProTop? Why White Star Software?

We’re different…we’re better 

At White Star Software, OpenEdge databases are our only focus. We’ve lived and breathed the Progress DBA life for 30 years and we still love it. Our tools are built by DBAs for DBAs and when you work with us, you can be confident that no matter your needs, a senior DBA will be there to help you.

ProTop, the Best OpenEdge Monitoring Tool in the Galaxy

We built ProTop to help our customers avoid costly downtime through comprehensive and proactive monitoring of their Progress OpenEdge environments. If it’s important, our agents monitor it, while consuming an insignificant amount of system resources.

Support from the top OpenEdge DBAs in the world

You may already have an experienced team supporting your OpenEdge environments, but even great DBAs need help sometimes. From occasional questions and ad hoc support to vacation coverage and guaranteed 24/7/365 support, the DBAs at White Star Software are there when you need them. 

Peter Judge (Progress USA)

peter judge

Software Architect, Progress USA

Peter is a software architect in the OpenEdge group at Progress Software, where he works on mainly integration and server technologies such as the PASOE server and HTTP client, and on the CCS and OERA reference applications. 

Peter's background is in application and application toolkit design and development, but his interests span the whole SDLC from design through to deployment, regardless of language and technology. 

Peter is a regular speaker at PUG and other Progress events on a range of topics from application design and programming REST APIs to general ABL topics like performance and debugging. On most days he can be found on the Progress Communities and other discussion forums. Peter likes to make things work together and learned nearly everything he's needed to know about software development from playing with Lego, mainly as a child. 

  • Networking with other users within the Progress environment attending this technical conference which focusses, amongst other topics, on OpenEdge
  • Various talks on key topics, each presented by knowledgeable and experienced speakers
  • Feedback from the PUG Challenge Americas held in Manchester, New Hampshire, USA in June 2017 and the EMEA PUG Challenge held in the extremely cold Prague, Czech Republic in November 2017

PUG Challenge is a conference for everyone who uses Progress products to develop or run business systems, whether they be developers, database administrators, software architects, infrastructure specialists or business analysts.

  1. The first day will be consisting of two tracks each with 6 sessions, (1Hr) per Track, containing Development and Administration sessions.
  2. The second day will be one track with 6 sessions and two 1/2 day workshops. 

Download Agenda

NB: This is the proposed agenda and may be subject to change!


Structured Error Handling in and out 

Mike Fechner

What is structured error handling and who should be using it? O.k. the last part of the question is an easy answer: everybody. This session starts with an introduction into structured error handling and covers also advanced topics like: Error class design and hierarchy, what information should be kept within custom error classes, assertions and error handling and logging. The session also discusses how to integrate structured error handling into existing applications and how STOP conditions can be integrated with error handling.

Implementing RESTful services with PASOE Web Handlers

Mike Fechner

In this practical session, Mike Fechner will explore the various way of connecting OpenEdge applications to REST clients. We’ll start with exploring commonly used API styles such as RESTful and HATEOAS and compare them to the API style expected by the Progress JSDO library used in Kendo UI Builder. Mike Fechner will be explaining how ABL applications can expose RESTful services through Web handlers (OpenEdge 11.6 and 11.7) and will demonstrate how they achieve HATEOAS style self-documenting APIs through annotations in CCS compliant Business Entities.

Unit Testing

Mike Fechner

Unit test tooling is available to any ABL developer. In this session, we’ll be starting with the basic principles of unit tests and discuss also best practices and challenges of writing unit tests. We’ll be talking about concepts for developing testable code, mocking of dependencies (e.g. code and data) and tooling such as Progress Developer Studio, ANT and Continous Integration servers. We’ll also be demonstrating how to get insight into test coverage as there are only two kinds of people that know their test coverage: Those that don’t use unit tests at all and those that use tools to track the test coverage.

OOABL best practices

Mike Fechner & Peter Judge

Writing class files is easy. Writing good class files requires a new school of thought – especially for procedural developers. In this session, Peter Judge and Mike Fechner will discuss some best practices for the OOABL. We’ll be talking about best usage of Enums, Interfaces, Parameter classes and ways to manage dependencies the CCS way. The presenters will be showing OO patterns every developer should know and know when and when not to use them. We’ll also be talking about the role of relational concepts like temp-tables and ProDatasets in a class-based world.

The world is your oyster: Calling REST services from ABL

Peter Judge

HTTP is the glue that holds the internet together, and JSON and REST are the lingua franca that lets customers and businesses talk to each other. Learn about the new HTTP and REST out API’s in the OpenEdge ABL. This set of OpenEdge.Net.HTTP classes allows a full set of HTTP and REST API’s to make calls from the OpenEdge ABL to any HTTP or REST server. These API’s grew out of requests from customers to be able to make REST calls from the ABL and push-notifications to Mobile users. We will discuss the structure of the classes, how to call them and then show different examples.

PASOE Web Handlers: A deep dive

Peter Judge

PAS for OpenEdge gives ABL programmers complete control over the request received and the response returned when using the WEB transport. This innocent-sounding sentence covers a wide range of topics: how do I retrieve that image my user sent me? How do I know what format the user expects the data in? This session shows you the kinds of data you can consume – from the URI, cookies, headers to the body – and return – JSON, XML, multipart messages and more. It will also go into error handling strategies and will show you flexible approaches to routing and mapping requests.

PASOE Best Practices: Structure, monitoring & security

Peter Judge

PAS for OpenEdge is a replacement for your current AppServer, and while your ABL code works pretty much as-is, there are some important differences in deployment models, application structure, troubleshooting & logging and security configurations. This session describes how to think about these topics in PASOE and how you can extend your application to take advantage of PASOE.

Coding worst practices  

Tom Bascom & Peter Judge

Also known as The Keyword Forget List According to Tom Just because you CAN-DO() it doesn’t mean that you should do it. Programmers are drawn to bad examples likes moths to a flame. No matter how many carefully crafted comments you put around that one usage of a special case some programmer will find it and suddenly propagate it throughout your application. Come to this session to learn why CAN-DO(), FIND FIRST, RELEASE and many, many other coding worst practices should be banned! Or at least learn why you should not continue to use these worst practices just because “everyone else always does it that way”.

Coding for network performance  

Tom Bascom

Are you wondering why your client/server code is so slow? And what you can do about it? This session will discuss the OpenEdge client/server messaging protocol and its impact on the performance of database queries. We will cover coding best practices, tuning opportunities, testing methodologies and present benchmark results! (This will be a South Africa World Premier!)


Performance Monitoring with ProTop

Tom Bascom

ProTop is a powerful tool that should be in every OpenEdge DBA’s arsenal. ProTop is a free, database monitor for Progress OpenEdge databases. ProTop sorts, filters and groups real-time VST data into insightful analysis screens that help to keep the performance of your database and application in tip-top shape. This session will focus on ProTop’s “out of the box” capabilities. We’ll learn how to approach common monitoring problems through live demonstrations and explain how to get started on the road to proactively managing your database and application. You’ll also learn how to leverage our online portal during your investigations (some optional portal features are paid features). With its ability to instantly zoom in on a specific time period and show a coordinated view of multiple graphs and metrics, the web dashboard allows you to quickly link cause and effect across varied data series across hours, days, weeks, months and even years of historical data!

Embedded Performance Instrumentation (Profiler, Temp-Table Monitoring, User Table Stats)

Tom Bascom

(Subtitle: Rational Application Performance Investigation Details…) You can only make an application go faster by improving the parts that are slow. It doesn’t help to optimize code that is already fast enough or that is only rarely used. User table stats, temp table usage stats and the application profiler can all be easily embedded in your application to provide powerful insight into exactly where performance problems are originating. In this session, we will explore these 3 under-utilized OpenEdge features, explain why they are useful and how you can embed them into your own code base to focus your performance improvement activities on code that really is slow rather than wasting time trying to guess which bits aren’t as fast as they could be! You will take home simple but powerful code samples that can be easily used with any OpenEdge environment: .NET GUI, Webspeed, App server, PASOE, Character, Batch or anything else!

D&L: more than just a few proutil commands

Tom Bascom

“Experience is a hard teacher because she gives the test first, the lesson afterward. – Vernon Law” Presentations on dump&load typically revolve around cool methods to get the data exported and imported in a ridiculously short period of time. The suspense! The excitement! Can he do it!?! The reality is that the dump&load process is far more than just dump+load+idxbuild. There are a hundred little bits and pieces and if you mess up even one of them, Monday morning is going to be one of those experience-building opportunities. This session will present a full D&L methodology: analysis, documentation, scripting and automation, verification and testing. With the information from this presentation, you can spend Monday morning accepting thank yous and congratulations rather than…gaining experience.

A Migration Story: From Big Iron to a “Commodity Server”

Tom Bascom

This real-life case-study of the migration of a 1,500+ user system from Solaris to Linux will examine the question of how large a user load a Linux Server can support. We will explore the reasons for the migration, the tools used to benchmark and validate the target system, discuss tuning adjustments and changes, the methodology used to ensure a successful migration, share the results of this project and talk about where projects like this might go in the future!

Storage optimization strategies

Tom Bascom

What are you trying to optimise: type 2 areas, database block size, rows per block, cluster size, create a limit, toss limit? The OpenEdge database has many mysterious knobs, dials and levers available for tuning storage parameters. How should you set them to achieve your optimisation goals, especially considering that optimisation is about trade-offs? In this session, you will learn how these settings interact and impact each other and gain insight into how to best apply them to get the most from your system!

Infrastructure war stories

Tom Bascom & Paul Koufalis

(Subtitle: How to Spend Lots of Money to Get Bad Performance) A collection of anecdotes covering a variety of issues that have cropped up over the years related to the infrastructure intended to “support” OpenEdge systems. Topics are intended to share other peoples mistakes so that you don’t have to make them yourself. (The title and abstract need a bit of work… this will also be a World Premiere!)

Secret behind DBA startup parameters

Paul Koufalis

So many parameters... what do they mean? Which are important? What values should I use? Everyone has questions about database start-up parameters. Bring yours and come to this presentation to hear some answers.

Hacksaws and Exacto Knives: Free Diagnostic Tools for Progress   

Paul Koufalis

Stop blaming the database! When problems arise, everyone expects the DBA to tweak a few parameters or the sysadmin to buy a bigger server. How about fixing the root cause instead? This presentation will show you a number of free tools available to diagnose your Progress-related issues.

OpenEdge Replication How-to, best practices

Paul Koufalis

Years of experience (and errors) have taught me a thing or three about OpenEdge Replication. Whether you’re using it today or simply thinking about it, this session is bound to teach you something new about how to best deploy and maintain an OER environment, including the new Replication Set feature in 11.7..


Dump & Load Techniques

Tom Bascom & Paul Koufalis

A long time ago, in a galaxy far, far away — dump and load used to be so simple: “Admin – Dump – Data”; wait a few days; “Admin – Load – Data”; wait a few more days. But it turned out people didn’t like being down for a week to do a dump and load, so over the years The Engine Crew has been nice enough to add a lot of new toys to make the process faster. These new options have reduced D&L times dramatically, but sometimes at the cost of increased complexity.
But you don’t care about complexity!
You want it FAST!!!
Come to this hands-on workshop to get some experience with modern approaches to dumping and loading and go home with a bag of tricks to apply to *your* systems!

Programming Workshop – 4GL Performance

Paul Koufalis & Mike Fechner

Is your idea of code performance review searching for WHOLE-INDEX in a compile-xref? If yes, then you need to attend this session. Learn about a whole universe of tools and techniques available to help diagnose and correct performance problems in your 4GL code. This session is a concentrated version of the workshop and focuses on index selection and profiling production systems.


Follow PUG Africa on Facebook and the PUG Africa website for more details and updates.

To register for one or both of these days please click on REGISTER above.


This site uses cokies. By continuing to browse the site, you are agreeing to our use of cookies. To find out more, please click here I understand