Community Breakout Sessions

OpenEdge Database Monitoring - Baseline Configuration

Tom Bascom

When you first get started there are some things that you really ought to know about your environment. And when "nothing changed" somewhere down the road you should verify that these things have indeed "not changed".

Duration: 25m

OpenEdge Database Monitoring - You've Learned A Very Important Lesson

Tom Bascom

You really don't want to learn these lessons after your database suffers from an unrecoverable error or avoidable corruption so lets make sure that you have things setup and running safely in the first place!

Duration: 25m

OpenEdge Database Monitoring - Boring Everyday Stuff

Tom Bascom

There are a lot of metrics that "everyone knows" you should be paying attention to. But much like "common sense" it sure would be nice if more people knew about these metrics and why you should pay attention to them.

Duration: 25m

OpenEdge Database Monitoring - The Coders Are Out To Get You

Tom Bascom

It's true. They are. And this talk is all about how to prove it.

Duration: 25m

OpenEdge Database Monitoring - Obscure Minutiae

Tom Bascom

White Star Software has been doing this stuff for a long time. We've run into all sorts of strange and obscure problems that you don't want to see happen in your environment. No worries! - we will share so that you don't have to go through that pain!

Duration: 25m

The Importance of a comprehensive cloud strategy to Progress ISV’s

Adrian Abbs

Trying to jump to the cloud without first understanding it could be catastrophic for your business both financially and reputationally. Our presentation aims to help and inform Progress users on how to create a comprehensive strategy and provides several success stories based around Progress OpenEdge and ISCorps cloud.

Duration: 50m

Run your Docker containers on Kubernetes

Bronco Oostermeyer

Quite a few of us have played with Docker containers or at least have heard of it. Using containers bring opportunity as well as challenges when it comes to keep everything up and running. Kubernetes has a solution for quite a few of these issues. Kubernetes helps keeping your application in a desired state which is a bit more than just running. Moreover, Kubernetes gives the possibility to describe the desired state in one or more files, making it possible to store your configuration in Git or whatever you are using. In this session the core components of Docker and Kubernetes are explained hoping to give you some new views insights on how to utilize these technologies for your business.

Duration: 50m

Software Design - Designing for (temperamental) Humans

Coenie Vermaak

At the heart of understanding the difference between good functional software and exceptional, successful software, lies the end-user. Understanding the psychological and emotional traits of humans, coupled with their expectations when interacting with software will assist designers and developers with delivering software that provide the sought-after competitive edge.

Amongst other things, this presentation will be considering:
• Mainstream design trends and platforms
    • Pro’s and Cons of adoption
    • User expectations caused by familiarity
    • Challenges and benefits caused by different platforms
• Human traits and the impact on the perception of software
    • Temperamental nature
    • Irrational emotional responses
    • Flawed logic
    • Physiology and psychology of humans
• Incorporating knowledge of the above as well as using design principles and tricks to ensure that your software solution uses the human traits to its advantage and not its detriment

Duration: 50m

Unit Testing PASOE Web Applications using Docker and Jenkins Pipelines

Daniel van Doorn

Details will follow.

Duration: 50m

Improving the UI/UX of your Progress legacy product

Gabriel Lucaciu

The goal of this presentation is to share the experience of how to improve the UI/UX of legacy software products.

The key elements of the presentation are:
• Why improving the UI/UX of a legacy app?
• Changing current UI or designing a new interface from scratch?
• Beginning where you and your customers currently are
• A journey with 2 designs: for the current product and for the future of the current product
• How Progress can help:
    • Kendo UI
    • Telerik DevCraft
    • Sleek UI

The key takeaways for the participants will be answering the following questions:
• What are the advantages of improving the UI/UI of a legacy app
• How to decide what to do with the existing design
• What Progress tools can be used in each stage

Duration: 25m

Product lifecycle extension of your Progress app

Gabriel Lucaciu

The scope of this session is to share with the audience the steps to bring in line their Progress legacy application with the requirements of the business of today. This presentation will give more insights about the good reasons of why investing in extending the life of a legacy Progress application. It will cover the main strategies of that can be taken based on the business needs and the investment needed.

The key elements of the presentation are:
• Why extending the lifecycle of a legacy Progress application?
• What are main the strategies that can be followed?
• What are the degrees of change?
• What are the main approaches and tools to use to get to the next level?
• How do the proposed architectures look like?
• What is the high-level process approach?

The key takeaways for the participants will be answering the following questions:
• What is the state of my current legacy Progress application?
• How is the legacy application affecting my business?
• What do I need to do to get my Progress app to the next cycle in its life?

Duration: 25m

Strategies for managing UX design of your new or modernized product

Gabriel Lucaciu

The goal of this presentation is to share the experience of creating a strategy for delivering compelling UX design. It will also aim to explain some approaches in projects when it comes to UX design.

The key elements of the presentation are:
• Defining UX Design and the elements of UXD
• Main strategies of managing UX design
• Main research techniques used
• Comparison between strategies and when to use each
• Examples from real case projects

The key takeaways for the participants will be answering the following questions:
• Possible strategies to define the UXD of your new application
• How to decide which UXD strategy to use
• How the process of UXD looks like

Duration: 25m

Boost your Progress app with IoT

George-Sergiu Bălăucă

It is already a well-known fact that the Internet of Things subject is not just a hype nowadays, with experimental purposes, but a targeted principle with bidding results when properly applied. An entire industry has been built upon this, starting from small gadgets and going further to the automotive world. So how would IoT speed up your application?

Since working with Progress OpenEdge applications for a while and also being a fan of Arduino IoT devices, I began to fancy a vision of quickly being able to import data into an application by the use of sensors and web services. We are all familiar with the sluggish process of manual data entry, but there could be opportunities of automatizing this whole operation.

My project will be built upon a basic API performing CRUD operations on a Progress OpenEdge database via an OEPAS server and a client represented by an Arduino development board having linked a sensor reading data. The communication between the two modules will be based on REST services. This whole process will simulate the import of real-life data in an automatized way, emphasizing the speed gap and the accuracy between it and the old way of manual data entry. One such gap that can be eliminated would the following: manually processing periodic temperature data in a room vs using a sensor.

To conclude with, the main takeaway is straightforward. Speeding up data import comes in handy in any application and using IoT is the way to do it. The only aspect left for you to consider is where exactly you could apply this, not if or why you should do it.

Duration: 25m

ABL Code Analytics: Unique Tools for Deep Code Analysis and Inspection

Greg Shah

It can be very difficult to refactor or modernize application code. To do it properly, one must thoroughly understand the existing implementation and its dependencies, so that the improved code does not lose or break functionality in the current code. This typically means a great deal of manual investigation of the code and schemata. This can be error prone and very time consuming, especially when the ABL code is ambiguous or complex. Often, developers spend a great deal of time trying to grep through source code, hoping that their regular expressions are matching all of the abbreviated mixed-case keywords needed give some idea of what is going on.

The FWD open source project provides unique and powerful capabilities for the deep analysis and inspection of ABL code and schemata. Instead of using text searches, FWD is syntactically aware of the ABL code. It is trivial to answer a question like "show me all locations in the application which use a CAN-FIND on the CUSTOMER table and in the WHERE clause there is a reference to the ORDER-NUM field of the ORDER table as an operand to the EQ or = operator". Using FWD, you will find an exact answer to this question and there will be no doubt that you found all instances of these references.

In addition to ad-hoc search and inspection, FWD has an extensive set of pre-defined reports and statistics, a web-based interface for searching, reviewing reports and a source code view that shows the code and the AST side by side.

This session will introduce these tools, show how to use them to good effect and will provide details on how to get started on your own project. The tools can be used on any ABL project.

Duration: 50m

Eliminate Dead Code (and More) Using Automated Call Graph Analysis

Greg Shah

Large applications build up substantial amounts of dead code over the decades in which they are developed. Dead code commonly comprises between 25% and 40% of a mature application's source code.

Eliminating dead code reduces the future effort needed to enhance and maintain the application. When dead code is mixed together with a larger application, all efforts to analyze, enhance, rework and refactor the code must consider that code. This is unnecessary effort at best. In a worse case, the result can be more complicated code when changes are modified in order to match requirements from that dead code.

Using automation for process the call graph is the only practical way to do this for large projects. The FWD open source technology provides an automated call-graph analyzer that allows one to create and explore the call graph for the entire application. One common usage is to drop dead code out of a project. Being able to explore the call graph is invaluable in a refactoring or modernization project, because some questions can only be answered by knowing what code can call a particular target entry point. The call graph is visualized and explored using a web interface.

This session will introduce these tools, show how to use them to good effect and will provide details on how to get started on your own project.

Duration: 50m

Ant-Man: Embrace your inner hero and save the world!

James Palmer

Task automation for the DBA using Apache Ant
• Backups • AI File Management • Generating and applying incremental DF from full DB DF • Simple dump and load of small databases • DB Downgrade? • etc.

Duration: 50m

Groove is in the Ant

Gilles Querret

An introduction to Groovy and Gradle.

Duration: 50m

Managing Distributed teams in the time of COVID-19

Marko Rüterbories

Details will follow.

Duration: 50m

Examples of refactoring legacy ABL Source Code to PASOE

Mike Fechner

Details will follow.

Duration: 50m

Managing Dependencies in OOABL Applications

Mike Fechner

Details will follow.

Duration: 50m

OO Patterns and Practices - Theory

Lutz Fechner

Details will follow.

Duration: 50m

OOABL Patterns and Practices for OE

Mike Fechner

Details will follow.

Duration: 50m

Automation Test Strategy for Progress Web Applications

Oxana Mureșan

The goal of this presentation is to share knowledge about defining a strategy on ensuring quality of a web application developed in Progress by automating the processes.

The key elements of the presentation are:
• What is a test strategy and why it is mandatory
• What are the steps in defining a strategy for automation testing of a web application
• What testing types can be automated and what would be the benefits
• Functional automation testing - Strategy and Tools
• Unit Testing (ABLUnit, ProUnit, OEUnit)
• UI Automation Testing (Selenium, Protractor, Test Studio)
• Non-functional automation testing - strategy and tools
• Performance Testing (NeoLoad, Jmeter, Taurus)
• Security Testing (BURPSUITE, NMAP, OpenVas)

The key takeaways for the participants will be answering the following questions:
• What is the automation testing - strategy on ensuring quality of a web application?
• What are the tools that can be used in automating the testing process of a web application?

Duration: 25m

Things that go CRASH!! BOOM!! BANG!!

Paul Koufalis

We often hear how someone's OpenEdge environment has been running for 47 years without nary a reboot, upgrade or sacrifice to the computer gods. Being part of a company that has fingers in a very large number of production environments, I can assure you that stuff happens. Sometimes it's a bang, sometimes it's a whimper and sometimes it's FIREWORKS!

In this hour, I'll talk about some of the more interesting customer events of late, what we learned, and how you can prevent these events from happening to you.

Duration: 50m

Top Ten List: New OpenEdge Database Enhancements

Paul Koufalis

Every release of OpenEdge brings along new and interesting features for the DBA: some you may heard about or even tried, but I bet there are a bunch of relatively new features that you don't even know are out there.

This session will count down my top ten list of new DBA features from OpenEdge 12 and 11, and maybe a couple of honourable mentions too.

Duration: 50m

In pursuit of Big Data – it all starts with CDC

Demetrius Ganesh

MIP’s journey to provide our platform for Big Data, Business Intelligence, Machine Learning and Artificial Intelligence.

In the operational environment, yesterday’s data is vital, but it’s not enough.
MIP wanted a data store that includes everything since day 1, and up to the minute.
And a history of changes along the way ...
And another thing: we need to be able to run this at any of our 70 customers, on about 250 databases, so it must be easy to plug-and-play.
Oh – and we might want to store the data on any platform, like SQL databases (MySQL, SQL Server, PostgreSQL) or document stores (Hadoop FS, MongoDB) or search engines (Elasticsearch).

This technical session will discuss some of the trials and triumphs en-route to achieving those objectives from an Open Edge database.

Duration: 50m

Compare Angular, Vue, React

Radu Nicoara

Details will follow.

Duration: 50m

Unit Testing Angular

Radu Nicoara

Details will follow.

Duration: 50m

Truly native Apps with NativeScript and Vue.js

Robert Prediger

Want to release that app you've been dreaming about without the hassle of learning new languages? NativeScript-Vue is the right choice for you!

In this breakout session, we will show you why NativeScript and Vue.js is a perfect combination for your apps. You will see how to start, a few real examples and a few tips and tricks learned from experience.

Duration: 50m

OpenEdge Application Performance Monitoring with Prometheus and Grafana

Sergejus Kornejevas

Performance issues are annoying because:
• It is hard to replicate them when you don’t know where to look
• It is difficult to say how slow the application is performing without any historical data.

 

Progress OpenEdge applications are not an exception. In this session, we would like to share our experience of how we tackled performance issues using Application Performance Monitoring (APM). We used tools like Prometheus and Grafana to collect and visualize application metrics. As a result, we can identify issues faster and measure the improvement after the changes are implemented.

Did we just remind you about painful performance-related issues? Feel free to join our session and share your experience!

Duration: 50m

NativeScript

Herman Onrust

Details will follow.

Duration: 50m

Pen Testing for OpenEdge Environments - How Penetration Testing techniques can help secure your OpenEdge environment

Michael Solomon

Organizations of all sizes are choosing, or are required, to leverage penetration testing and Red Teams to validate their cyber attack readiness. A Red Team is similar to a penetration tester, but isn't really focused on finding a range of vulnerabilities. The team "wins" if it finds just one way to break in. Red Team games and penetration testing can both evaluate how well your organization can detect, resist, respond, and recover from today's cyber attacks. In this session you'll learn how to set up penetration tests and form your own Red Team, and you'll see demos of some of the techniques used to compromise an insecure OpenEdge environment.

Duration: 50m

How to work with OpenEdge application development and testing using Docker containers

Thomas Hansen

One of the challenges that development teams often face is the need to be able to work on different contexts of an application and be able to easily switch between them. This is the case for both development and testing of applications. Traditionally, this is handled by having many different environments and possibly several machines with individual installations for each context or part of the application to be worked with.

With the combination of Docker containers, Docker Compose, git branching and automated builds it is simple to spin up a complete application stack with all the needed components (code, databases, tools, pasoe, ...). Using Docker images, the application stack can be running on a specific git branch of a project. Testing specific contexts of your application has never been easier.

We will show how to spin up and work with a complete OpenEdge container stack and how the resulting changes can easily be tested by simply using a build of the branch with the application changes.

Duration: 50m

BoF: I remember when

Julian Lyndon-Smith

"birds of a feather" session hosted by Julian Lyndon-Smith (+ others like M Fechner, T Bascom et al) , nodeable.io, reminiscing over the last three decades of Progress and Openedge. A "fireside" chat about our favourite , (or worst!) memories of code, conferences, work and experiences. Let the old dogs explain to the millennials and generation z about why 64k was more than enough for any .r Or when we had to compile everything when we changed anything in the dictionary. Or that time at [insert conference here] when [insert name here] did [insert event here]

During the session we will be voting on a number of top 10 xxx and discussing the results. A light-warmhearted, fun session for all!

Duration: 50m

Progress Breakout Sessions

What's New in the OpenEdge 12 Relational Database Management System (RDBMS)?

Rich Banville

There have been many exciting advancements made to the OpenEdge database and its related products helping you achieve success when managing your OpenEdge deployment. Not only have there been huge improvements in performance and scalability, but the advancements in continuous operations, security and space management make OpenEdge 12 the release you will want your customers running. You will gain insight into these database advancements delivered in the OpenEdge 12 series. After attending this session, you will understand why you should jump onto the OpenEdge 12 bandwagon to achieve that success.

Duration: 50m

Continuously Driving Towards Five 9's

Tim Sargeant

Today’s digital consumers have high expectations for applications, with even a moment of downtime having huge ramifications. See how OpenEdge 12 was designed to deliver Five 9’s availability.

Duration: 50m

Best Practices for Migrating to OpenEdge 12

Dustin Grau

Come and learn from the Progress Customer Success team about the lessons learned while helping customers and partners move their deployments to the OpenEdge series.

Duration: 50m

Migrating from Classic Application Server to the Progress Application Server for OpenEdge

Diane Clifford (Host), David Atkins - Principal Solution Architect, Michael Banks - Principal Engineer, David Cleary - Software Architect and Product Owner and Roy Ellis - Senior Product Owner

In this interactive panel discussion join the Progress team as they explore the business benefits of modernizing to the Progress Application Server for OpenEdge. Migrating is the first step in achieving a modern, evolved application architecture that will continue to add value to your organization as user and business demands shift.

Duration: 50m

2020 Beyond the Code: Demystifying Various Technologies to Secure OpenEdge to the Cloud

Ifran Syed

In the modern era, security is top of mind for many enterprises. This is especially the case as more and more applications are moved to the cloud. One of the key benefits of migrating to the Progress Application Server for OpenEdge, which is built on Apache Tomcat, is the built-in Spring security framework. This framework locks down your application against outside vulnerabilities. We will demonstrate configuring Spring security for OpenEdge in distributed environments.

Duration: 50m

Evolving OpenEdge Digital Experiences

David Atkins

Compelling digital experiences are important for all users of your business applications. In this session, we will cover the importance of a UX-first approach, how to architect business applications for scalability and security in the web and cloud and discuss how a reusable modernization approach and tooling greatly simplifies exposing REST APIs to your backend data and logic, while allowing you to rapidly create component - and template-based web and mobile user interfaces.

Duration: 50m

The OpenEdge Roadmap

Oleg Kupershmidt

As customers and partners continue to explore and adopt OpenEdge 12, Progress has remained steadfast in strategizing and delivering new capabilities supporting continuous operations, continuous integration and deployment, availability, performance, security and more. Hear from Progress product management leaders where OpenEdge will take you next.

Duration: 25m

Dockerizing your Progress Application Server for OpenEdge through CI/CD

Vikas Tawniya

Are you still spending time on installing application server and databases when it's a matter of few commands and a couple of seconds? Why spend time creating and maintaining dedicated machines for different phases between development and deployment? In this session you will hear how to efficiently implement a CI/CD pipeline as OpenEdge has provided support for deploying the OpenEdge database and the Progress Application Server for OpenEdge server in a Docker container. This session will also exhibit utilization of containers in the CI/CD environment for OpenEdge applications that can help you expedite your "Development to Deployment" cycle.

Duration: 25m

Case Study: How to Build an Effective CI/CD Pipeline in an OpenEdge Ecosystem

Steve Southwell

In this session we will dive into an OpenEdge customer case study and see how Teknion has implemented a comprehensive CI/CD pipeline including the utilization of many open source, industry standard tools. This includes a complete CI/CD strategy from source code management, testing, artifact collection, auditing, code quality, and deployment. We will also discuss how OpenEdge versions 11 and 12 provide an open architecture that plays nicely with modern DevOps Strategies and Tooling.

Duration: 25m

What Has Your ABL Done for You Lately?

Fernando Souza and Roy Ellis

Many new features can be found in the latest release; 12.2. These features span the gamet of database, PAS for OpenEdge, ABL, and Object Oriented ABL (OOABL) such as Safe UserID, modernized define statement. Other enhancements include your requested features such as Package Level protection for OOABL classes and the compiler option to prevent methods/functions with no return. Attend this session to learn how you can drive the priority features to be explored in the future.

Duration: 25m

Explore OpenEdge Deployment Techniques to the Cloud through the AWS Quickstart

Roy Ellis

This session introduces you to deploying and running OpenEdge to a cloud environment such as AWS. Cloud environments offer resiliency, scalability and security out of the box. We will demonstrate deployment to the AWS Cloud using techniques such as the AWS Quick Start and best practices for security and high availability.

Duration: 25m

Modernize the Build Process for ABL Projects

Rahul Kumar

There are many ways to build ABL applications, for example, using Developer Studio, ABL procedure, ANT tasks (PCT), etc. While all of them get some of the job done, each requires some amount of manual intervention, is less maintainable, and lacks uniformity in the way applications are built in a development and integration environments. In a nutshell, the process of building ABL applications is complex and takes a lot more time than it should. The developers want to spend their time developing solutions to solve market problems rather than being regularly involved in the build process and the business stakeholders want to be effective and efficient at bringing solutions to market early and often. This session focuses on addressing these needs of the developer and the business stakeholders. We will take a look at the newly developed Gradle based framework which will simplify and automate the process of building ABL projects, why you should invest in adopting this framework, and how you can migrate to this framework.

Duration: 25m

Beyond the Code: Explore CI/CD and Containers

Cameron Wright

Continuous Integration/Continuous Delivery (CI/CD) is an automated process where code is merged, built, quality tested and published with the ability to deploy. Continuous Integration (CI) gives you the ability to quickly locate regressions in newly checked in code. Continuous Deployment (CD) is the ability to automatically deploy to a staging or production environment.

In this workshop, we will discuss how CI/CD can be applied in the OpenEdge environment. We'll explore standard CI/CD practices that ease software delivery and help to achieve high availability.

Topics include:
• Introduction to CI/CD and pipeline tools
• How to introduce a pipeline into your organization
• Setting up a CI/CD environment
• Running a CI/CD pipeline with a sample OpenEdge application

Duration: 3 Hour Workshop

AWS Quickstart for OpenEdge

Edsel Garcia

This workshop introduces you to deploying and running OpenEdge to a cloud environment such as AWS. Cloud environments offer resiliency, scalability and security out of the box. You will learn hands-on how to deploy to the AWS Cloud using techniques such as the AWS Quick Start and AWS best practices for security and high availability. The Quick Start includes AWS CloudFormation templates to automate the deployment and uses AWS best practices for security and high availability. The AWS environment uses templates to provide support for running the OpenEdge database with replication and running PAS for OpenEdge with an Elastic Load Balancer and an Auto Scaling group with multiple high availability zones.

You will deploy a sample OpenEdge database and application on AWS cloud.

An AWS account with IAM Administrator access is required.

Duration: 3 Hour Workshop

Beyond the Code: Tips & Tricks for Success with the Progress Application Server for OpenEdge

Dustin Grau

Progress Application Server for OpenEdge is an enterprise-class application server that connects your application business logic to a variety of client technologies in a highly-efficient and scalable way. In this workshop, we will introduce tips and tricks, with hands-on examples using the latest features in the OpenEdge 12 series. By identifying problematic areas using the available monitoring tools you can ensure your application is always at its peak!

Learn hands-on how to uncover particular metrics during code execution and how to automatically track and graph results for easier consumption.

Topics include:
• Defining the role of OpenEdge Manager
• How to locate possible memory leaks
• How to use test results to properly size system resources

Duration: 3 Hour Workshop

Exploring REST to Communicate with your OpenEdge Application

Dan Mitchell and David Atkins

In this hands-on workshop we will explore the various approaches available for exposing a REST API to your OpenEdge data and business logic. You will be able to determine which approach is most appropriate for different application types and use cases, including web and mobile development, B2B integration and BI/analytics.

You will gain first-hand insight into the design-time steps to implement each style of an OpenEdge REST Service, and touch on topics such as deployment, versioning, security, scalability and testing.

Duration: 3 Hour Workshop