PUG Challenge

2017 Schedule

The 2017 Progress Users Group (PUG) Challenge/Exchange promises to be three-and-a-half days of lively technical sessions, workshops, training, demos and face-to-face networking with your peers and the OpenEdge engineering team.

For Sunday Workshops see: Sunday Workshop Registration

Sunday, June 4th
Time Armory
18:30 Welcome Reception and Sponsor Expo
Monday, June 5th
Time Pemigewasset Contookcook Merrimack Piscataquog Curriers
7:30 Breakfast (Armory)
08:30 101: Opening General Session
Yogesh Gupta
John Ainsworth

09:45 317: What's New in OpenEdge 11.7?
Martha Lynch, Marie Candela, Evan Bleicher
Progress Software

By now youve heard that there has been a new release of OpenEdge, and youre asking whats in there for me?. The simple answer: Plenty. Come to this session to get an overview of the major features that youll find in OpenEdge 11.7. Hear about: how you can track changes in your database to easily enable ETL; why you have even more reasons to try out the Progress AppServer for OpenEdge (PASOE); the latest development and deployment tooling improvements; plus those ABL enhancements youve been asking for. And much much more.

284: PAS for OpenEdge Web Handlers: A Deep Dive
Peter Judge

PAS for OpenEdge gives ABL programmers complete control over the request received and response returned when using the new WEB transport. This innocent-sounding sentence covers a wide range of topics: how do I retrieve that image my user sent me? How do I know what format the user expects the data in?

This session shows you the kinds of data you can consume - from the URI, cookies, headers to the body - and return - JSON, XML, multipart messages and more. It will also go into error handling strategies and will show you flexible approaches to routing and mapping requests.

351: Do you HTTP/2?
David Cleary
Progress Software

HTTP/2 is the first major revision to HTTP since 1997. It was designed for improving security and efficiency in modern web applications. Find out how you can take advantage of HTTP/2 with PASOE, and why you would want to.

230: An OpenEdge Modernization Journey
Alex Oliveri

This session will take a deep dive into a NA distribution company that had some difficult choices to make. The company needed to take action in order to keep up with the competition and a younger, mobile workforce. See how the OpenEdge stack including Kendo and Telerik Platform were used to give this distributor the competitive edge that was needed as well as best practices and a solid foundation for future development.

321: OpenEdge Analytics360 Integration
Mike Marriage

In this session, we will demonstrate the ability to call Progress ABL code through a Progress AppServer and use the resultant dataset within Analytics360. We will follow this up with an example of calling an R library (a software environment for statistical computing) to provide extended analytical capabilities. To finish things up, we will demonstrate the ability to extend Analytics360 by leveraging external programming libraries. For this demonstration, we will incorporate a few Kendo controls into an Analytics360 dashboard.

11:00 395: Introducing OpenEdge Change Data Capture
Rakhi Grover, Rama Murthy, Garry Hall

Recently available in OpenEdge 11.7.0, the new database feature Change Data Capture (CDC) is a tracking mechanism that enables applications to determine the changes made to user tables in a database. The changes that result from INSERT, UPDATE, and DELETE operations in a user table are tracked, captured and stored in relational tables called change tables. By using CDC in OpenEdge you can choose individual fields of a table for which you want to capture the changes and publish the data to an external data source, avoiding replicating the entire database and resulting in better management of the captured data.

This session will provide an introductory overview of what Change Data Capture is, how it is supported in OpenEdge, getting started on implementing it, and the ongoing management.

242: Get your head in the cloud! Scaling your PAS for OpenEdge application to 100,000 users
Roy Ellis
Progress Software

This presentation will explain how to scale your application to any size using Amazon Web Services tools and PAS for OpenEdge. This will include Elastic Load Balancing, Auto-Scaling, PASOE instance deploy, database provisioning and replication.

544: An OO Code Generator
Tim Kuehn
TDK Consulting Services Inc

One of the powers of OO programming is the ability to identify patterns of behavior, write code to implement that behavior, and then use the code in a variety of applications.

In this session Tim will walk through a code generator that reads a standard Progress database schema to create a set of common progress ABL objects. Tim will use the code generator application to discuss ways to identify patterns of behavior, implement the behavior as OO classes, and then assemble the OO classes into an application.

The OO generation code can be downloaded from bitbucket.org/TDKConsulting

279: Progress Rollbase for IoT: A Customer Success Story
Thierry Ciot

The Internet of Things (IoT) provides big opportunities for companies that can harness its power to create innovative business solutions. Progress Partner Kingslake is one of the many businesses tapping into the potential of IoT to empower their apps.

Kingslake created TranSmart, an innovative IoT solution powered by Progress Rollbase that enables businesses to build powerful new solutions in record time, all while providing unprecedented levels of intelligence and adaptability. Leveraging IoT, the Kingslake TranSmart system improves the efficiency and security of workforce transport for large companies that need to move workers between their homes and job sites.

Attend this session to learn:
How Kingslake leveraged Rollbase to incorporate IoT capabilities into its TranSmart system
How Rollbase enables Kingslake to quickly customize its solution for new applications, such as cargo transport and tour operations
How to build an IoT solution quickly and easily to deliver real business value

12:00 Lunch (Armory)
13:00 524: PAS, the new goodness: Where does my WebSpeed fit in?
Chad Thomson

By now you know, the latest goodness from Progress for services is PAS.

It may be that you find the majority of published PAS use-cases are centered around AppServer-related code, providing RESTful client access. And, since you develop or maintain a WebSpeed-base web site, does that mean you miss out on the PAS party? No.

If you think PAS, with all it's benefits, is only for AppServers -- nope. Your WebSpeed application can reap the same benefits of switching to the PAS platform as well.

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

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

372: What's New in OpenEdge Replication?
The Replication Team

This session provides an overview of enhancements to OpenEdge Replication in recent releases, including:

The introduction of Replication Sets. An OpenEdge Replication Set is a replication environment that contains three replicas: a source replica and two target replicas. The source replica and a target replica can switch roles via the transition process. The new source replica is then able to connect to the new target replica and the remaining target replica, perform synchronization, and continue the replication process.

The ability to restart the Replication Agent without restarting the database

Bringing Replication VSTs in parity with the Replication Monitor

446: Would you like to play a game? Disaster Planning Using Gaming Strategies
Michael Solomon
Solomon Consulting Inc.

Being prepared for disasters is crucial to business longevity. But getting prepared is all too often a dreaded process. But it doesn't have to be! Applying basic gaming concepts to disaster recover planning and testing results in better plans and better trained personnel. In short, you're playing the "Be Prepared for Anything Game!" In this session we'll introduce a clear strategy to help develop and test both business continuity plans and disaster recovery plans, and handle incidents, using the latest gaming concepts. You'll end up engaging more of your personnel and have a more secure business environment.

288: Building Your Ant Colony: Designing an Automated Build System with Apache Ant
John Cleaver
Factivity, Inc

Do you have tasks that you do every time you make a release of your software? What about things that you look for before committing changes to version control? Have you ever wanted to automate those tasks? Ant is a build automation tool that allows developers to define reproducible tasks that can be run from the command line or from within PDSOE itself. In this talk, you will learn the basics of build automation, the anatomy of an Ant build file, common build tasks, and how to utilize all of this in your day-to-day OpenEdge development.

14:15 541: What's new with the VSTs
Richard Banville
Progress Software

Insights into the database activity of your deployments give you the ability to quickly track down and resolve issues that would otherwise adversely affect your business. Recently 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 the their meaning, usage and interpretation.

493: Dockerize OpenEdge
Srinivas Rao Nalla

Docker containers present several benefits and OpenEdge customers can avail these benefits by modernizing their environments to Docker. The key differential benefit of Docker when compared with the existing infrastructure is the ease of deployment, rapid deployment and scalability. This session provides a quick overview of Docker and then goes into details on how we can use Docker containers for OpenEdge, customization techniques and limitations. This will be followed by a demo on dockerizing PASOE & OpenEdge DB.

526: Kendo UI Builder - First Impressions from a Character Developer
Bob Brennan
Integrated Manufacturing Systems, Inc.

What happens when you mix an old school Progress character developer with the very new school Kendo User Interface Builder?

In this session we will look at what it takes to transition your thought process and development tools to support an HTML5 front end. The perspective is from the point of view of a coder steeped in character development and the associated mindset.

We will work off a sample application starting from scratch and build out a working prototype. Along the way we will review the various tools and techniques required to make it all work together.

The intended audience is anyone interested in how HTML5 applications hang together as well as anyone feeling overwhelmed by all the new stuff to learn. We will break it down into reasonable pieces and hopefully remove some of the fear, uncertainty or doubt about this newer development method.

455: Distributing software in a low bandwidth environment
Simon L. Prinsloo
Vidisolve (Pty) Ltd

Rolling out a new version of WebClient as well as the entire WebClient package seems simple with the tools provided.

However, when the data center supports over eight hundred users at over fifty sites, mostly connected to the Internet via 4Mbps ADSL, a "big bang" roll-out becomes problematic. Once the data center is upgraded, the traditional method would result in almost eight hundred users hitting the data center simultaneously at the start of business to download the web client and the software update. This would lead to contention that could paralyze many sites for a day or more.

This case study looks at the way this was achieved by a large software provider in South Africa, also lessons learnt and common pitfalls to avoid.

15:30 363: What’s New in Progress Developer Studio for OpenEdge 11.7 and Sneak Peek into Future (Cloud) IDEs
Nischal Reddy

Progress Developer Studio for OpenEdge (PDSOE) is at the heart of every OpenEdge developer, since it empowers more productivity with less effort. In this session, learn what OpenEdge 11.7 delivers to PDSOE and hear about the new cool features from the core developers.

Technologies change in a blink of an eye, and formerly stable Integrated Development Environments (IDEs) have started to mutate and move from your localhost to the cloud. Learn about a new breed of Cloud IDEs, how they can be
leveraged, and what benefit they can deliver.

Plus, we’ll spotlight a new free developer utility, ABLDojo, where you can write, run and share ABL code right from your browser without any installation or setup.

What are you waiting for? Attend this session and get updated on PDSOE and the future of IDEs.

221: Dude, where's my memory?
Nectarios 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.

495: The Progress Index - Not only how they work but why and when
Michael Lonski
Allegro Consultants, LTD

Knowing the in's and out's of the DB engine index rules can make or break an application's performance. With the increase in dynamic programming models, the ability to properly select indices and, more importantly, prove which ones are being used is paramount.

This talk starts with an in-depth discussion of not only how the server chooses an index and many surprising reasons why it will not choose the one you think it should. We will also go into the reasons to create an index and more importantly, when *not* to create one.

512: What is your API Strategy?
David Cleary
Progress Software

Whether you are creating an internal API for your own application, or creating APIs for customers to use, it is important to have a strategy for success. In this presentation, we will take you through the process of designing and documenting your APIs with tools like Swagger. We will look at testing APIs with Test Studio for APIs. And finally, we will look at deploying APIs and using an API Gateway for management, versioning, metering, and security.

346: Making Rules Relevant: Accessible and Multi-Tenant Business Rules
David Atkins

In this session David will briefly introduce Progress Corticon BRMS and its integration options before stepping through some demonstrations that show: how you can safely give your end users access to define and maintain appropriate business rules themselves, and various ways you can model and manage multi-tenant business rules.

16:45 503: OpenEdge REST Backends, JSDO, Kendo UI and Angular 2
Mike Fechner

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.

410: Case Study: Platform and Data Migration with little downtime
Mike Furgal
Progress Software

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 the planning process and what tools were used to do this migration within the downtime allotted.

325: Finally, we can catch errors thrown to us!
Paul Guggenheim
Paul Guggenheim & Associates, Inc.

In addition to trapping errors the traditional way in the ABL using NO-ERROR, ERROR-STATUS and ON ERROR keywords, OpenEdge includes Structured Error Handling (SEH). This provides the developer with a more consistent methodology in processing errors in an application. SEH builds on the object oriented programming model allowing the creation of custom error classes which provide more accurate information to the end-user. This handling also automatically propagates errors up the call stack for a more centralized approach.

Come see how SEH can support top-down character as well as event-driven GUI applications. This talk will illustrate the advantages and differences between traditional and Structured Error Handling. Learn about the FINALLY, CATCH and THROW keywords that are also popular in other languages. Many useful examples will be presented enabling the audience to quickly take advantage of this effective technology.

235: Integrating the OpenEdge ABL with CouchDB
Don Beattie

The Progress OpenEdge database is a great relational database, but isnt good at storing documents and messages. When an OpenEdge application has the requirement to store messages, picking a database designed to store documents to supplement the RDBMS is probably a better choice. There are many document-oriented databases out there to choose from such as MongoDB, CrateIO, djondb, Couchbase Server, and CouchDB. In this presentation well focus on CouchDB and how we can use it to manage JSON documents from within an ABL application.

Presentation will focus on the following areas:
Overview of Document-Oriented Databases
High-level discussion of Apache CouchDBTM
Hosting on local servers or a cloud provider
ABL classes for creating and maintaining a CouchDB
ABL classes for populating and consuming JSON documents

224: ProTop: The Best OpenEdge Monitoring Dashboard in the Galaxy!
Tom Bascom
White Star Software

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 will 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 will 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 instant insight and proactive alerting, ProTop pays for itself in time saved by your already over-committed technical experts.

18:30 Reception and Sponsor Expo
Birds of a Feather Sessions
18:30 667: DBA War Stories

Join us for harrowing tales of exotic performance issues, just in time recovery and a plethora of dodgy programming practices to be avoided at all costs! Sit back and enjoy stories from the assembled DBA's or bring your own spine tingling adventure to share!

Tuesday, June 6th
Time Pemigewasset Contookcook Merrimack Piscataquog Curriers
7:30 Breakfast (Armory)
08:30 485: Build your own luck - Avoid system failures with simple planning
Adam Backman
White Star Software

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
Architecting reliability
Building reliable processes
Eliminate human error through automation
do, document, automate, test

505: Dude, Where is My Log File?
Michael Banks
Progress Software

Looking for tips and tricks to troubleshoot challenges with your OpenEdge application and database? Attend this session for a checklist that takes you through common troubleshooting scenarios. Discover where to find helpful Tomcat/Apache log files and what to look for when you're there. The session also covers a variety of client, database and AppServer issues, including the Progress Application Server for OpenEdge.

475: Datetimes, and blobs and clobs, OH MY!
Paul Guggenheim
Paul Guggenheim & Associates, Inc.

For those of you that haven't had a chance to explore the data
types available in OpenEdge, now is your chance. Learn how easy it is
store pictures, images and large text in the database. Discover how to
take advantage of datetime and datetime-timezone data elements in order
to produce a world class business application that has the flexibility
to gracefully handle transactions from around the world and around the
clock. If you are a developer or application designer, you won't want
to miss how you can pass arrays as run time parameters and specify them
with an undefined number of extents. This presentation is for
developers and application designers who have a strong background in
the ABL but would like to learn some of the new subtleties of OpenEdge.

341: Record vs. Transaction Scoping in OpenEdge ABL
Saravanakumar B
Quicken Loans

Presentation starts with an introduction to what is record scoping and why scoping of records are important. We will discuss on what will be the ill-effects to your system if you dont scope a record to an appropriate block. Touch base on types of record scope like strong scope, weak scope and free reference with examples explaining when and where each of the types will fit. We will discuss on how blocks (each block type) are related to record scoping and transactions. There will be an interactive discussion with perfect examples on 3 specific scenarios that always needs utmost care (i.e., transaction scope bigger than a record scope or record scope bigger than a transaction scope or if both are equal). Followed by discussion on uses of Listing utility and how to practically find the block level of a specific record to which its scoped to, at ease. We will discuss on types of locks (share-lock, exclusive-lock, no-lock), downgrading of locks and its ill-effects when it gets downgraded. We will discuss on what is record bleeding and how can it be avoided followed by pros and cons of release statement. I will showcase examples on using promon and vst to monitor locks. Also I will be stressing on practical problems users will be facing in case of having a large transactions. We will also discuss on few startup parameters relating to locks.
1. Record Scope Basics
2. Why should a record be scoped?
3. Types of Record Scope & Scoping Rules
4. Transaction Scope
5. Default vs. Forced Transaction Blocks
6. Listing utility
7. Types of Locks
8. Downgrading of Locks and its problems
9. Record Leaks
10. Pros and Cons of Release statement
11. Is my table Locked? How do I Monitor Locks?
12. Practical problems while having Large Transactions
13. Lets have a look at few Startup Parameters
By end of the session everyone should be able to understand the importance of record and transaction scoping and will code with utmost care!

389: A Holistic View of OpenEdge Pro2
Satya Prasad

OpenEdge Pro2 Replication Suite is the easiest and most cost effective approach for replicating OpenEdge database to MS SQL Server, Oracle or another OpenEdge Database. It removes connectivity limitations without disruption to normal business operations or risk to the transactional database. The actual data format and replication time interval is totally configurable. Pro2 provides maximum flexibility and excellent performance since the solution is totally native to OpenEdge.
This session will give an overview of Pro2 replication architecture and its ultra-cool features.

09:45 535: SQL92 for a Progress DBA
Bob Brennan
Integrated Manufacturing Systems, Inc.

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 tend to 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.

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

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.

277: Everyday OOP made easy: exploring the OpenEdge ABL Core class libraries
Chad Thomson

Initially released with OE 11.X, the OpenEdge ABL Core class libraries can go quietly un-noticed.

Maybe you say you don't know how to do this "OOP" thing, or it could be that your application platform is one built using... "mature" patterns, if you're running OE 11.X, these reasons should not stop you from experiencing all the ABL Core class libraries have to offer.

The attendee will take a tour through some the ABL classes provided with OE 11.X.
With comparisons of non-class-based vs ABL Core class patterns, the light will surely shine upon the realization "... there's a LOT already done for me. It's really easy to start using these classes -- even in my code!"

Join us, as everyday, real-world examples are demonstrated ranging from list manipulation using comma-delimited lists vs OpenEdge.Core.StringArray, to external service integration using OpenEdge.Net.HTTP.HTTPRequest.

571: SonarQube in action
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're new to code analysis or have already used it, you'll learn a lot on what can be analysed from ABL code !

447: Modernizing Complex Progress Applications - a Live Demo
Jan Aleman

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.

11:00 392: "JOIN" us on a DataServer Journey
Sachin Garg,Vara Prasad
progress software

There was a time not long ago when you didnt venture out to process joins, you mostly just stayed at home and the OpenEdge client in your lap did all the work. As DataServers matured, they struck out to visit AppServers and WebSpeed agents who often handled joins remotely as clients waited patiently at home. But even PASOE can only get you so far away.
The finest join riches live beyond the rainbow where the database resides. DataServers have been on a remote trek in search of join resolution by database servers. And their voyage has paid off handsomely in DataServer performance. Incessant network chatter and key by key server retrieval that used to plague clients has been replaced by the tranquility of optimized results delivered straight to your doorstep. Todays DataServer cashes in on native efficiencies and other database wealth. And the products of what resides just beyond the rainbow are now mostly finished goods immediately available to your OpenEdge application.
Join us in this session as we walk through the server side implementation of DataServer joins that include dynamic, single shot and LEFT OUTER varieties and learn how your OpenEdge application performance can benefit.

666: Mystery Session
The Parmington Foundation

Gus has always wanted to give a "mystery session" talk. We have no idea what he is going to talk about - you will have to show up to find out!

213: Application Auditing made Easy
Simon L. Prinsloo
Vidisolve (Pty) Ltd

The Progress OpenEdge database comes with a powerful auditing component. It also empowers the developer to raise custom audit triggers.

In this session the basic requirements of implementation and the 4GL elements contributing to this tool are discussed and demonstrated.

302: Understanding ABL source code with Proparse
Mike Fechner

The open source tool Proparse allows developers to gain a structured view on ABL source code. Proparse can be used for implementing code quality checkers or as the foundation for refactoring utilities. The talk will provide an overview of Proparse, it’s API’s, available tools that leverage Proparse as their foundation as well as how the presenter is using Proparse for code refactoring purposes internally. The presentation provides very simple examples that introduce the usage of Proparse from ABL applications as well as the required steps to integrate Proparse into an OpenEdge development setup.

397: Aurora Analytics
James Stein

CornerStar's Aurora Analytics is a full-featured Reporting Solution for the
Progress community. The simple yet powerful design uses Progress ABL as the query language allowing for native connections to Progress databases. At the same time the .net front end creates a seamless user experience incorporating the richness of a Windows front end. The .net client does not require any software installation only access to the appropriate application server. Once a data source is activated the end users can build, customize and save their personal views with no intervention from IT. It truly begins to approach the reporting ideal of self-service reporting where users can create the reports they need without negatively impacting the system and IT can deliver a solution that makes them look like superstars.

12:00 Lunch (Armory)
13:00 241: Were gonna script the bleep out of this!
Dustin Grau
Progress Services

OpenEdge 11.6 has brought us some pretty significant and useful features via the new Progress Application Server (PAS), and 11.7 will continue to improve upon this product. Though if youve embarked on setting up a new PAS instance, youve most likely noticed there are quite a few steps that may need to be performed if you want the best-performing and most-secure solution:
Creating your PAS instances, consistently across multiple environments.
Managing database domains (SSO) for application security.
Generating user accounts for database security.
Utilizing domain registries for Spring Security.
Managing tenants/domains for multi-tenancy.
Preparing for use of multiple ABL Applications.
Configuration option management.
Deploying your WebApps to non-development instances.
Merging configuration changes to openedge.properties file.

But before you feel like Matt Damons character in The Martian, up against overwhelming odds (hence the title), well discuss some hidden and not-so-hidden gems already available in your OpenEdge environment. And yes, even a bit of ANT scripting for combining a few of these internal tools. In the end, this session should demystify some concepts and processes, and you should leave feeling more confident in making use of PAS!

330: A deep dive into the SPRING security architecture
Frank Hilhorst
Progressive Consulting Inc.

With the advent of the PASOE Appserver PROGRESS now offers support for the SPRING security framework. The SPRING Security has a long history of adapting to the ever changing landscape of security threats for internet facing applications. In this session we will explore the threats that need to be addressed and how the SPRING security architecture addresses them. Then we will cover how the SPRING security is implemented in PROGRESS (what is supported and what is not). The different security models that are supported in PROGRESS will be explored, when to use them and how to take optimal both with declarative and coding approaches.

489: Progress Sitefinity 101
Denis Kyashif
New Venture Software

Progress Sitefinity is an amazing Web Content Management and Digital Marketing Platform that provides many capabilities that boost productivity and customer engagement. We will take a look at Sitefinitys main features and peek under the hood to understand how Sitefinity is customized and deployed.

290: Obsolete DBA Best Practices
Nectarios Daloglou
White Star Software

Obsolete DBA Best Practices
Learn or "un-learn" DBA tactics that have been considered best practices for years. In this presentation, we will take a look at various out-of-date DBA strategies along with their up-to-date recommended alternatives.

335: Move your OpenEdge Legacy to the Web the SmartComponent Library Framework
Mike Fechner


14:15 270: Working with OpenEdge Data and Business Logic in a Kendo UI Builder Application
Anil Kumar

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 JSDO and how to work with its ProDataSet-like API. This session will also explore the options for securing OpenEdge Data Object Services and how to handle setup and login to a web application.

529: OpenEdge SQL Query Best Practices
Chandra Sekhar
Progress Software

In the world of big data, where numerous complex queries run on databases involving terabytes of data, a single inefficient query can affect application performance catastrophically. In the planning and design phases of an OpenEdge Database implementation, it is important to understand how SQL interacts with it. Keeping the optimization practices of OpenEdge SQL Server for performance, protection, and growth of the database in mind, lets go through some best practices for better performance of your database transactions using SQL.on with OpenEdge CDC for ETL, Data Replication and Master Data Management.

314: .Net, not gui for .Net
Tom Bergman
Ovid Technologies

For quite some time now, we've all been exposed to features and wonder of GUI for .Net. This presentation will show you some interesting uses of .Net that do not involve the user interface. Ever want to resize or change the format of an image? Talk to Oracle or MSSQL? Communicate via HTTP? Use Active Directory? Use math functions not available from the ABL? Use regular expressions? Compress data before it goes to the DB? Find or kill a Process ID? Create an appointment on an Exchange server? All of these and more are possible, and in many cases simple, from within Progress using the Progress .Net bridge. And these just barely touch on the possibilities within the .Net framework and third party .Net components. This session is for Progress developers. No knowledge of .Net is required or assumed.

407: A dash around the table
Julian Lyndon-Smith

Do you want to make your existing openedge product sexier ?

Do you want to provide state of the art, cutting-edge features without having to rewrite the entire app ?

Then you should attend this presentation! "A dash" takes you through a real-life development process of integrating Roundtable, a well-established 4GL application, with several external systems and services, including Node.js, Solr and Graphana

Learn how to integrate Openedge with these technologies, what tools we used and why!

15:30 484: Database Repair & Recovery
Dan Foreman
White Star Software

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.

574: 2-Factor authentication with PAS
Cameron David Wright

See how to build 2-factor authentication into your PAS application. Challenge/Response and mobile app authorize will be covered. This session is for those facing increased security demands from customers and/or corporate security.

404: Embedded Application Performance Instrumentation
Tom Bascom
White Star Software

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!

567: Protecting Location Privacy: It's Not Who You Know, It's Where You Go
Michael Solomon
Solomon Consulting Inc.

Mobile devices are everywhere. And it is getting easier and easier to track current and historical locations of users. But tracking users and knowing where they've been makes privacy-sensitive users nervous. How can you provide location-aware services and protect user privacy at the same time? It can be done! In this session you'll learn about 3 practical approaches to providing accurate location-based services (proximity alerts) while maintaining user AND server location privacy. You'll learn about cutting edge research in location-based privacy and how you you can implement it today.

374: The Perfect Application: A Panel Discussion
Brian Bowman and Associated Personalities

Have you ever imagined a “perfe application”? Join us as we have a lively discussion of the requirements for delivering the perfect application, from the backend through to the business logic to the most modern UI. We will have a panel of Progress and customer experts with varied experiences and opinions. Ask questions to learn about other business applications and gain a better understanding of the many different options available to you in planning your perfect application.

16:45 470: Database Diagnostics
Richard Banville
Progress Software

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.

466: Building a real world business application in Kendo UI Builder
Shelley B Chase

The Kendo UI Builder is a powerful Web App Designer with productivity and customization built in. This session will look at generating an application using the KUIB and how to customize its look and feel to match your desired UX using the built-in extension points. We will also explore adding some custom UI components to pre-defined templates.

361: Is Your Business Secure? Addressing Risk at the Technical Level
Marv Stone
Progress Software

The need to ensure the security of your information and environment has never been greater. Come join Marv Stone, Principal Systems Engineer with Progress Software, as he outlines the business and 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.

380: Top 10 Tools
Riverside Software

Meet productivity advocates Gilles Querret and Mike Fechner as they discuss and demonstrate the tools from within and outside of the Progress' "box" that makes their everyday life when developing software much easier. The kind of tools that they install on every new PC before even considering to write a single line of code.

At the end of the presentation, Gilles and Mike will open the stage for everybody to share his personal must have tools with the crowd.

343: Insight is 20/20: The Importance of Analytics
Amit Deokar
University of Massachusetts Lowell

The saying goes hindsight is 20/20. However, organizations today must be able to operate with 20/20 insight because effective business is driven by effective analytics. Whether it is operational, financial or managerial intelligence, the ability to accurately report, measure and now predict business outcomes enables companies to make impactful decisions. Today’s competitive landscape and recent surge of technologies has caused an explosion of opportunities from embedded to predictive to cognitive analytics. Explore the world of analytics and gain a better understanding of current technologies and those soon to arrive on the scene. We will also help you to assess the types of resources needed for an effective analytics strategy for you and your customers.

18:30 Party and Sponsor Expo
Birds of a Feather Sessions
18:30 668: Putting the "Challenge" in PUG Challenge
Peter Judge

The final head to head competition between finely crafted 4gl implementations of the classic "Othello" game!

Wednesday, June 7th
Time Pemigewasset Contookcook Merrimack Piscataquog Curriers
7:30 Breakfast (Armory)
08:30 548: Mastering 4GL Code Performance - Take 2
Paul Koufalis, Peter Judge
White Star Software and PSC

NEW and REVISED for 2017!

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.

483: Openedge Standard Storage Areas
Tom Bascom
White Star Software

In this session we will present a simple, yet robust, set of standard storage area definitions that everyone with an OpenEdge database can use as a starting point. We will discuss why it is important to have your data in type 2 storage areas and present a minimal effort configuration that all but the largest and most complex deployments can take advantage of. Just the thing for a partner's "out of the box" implementation -- whether you are a partner wanting to be pro-active or a customer who wants to improve on a default "schema area" deployment. We will discuss the pros and cons of the various design decisions that go into creating the standard and then what the path forward for more complex environments might look like.

382: How I Stopped Worrying and Learned to Love Open Source
Dave Cleary

In 2013, the OpenEdge product group of Progress embarked on developing their next generation application server. This product would replace an application server originally developed in the late 90s with one based on Open Source and Open Standards. This presentation details the design, decisions, successes and challenges of developing an application server based on Tomcat, Spring, Camel, CXF, and a number of other open source technologies. See what we did to develop a commercial product built on a foundation of Open Source that had to meet the bar set by our classic Application Server.

419: OpenEdge Roadmap and Vision
Brian Bowman and Rob Straight

Come see what the future holds. This presentation will talk about the direction of OpenEdge for the next 3 years. We will talk about what the overall goals are, what problems we are working to solve, and how we believe we will get there. We will also highlight features that we are planning to focus on in the near future.

09:45 239: ABL Code Analytics: Unique Tools for Deep Code Analysis and Inspection
Greg Shah
Golden Code Development

Coming soon!

562: Power of Single Sign On in OpenEdge
Srinivas Munigala
Progress Software

With single sign-on (SSO), users are authenticated only once, regardless of how many other applications they attempt to access after the initial login. In general, this is achieved when the SSO Identity Provider (IDP) sends the target applications an assertion that the user has been authenticated and should be trusted by that application. OpenEdge provides built-in SSO support within ABL applications, where a sealed security token can be used to set the user's identity for different ABL sessions and database connections. This session will give you an overview of Single sign-on support in OpenEdge, how to configure and a detailed demo using REST application.

476: Case Study: Protecting PCI data in an Ecomm/Catalog environment
Tim Alten
AmeriMark Direct LLC

This session will show how AmeriMark Direct protects credit card data in a multi-system, multi-app environment using standard ABL capabilities with OE databases, Appservers and Webspeed and without the use of the new TDE features. We will look at overall design considerations and relate them to PCI requirements and security overall. There will be diagrams and some code samples. This design has passed several external PCI audits.

430: The Future of OpenEdge build system (a.k.a Why Ant and PCT should die)
Riverside Software

A fast and reliable build system is a key point for every developer, and many of them rely on Ant and PCT to build and deploy OpenEdge applications. The aim of this session is to draw the lines of a new build mechanism based on lessons learnt from other languages, and to gather requirements and opinions from various sources. Whether you're new to OpenEdge or a seasoned veteran, come and share your experience !

437: OpenEdge Deployment Info Exchange
OpenEdge Engineering and Product Management

Come meet with Progress OpenEdge Engineering and Product Management representatives for an informal discussion about OpenEdge deployment, including disaster recovery, platforms, deployment technologies, OpenEdge Analytics360 and tools that will help you be more successful in deploying and maintaining your production application. Share your thoughts and ideas about the features you need most.

11:00 513: Barbarians at the gate. Keep them at bay with the OpenEdge Authentication Gateway
Roy Ellis
Progress Software

OpenEdge Authentication Gateway is a new product in 11.7 that protects your application and database using separation of duties and processes for authentication and authorization. With OEAuthGateway you wont need to develop nor maintain your own authentication and authorization modules for your application. The OEAuthGateway better protects your data by not allowing a connection to your OpenEdge database until authenticated and authorized.

350: Incremental Application Modernization
Coenie Vermaak
Britehouse Automotive

The discussion (presented at the EMEA PUG 2016) covers a new finely grained approach to modernization projects. This approach moves away from the traditional modular approach to an approach using a service oriented architecture to refactor subsets of a process.

The major benefit of this approach it that refactored code can be deployed more regularly while minimizing the risks associated with the project. The presentation focuses on the following topics:
- Why it is important to start a modernization project
- Understanding and scoping the project
- Fine grained approach and rational for implementing this method
- Risks, benefits and challenges associated with modernization
- Tool-set considerations
- Approach to merging modernized code into legacy production system

391: Something is Brewing in the OpenEdge World
Julian Lyndon-Smith

Being true geeks and nerds, when we booted the KSB micro-brewery , we needed to store the brewing data in a database, in order to be able to reproduce that magnificent IPA produced last month ;)

So, we took our decades of programming experience and built an angular frontend, node middleware and OE backend system to manage the KSB.

This presentation will show you what tools we used to design, build, test and run this essential piece of software !

530: Tales of the Secret Bunker - 2017 Edition
Mike Furgal and Gus Bjorklund
Progress Software

Continuing in the finest traditions of the Secret Bunker, we bring you the 2017 edition. In this talk we will share the results of a variety of database performance measurements using modern releases of the OpenEdge RDBMS that were conducted in a Secret Bunker somewhere nearby. In particular, we will show what are the effects of combining certain features.

Among these are After-Image Journalling, Transparent Data Encryption, 11.5.1 vs 11.7, OpenEdge Replicatio,n and maybe a few other things.

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

261: OpenEdge Development Info Exchange
OpenEdge Engineering and Product Management
Progress Software

Come meet with Progress OpenEdge Engineering and Product Management representatives for an informal discussion about OpenEdge development, Continuous Integration/Deployment, Application Sever, security and the ABL. Share your thoughts and ideas about the features you need most.

12:00 Lunch (Armory)