07:30 |
Breakfast (Ballroom) |
08:30 |
477: DevOps with OpenEdge Thomas Hansen nodeable limited
DevOps, CI/CD, Automation, pipelines, Infrastructure as Code - what do all these buzz words mean? And how do they apply to OpenEdge shops?
An introduction level presentation on the concepts of DevOps and why this is important for OpenEdge and beyond.
In addition to the basic concepts of DevOps and CI/CD, we will cover topics like: Jenkins and other DevOps tools Build services Pipelines : Homegrown vs cloud based Using containers for DevOps
Takeaways from this presentation will be a basic understanding of what DevOps is and why it matters to your OpenEdge team.
|
218: How to walk your JSON data into OpenEdge Paul Guggenheim Paul Guggenheim & Associates, Inc.
OpenEdge provides many useful tools in parsing JSON data. These include:
Read/Write JSON to/from Temp-Tables and ProDataSets Built-in JSON classes that support the JavaScript Object Model
This presentation will show how easy it is to write JSON data from a ProDataSet and then read JSON data into a ProDataSet.
However, there are times when the ABL algorithm will not be able to read JSON into a Temp-Table or ProDataSet. The read-json method will not load the JSON data into a ProDataSet.
This session will provide examples on how to use ABL JSON classes to load in JSON data in a more generalized way, which can then be customized and loaded into Temp-Tables or ProDataSets. We call this Walking the JSON tree.
Topics Covered:
JSON Overview oJson Data types Simple Data Types Complex Data Types
Reading and Writing JSON to/From Temp-tables and ProdataSets oUse Read-JSON() method to load data into a Static ProDataSet oUse Read-JSON() method to load data into a Dynamic ProDataSet oShow how to use Write-JSON() method to a JSON String, JSONObject or JSONArray
Use Built-in JSON classes to convert into customized ProDataSets oUsing RequestBuilder and ClientBuider Objects to read PASOE statistics oUsing the Credentials Object to authenticate a login oWalk the JSON Tree Examples
At the end of this presentation, the attendee will have a much better understanding on how to pass data back and forth from an external JSON application and an OpenEdge application.
This presentation is for experienced OpenEdge Developers.
|
Open 3 1 3
|
396: The Ultimate Guide to OpenEdge Replication Paul Koufalis White Star Software
OpenEdge Replication is a great product that does exactly what it's supposed to do, but there are plenty of important details that you cannot learn by reading the manual. Come to this session to learn best practices and all the sneaky little tricks and tips you'll need to successfully deploy, monitor and maintain OE Replication.
|
386: A Better 4GL: Web UI, Reporting Engine, Direct Java Access and Much More Greg Shah Golden Code
The FWD Project (pronounced, "forward") is an independently developed, open source implementation of the 4GL language. It features a Java-based engine that replaces OpenEdge. This executes 4GL applications using a compatibility framework which ensures that it replaces the functionality of OpenEdge, while not using OpenEdge in any way.
More importantly, FWD is an enhanced implementation of the Progress 4GL language. In addition to the compatible implementation of 4GL language features, FWD includes a large number of enhancements that are not available in OpenEdge. This session will explore these powerful improvements to the 4GL language that you love.
Entire GUI applications (including ADM/ADM2) can be executed with complete fidelity as WEB applications. 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 implementations of familiar 4GL widgets such as BROWSE have been enhanced to include upgraded features such as user-defined sorting, filtering, export to PDF/XLS/CSV. New 4GL widgets have been added such as TREEVIEW, TAB-SET and HTML-BROWSER. Other unique UI features are provided such as dynamic layout of screens and fully customizable themes/drawing control over every widget. This allows one to move past the legacy Windows Desktop approach and achieve a modern UI without leaving the 4GL language and without discarding existing 4GL screens!
FWD includes an integrated reporting engine (based on JasperReports). Design reports as .jrxml files, use 4GL syntax enhancements, attach queries and ProDataSets as data sources, then generate PDF, XLS, DOC and other outputs directly from 4GL code!
4GL code can be written to run on multiple threads (very useful for batch systems). Any Java technology can be called/integrated directly from 4GL code. Directly call 4GL appserver code from a Javascript client, with parameters automatically converted to/from JSON.
FWD is the most strategic platform on which to continue your 4GL application investment.
|
09:30 |
Break |
09:45 |
516: Beyond the Code: Defining and Packaging ABL Services for Progress Application Server for OpenEdge Peter Judge Progress
Learn how to build ABL Services with the intention of deploying packages to the Progress Application Server for OpenEdge. In this session, we'll share foundations for a solid, yet extensible application architecture, an exploration of various deployment packages, and best practices for API definitions and versioning.
|
215: Doing More With the Spring Framework in Progress Application Server for OpenEdge Chad Thomson Progress Software, Inc.
One of the strengths of Progress Application Server for OpenEdge (PASOE) is that it leverages the best-of-breed Spring Security framework. But security isn't the only thing that Spring offers. In this session, you will learn that, with minimal effort, there is a great deal more you can leverage within the Spring framework that can accelerate your own development needs and unlock more value as you adopt PASOE.
|
224: OpenApi (Swagger) to ABL Martyn Kemp Consultingwerk
As the popularity of OpenAPI continues to grow, the Code Generation toolset is continually expanding. The OpenAPI Generator is an open source toolset that utilises OpenAPI Definition Documents to generate Server / Client side code. To date, there are a multitude of languages supported within the OpenAPI Generator. However, 'OpenEdge' is not one of those languages, this presentation therefore discusses the potential of generating ABL client-side classes from OpenAPI Definitions.
|
466: New Hardware = Worse Performance? Nectarios Daloglou White Star Software
Youve migrated to bigger stronger faster and more expensive hardware but your OpenEdge environment is running slower. How is that even possible? In this session, we will look at some real-life case scenarios where performance results were actually worse on the new machine than the older one, how we tested and what corrections were needed in order to achieve better performance. Also, things to look out for when purchasing new hardware or migrating to the cloud.
|
Open 3 2 5
|
10:45 |
Break |
11:00 |
Open 3 3 1
|
357: What is "Latch Contention" and why should I care? Tom Bascom White Star Software LLC
Come to this session to learn what a latch is, how it enables reliable and highly concurrent access to your database and why you should be wary of "too many cores"!
|
499: Wireless Networking A Modern Primer Bob Brennan
Wireless networking is now considered a modern day business requirement. In this session we will review the existing standards and those about to gain traction like 5G adoption. We will discuss how this medium operates and some best practices in terms of configuration and deployment. It is very easy to setup a network these days. It is quite a bit harder to setup a durable, high speed network that integrates into the surrounding environment. We will demonstrate a number of modern devices used to design, deploy and support business quality networks. No matter how good you code, if the network is bad, so is your product.
|
340: Patterns for Migrating Fat Client GUI Applications to N-Tier, Web Applications Mike Fechner Consultingwerk
Got that old ABL fat client GUI or TTY application? Considering moving to an n-tier architecture? Browser based, mobile or OpenEdge Web Client? In this presentation we’ll introduce patterns for solving common challenges like application state, record validation, transactions, input blocking and achieving reusable backend components.
|
275: OpenEdge Legacy Application Modernization – A Foundational Approach Scott Blaubach App Technologies
Your Character and/or GUI Progress OpenEdge application platform has served you faithfully for years but you are just finding it difficult to find the right combination of a web application development framework and resources to begin what seems to be an ominous journey in modernizing your legacy applications.
The AppPro for OpenEdge Web Business Application Development Framework provides robust components that offer a powerful Web UI while still utilizing the power of your Progress OpenEdge backend. Curious? Your time will be well spent discovering how the power of Progress and the AppPro for OpenEdge Web Business Application Development Framework can provide the solid foundation in building your web development and deployment infrastructure.
|
12:00 |
Lunch (Ballroom) |
13:00 |
410: Modernizing OpenEdge for the Web with Sitefinity Brendan Cameron Americaneagle.com
In this session, Progress and Americaneagle.com discuss how your Sitefinity content management solution can enable your OpenEdge applications on the web. Attendees will see how to reap all benefits of OpenEdge to create an online experience that not only looks professional and integrates with Sitefinity, but also delivers successful results. They will discuss the technical requirements for both platforms, as well as talk about real-world examples where this integration is already happening. A portion of the presentation will also be dedicated to showcasing a prototype/accelerator that can be used to connect a Sitefinity CMS instance to an OpenEdge API.
|
462: SonarQube in Action Gilles Querret Riverside Software
Wondering what source code analysis could provide to your team? This session will first explain you the basic concepts of code analysis and technical debt, and will then introduce the open-source version of the OpenEdge plugin for SonarQube, and the best practices when configuring this kind of tool on small or large projects. Whether you are new to code analysis or have already used it, you'll learn a lot on what can be analysed from ABL code!
|
Open 3 4 3
|
511: Modernize ABL Source Code Using Fully Automated Transformation Greg Shah Golden Code Development
Modernization is hard. Many companies want to separate user interface from business logic so that a modern UI can be built. This is very time consuming. On large projects with thousands of files, it will take many years of effort to achieve any substantial percentage of the code successfully refactored. Organizations are finding that manual refactoring of a non-trivial application is impractical. Don't despair! The answer is automation.
FWD Transform is an open source toolkit that allows anyone to analyze and transform ABL source code into better, modernized ABL source code. This is based on the same proven FWD technology that has been used for fully automated conversion of entire ABL applications into Java based drop-in replacements. However, in this case there is no conversion to Java. The resulting transformed code is anti-parsed into ABL source code and can be executed in OpenEdge.
Although there are other tools that provide a limited "starting point" for a modernization project, these do not really address the problem. The core effort will still take too many years to be practical. FWD Transform is the only technology that provides a fully automated solution. It enables the transformation of entire applications, no matter the size. The technology on which it is built has been used on projects well over 10 million lines of code. There is no practical limit on the size of projects which can be handled.
Multiple example transformations will be shown, including a preview of fully automated separation of user interface from business logic resulting in an API for the existing code.
This session will introduce these tools, show how to use them to good effect and will provide details on how to get started on your own project.
|
378: Your Current Monitoring is Not Enough: the Business Benefits of Proactive Monitoring with ProTop Paul Koufalis White Star Software LLC
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.
|
14:00 |
Break |
14:15 |
303: Finding the right data right away Mike Lonski Allegro Consultants, LTD
Do you find the data you need with nothing extra, quickly and efficiently, every time you write a query? Knowing the ins and outs of the DB engine index rules seems simple, yet it can take a lifetime to truly master. This vital session starts with an in-depth discussion of how and why the DB engine chooses an index and continues with many surprising examples of why you may not get what you expect. Learn when do create an index, when *not* to create one, and many examples of getting what you expect or getting results that will astound you.
|
216: Application Modernization Case Study Alex Oliveri, Havard Danielson, Curtis Schroer Progress and Precision Strip
What does it mean to modernize an application? The term modernize can take on many different meanings. This session will explore the modernization journey for a legacy ADM2 GUI and WebSpeed application to a modern, responsive web implementation. This includes an effective, thoughtful roadmap, creating engaging UI, building an effective API strategy, and refactoring existing business logic. The result is a browser-based user experience driven by Kendo UI and Angular using Progress Application Server for OpenEdge and OpenEdge APIs. This includes an-indepth look at how existing business logic was refactored to drive those APIs. Topics include: Project Planning UX Design Building framework to support development Repeatable Patterns URL Strategy UI Development Refactor Business Logic
|
427: All types of data replication in OE Dmitri Levin alphabroder
In this presentation we will discuss three types of data replication: the old one After-Image replication, Open Edge replication and pro2 replication. Pros and cons of using one over the other, speed difference, the features that each type of replication brings. Tips and tricks that one would need to know when doing implementation. We will demo installation of OE replication online, without bringing database down and discuss installation and maintenance of pro2sql. All examples presented in slides are from our 1.5 TB database.
|
255: Scope: Blocks, Buffers, Transactions and Locks Tom Bascom White Star Software
Abstract: The interactions between Blocks, Buffers, Transactions, and Record Locks can sometimes seem arcane and mysterious. But there are actually just a few simple rules that govern these and which control the most fundamental aspects of your applications.
Perhaps your code is plagued with errors (214), (243), (244) and so forth. Or maybe you frequently suffer from <table> in use by <user> on <device>. Wait or press CTRL-C to stop. (121). Or sudden bi file growth due to long transactions. These are all problems that usually occur because of a mismatch in scopes.
Even if none of that is a problem for you come to this session to learn (or, for old hands, refresh your memory) about how these concepts work together to deliver scalable and robust solutions that will withstand the tests of time!
|
391: Roundtable TSMS 12 Tips, Tricks, and What's New Jeff Ledbetter Roundtable Software
Roundtable TSMS 12 is available from Progress Software for OpenEdge development environments 11.0 and higher. Are you taking advantage of the latest features and improvements? Do you know how to use Labs? Do you have the Backup feature enabled? Have see the Smart Compilation improvements? If you want to learn about these features and more, or are just investigating your SCM options for OpenEdge development, then this is the session for you.
|
15:15 |
Break |
15:30 |
326: OpenEdge Applications on AWS Public Cloud Oleg Kupershmidt, Peter Buonora Amazon
In this joint session co-presented by Progress and AWS we will share with you our experiences helping real customers move their OpenEdge applications to run on AWS public cloud. We will cover cloud resources provisioning, securing, monitoring, disaster recovery and more. The session will conclude with some insights into ongoing research by Progress and AWS aiming to advance your ability to benefit from running OpenEdge in public cloud.
|
479: Blockchain Technology: Fad or Forecast? Michael Solomon Solomon Consulting Inc.
By now, pretty much everyone knows something about blockchain technology. It makes Bitcoin possible and is supposed to change how commerce works. But there's more to it than just that. Blockchain isn't just the latest techno-fad. It will likely be a big part of IT's future. In this session, we'll talk about what blockchain really is, how is relates to what you probably already know, and why it is such a big deal. We'll cover some use cases where blockchain shines and how you could integrate blockchain with OpenEdge environments. After attending this session, you'll have a clearer picture of how blockchain could fit into your organization and where it makes sense.
|
364: Progress System Tables Dan Foreman White Star Software
Virtual System Tables offer a very flexible and powerful way of monitoring Progress databases activity, record locking, user I/O, and more for both local and remote databases. Unfortunately the lack of adequate documentation makes it difficult to do serious work with VSTs. This session covers what you won't find in the Progress documentation such as performance issues with VSTs, undocumented VST characteristics, the VST Schema, and how VSTs work. There are other tables in the Progress Database that are not virtual and serve a variety of functions such as the MetaSchema, Query Optimizer, SQL permissions, and much more. This session will also give an overview of these tables and show how they can be useful to developers and database administrators.
|
254: Beautiful Native Mobile Apps with NativeScript and OpenEdge Edsel Garcia Progress
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 in OpenEdge applications. We will use a starter template based on NativeScript with Angular, and show CRUD operations, and server-side filtering and sorting with a table on the OpenEdge database.
|
666: See How the Managed Database Service Can Help You Run Lean Mike Furgal Progress
More and more people are re-evaluating their OpenEdge deployments. Is the cloud the right place to go? Should I stay on-premises? Do I have the experience and resources to operate in a highly available application environment? The Progress Managed Database Admin (MDBA) Service can help answer these questions and more. The service continues to grow year-over-year. Come see what other customers are doing, what benefit they see, and how they are saving operational costs. Whether you are an Application Partner, an End USer of a Partner, or a Direct End User of OpenEdge, this service can help cut costs and increase performance, reliability, and availability of your OpenEdge application.
|
16:30 |
Break |
16:45 |
542: Let's Talk: Five 9's Tim Sargent, Raghu Rangan Progress
Reaching the five nines threshold of high availability is challenging, but Progress is committed to helping you achieve it. In this session we will review enhancements recently delivered and currently planned in the OpenEdge 12.x series followed by an open mic discussion where you can share what uptime issues plague you most. Moderated by the OpenEdge team, this open discussion provides you with the opportunity to influence the OpenEdge product roadmap features that will help to keep your apps up and running.
|
439: Schema:FILL(): Using Prodatasets to Read the Schema Tim Kuehn TDK Consulting Services Inc
In this session Tim outline how Progress stores the schema data for its tables, fields, and indexes. Next Tim will demonstrate how this structured can be modeled using prodataset technology, and conclude with a demo load of a db's schema with a single FILL() statement.
|
483: Master of Parameters Dan Foreman White Star Software
Startup parameters might sound like a boring topic but our goal is to make this presentation very interesting and useful. We will discuss a wide range of OpenEdge startup parameters for client connections, the database, AppServers, OpenEdge utilities, and more. Some of the already-documented parameters need additional clarification. Many useful parameters are totally undocumented. A number of parameters could even be called dangerous! But all parameters discussed in this session are valuable and worthy of being added to your personal knowledgebase.
|
Open 3 7 4
|
397: SmartComponent Library The OpenEdge Modernization Framework Mike Fechner Consultingwerk Software Services Ltd.
The SmartComponent Library is the developer framework designed to modernize existing OpenEdge applications using technologies such as OpenEdge GUI for .NET, Angular web applications, Kendo UI, mobile devices, RESTful clients, OpenEdge BPM and Progress Corticon. It is the foundation for new projects in the cloud and on-premises. In this session, we will demonstrate how the SmartComponent Library complements the OpenEdge developer experience and how the tooling simplifies the development of state of the art Angular web frontends, NativeScript based mobile app and desktop applications all onto a single future-proof OpenEdge backend.
|
18:00 |
Party and Sponsor Expo Armory Birds of a Feather Sessions
|