Wednesday Breakout Sessions

Programmers Track

James Palmer – The Captain’s log (60 minutes)

From the makers of How Heroes Navigate the Query Minefield (2015) and Back To The Future: Why You Should Upgrade (2016) comes this year’s instalment in the developer improvement trilogy: The Captain’s Log.

We all know the scenario: our code’s not working, but we don’t know why. Surely there must be a way of getting more detail to debug the problem easily? Maybe we revert to adding messages through the code. Maybe we step through it visually. Maybe we add complex logging to it. But then, how do we easily control whether it’s on or off?

Client logging is the tool you’ve been looking for. If you already know about Client logging, then this talk is probably for you. If you don’t know about client logging then this talk is definitely for you.

We will look at the various ways we have of switching on Client logging on a client session. We will take an in-depth look, with examples, at the output you get from the plethora of options available to you, including what each logging level adds to the output. We will finish with some recommendations of what you should capture as a minimum to improve your ability to debug problem code, particularly in scenarios that are only reproducible on a client session in production. Let’s do all the hard work of investigating the options available together, so you can implement what you need immediately when you get home.

By the end of the session, you, the captain of your code, will have all the information available to you to chart your course forward with confidence knowing that whatever trials are thrown at you, you will fix them with ease.

Marian Edu, Mike Fechner & Wim van der Ham – Exposing and consuming RESTful services from the ABL (90 minutes)

In this practical session Marian Edu and 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.

Marian Edu will be demonstrating RESTful services exposing ABL business logic based on the Node.JS frameworks Strongloop and Loopback. He will conclude his presentation with a short overview of ODATA.

Wim van der Ham will be demonstrating the other side of the story … he will demonstrate how to consume RESTful services from ABL classes using the HTTP client available in OpenEdge since Release 11.5 (officially supported since 11.6).

Gilles Querret – Continuous integration and deployment with Jenkins 2 (90 minutes)

Building OpenEdge applications with standard tools has been possible for ages, and Ant / PCT / Jenkins have been tools of choice for continuous integration. But did you know that Jenkins 2 recently brought "Pipelines", a new way to manage the entire application lifecycle? This session will explain the concepts of continuous integration and continuous delivery through a sample application, covering build automation, client and server deployment and database updates.

Pieter Meyer, James Palmer, Tom Bascom, Mike Fechner and Jeff Ledbetter – Debugging and Trouble-Shooting Panel (60 minutes)

Everyone has experienced the situation where a small bug or misconfiguration causes a big problem in the system or application. Getting to the bottom of the source of the issue is often difficult without the right tools and techniques. Getting to the bottom of the issue quickly can be the difference between a happy and an unhappy boss or customer. We have assembled a crack team of experts on debugging and troubleshooting techniques to talk about their experiences and to answer your questions.

DBA Track

Adam Backman – Top n performance tips (60 minutes)

Performance is a vital component of user satisfaction. There are few issues more visible than poor system performance. This presentation will cover things that can be done in the setup, deployment and monitoring phases of your system to provide reliable performance to your users without changing application code. While you can never make bad code look perfect, you can make it better and in many cases this is enough to buy the time needed to find and correct code problems before they become critical. The goal of any database administrator is to make the database perform as well as possible and avoid being the bottleneck. This presentation will provide many helpful ways to ensure that your system will run as efficiently and effectively as possible.

Tom Bascom – Getting Started: DBA Basics (90 minutes)

People often ask what tasks a newly minted OpenEdge DBA should be performing? What should my daily, weekly, monthly etc checklist have on it? What's good? What's BAD? Where do I even look to find out? What do I need to pay attention to? What can I ignore? What should I lose sleep over? When should I update my resume? Who can help me? In this session we will show you the way through the challenges that lie in front of you and help bring peace to your weekends and evenings!

Gus Bjorklund, Mike Furgal - Tales of the Secret Bunker 2017 (90 minutes)

In this talk we share the results of numerous database performance measurements taken with modern releases of the OpenEdge RDBMS. These measurements were conducted in the well-known Secret Bunker.

In particular, we will show the effects of combining certain database features. Among these are After-Image Journalling, Transparent Data Encryption, OpenEdge Replication and a few other things.

Join us as we go down into the Secret Bunker to see what we can find there.

Dan Foreman – Captain, Where should I go? What should I do? (60 Minutes)

One of the classic lines from the movie Titanic. So what does that have to do with Progress? Mainly, that a disaster should not cause paralysis. You need to act quickly, safely, and intelligently. This presentation will show you the basic steps of how to troubleshoot issues such as:

• My database is slow. What’s the problem?
• My database is frozen. What do I do now?
• My database has crashed. What should I do next?
• Some users are locked up, but others are not. How do I find the problem?

The session will also show you how to not make the problem worse!

You should come away from this session with a basic checklist of things to look for that will help you identify the root cause and fix the problem.

Community Breakout Sessions

Adam Backman – Build your own luck - Avoid system failures with simple planning

People always say that you are lucky when something bad happens but it does not affect you. In very rare cases this is true but in most situations this luck is the result of smart planning. This presentation will look at the sources of system failures and the simple steps to avoid the most common problems. Building with redundancy with a vision of potential failures allows systems to be resilient in the face of most common issues. Automating tasks and eliminating the human factor, the source of the majority of system failures, will provide an easier to support and far more reliable system. Step-by-step procedures to automate processes will make functional and reliable system administration easy and approachable.

Sources of system failures:

• Human error
• System failure
• Man made disaster
• Natural disaster
• Building reliable systems
• Choosing reliable partners
• Redundancy
• Architecting reliability
• Building reliable processes
• Eliminate human error through automation
• do, document, automate, test

tags: Planning, Disaster Recovery

Alon Blich – Dashboards and reporting made easy with Kendo UI Builder 2.0

Easily create beautiful and responsive, mobile first dashboards with the new charting components and powerful Word, Excel and PDF reports with a new report template using nothing but OpenEdge and the latest version of Kendo UI Builder.

tags: Reporting, Kendo UI Builder, Dashboards

Gilles Querret - Groove is in the Ant

Despite being primarily a build tool, Apache Ant is a very practical tool for manipulating files including zip files, copy, resource processing, … But if ever you’ve been working with a build.xml file and found yourself a little restricted by all those pointy brackets, or found it a bit weird using XML as a scripting language and wanted something a little cleaner and more straight forward, then maybe Ant scripting with Groovy might be what you’re after. This session will describe how a database update mechanism can be written by combining the strength of Ant, PCT and Groovy.

tags: Tools

Coenraad Vermaak – Understanding usage patterns of your ABL application: Business and Technical Benefits

A sound understanding of how end-users interact with your system is vital for the following reasons:
1. Understanding where to focus Development
2. Understanding where to focus Testing effort
3. Quantifying the impact of bugs and performance issues on your customers business
4. Helps to identify potential deficiencies in business processes
5. Provides empirical data to create a rational software roadmap
6. Critical in identifying a starting point for modernization projects or component upgrades
7. Understanding user usage volumes assist in software design and optimization of processes
8. Helps eliminate dead code or potential technical debt

The session will focus on what type of metrics to track and discuss potential data points to analyze. Through examples and a deep dive into the dataset, the technical and business value will become apparent. The necessity of understanding usage patterns to shape development and testing efforts to maximize customer satisfaction as well as guide project planning and management will be illustrated.

tags: Code Analysis, Development

Coenraad Vermaak – UI Design - A Look at Human Behavior and the impact on Design

Modern technologies provide software designers and developers with a vast array of platforms and tools. In this discussion we'll look at the psychology and studied behavior of humans to better understand how UI design impacts end-users and what designers can do to ensure usable friendly design and the implementations of bad design.

Some of the topics that will be highlighted are:
• The role of perception on Experience, Current Context and Goals
• The role of Proximity, Similarity, continuity and Symmetry on vision
• Recognition vs Recall - Implications for UI Design
• Time Requirements - Impact of System Responsiveness and real-time human interaction deadlines
• The trade-off between knowledge in the world and knowledge in the head
• Bad design - a contributing factor to human error
• Design thinking
• Some Well-Known User Interface Design Rules

tags: UI Design, Tools

Dan Foreman - TEMP-TABLE Monitoring & Performance Tuning

TEMP-TABLEs are typically one of the crucial components in a Progress application. But for many years it was difficult, if not impossible, to capture useful information about TEMP-TABLE activity and behavior. This presentation discusses the options that are available for monitoring and tuning TEMP-TABLEs in all versions of Progress. Especially exciting are the new parameters and keywords that were added in OE 11.

tags: Development, Performance, Monitoring

Dan Foreman - promon for Dummies & Geniuses

Understanding the promon utility is critical for troubleshooting database performance and other issues. However, promon has several menu levels and each level is more mysterious and has less documentation than the previous one. This presentation will take you on a detailed tour of promon from top to bottom and will identify what screens and metrics are valuable and those that are not.

tags: Performance, Trouble Shooting, Monitoring, DBA

Dan Foreman - Needle in a Stack Trace

Stack Trace files contain valuable information that can be very useful to a Progress developer or Database Administrator. This presentation demonstrates how to understand and analyze Stack Trace files. Topics include:
• How to safely generate a Stack Trace on all operating systems
• A method for generating Stack Trace files without human intervention
• Analyzing the contents of a Stack Trace file
• Live case studies of how Stack Trace files helped to understand and fix problems
• Alternatives to Stack Trace files

tags: DBA, Development

David Ritchie, James Leckenby - Progress case study: OpenEdge/NativeScript system modernisation project for Powerleague Group

European 5-a-side football business Powerleague Group was looking to re-brand the business, significantly increase revenues, and ensure that its systems are ready for scale in line with ambitious future European expansion plans. Following a systems review, which considered systems replacement, managing with current technology or full systems modernisation, Powerleague turned to UK Elite Progress Service Delivery Partner Pace IT Systems, to modernise their current OpenEdge based Finance and CRM systems.

Project benefits & highlights:
• Faster completion, lower investment and risk
• Integrated Powerleague’s existing OpenEdge v.9.1 based CRM and finance systems ensuring full back office systems connectivity
• Upgraded OpenEdge v. 11.6 for reliability and scalability
• Improved customer experience and user interface via slicker, competitor-beating, mobile and tablet based apps
• OpenEdge API aggregator connectivity for additional revenue streams
• Harnessed ReactJS, Gulp, Webpack , Telerik NativeScript and Docker technology

What systems modernisation delivered for Powerleague Group:
• 6-month return on investment!
• Supports 125,000 daily requests – and beyond
• 200% online revenue increase
• Unique visitor sessions up 15%
• 150% increase in pitch availability searches
• Website inbound sales leads up 200%
• Enabled new product introduction with subsequent revenue generation

tags: Case Study, Modernization

Denis Kyashif - Understanding KendoUI for jQuery

KendoUI provides a complete toolbox for building rich, dynamic and functional Web and Mobile UIs. We’ll go through its main features like the UI Widgets, Data Binding, HTML templates and the MVVM Framework for creating Single-Page Apps. We’ll peek under the hood in order to understand how KendoUI works by following the software engineering concepts applied for building the framework and we’ll discuss how to make the best use of it.

tags: UI Design, Tools, Web

Gilles Querret - Technical debt management with SonarQube

If your development team feels that new features or bug fixes are taking longer and longer to be implemented, then it’s probably because you’re paying interest on a high technical debt. But what exactly is technical debt? How can you identify it in your products? This session will answer those questions by introducing SonarQube, an open-source code quality management platform, and show how this is applied on Java, Javascript and OpenEdge projects.

tags: Code Analysis, Technical Debt, Tools

Gus Bjorklund - Time (and how to get rid of it)

In this talk, we examine the various ways in which time is expended during the execution of a transaction by multiple concurrent users. One of these is "lock latency".

We then look at how latency can be reduced to quite small intervals by careful tuning. Experimental results are provided.

tags: DBA, Deep Dive, Performance

Gus Bjorklund - Behind The Scenes: Updating A Record

In this talk we examine what happens under the covers (or “behind the scenes”) in the 4GL client and the database when we execute a a simple 4GL program. Included are what happens when the program is compiled, client side data structures for the database connection and record buffers, database transaction management, data buffering and locking, and other arcane subjects. After hearing this talk, you should be able to go home and make your own 4GL client and database.

tags: DBA, Deep Dive

Jaclyn Barnard, Jeff Ledbetter - Software Configuration Management Primer

Every day, more projects. More code to be developed, managed, stored, and shoot! That code change we rolled out last week is having some interesting side effects. Can we reverse it and try again? There are a lot of ways to manage all of the development work your team does. With the practices and tools you have in place, is your team set up to win or just to get by? In this session, we'll walk you through a simple Software Configuration Management (SCM) Litmus Test. Whether your organization passes or fails, you'll leave with a better sense of what its strengths and weaknesses are and see firsthand how implementing mature SCM practices can make work life easier for everyone.

tags: SCM, Tools, Development, Deployment

James Palmer - DBA Challenge Feedback

Feedback session for this year's DBA Challenge

tags: DBA

Jeff Ledbetter - Stop! Don't Throw Away Your ADM2 Code Just Yet!

Many of you have built proven, production systems based on the ADM2 framework, and are now faced with the challenge of application modernization. Modernizing your application doesnít have to mean throwing away years of work and bug-free business logic. Your ADM2 application has served you well, so why toss it and start over? It was supposed to be "future-proof".

A well-designed service interface layer provides flexibility that allows you to extend your application access to non-smart ABL, GUI for .Net, Java clients, and REST-based APIs. In this presentation, I will share how using some slightly-simple/slightly-sophisticated techniques can allow you to build an integration layer around your core ADM2 SmartDataObjects, enabling you to keep your transaction validation logic in place as well as continue using a tested and working mechanism for CRUD operations.

tags: Legacy, Modernization

Jo Huys, Koen Verbeeck - Using Telerik Document Processing Library and ChartView for Professional Documents and Reports

For many OpenEdge applications, the produced output in the format of documents, reports, spreadsheets etc. is very important because that's what's visible to the end-user or end-customer.

When the Telerik Control Library became available to OpenEdge 11 developers, the Telerik Document Processing library might be a jewel that is overlooked at first sight, and the more you explore it, the more you'll appreciate it.

Telerik Document Processing library allows the OpenEdge developer to generate exceptional documents, spreadsheets and reports using various commonly used formats like PDF, DOCX, XLSX, Html, Rtf etc.

Combine this powerfull library with the stunning visual effects of the Telerik RadChartView, and you have all the components available to create amazing documents and reports.

We've explored and used the Telerik Document Processing Library and Telerik ChartView components extensively and use it to generate professional documents and reports on the OpenEdge AppServer and would like to share our experience with you.

tags: Tools, Reporting

Veronika Repnau & Liis Hundt - How we created 40 new Progress developers in just 4 months

During the presentation we will give the overview how this initiative started, what were the steps and how was the journey. And we will share students feedback & tips for Progress how to make process more smooth for people who see first time Progress technology. Presentation has also technical part – showing some of example exercises for the students and how they have solved tasks. Some examples of their exam work as well.

tags: Case Study, Training

Mara AndreicuČ› - How to deal with Progress Legacy Code

After having to deal with legacy code in one project, and facing the same thing in the next one, I decided it’s time to step in make a change. Most of us encounter legacy code everyday, and we would love to make it more fun, more interactive.

With your approval, I would like to share some best practices that help a lot when coding between lines that are older than us. I would like to give some examples that demonstrate the power of Progress, including some new features and how to use them in ancient projects.

The presentation will contain a short description of what legacy code means, how can we recognize it. Also, it will include the first steps in ‘facing’ it, the main problems that can be encountered, engaging examples, and how Progress is helping us in that area.

tags: Legacy, Modernization

Marko Rüterbories - PASOE VS Legacy AppServer

While modernizing your OpenEdge application you want to be open to support various clients? Then think about leveraging the scalability and flexibility of using an AppServer. But now there are two choices and maybe you already have licenses for one or the other. During the presentation I will give an overview of the architecture and capabilities of the two different AppServers provided by Progress Software. We will have a look at the differences in the setup and configuration process as well as how to connect the same client to both type of AppServers. We will also discuss various possible deployment strategies.

tags: AppServer, Modernization

Marko Rüterbories - OpenEdge REST Backends, JSDO, Kendo UI and Angular 2

Angular 2 is more than just a new version of Angular JS. It’s state of the art for web application development. A new language (a real language), build tools, a component based framework and eco-system. In this presentation we’ll show the basic building blocks of an Angular 2 application, connect the Kendo UI grid to an OpenEdge backend through the JSDO and talk about lessons learned while porting our Angular JS 1 based frontend to Angular 2.

tags: REST, Tools, UI Design

Mike Fechner - The Tool-Stack Used by an OpenEdge Tool Vendor

Consultingwerk is using a set of tools to supplement the OpenEdge tools to reach an even higher level of efficiency in our internal development setup. Only those tools allow us to deliver almost weekly releases of our products while maintaining a constantly high quality. The presentation will provide an overview and demo some of the tools used during development, build, test and management of the development work.

Tools shown include (among others): PDSOE, OEDT, Perforce, Jenkins, Ant and PCT, SonarSource, our own Unit Testing Tool as well as JIRA and Confluence.

tags: Tools, Development

Mike Fechner - Common Component Specification – a deep dive into an implementation

It’s been roughly a year since the SSS (Startup-, Service- and Session-Manager) and the Business Entity tech first technical CCS specifications have been released. In this session, Mike Fechner will provide an insight into the specifications, the CCS community specification project and report about his experience implementing the specifications on top of an already well established application framework.

tags: CCS, Deep Dive

Mike Fechner, Mike Liewehr, Stefan Geyer - OSIV - Application Modernization, case study and technical architecture

Join Stefan Geyer as he introduces the OSIV Service Center application as well as the business drivers behind the modernization of OSIV. Mike Liewehr and Mike Fechner will then provide insight into the technical architecture of the modernization project bringing together the legacy application and two off the shelf frameworks providing revolutionary frontend user experience and flexible backend business logic as well as the methodologies used when supporting the teams of existing and new developers, business analysts and testers of the customer.

tags: Case Study, Modernization

Nick Finch - Open Source Mapping for your Application in Minutes

In this presentation, we’ll show how to add beautiful interactive maps to your application, including how to find and load geographical shapes, how to plot data and the many options you can add to your maps. All using freely available open source code and data.

tags: Maps, Tools, Development

Patrick Vogt, Andrea Drees - Application Transformation – from an ordinary 4GL to a modern Web Application with pioneering UI/UX

The OSIV project is a modernization project of a 20 year old OpenEdge Fat-Client to a modern browser based 3-tier architecture. The main challenges are the new UI/UX concept, the change to agile development and the integration of two fundamental frameworks for backend and frontend. We will report about the way of key user integration, the UX concept for a business application and the need to have a strong project management in an agile world, the hurdles and major challenges we had to overcome.

The presenters are:
• Patrick Vogt, Manager Software Engineering and Project Manager OSIV at OSIV Solution Center, Basel, Switzerland

Andrea Drees, Senior Project Manager at Professional Services EMEA, Progress, Rotterdam

We are looking forward to share our experiences in an exciting project.

tags: Case Study, Modernization

Paul Koufalis - OpenEdge Replication How-To: Best practices and practical tips on how to deploy OER

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.

tags: DBA, Replication

Peter Judge, Paul Koufalis - Mastering 4GL Code Performance - Profiling & Indexing

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.

tags: Development, Performance

Robert Prediger - Angular from the Beginning

When starting developing a WebUI for a Progress backend, you have two options: Angular or React. With more than 4 years developing in Angular, this session shows our experience, demonstrates how to start with an Angular 4 application, gives a few tips and tricks for developers and illustrates the difference between Angular (1) and Angular 4.

tags: Web UI, Development

Tijs Wickardt - Embedding CPython in the OpenEdge ABL runtime

Unleash the power of Python within the Progress ABL runtime! Run CPython embedded inside ABL, highly performant. Highlights: multithreading, the Panaedra framework (MIT/GitHub), Eclipse debugging. Demos: regex, monotonic clock profiling ABL, Linux Excel xlsx, InfluxDB and Grafana integration. Be prepared for a high paced and highly informative session.

tags: Tools, Development, Performance

Tom Bascom - OpenEdge Database Performance Tuning

Users are complaining that your database is slow? Come to this session to find out what you can do about that! What are the critical performance tuning parameters and options? How do you know which ones to tweak and what values to use? Join this session to find out the answers to all these questions and more!

tags: DBA, Perofmance, Tuning

Tom Bascom - 4GL Coding Worst Practices 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".

tags: Development, Worst Practice

Tom Bascom - Embedded Application Performance Instrumentation (aka 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!

tags: Development, Performance

Valeriy G. Bashkatov - Implementing load balancing for PAS for OpenEdge based on Tomcat Load Balancing

Load balancing allows you to control incoming traffic by controlling and distributing client requests across multiple network devices to optimize resource utilization and reduce maintenance time.

In the classic OpenEdge AppServer to implement load balancing used Progress Name Server Load Balancer product. For new application server – Progress Application Server for OpenEdge (PAS for OpenEdge) – load balancing is implemented by using standard HTTP options based on one of the third-party technologies such as Apache HTTP, Apache Tomcat or Amazon Elastic Load Balancing.

In this session, I will talk about how to implement load balancing for PAS for OpenEdge using Apache Tomcat Load Balancing and show a demonstration of how it`s works for PAS.

tags: PASOE, Load Balancing, Performance

Martyn Kemp - REST API Documentation using Swagger

Swagger now commonly known as the OpenAPI specification is a powerful definition format for describing and creating RESTful API's, which are easy to understand, readable and language agnostic. One of the major benefits is that we are able to provide a clear and precise definition, ultimately assisting in the consumption and ease of developing from the specified API's, in addition, we also have access to a multitude of tools for generating documentation, code generation, testing tools.

tags: REST, Tools

Paul Koufalis - Dump & Load: More than just a few Proutil Commands

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.

tags: DBA, Dump & Load

Dan Foreman - Database Repair and Recovery

Despite your best efforts to protect a database from harm, sometimes bad things happen to good databases. So what can you do if your database is damaged or corrupted? The “standard” recovery methods usually require a dump/reload or restoring the database from a backup. However, sometimes there are better alternatives. Learn about the different kinds of corruption and how they can occur. Learn how to verify the extent of the damage. And how, if possible, to repair the database or recover data from a damaged database.

tags: DBA, Disaster Recovery

Adam Sebestyen - Telerik UI for WinForms – alternative to OpenEdge Ultra Controls

This session will present an alternative to Enterprise desktop development using Telerik UI for WinForms. During the session, some of the RadControls are presented together with a demo application, also you will find out the presenter’s personal experience with these controls and a short side by side comparison between the RadControls and Infragistics UI Controls.

tags: UI Design, Tools, Telerik

Wim van der Ham - Developing REST Clients in the ABL

In this practical presentation you will see how to use the HTTP client made available in Progress OpenEdge since release 11.5 (officilally supported since 11.6) to consume RESTful services from ABL classes. The presentation shortly describes JSON and then the interaction of an old 4GL application called VersAp with YouTrack, a modern cloud solution for agile issue management and time tracking.

tags: REST

Denis Kyashif - Strongly Typed JavaScript - TypeScript and Flow

JavaScript is currently the world's most popular programming language. It has great dynamic features, functional constructs and runs pretty much everywhere. However it's not easy to be productive when working on large projects. In this talk we'll take a look at TypeScript and Flow, two widely used tools for ensuring type safety in JavaScript. We'll learn about their inner workings, why are they useful and how do they compare against each other.

tags: Parallel Technologies, Development, Web

Progress Breakout Sessions

Cheryl LaBarge, Chris Skeldon, Ruben Droge - What’s new in PASOE Spring Security for OE 11.7+

The Progress Applicaiton Server for OE (PASOE)continues to evolve. The Spring framework plays a major role in providing security for the Applications deployed in PASOE. In OpenEdge 11.7 we have added many features in PASOE that makes Spring Security easy to use and maintain, with new functionality to make your applications even more secure. In this session, we will go through new some of the new functionality we ship as part of the OpenEdge 11.7 release.

tags: Appserver

Roy Ellis - Barbarians at the Gate: OpenEdge Authentication Gateway

Learn the many parts of the OpenEdge Authentication Gateway feature and how to install and configure it. Protect your database using industry standard authentication tools and OpenEdge specific authorization features. Learn why you may never have to write your own authentication and authorization code again!

tags: Appserver

Roy Ellis - Keys to Success with PASOE

The Progress Application Server for OpenEdge provides a powerful deployment venue for modern web-based business applications.  In order to use the power to your best advantage, there are some do’s and don’ts that you should know.   As customers have adopted PASOE we’ve seen patterns in application architecture and deployment configuration that can lead to success, and some that have led to frustration.

tags: Appserver

Chad Thomson - PAS, the new goodness: Where does my WebSpeed fit in

By now you know of the latest offering that is the Progress Application Server for OpenEdge (PASOE).

It may be that you find the majority of published PAS use-cases are centered around AppServer-related code, or providing RESTful client access only. And, since you develop or maintain a classic WebSpeed-based application, you miss out on the PAS party.

If you think PAS, with all its benefits, is only for AppServer applications -- nope. Your classic WebSpeed applications can reap the same benefits of migrating to the PAS platform as well.

The attendee will join a discussion where the PAS WebSpeed benefits and considerations are explored; the steps necessary to migrate your existing classic WebSpeed site to PAS are examined; and the implementation and configuration options are demonstrated.

Find new life in your WebSpeed development talent, as you begin a WebSpeed-on-PAS journey.

tags: Appserver

Peter Judge - REST Isn't What You Think It Is

An Introduction to REST with OpenEdge WebHandlers

An introduction to REST web services using PAS for OpenEdge WebHandlers.

What is REST? How do I design a REST web service? Can you really do REST with PAS for OE WebHandlers? What are the common pitfalls that make my APIs not REST? This session will answer these questions with code, configuration, and deployment examples.

tags: Appserver

Mike Furgal - Case Study: Platform and Data Migration with little downtime

A Large Logistics company needed to upgrade their Application and at the same time migrate from AIX to Linux. As part of the application upgrade, many tables needed to be transformed, so standard dump and load techniques were not possible. The available downtime was limited.

Come see how we planned the process for this upgrade and what tools were used to successfully achieve this migration within the allotted downtime.

tags: Case Study

Patrick Vogt, Andrea Drees - Application Transformation – from an ordinary 4GL to a modern Web Application with pioneering UI/UX

The OSIV project is a modernization project of a 20 year old OpenEdge Fat-Client to a modern browser based 3-tier architecture. The main challenges are the new UI/UX concept, the change to adopt agile development practices and the integration of two fundamental frameworks for backend and frontend. We will report explore key user integration, the User eXperience (UX) concept for a business application and the need to have strong project management in an agile world. We'll include real world insight into the hurdles and major challenges we had to overcome as part of this project to help you to plan for and ideally avoid them.

The presenters are:
- Patrick Vogt, Manager Software Engineering and Project Manager OSIV at OSIV Solution Center, Basel, Switzerland
- Andrea Drees, Senior Project Manager at Professional Services EMEA, Progress, Rotterdam

We looki forward to share our experiences in what is arguably the most exiting modernisation project in Europe.

tags: Case Study

Richard Banville - Database Diagnostics

In this session we will discuss the newly released Database Diagnostics feature. Targeted for specific triggering events such as a system error, lock table overflow or bi space exhaustion, the database will automatically report in an easy to consume way critical runtime statistics at the exact time the problem occurred. The flexible architecture can be used for much more than just statistics reporting though. Come to this session to find out how you can take full advantage of the OpenEdge Database Diagnostics feature to improve the manageability of your deployments.

tags: DB

Richard Banville - What's new with the VSTs

DB Insights into database activity of your deployments give you the ability to quickly track down and resolve issues that would otherwise adversely affect your business. In the recent OpenEdge 11 release there have been many additions and improvements to the data and functionality provided by the Virtual System Tables (VSTs) including startup parameters, improved replication data and connection level runtime statistics. In this session we will discuss these plus many more of the new capabilities while providing insights into their meaning, usage and interpretation.

tags: DB

Rama Murthy - Enterprise-ready OpenEdge Management

OpenEdge Management has gone through some major transformation in recent years to serve the monitoring and management needs of the OpenEdge Community. Release 11.7 is packed with several new features to monitor and manage OpenEdge resources. The session will give you an overview of OpenEdge Management as well as the new features in 11.7 release like OpenEdge Authentication Gateway support for logins, support to manage and monitor batch programs, third party web applications integration, change data capture policy governance, robust REST API support and many more.

tags: DB

Mike Marriage, Richard van Tol - Integration and Extensibility - the OpenEdge Strategy

The world is changing, and no application is an island.  From Big Data and real-time analytics, to application assembly and micro-services, it is important to understand the available options for OpenEdge integration.  This session will provide an overview of the key integration enablers in OpenEdge, and best-practice strategies for future integration needs.

tags: DB

Chandra Sekhar - OE SQL query best practices

SQL remains the most important data query standard in the market today.  It has a broad availability of skilled resources, and SQL access provides plug-and-play compatibility with nearly every BI and ETL tool in use.  Many OpenEdge application users demand SQL compatibility, and OpenEdge delivers.  Join Chandra to learn about the latest enhancements, and best practices, for using SQL with OpenEdge.

tags: DB

Anoop Premachandran - Cognitive Application Development with DataRPM

Discover how you can add cognitive capabilities to your application by taking advantage of historical data stored in your database. You can combine that with data from sensors and other external information to analyze and visualize data holistically to get speedy insights. You can upgrade your application to take relevant business actions to give you a cutting edge over the competition that still relies on traditional analytics. You can do all this and more with DataRPM, a leader in cognitive predictive maintenance for the industrial IoT (IIoT) market. DataRPM targets Cognitive Predictive Maintenance by predicting asset failures in advance with more than 80% accuracy and Maximize yield in manufacturing process by providing insights from machine sensor data. This session will have a demo of a Progress OpenEdge application integrated with DataRPM that showcases Predicative Maintenance in action. OpenEdge application has sensor data  as well as maintenance schedule and other attributes of the machine used in manufacturing facility. Sensor data will be uploaded to DatRPM data-lake to generate prediction models and business logic in OpenEdge exposed  as data service will be used to select predictions and act upon them.

tags: Case Study

Stefan Bolte, Laurent Kiefer - European General Data Protection Regulation looms 2018! How to master the challenge of Data Protection and Security now?

The need to ensure data privacy and security of your information and environment has never been greater. Come join Stefan Bolte, Principal Solution Engineer from Progress Software Germany, as he maps the European GDP regulation details to your development and applicaotn tasks for staying compliant. The session spans details from regulations to technical considerations of a secure environment. We will discuss database, server, and application security and then lay out how Progress Software can help you achieve a truly secured business - an essential ingredient that you need as you explore how you make your applications GDPR compliant.

tags: misc

Miguel Saez, Julian Steiner - Building Mobile Native Application with NS

Use Nativescript for building native applications with OpenEdge. In the session you could see how to build different pages using OpenEdge PASOE services catalog.

tags: misc

Shelley Chase, Anil Kumar Kotha, Maura Regan - OpenEdge and Kinvey – power-up your web apps

Kinvey is a complete BaaS that powers mission-critical apps and entire digital businesses. See how Kinvey fits in the modernization of your OpenEdge business application. See how you can leverage Kinvey for user management and authentication, data aggregation, microservices, and API management and monitoring.

tags: misc

Susan Houniet, Gary Clink - Corticon and Business Processes working with OpenEdge

We will provide an overview of: what/why/when of Corticon and the integration with other Progress and non-progress products. We will then walk through a demonstration focused on how parameterized rules can provide simple and safe end-user access to manage appropriate classes of business rules (example will be promotions / discounts / rebates). We will also show various ways to support multi-tenancy in your business rules and decision services.

tags: Tools

Brian Bowman, Rob Straight - Looking To The Future: The OpenEdge Roadmap

This presentation will discuss the direction of OpenEdge for the next 3 years, including the eagerly anticipated OpenEdge 12.0. Learn about trends in the marketplace that will impact your future business, and how the OpenEdge team will respond with features and capabilities to help you maximize your potential. We will also highlight features that we are focused on in the short term. Come see what the future holds!

tags: Roadmap

Brian Bowman, Rob Straight - Anchors Up: Sailing Into 2020 and Beyond

In this session, we will set the stage to “weigh anchor” of the OpenEdge ship as we look to the future. As an interactive discussion with the audience, we will cover topics and get your feedback on development challenges for the next decade, faster delivery of value, enhanced transparency and input into the process, and opportunities to “clean the hull” - streamlining for improved efficiency, speed and maneuverability once we are underway. Come share your thoughts as we chart a course to the future!

tags: Roadmap

Peter Judge, Paul Koufalis - Mastering 4GL Code Performance - Profiling & Indexing

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.

tags: Tools

Roland de Pijper, Peter Judge - Basic Design patterns in OO ABL

In version 10 Progress introduced Object Oriented ABL. Over time the OO elements have been extended and give developers the option to choose between good old ABL and OO ABL. Out of the box, an OO language doesn’t necessarily improve the quality of your code. Especially within a team of developers, sticking to the same rules is crucial. To tackle this challenge the software industry has come up with ‘Design Patterns’, offering best practices for programmers to solve common problems. In 2 sessions, we will show you ways to implement the most commonly used design patterns in OO ABL. This session will focus on the basic design patterns every developer encounters on a daily basis. Patterns like Singleton, Factory and Iterator solve some of these common problems. We will show you possible solutions in OO ABL, but also discuss some of the pros and cons of the pattern itself.

tags: Tools

Anil Kumar Kotha, Maura Regan - Working with OpenEdge Data and Business Logic in a Kendo UI Builder Application

The Kendo UI Builder automates the data binding and CRUD operations for its pre-defined templates. When working with the blank template or adding custom behavior, it is necessary to understand the JavaScript Data Object (JSDO) and how to work with its ProDataSet-like API. The JSDO is used to handle transaction updates, data validation, business logic and of course error handling.

tags: Tools

Nischal Reddy - Trouble shooting issues with debugging and profiling (with PDS for OE) "tips and tricks for PDSOE"

Trouble shooting issues in one of the most important tasks in a developer workflow. Be it fixing a bug, trying to optimize a performance bottleneck, debugging a part of the code or fixing your tests in a TDD workflow. Progress Developer Studio for OpenEdge provides a powerful set of tools and integrations that lets you debug the issues using powerful integrated debugger and profiler that gives you a seamless environment to easily debug or profile your applications. PDS for OE supports debugging all kinds of ABL applications, be it standalone ABL UI, classic appserver or Progress application server or ABLUnit testcases etc, also the integrated profiler shows complete performance statistics like what modules is consuming most amount of time, what call path did a method take, which line in a module is taking most amount etc.

Come attend this session to find out in detail with examples and demos how easy it is to use PDS for OE debugger, we will also deep dive into what are different features it supports, different tips and tricks on how to make most out of the debugger. Also in this session we will see how easy it is to profile your applications using integrated PDS for OE Profiler.

tags: Appserver

Jarmo Nieminen, Shelley Chase - Kendo UI Builder – all you need to get started

The Kendo UI Builder simplifies web app development. Take a look at using the tool and the simplicity of getting started on your very own web app for an OpenEdge service. We will explore customer use cases and how they have started using Kendo UI Builder in their development. We are also cover how to customize your KUIB instance to meet your unique requirements including how to implement security.

tags: Tools

Roland de Pijper, Peter Judge - Advanced Design patterns in OO ABL

In version 10 Progress introduced Object Oriented ABL. Over time the OO elements have been extended and give developers the option to choose between good old ABL and OO ABL. Out of the box, an OO language doesn’t necessarily improve the quality of your code. Especially within a team of developers, sticking to the same rules is crucial. To tackle this challenge the software industry has come up with ‘Design Patterns’, offering best practices for programmers to solve common problems. In 2 sessions, we will show you ways to implement the most commonly used design patterns in OO ABL. Some design patterns tackle the more complex challenges in software design. Like how to link objects to a relational database schema using an ORM. How does this fit into OO ABL? And why some people consider this to be an anti-pattern. Or how to enforce loosely coupling using MVC. Or does that just make things more complicated?

tags: Tools

Richard van Tol - Let’s face it: ‘Making just another website’ no longer drives desired actions.

You need to captivate your target audiences, on multiple channels, and deliver them rich personalized content and interactions. But how do you do that?

• Easily create, edit and manage your web pages
• Personalize content (using location, personas, …)
• Access your visitors’ behaviors and generate accurate predictive analytics
• Share the most relevant content for each visitor, based on prescriptive analytics and machine-based learning recommendations
• Capture all interactions with your prospects and customer across all channels • Get the 360-degree customer view

tags: Sitefinity

Dion Picco, John Ainsworth - Le coût caché de l'histoire d'un produit

There are obvious downsides to maintaining legacy application architectures, and then there are the not-so-obvious costs. Join John and Dion as they explore these implications, and discuss best practices to resolve.

tags: Misc

Commercial Breakout Sessions

SmartComponent Library: Modernization, Standards, Desktop and Web

Platinum conference sponsor Consultingwerk will be demonstrating new and well-known features of the SmartComponent Library framework used by over 20 OpenEdge partners and end-customers already. A state of the art Angular web frontend, a NativeScript based mobile frontend and a Desktop client – all based on top of a single application and framework backend. Latest features include integration features such as RESTful and HATEOAS interfaces as well as the integration with an ERD Designer to boost developer productivity even further.

Mike Fechner

Speaker:
Mike Fechner
Consultingwerk Ltd.

The SmartComponent Library info exchange and user meeting

This is a special invitation to customers, partners and prospects of the SmartComponent Library framework: We will end the conference together with a review of the latest features of the SmartComponent Library framework and discuss together the future roadmap and strategy of the framework.

Mike Fechner

Speaker:
Mike Fechner
Consultingwerk Ltd.

CDC to the Max!

In OpenEdge 11.7 a feature called Change Data Capture (CDC) was introduced. Although there are similarities between CDC and the auditing capabilities, CDC opens a reliable route to disclose info from your OpenEdge System of Record to other system. In this presentation we’ll look into CDC and the synchronization of information to a node.js & MongoDB system to speed up searches. Also covered are all sorts of other scenarios where CDC may come in handy.

Bronco Oostermeyer

Speaker:
Bronco Oostermeyer
Flusso

OpenEdge: Integration with everything via simple-to-use drag and drop technology

In this live demonstration Codeless Platforms will reveal how its OpenEdge integration Tool can be used in conjunction with other BPA Platform connectors to integrate and automate practically any business process. More specifically, the demonstration will show the ease in which OpenEdge can be integrated with popular Courier, CRM and eCommerce systems using drag and drop technology.

Chris Chatfield

Speaker:
Chris Chatfield
Codeless Platforms

Cyberquery for Dashboards and Consolidated Reporting/BI

Discover the value to Progress users of Cyberquery for Business Intelligence and reporting needs. This session will focus on two aspects:
1. Consolidated and federated reporting across multiple applications, databases and platforms. Reporting and analytics from all data in an enterprise both easily and efficiently is much in demand.
2. Data Visualization through Dashboards.

See what other Progress sites are doing.

Mike Main

Speaker:
Mike Main
Cyberscience Corporation

OpenEdge migration use cases and strategies

Eight customer migration use cases will be presented and discussed. Each case has a source system (ADM, CHUI, OE GUI, Dynamics, WebSpeed ...), a target system (.NET, HTML5, web page integration) and a business case (SaaS, modernisation, better UI, web access). These case studies of modernisation will give a deep insight into Today's trends of technologies and methods used in the OpenEdge world. Each customer has their own vision of migration, so every project is different. Come into this session, listen, discuss and learn and get ideas from these real-world client cases.

Klaus Erichsen

Speaker:
Klaus Erichsen
IAP

Klaus de Vries

Speaker:
Klaus de Vries
IAP

Application Performance Management for Progress: Real User End-to-End Monitoring

For the past years, Progress Solutions enabled enterprises and ISVs to build Business Applications of the Future. Taking advantage of innovative technologies, Progress responded to shifting demands, increasing productivity, simplifying deployment with any device and all type of datas, and reducting maintenance costs to drive strategic success.

However, managing and optimizing the end-to-end performance of a Progress OpenEdge application in this new world became a challenge, both for operations, developers, business analysts and ISV’s. End-users requested more and more reactivity and optimized response times, in a web world where Progress is often integrated with other technologies (Java, .Net, PHP, …) and platforms.

End-to-End Visibility needs next generation solutions and services to answer to your end-user expectations.

Application Performance Management for Progress, created by ILS Technologies, is a global solution and set of services to guarantee your end users performance, whatever will be their deployment model.

Discover how, with ILS APM for Progress, enterprises can benefit for a full application, database and end-user performance visibility and diagnosis, empowered by unique monitoring solutions ( including White Star ProTop© and ILS Log Analyzer ©) and providing a Real World End-User experience monitoring. Learn how ISVs will be able to propose a new catalog of performance and visibility services to their customers, including application, network and infrastructure auditing, optimization, and global monitoring of their packaged solution.

Performance Visibility is at your fingertips : join us for this journey to end-user satisfaction.

Ari Tordjman

Speaker:
Ari Tordjman
ILS Technologies

Modernizing Complex Progress Applications - a live demo

Modernizing without a major rewrite: reuse your ABL without having to make it stateless.

There has been much talk about modernization, but how do you do this when you have a really complex application. That's a whole different ball-game. Complex apps are really hard to make stateless and maybe you don’t have to or shouldn’t.

Join this session where we will take a complex Progress Application and discuss how it can be modernized in a controlled step-by-step process, re-using your ABL logic and database, and ending up with a stellar HTML5 UX experience.

Jan Aleman

Speaker:
Jan Aleman
Servoy

ProTop: The Best OpenEdge Monitoring Dashboard in the Galaxy

The ability to resolve issues quickly is important, but proactive notification is better: This session will show you how the ProTop web and mobile dashboards give you an at-a-glance view of the status of all your monitored resources and how the ProTop Monitoring and Alerting Service warns you of impending problems before they affect your critical business systems. Whether on a computer, phone or tablet, use the ProTop dashboard to quickly scroll through all the color-coded notifications for your monitored resources, or focus on the critical alerts of one specific database.

You’ll also learn how to leverage our online graphing portal during your investigations. With its ability to instantly zoom in on a specific time period and show a coordinated view of multiple graphs and metrics, the graphing dashboard allows you to quickly link cause and effect across varied data series. You’ll also see how the graphing dashboard can help you grasp the big picture over weeks and months, simplifying your planning and budgeting cycle.

Do you have your own customers to support? Come see how you can leverage the ProTop suite of tools to provide unparalleled service to your new and existing customers. With its instant insight and proactive alerting, ProTop pays for itself in time saved by your already over-committed technical experts.

Paul Koufalis

Speaker:
Paul Koufalis
White Star Software

Running an ABL GUI as an HTML5 Web Application Without a Rewrite

The FWD Project (pronounced, "forward") is an independently developed, open source implementation of the 4GL language and runtime environment. It was designed to enable organizations to preserve their investment in 4GL applications, while enhancing and modernizing them.

FWD allows an ABL application to be executed as a drop-in replacement for the original version which ran in OpenEdge. The FWD technology is written in Java and includes a compatibility framework that duplicates the functionality of OpenEdge, while not using OpenEdge in any way. It provides a fully automated and repeatable conversion process to allow ABL code to be converted to Java for deployment/execution in the runtime environment.

The ABL support is advanced to the point that entire GUI applications (including ADM/ADM2) can be executed with complete fidelity. A web client allows unmodified ABL GUI screens to be executed in an HTML5/CSS/Javascript environment (no plugins, no applets, just pure modern web standards). This represents a unique alternative to the rewrite approach of getting to the web.

The fully automated conversion process enables developers to continue programming in the language they love, and to deploy their applications to various platforms, including the web. Edits to the ABL code are picked up the next time the conversion process runs.

Appserver, batch mode, ChUI and GUI applications are all supported.

This session takes a deep dive into the FWD technology. See live ABL GUI code converting and executing in the web. Learn how to embed converted screens within a larger web application. See how Javascript can call up into ABL code to invoke business logic and to obtain data to display in a non-ABL web UI. Learn how an ABL and non-ABL UI can be integrated seamlessly into a complete web application. This allows shifting to the web in weeks or months instead of years and only requires the rewrite of those screens which the developer chooses to rewrite. By default, all screens are brought over to the web.

Greg Shah

Speaker:
Greg Shah
Golden Code Development