Wednesday Breakout Sessions

Off site backup options explored

Adam Backman, White Star Software

The pros and cons of various off site (remote) backup options will be explored. The trade offs between ease of use and your ability to quickly recover will be examined. Any good backup strategy will have an off site component. Eliminating the human element of any backup strategy is important but retaining control allows for much faster recovery in case of failure. Site replication, remote backup options, archiving and other unique options will be evaluated. Recovery is not ?one size fits all? so an option that is viable for one environment is out of the question for another. Discussing backup and recovery strategies is boring but show your boss you care and come to this session.

Anonymization tool for GDPR

Iulian Baciu, Wayfare

A part of making a business GDPR compliant is the pseudonymisation or anonymization of sensitive information from Progress OpenEdge Database. This session will present how a tool for this purpose was built using Progress OpenEdge.


I'm sorry, I haven't a clue

James Palmer, Consultingwerk

Is that your response when it comes to Database Administration activities? Do you let your system run, hoping beyond all hope that nothing goes wrong, and that when it does you’re out of the country sipping Sangria on a sun-kissed beach?

What DBA activities do you really need to know to keep your system running? What is useful for the part time DBA? We will go through the basics of DBA activities with some background to help you be on the money as soon as there’s a problem, rather than having to panic and call the experts right away. We will also look at some activities you can introduce to hopefully reduce the risk of things going wrong.

We will look at:
• Online backups and restores;
• Enabling Large Files;
• Adding database extents online;
• Enabling After Imaging online;
• Truncating the BI (and changing BI Cluster size and block size);
• Enabling the AI Archiver and configuring it;
• Database monitoring options;
• Anything else I think of in the next few months;
• Space for questions and answers.

So, if you’re doing DBA work to keep your system running, or if you’re doing it because nobody else is, or you’re just interested in getting started in the world of a DBA, then this is the session for you.


Implementing continuous integration from ground up

Gilles Querret, Riverside Software

Continuous integration was an emerging technology practice 10 years ago, which quickly became a requirement for all the teams who adopted it. If you missed the bandwagon, or are thinking about moving to Git for example, or simply would like to know the current trends, then this session will explain the different steps to the continuous integration road, and how to avoid the integration hell by merging multiple development branches with confidence. Using only open-source projects and industry standards, you'll see that ABL can do as much as any other language in an agile environment.

This session is aimed at people trying to adopt agile development methodologies, but wondering where to start and if that could fit in their environment.


Really Bad Infrastructure Choices (and how to avoid them)

Tom Bascom, White Star Software

Do you have a mission critical application that needs to perform at its very best? Have you been wondering how to go about hobbling performance before you even get any users on the system? No? Don't worry! You can rest assured that /someone/ is staying up nights thinking of ways to sabotage your application. If nobody else is doing it there is sure to be a vendor selling snake oil lurking in the shadows.

This session will help you to prepare for inevitable attempts at sabotage by discussing the terrible choices that other people have made when implementing important systems so that you can (hopefully) avoid making those mistakes yourself. Or at least feel less lonely if management has already made these decisions for you. We will discuss such topics as "why a SAN is not good for performance", "virtualization cannot magically create capacity" and "more is not always better".

(We will also talk about the good choices that get made now and then.)

Service Oriented Architecture: Making the most of SOA – What, Why and How

Coenraad Vermaak, Automate

This presentation will cover some fundamental considerations when implementing Service Oriented Architectures as well as consider potential implications for modernization- and integration projects.

Some of the topics that will be discussed include:
• The principles of Service orientation
• Service layers and the benefits thereof
• Service-Oriented Design principles and considerations
• Service Reusability considerations
• Design Patterns
• Comparing Service Orientation and Object Orientation principles and concepts
• Applicability of Service Oriented Architectures with regards to modernization of legacy code and Integration with other systems. Use cases and examples for modernization- and integration projects will be considered


DBA War Stories

coming soon ...

PDSOE Workspace Management and Organisation

Marko Rüterbories, Consultingwerk

Are you currently using PDSOE? Or are you planning to switch your development to use PDSOE? Whether or not you are using PDSOE, you may have some specific queries or just require a more general overview of what PDSOE brings to the table. As with any development process, the environment setup can be simple or complex. This in itself can be quite a challenge, however, there are good and bad ways to handle this situation.

This session will show you how to create, setup and organize a PDSOE Workspace, especially configuring multiple related Projects. This session is aimed at discussing what would be considered “best practice” and appropriate workspace settings. We shall also delve into the concept of persisting the aforementioned settings into the code base (a sharable format accessible for other developers). One of the forgotten aspects of PDSOE is how simple it can be to share environments, using the saved / shared ‘workspace settings’. In addition, this session shall also cover the topic of plugins for source code management and facilitating working with PDSOE more efficient.


Community Breakout Sessions

Love ABL, Hate JavaScript! – Implementing successful REST interfaces using the JSDO and PAS

Brian Preece

The OpenEdge JavaScript Data Object (JSDO) is a brilliant tool for exposing OpenEdge data and business logic to any number of mobile and web development tools. In conjunction with the high performance and highly scalable Progress AppServer, it presents this logic across the web via REST in an easy to use and performant form.

However, across the web, the clean and easy to understand backend ABL logic is left behind on the server and in most cases, the front end processing is taken over by JavaScript, originally designed as a web scripting language to create dancing penguins. In the process of becoming the de facto web development language, it has been stretched far beyond its original purpose. Particularly when used with frameworks such as JQuery, the vast majority of syntax errors are not found until run time and so debugging depends on time-consuming and error-prone testing rather than the 100% code coverage process of compilation.

In this session, I will show by extensive code examples how I have designed my interfaces so that the front end logic needs to understand as little as possible of the back end database structure and business rules. This has tipped the balance towards as much business logic in ABL as possible and minimised the amount of JavaScript in my web and mobile applications.

The application I will be using to demonstrate this philosophy, Solutions Asset Management (SAM), is a tool that every Progress partner and end user should have. Most of us don’t work alone, whether we are solution providers or solution commissioners. SAM aims to ensure that every party in a contract, from the largest enterprise to the humblest subcontractor gets maximum benefit from their investment in the solution, so that everyone is able to “Turn Solutions into Assets”.



Logical Relational Database Design: Designing For Performance and Practicality

Coenraad Vermaak

Very often relational database design is seen as the physical design and implementation. Although a lot of performance management can be done at a physical level, there are some important concepts and considerations that must be understood and applied when doing logical Database design.

Some of the topics that will be considered include:
• Normalization and the different Normal Forms
• Denormalization and when you would consider doing it
• Importance of understanding the data for which you are designing
• Indexes: Performance and Storage considerations
• Overlap between logical and physical database design
• Transactional vs Reporting usage considerations
• Is physical and logical design my only performance tuning tools?

tags: Database Design


Paying Lip Service to Business Continuity

Paul Koufalis

The title says it all: most of you pay lip service (if that) to business continuity planning. Not Hurricane-Katrina-Disaster-Planning, but it's more mundane and frequent cousin, tripping-on-a-wire business continuity. If you're a technical person reading this, please invite your boss, your boss' boss and your boss' boss' boss to this session. Forward the invitation all the way up the org chart. Print it out and tack it to the bulletin board in the cafeteria. Make sure no one in I.T. management or at the C-level can pretend they didn't know.

tags: Business Continuity, Disaster Planning


Progress 4GL Performance Workshop Take 3: You Don't Know *beep* about Indexes

Paul Koufalis

After 25 years in the Progress world, numerous workshops, training courses and presentations, Peter and I can say with some confidence that most programmers don't know the first thing about index bracketing. Ok, maybe they know the first thing, but the second and third thing...unlikely. Four they dost not know, unless maybe they knowest two and three. Five is right out.

For those that missed the workshop, Peter and Paul (and maybe even Mary if we can find her) will awe and inspire you during this blow-your-mind index bracketing presentation. You'll learn about the differences between database queries versus temp-table queries. You'll partake in the explanation of the parsing of those pesky parentheses. And the mysteries of and and or, or is it or and and, will be de-mystified. You will shake your head, raise your fist, tell us we're wrong, maybe even cry a bit, but at the end of it all, your soul will be cleansed and you'll be a master of all things index-y.

tags: Indexes, Performance

Download - Presentation   Download - Lab Instructions

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!

tags: Network, Performance

Storage Optimisation 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!

tags: Storage, Performance

ABL Unit Testing Part 1: Test Strategy

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 kinds of people that know their test coverage: Those that don't use unit tests at all and those that use tools to track the test coverage.

tags: Unit Testing


ABL Unit Testing Part 2: Writing Unit Tests

James Palmer

Unit Testing tooling is available to all developers who are on a reasonably modern version of Progress. This talk is a follow up to Mike Fechner’s talk on Unit Testing Strategy. Whilst attendance at his talk is not a prerequisite to this one, there is a little overlap, you will get a lot more value from attending both. We will look beyond the strategies to get our hands dirty with writing actual Unit Tests and looking at how to make sure they are good tests. What is a successful test? What is an unsuccessful test, and how do we ensure that this information improves the quality of the code that is delivered to customers. Customers want code changes delivered with increasing frequency, but of course do not want regression errors or bugs within those releases. This is only possible with good Unit Tests, so join us as we look into this highly useful topic together.

tags: Unit Testing

Download PDF   Download ZIP

ABL Legacy Code Modernization

Mike Fechner

Got a Progress OpenEdge TTY or GUI application and want to move to Progress Application Server for OpenEdge and an exceptional web application based on Progress Kendo UI? In this session we'll demonstrate real-world proven application modernization techniques that allow harvesting relevant elements of legacy code to allow for reusing them as a foundation of your modern web application. We'll be demoing how even a TTY style UI or Progess Dyamics application can provide valuable bits and pieces for a refactored application.

tags: Legacy, Modernization


Building Great Interfaces with OOABL

Mike Fechner

What’s the real benefit of OOABL? How can we use Object Oriented coding to make reusable functionality way easier to use, rather than nested include files with a bunch of named parameters? What’s the meaning of “interfaces” in general? What are benefits of parameter objects, builders, factories, fluent-style and overloading? Your own query language someone? In this session we’ll discuss real-world examples about how OOABL makes the consumption of API’s or generally reusable code much easier and enhances maintainability and testability.

tags: Interfaces, OOABL


PASOE Performance Tuning

Martyn Kemp

Performance and resource tuning a PAS for OpenEdge instance has no resemblance to tuning a classic AppServer. The PAS for OpenEdge is more in line with a Web server. When creating a typical PAS for OpenEdge, there are a predetermined set of defaults for the instance. Within this discussion, we shall cover what are potentially the better default values and why.

tags: PASOE, Performance


Swagger Updated (OpenAPI 3.0)

Martyn Kemp

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. With the release of OpenAPI 3.0, although previously generated OpenAPI 2.0 Definitions still function, some of attribute's and element's are now deprecated. This presentation is too discuss and demo the differences and best practices of upgrading.

tags: Swagger


Continuous Deployment of OpenEdge Applications

Daniel van Doorn

A case study of a real life Continuous Deployment implementation in an environment with dozens of databases, Webspeed webservers, Classic Appservers, PAS Appservers, Batches and system services, Webclient and a TTY Linux application with tips and best practices.

tags: Continuous Deployment


Reusing Code Between Angular and NativeScript

Radu Nicoara

Angular is a great framework for developing complex, fast web applications. But in this day and age, your app also needs a mobile frontend to be truly accessible by your users. And while responsive web apps are great, performance-wise they cannot match truly native mobile applications. In this presentation we’ll be looking at how developers can take advantage of the Angular support provided by NativeScript and Angular’s platform-agnostic APIs to easily share non-UI code between web and mobile flavors of apps.

tags: Code Reuse, Angular, NativeScript


Chatbots and OpenEdge

Marian Edu

This session is about chatbots and how those can be used in business applications powered by OpenEdge, what big players are offering in the field of AI and what integration options we have to use those intelligent (albeit annoying at times) 'artificial conversational entity'. Examples and basic SDK's for most popular 'virtual assistants' will be provided.

tags: Chatbots


Test Driven Development (TDD) with ABL Unit

Julian Lyndon-Smith

Test-driven development (TDD) is an advanced development technique, using unit tests to drive the design of software. The result of using this practice is a comprehensive suite of unit tests that can be automated and provide feedback that the software is still working either after further development work or changes to the existing parts of the system.

This presentation will initially discuss the theory of TDD, and then walk through a real-world implementation into a Progress development shop with an existing system - the pros, the cons, the lows and the highs.

tags: Unit Testing, TDD

Time (and how to get rid of it)

Gus Bjorklund

Where does the time go? 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: Performance, DBA


A Guided Tour Through promon

Gus Bjorklund

Every OpenEdge database comes with a monitoring tool called promon. With this tool you can learn myriad things about your database, how it is being used, and the level of activity it is being asked to deliver. In this talk, we will examine what promon can do for you with its over 50 screens. We will tell you what things are important and what you should be looking for. After this talk, you will be well equipped to troubleshoot, understand what normal and abnormal workloads look like and much more.

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

tags: Monitoring, DBA


Index Internals Part 2

Gus Bjorklund

This is the second of a 2-part series on how the index manager works and how it is used. The second part will cover how indexes are used by the OpenEdge 4GL, by OpenEdge SQL and by various database utilities. We will provide many coding examples to illustrate index usage as well as tips for maintenance.

tags: Indexes


How To Dump and Load

Gus Bjorklund

Sometimes it becomes necessary to reorganize the data in your database(s) (for example to move data from TypeI data areas to Type II data areas) or to move parts of it from one database to another. The process for doing this can be quite simple, or quite complex, depending on the size of your database and what features are being used. Will you remember to recreate the user accounts for SQL? Will you restore the SQL users privileges? How about setting the database character set? JTA? We will show you to do all the other things that are required in addition to dumping and loading the data.

tags: Dump and Load


OpenEdge Package Management

Valentin Duricu

Now-a-days more and more programming languages and frameworks propose a modular/dependency-based programming style where modules/components can be reused in several projects. Examples of this approach can be seen in Node, where packages are downloaded and install through NPM; PHP with Composer, .NET with NuGet etc. Using a module-based development style in Progress would help the creation of better applications, with less bugs, since each individual component is having it's own development process and, when needed, they could be replaced with other components that provide the same functionality.

tags: Package Management, Code Reuse


How to modernize OpenEdge Applications

Sebastian-Antoniu Contis

Searching for new ways of modernizing your app?

Let me tell you a bit about my experience combining Angular & OpenEdge. In a world where user experience is everything, we try everything possible to provide 21st century user interface. After working on legacy code projects, I got the chance to play with Angular, and let me assure you, they are a match!

In this presentation I would like to show you a demo of an Mobile First WEB application that uses Angular 5 for Front-End and OpenEdge for Back-end.

tags: Modernization, Angular

Code quality metrics and management

Nicoleta Suciu

In our days, the size, complexity and development life cycle of an application has increased exponentially. It is nearly impossible to measure the quality, best practices and coverage of code.

The metrics tracking is valuable, because of the following reasons:
• you cannot improve what you don’t measure
• prevention is better than cure
• what you don’t measure, you cannot prove.

Collecting metrics is essential, because provides a quick insight into the status of a software product resulting in better control. The metrics provide a way to identify areas that need improvements and an indicator of the efficiency and effectiveness of software process.

The presentation will cover the need of code quality metrics and part of the tools used for collecting data for those metrics in Progress OpenEdge.

tags: Code Quality, Metrics



Dan Foreman

Understanding CheckPoints is critical to good database performance. This session will show you everything there is to know about CheckPoints including: the correct definition of a CheckPoint, what is actually happening behind the scenes when a CheckPoint occurs, things you can’t see in promon or the VSTs, and more.

tags: Checkpoints, Performance


Transaction Scope and Record Locking

Dan Foreman

Sometimes the Progress 4GL/ABL can be too forgiving and allows programmers to accidentally make errors with regard to transaction size and duration that can have a huge impact on record locking and record contention. In a worst case scenario, record contention can make an application unusable. This session covers the most common problems and how to solve them as well as some high level techniques. Also learn what the RELEASE statement really does (and does not do), the definition of a Limbo lock, and other essential concepts. Finally we cover how to debug transactions and monitor record locking activity.

tags: Transaction Scope, Performance

Download Presentation   Download Data


Patrick Tingen

I would like to give a presentation on my open source tool DataDigger. The DataDigger is a 100% Progress 4GL program that shows all tables in the currently connected databases. You can select a table, select which fields you want to see and browse through the data of that table. The way in which the data is showed can be configured easily. In addition, with the DataDigger you can export the data to several formats, change one or more records at the same time or delete data. At the same time the DataDigger can save a backup of all data you change or delete. The focus of the DataDigger has always been to provide an easy and user friendly way of accessing your data and as such the DataDigger is useful for all people that need to work with the data inside the database, whether they are developers, system administrators or whether they are more involved in the functional aspects of the application.

In my presentation I would like to tell something about the development of DataDigger, show some ways it can be used, how the DataDigger can protect users from doing stupid things. Finally I would like to get some feedback to further improve the Digger.

tags: Tools


WebClient-programming on steroids

Brynjar Hasle

The story is how the AppBuilder was "modernized" to create non-database dependent code and further tweeked to provide the tooling for our JukeBox framework. Since it's quite unlikely that someone would embark on a similar journey most of the session would be demo and talking about benefits like simplicity, productivity, stability and performance gained by using the webclient. The webclient is also a perfect partner for a browser-app that don't need to distribute system setup screens, reports and such as part of the web or mobile app.

Also deployment without installation can be discussed. (Very handy for reaching users on Citrix or TS.)

An extra bonus gained by using to ABL widgets is that the code will also run on the Appserver. This makes it really easy to reuse a .w to feed data to a rest interface, f.ex.

tags: WebClient

SQL for a Progress DBA

Bob Brennan

A lot of businesses run Open Edge applications provided by a third party vendor. These same businesses then want to access the data stored in the database via ODBC or JDBC to generate reports. Care and feeding of the SQL92 engine can sometimes get lost or ignored. In this session we will pull together a number of tips, tricks and best practices on how to care for the SQL92 side of the database.

• Setup of ODBC
• Security and Authorization
• Performance
• DBA housekeeping
• Migration and Upgrade considerations

The target audience member will be responsible for an Open Edge database but needs some clarity on the SQL side of things.

tags: DBA, SQL

Download Presentation   Download Parameter File

Talend - A Primer on ETL (Extract, Transform, Load)

Bob Brennan

Data integration is a key component of any modern system. The days of all data being housed in one database are long gone. We are now challenged to provide levels of integration between disparate systems. Adding to this complexity, each of these data sources potentially has different methods of access. These challenges can be daunting without the use of a tool to help coordinate and execute.

One helpful tool that has gained traction is called Talend Open Studio. In this talk, we will look at some of the challenges developers face and how a tool like Talend can help.

Talend is available both as an Open Source and Commercial product. Our focus will be to use the Open Source toolkit as a basis for our discussion.

Extract – How to access various data sources in a consistent manner.
Transform – Refactor data stream for consistency.
Load – Load or aggregate information into a useful collection.

tags: Talend, ETL, Tools

Health-monitoring console

Patrice Perrot

Hosting and managing more than 10k Progress DB in our own Datacenters, we had to design a full-featured process to check their structures, their startup parameters and the performance issues that could happen with accesses made by the 50 000 Progress objects deployed on our application servers.

Inès (20 years’ old) and I will show you what we developed and use daily.

By taking metrics every five minutes (up to every 0.05 seconds for the most active users) on all of our databases, our health-monitoring console allows us to:
• Make the link between a huge activity to the source code / block, and even the precise query and if relevant, the concerned index.
• Highlight a user waiting (user wait)
• Prevent a potentially too long transaction (Transaction duration)
• Suggest the improvements of a DB startup parameters ( -n, -L, -B2, ...) before they become critical that will apply online or at the next start

These direct connections between metrics and code/parameters/recommendations lead to very fast and accurate corrective actions.

This session would be an opportunity for us to present:
• The way we take metrics
• How we establish the links between user’s activity and source code
• The management console GUI
• Several other "home-made" tools (Index analysis, locks visualization, ...)

tags: Monitoring, Tools


Pro2 and CDC

Dominique Demeyer

How would you link a BI to an ERP system?
In this session we will show you our current experience and proof of concept realised with Pro2 and CDC.

tags: Pro2, CDC


Dockerizing the Enterprise, Fast and Secure

Wiebe de Roos

The story of the adoption of Docker in ABN AMRO (so far ...). How we move from always overloaded statically defined Jenkins pipelines to a state of the art Cloudbees Jenkins Enterprise implementation on AWS using Docker for Masters and Agents to provide ultimate scalability and flexibility for our DevOps teams.

tags: Docker


Custom rules development for SonarQube

Gilles Querret

Ever wondered how you could enforce ABL coding standards in your company? Or how to detect bad practices in your code? Then this session will explain how to use SonarQube and its OpenEdge plugin to define your own standards, and report any violation directly in Developer Studio or in the Web UI where trends could be monitored. Both SonarQube and the OpenEdge plugin are open-source and can be used for free in your company.

tags: SonarQube


DBA and Programmer Challenge Solutions

Pieter Meyer

Details coming soon ...

tags: DBA

Doctor, Doctor it hurts when I do this.

Adam Backman

So don't do that. System design and architecture missteps that end up hurting your availability and scalability. This session will show you how to design and implement hardware for Progress OpenEdge-based systems. From CPU and memory to effective storage and networks effective planning can help you avoid the most common mistakes. If you already have made these mistakes the session will provide some tips and tricks to reduce the impact of most common problems.

tags: System Design

A solution using Scalable Vector Graphics

Richard Kelters

A picture is worth a thousand words. To improved caculations for backend validation we wanted to make it visible. With this solution the main office of a large optical retail company saved 10 hours a week. Instead of having to argue and explain why orders were canceled they send an image on cancelation.

During this session we will show how we created an image with OpenEdge, javascript and SVG. See how powerfull SVG is and how easy it can be for you to do. Help your business to visualize ... anything.

You can have a peak at what will be presented here:

And together with our Flusso marketing manager we made this blog.

tags: SVG, Tools, Technology


Future Technology Trends in Progress

Gabriel Ionut Lucaciu

The goal of this presentation is to share ideas on how Progress products and features could be used when working towards future technology trends. Nowadays no app has long life to live if technology trends are not part of its future. The presentation will rely on the Technology Hype Cycle from Gartner that provides a list of the technology trends and will consider Progress solutions for putting these into practice.

tags: Trends, Future, Architecture


Great APIs – Future of your Progress App

Gabriel Ionut Lucaciu

The goal of this presentation is to help the audience to understand why building APIs could be the future of their Progress apps and how these needs to be build. APIs have emerged as the most accessible way for consumers within the business to extract value out of that data. These make the data consumable and reusable, thus they become even more valuable to business.

The presentation will start by going first through the history of APIs so that it is clear why these are so important and how to take a decision based on the status of the Progress app.

tags: API, Modernization


How to do an ineffective benchmark

Adam Backman, White Star Software

The goal of doing any benchmark is to accurately mirror the workload of a given system. The difficult part is to demonstrate that the application will actually work in a given environment. This session will show you many of the ways that people do benchmarks that fail to properly show how the system is performing. Too much write activity, too much read activity, exercising all of the wrong tables. These faults and many more will be shown during this presentation.

tags: DBA, Benchmark, Performance

99 Ways to Crash a Database

Nectar Daloglou, White Star Software

A somewhat tongue-in-cheek discussion of some of the dumbest, most dangerous, suicidal things I and other senior DBAs have seen out there in the OpenEdge world. Join me for an entertaining and informative hour of DBA horror stories and how they were (or could have been) avoided!

tags: DBA


Dude, where’s my memory?

Nectar Daloglou, White Star Software

Ever wonder where your free memory has gone? Has your OS ever lied to you about how much memory a particular process is consuming? And what is shared, virtual, swapped and anonymous memory? In this session, we will take a detailed look at how memory is being allocated and consumed by Progress and non-Progress processes, as well as other memory related pitfalls and how to avoid them.

tags: DBA, Monitoring


Birds of a Feather: PDFInclude

James Palmer, Consultingwerk

Come for a chat about how to work with PDFInclude. If you’re a user of it, come to share your knowledge and learn from others. If you want to learn, come to get your questions answered. The session is next door to the cash bar that will be open, so feel free to bring your own refreshments.

tags: PDF

Progress Breakout Sessions

Personalize the Multi-Channel Experience with Sitefinity Digital Experience Cloud

John Goodland

In this session we will review the typical stages of a web site customer journey, and walk you through a sample implementation of a customer journey using Sitefinity and Digital Experience Cloud features. We will also spend some time discussing how GDPR impacts customer journey management.

tags: Sitefinity, GDPR

OpenEdge Roadmap: The Future Near and Far

Rob Straight

We’ve got a lot of plans for OpenEdge, including enhancing your ability to deliver continuous operations, improving the developer experience and improved support for a SOA architecture. You don’t want to miss this session where we will detail what is to come in the OpenEdge Roadmap.

tags: Roadmap


Why Migrate to the Progress Application Server?

David Cleary

Our next generation app server, Progress Application Server for OpenEdge (PAS for OpenEdge), is the gateway to application modernization. Built on Apache Tomcat, this highly scalable multi-session architecture provides Web server support for browser-based and mobile applications and production ready, out-of-the-box security. Learn about the business benefits and best practices in implementing PAS for OpenEdge and migration considerations from the classic OpenEdge Appserver.

tags: PASOE, Migration


Demystify OpenEdge REST Services

Ruben Dröge & Jarmo Nieminen

This session will describe the various possible approaches to exposing a REST API to your OpenEdge application. It will explain what REST is, how it applies to business applications and which approach is most appropriate for different REST integration use cases and why. It will touch upon considerations such as API documentation, ease of integration, API management and versioning, and in doing so will reference some complementary solutions including Kendo UI Builder and Kinvey.

tags: REST, Kendo UI, Kinvey


Cloud-first Applications with OpenEdge and Progress Kinvey

Ruben Dröge & Julian Steiner

As a complete and proven serverless platform, Progress Kinvey provides an open and standards-based architecture that can be run on any cloud. Learn how you can accelerate your OpenEdge application through reusable services and achieve enterprise-level SLAs on a robust, highly-secure cloud-native infrastructure.

tags: Kinvey

Beautiful Native Mobile Apps with NativeScript and OpenEdge

Miguel Saez & Marco Squintani

In this session, you will learn how to use the new DataSource component to access the OpenEdge backend. Internally, the DataSource uses the Progress JavaScript Data Object (JSDO) so that your mobile apps can use the same Progress Data Service used by Kendo UI Builder. We will use a starter template based on NativeScript with Angular and also show CRUD operations, server-side filtering and sorting with a table on the OpenEdge database.

tags: JSDO, NativeScript, Angular, Kendo UI

Data Management: Table Partitioning and Multi-tenancy

Libor Laubacher & Stefan Bolte

Table Partitioning and Multi-tenancy are two methods of securely dividing an OpenEdge database. One increases performance and scale, especially for analytics needs, while the other can drive down costs and increase margins in cloud environments. Learn how to apply these technologies for a competitive advantage.

tags: Performance


Leave the Driving to Us with the Progress Managed Database Service

Mike Furgal

The Progress Managed Database Service (MDBA) has grown from 37 customers in 2012 to 137 in 2018. OpenEdge customers find value and insurance by letting the experts deal with the management of your critical application data. Customers range from Direct End Users, Application Partners, and Application Partners Customers. Come see how the team manages 2,000+ databases, 100+ terabytes of database space, and 165,000+ application end users. You may find this to be a low cost, high value service that fits your needs.

tags: MDBA


Behind the Scenes of Patent-Pending NativeChat

Julian Steiner

Developers—take a deep dive into NativeChat technology. Join us to learn more about Cognitive Flow, Natural Language Processing, Conversational UI and all the components an intelligent chatbot requires. In this session you’ll also learn how to use AI to train a bot.

tags: NativeChat, Chatbot

A Lap Around Kendo UI Builder

Shelley Chase

Kendo UI Builder actually functions like a designer, app builder and code generator all in one. In this session, you'll learn all about what Kendo UI Builder is, how it works and what it can do for you to build rich web applications based on Kendo UI.

tags: Kendo UI


Implement Continuous Delivery with OpenEdge

Peter Judge

Continuous Delivery is a key practice in a modern application development environment. Learn how at Progress we transformed our own practices to better coordinate development using the SAFe methodology, shorten QA cycles, improve quality and accelerate velocity, and get customer feedback as early as possible using the new Customer Validation Program.

tags: Continuous Delivery


Cool Apps - Chatbots, Serverless & Cross-platform Mobile Apps in Action!

Julian Steiner

You've heard of NativeChat, NativeScript, Kinvey or Corticon, but now you're curious how all these technologies fit together? In this session you’ll learn how you can extend your existing architecture with chatbots and Conversational UI using the Progress Mobility stack and NativeChat. You'll learn how easy it is to create a great mobile UX and compelling apps that are fully integrated into your IT ecosystem.

tags: NativeChat, Chatbot, UX

Create New OpenEdge Revenue Streams with Predictive Maintenance

Harold-Jan Verlee

Learn how Progress OpenEdge PdM Integrator Kit helps to combine the power of Progress DataRPM with the flexibility of Progress OpenEdge. Customers and partners will be able to detect equipment and machine anomalies that may lead to failure or operational issues, prioritize and predict which anomalies are important, and automate the response with OpenEdge. The result is an ideal proactive maintenance strategy that drives significant cost-savings, better business results and new revenue for you.

tags: Maintenance, PdM, DataRPM


Address the Requirements of GDPR

Conor Patten & Laurent Kieffer

On May 25, 2018, non-compliance to GDPR could lead to large fines. Many companies will be seeking solutions that help them address the requirements of GDPR when renewing or procuring IT products and services. In this session, although we cannot assure your overall GDPR-compliance, as your technology partner we wish to provide you information and points of consideration as it relates to your OpenEdge applications to help you as you continue your GDPR journey.

tags: GDPR


Demo: Use OpenEdge CDC to Build Event-Driven Architectures

Rich Banville & Stefan Bolte

Event-driven systems provide a real-time, scalable backbone for integration. See how Change Data Capture, introduced in OpenEdge 11.7, in conjunction with Apache Kafka and Hadoop, can deliver a forward-looking Streaming Architecture.

tags: CDC, Architecture


Introducing the On-Premises Data Connector for OpenEdge

Brent Adonis

Learn how to leverage Progress' hybrid data connectivity services to explore the potential for cloud architectures with existing OpenEdge applications. This session will explore integration options for your cloud apps with on-premises databases in real-time. See a demo and overview of how Progress customers and partners are adopting this technology to rapidly deliver secure and modern hybrid cloud applications and modules, without having to deal with VPNs, SSH tunnels or reverse proxies.

tags: Connectivity, Architecture


Tips and Tricks to be successful with PAS for OE in production

Mike Banks

If you're thinking about embarking on an implementation or migration to PAS for OpenEdge, you don’t want to miss this tips and tricks session that provides the basis for a project plan to help avoid implementation pitfalls.

tags: PASOE


Index Internals Part 1

Mike Furgal

Part 1 of a 2-part series on how the OpenEdge Database Index Manager works. This first part will cover the internal structures of the indexes, b-trees, key storage, and compression. This will also show you why you need to care about these structures and what tooling there is available to report and manage these structures.

tags: Indexes


Minimize Unplanned Downtime and Data Loss with OpenEdge

Mike Furgal

Unplanned downtime is the worst nightmare of DBAs and devops engineers. The late-night calls and infrastructure rebuilds are but a mere nuisance compared to transactional data loss and SLA violations. Learn about Progress technologies, including the latest innovations, and services designed to enhance technology resiliency and deliver a true disaster recovery solution. Gain insight through real-world business continuity needs and examples.

tags: Planning


Meet the Next Generation OpenEdge Pro2

Raghu Rangan

Progress OpenEdge Pro2 replication provides you with the ability to load changes from your OpenEdge system into MSSQL, Oracle or another OpenEdge database for easy BI and analytics. We'll look at the different technologies in use and talk about the pros and cons of each approach. We’ll look at how Pro2 can help you unlock the data inside your OpenEdge database. We will also discuss the future direction of Pro2. This includes possibly connecting to more data targets beyond MS SQL and Oracle. Finally, we will show some of the UI overhaul work that is happening right now.

tags: Pro2

Securing Your OpenEdge Deployment

Cammy Choy

The need to ensure the security of your information and environment has never been greater. Learn what risks you are facing, and how to make use of a variety of OpenEdge features to mitigate those risks. Topics include Confidentiality, Integrity, and Availability.

tags: Security


OpenEdge 12: Multi-threaded Database Server and Server-side JOINs

Rich Banville

The OpenEdge team has been working hard on some exciting database innovations that will result in improved performance for all. Come hear about the details of how the database is becoming multi-threaded, and also how you will be able to resolve database queries on the Server.

tags: Performance


OpenEdge Applications as Docker Containers

Oleg Kupershmidt & Ravi Sankar

How can you get 4-6 times more applications running on the same hardware? Do your customers expect your business critical applications to be always on? Are you considering or already deploying your applications in the cloud, and if so would you like to see your solution elastically scale with changing load? How can you help your developers integrate their code into a shared repository early and often, and then to deploy the code quickly and efficiently? If any of these topics resonate with you join us for this session to learn more.

tags: Docker

Eclipse Che: A next-generation IDE for the Cloud

Oleg Kupershmidt, Dave Neary

Eclipse Che is a developer workspace manager and Cloud IDE, designed for development teams to collaborate without having to install any software. Developing applications in containers, right in your container management platform, has never been easier. Eclipse Che enables developers to provision a complete, containerized developer environment, including language runtime, development tools, and dependencies, in a single click. With Che, you can bring new developers up to speed instantly, and enable developers to work effectively from anywhere in a web browser.

tags: Cloud

Commercial Breakout Sessions

Migrating Complex GUI Applications to the WEB – It is possible!

Do you have a comprehensive, complex GUI application (ERP, Accounting, Wholesale…) and you think that cannot be migrated to the WEB?

Because you use OLE-Automation, multi-screen configurations? Need sophisticated keyboard handling, have complex data-entry screens? Speed is important when entering data? Require sophisticated UI-Elements (Ganntt, Scheduler, Treegrids, Richtext-Editor) ?

All this no longer has to keep you from migrating to the Web! With the AKIOMA SWAT Framework you have everything to migrate even complex GUI applications.

In part 1 of the session you will get an overview and see samples.

The part 2 of the session goes into technical details, including building a sample application.

SmartComponent Library: The OpenEdge Modernization Framework

Platinum conference sponsor Consultingwerk will be demonstrating new and well-known features of the SmartComponent Library framework used by over 30 OpenEdge partners and end-customers already. Our tooling simplifies the development of 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.

Recent features include RESTful and HATEOAS interfaces and the integration with an ERD Designer to boost developer productivity even further. We’ll also be demonstrating work in progress such as the integration of the most advanced query engine available for OpenEdge.


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.


Low Code Strategy for Modern OpenEdge Web Apps

The customer demand for rich interactive web applications and a satisfying web experience is high. The software companies - at the same time - demand to keep existing knowledge and code.

Our low code approach is a safe way to satisfy these needs and to speed up the development and modernization of OpenEdge applications. The designers and wizards make it possible to archive results very fast and together with the effective, object oriented design, it takes productivity to a new level.

To demonstrate the practice orientation of this approach, live demonstration of the new Urban Design and a lot of case studies of modernisation of OpenEdge will be included.

Connect Your Apps and Data Faster ...

ConnectPlaza helps businesses of any size efficiently and connect everything and engage everywhere across any channel, device or platform. Explore how we support Progress ISV’s and Enterprises that connect to all datasources whether it is from system of record or the “Internet of Things”.

During our presentation we will give you a “Live” demo of ConnectPlaza and its features.

• Get Connected – Integrate more applications, faster with ConnectPlaza’s Integration Building Block catalog;
• Ready-to-go connectors within an hour
• Easy – Simple, code-free graphical interfaces allow developers and customer service teams alike to construct, deploy, and maintain connectivity;
• Drag-and-Drop - ConnectPlaza library of integration patterns and connectors
• “No Code” configuration features during the assembly of your monitored interfaces
• Governance-proof – A self-documenting and managed interface. Analyze and monitor integrations across your landscape or entire customers base.

Enhancing Performance with Dashboards

This session highlights the design, deployment and use of Dashboards to facilitate better decision making. Data Visualization, Analytics and Trending are incorporated to create Corporate, Regional, Departmental, Special Projects and Personal Dashboards.

Reporting against all your Progress and non-Progress data sources easily and quickly

This practical session will cover the following topics:
• How to seamlessly report against multiple Progress databases using Cyberquery
• Incorporating data from non-Progress data sources within your reports
• The Power of Cyberquery and how it can be used to create adhoc reports, charts, KPIs, Dashboards, portals, drilldowns and other output

Transform a 4GL GUI into a Modern 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 and extend their investment in 4GL applications, enhancing and modernizing them without throwing away the entire 4GL UI.

FWD Transform provides a fully automated transformation process which enables developers to continue programming in the 4GL language they love, and to deploy their applications to various platforms, including the web. Edits to the 4GL code are picked up the next time the transformation process runs.

FWD Enhanced Runtime is a Java-based engine that replaces OpenEdge. It executes the transformed 4GL applications using a compatibility framework which ensures that it duplicates the functionality of OpenEdge, while not using OpenEdge in any way.

Entire GUI applications (including ADM/ADM2) can be executed with complete fidelity. A web client allows unmodified 4GL GUI screens to be executed in a modern Web environment (no plugins, no applets, just pure modern web standards such as HTML5/CSS/Javascript). This represents a unique alternative to the rewrite approach of getting to the web.

FWD is an enhanced implementation of the Progress 4GL language. In addition to the compatible implementation of 4GL language features, FWD also includes a large number of enhancements that are not available in OpenEdge. An enhanced browse widget, dynamic layout, look and feel plugin control, reporting features and much more are all available today. This allows one to move past the legacy Windows Desktop approach and achieve a modern UI without leaving the 4GL language! FWD enables the evolution and modernization of the 4GL UI by leveraging the existing screens of an application.

Customer Testimonial and Demonstration. As part of this session, the owner and CEO of a software vendor will demonstrate his large Progress 4GL-based ERP system running in FWD. He will explain why he decided to use FWD, what has been achieved and how his company was able to shift to the web in a short period of time while avoiding the near complete rewrite that so many organizations are attempting.

Your Current Monitoring is Not Enough: the Business Benefits of Proactive Monitoring with ProTop

Through examples and real customer case studies, this session will show you how individual enterprises and partners with dozens of clients leverage ProTop to ensure unparalleled performance and up-time of their OpenEdge environments.

You'll learn how ProTop is vastly more than a collection of simple alerting scripts. We are not spewing marketing hyperbole when we say that ProTop distills our 30+ years of experience into one package: ProTop provides information and insight that no other monitoring tool provides. Every day we learn something new and incorporate that knowledge into ProTop. Practically, this means that ProTop pays for itself in time saved by your already over-committed technical experts. ProTop provides the hard data they need to resolve issues now, not after hours of frenzied analysis.

We'll also show you the benefits of our web portal: with a quick glance at a single web page, we monitor the health of hundreds of databases around the world and immediately know that they are in good shape. When there is a looming issue we can quickly see what is going on and what we need to do to prevent problems. The web portal also provides access to years of your historical data. In seconds, you can zoom in on data from a specific incident or look at long-term trends over months and years.