PUG Challenge South Africa 2018 Program Guide

PUG Challenge South Africa 2018 – Program Guide
(PDF downloaded version)

 

 

 

07:30 – 08:50 Breakfast

AGENDA – DAY 1

07:30 – 08:50 EVENT REGISTRATION
 
08:50 – 09:30 OPENING SESSION
  • Coenie Vermaak – PUG Africa
  • Mike Fechner – EMEA PUG Challenge
  • Tom Bascom – PUG Challenge Americas
 
PERIOD GREEN ROOM GOLD ROOM
09:30 – 10:30 OOABL best practices Secret behind DBA startup parameters
Mike Fechner & Peter Judge Paul Koufalis
10:30 – 10:45 TEA / COFFEE
10:45 – 11:45 Coding worst practices Hacksaws & Exacto Knives: Free Diagnostic Tools for Progress
Tom Bascom & Peter Judge Paul Koufalis
11:45 – 12:00 TEA / COFFEE
12:00 – 13:00 A Migration Story: From Big Iron to a “Commodity Server” PASOE Best Practices: Structure, monitoring, security
Tom Bascom Peter Judge
13:00 – 14:00 LUNCH
14:00 – 15:00 Coding for network performance OpenEdge Replication, how-to, best practices
Tom Bascom Paul Koufalis
15:00 – 15:15 TEA / COFFEE
15:15 – 16:15 Implementing RESTful services with PASOE Web Handlers Embedded Performance Instrumentation
(Profiler, Temp-Table Monitoring, User Table Stats)
Mike Fechner Tom Bascom
16:15 – 16:30 TEA / COFFEE
16:30 – 17:30 Structured Error Handling in and out Infrastructure war stories
Mike Fechner Tom Bascom & Paul Koufalis
17:30 EVENT CLOSE FOR THE DAY

 

07:30 – 09:00 Breakfast

AGENDA – DAY 2

07:30 – 09:00 EVENT REGISTRATION
 
PERIOD GREEN ROOM GOLD ROOM
09:00 – 10:00 The world is your oyster: calling REST services from ABL DBA Workshop
Dump & Load Techniques
Peter Judge
10:00 – 10:15 TEA / COFFEE
10:15 – 11:15 Unit Testing
Mike Fechner
11:15 – 11:30 TEA / COFFEE
11:30 – 12:30 PASOE Web Handlers: a deep dive
Peter Judge Tom Bascom and Paul Koufalis
12:30 – 13:30 LUNCH
13:30 – 14:30 Performance Monitoring with ProTop Programming Workshop
4GL Performance
Tom Bascom
14:30 – 14:45 TEA / COFFEE
14:45 – 15:45 Dump & Load: more than just a few proutil commands
Tom Bascom
15:45 – 16:00 TEA / COFFEE
16:00 – 17:00 Storage optimization strategies
Tom Bascom Paul Koufalis and Peter Judge
17:00 – 18:30 NETWORKING & SOCIALIZING   ( CASH BAR )
18:30 EVENT CLOSE FOR THE DAY

 

 

DAY 1 – GREEN ROOM

PERIOD SESSION SPEAKER(S)
09:30 – 10:30 OOABL best practices Peter Judge & Mike Fechner
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 about 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.
10:45 – 11:45 Coding worst practices Tom Bascom & Mike Fechner
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 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”.
12:00 – 13:00 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!
14:00 – 15:00 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!)
15:15 – 16:15 Implementing RESTful services with PASOE Web Handlers Mike Fechner
In this practical session Mike Fechner will explore 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.
16:30 – 17:30 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.

 

DAY 1 – GOLD ROOM

PERIOD SESSION SPEAKER(S)
09:30 – 10:30 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.
10:45 – 11:45 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.
12:00 – 13:00 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.
14:00 – 15:00 OpenEdge Replication How-To: Best practices and practical tips on how to deploy OER 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.
15:15 – 16:15 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!
16:30 – 17:30 Infrastructure war stories Tom Bascom & Paul Koufalis
(Subtitle: How to Spend Lots of Money to Get Bad Performance) Abstract: 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 people’s 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 Premier!)

 

DAY 2 – GREEN ROOM

PERIOD SESSION SPEAKER(S)
09:00 – 10:00 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.
10:15 – 11:15 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 Continuous Integration servers. We’ll also be demonstrating how to get insight into test coverage as there are only two kind 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.
11:30 – 12:30 PASOE Web Handlers: a deep dive Peter Judge
PAS for OpenEdge gives ABL programmers complete control over the request received and 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.
13:30 – 14:30 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 realtime 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!
14:45 – 15:45 Dump & Load: 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.
16:00 – 17:00 Storage optimization strategies Tom Bascom
What are you trying to optimise: type 2 areas, database block size, rows per block, cluster size, create 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!

 

DAY 2 – GOLD ROOM

PERIOD SESSION SPEAKER(S)
09:00 – 12:30 DBA Workshop – 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!
13:30 – 17:00 Programming Workshop – 4GL Performance Paul Koufalis & Peter Judge
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.

Please visit the the Speaker Biographies and Sponsors page for more information about the presenters and the generous sponsors.

PUG Challenge South Africa 2018 – Program Guide
(PDF downloaded version)