PUG Challenge Virtual 2020

04 November 2020

Consultingwerk is proud to be part of PUG Challenge Virtual 2020 as Gold Sponsor and we invite you to join us from 4 - 6 November 2020.

More information on https://www.pugchallenge.eu/.




PUG Challenge Virtual 2020 is the conference for everyone who works with Progress products to develop or run business systems, whether they be developers, software architects, database administrators, infrastructure specialists, consultants, business analysts or sales people.

The PUG Challenge Virtual is the place to be in order to learn about the latest and greatest from Progress Software and from experts in the field - like us here at Consultingwerk.

Join us for technical community sessions, updates from Progress staff working on the tools and features you most enjoy, workshops and detailed discussions with your peers.

Consultingwerk is proud to be supporting PUG Challenge Virtual 2020 again as Gold Sponsor and we invite you to join us from 4 - 6 November 2020. Don't miss the chance to meet us in person at our virtual booth!

We also invite you to participate in our annual OpenEdge Nerd Quiz Competition for a chance to win a Google Nest Hub! Click here for more information.


  • Mike Fechner


    Mike Fechner, lead modernization architect at Consultingwerk started using Progress over 30 years ago and ever since has supported Progress Application Partners and end customers in adopting the features of the latest OpenEdge and Progress releases to enhance the capabilities of existing applications. With his framework design skills he has set the stage for development of many successful OpenEdge applications.

    Mike is specialized on object orientation in the ABL, software architectures, the GUI for .NET, web technologies and a wide range of Progress products such as OpenEdge, Telerik and Corticon. He is involved in software modernization projects on a day by day basis.

    He is a well-known and active member of the international OpenEdge community, frequent presenter at conferences around the world and is a board member of the German PUG and founder of the committee of the EMEA PUG Challenge. He’s also a founding member of the Common Component Specification project.

    Examples of refactoring legacy ABL Source Code to PASOE

    In our modernization projects the reuse of existing source code and screen layout is generally a huge concern. Successful reuse or refactoring of existing source code is what makes the difference between a plain rewrite or a faster – and cheaper – modernization effort.

    In this session we will introduce general techniques and tools that support us during the process. We will showcase the refactoring of ADM and Progress Dynamics applications as well as TTY style update-editing based business logic.

    We will give an insight into the architecture that may supports recurring challenges. We will also discuss pros and cons of simply changing the architecture to overcome the requirements of separating UI and business logic versus changing the code structure to gain additional benefits.

    #applicationModernization  #sourceCode   #refactoring   #ABL   #ProParse   #framework  #SmartComponentLibrary

    Managing Dependencies in OOABL Applications

    Managing dependencies is a key factor in successful application development. The way you manage dependencies to other components such as code – your own, a team members or a third parties – , services or databases is what decides future-proofness and robustness of code, flexibility in general and testability.

    In this session we’ll introduce dependencies and why they can be a challenge. We’ll introduce common methods of dealing with them in object-oriented applications. We’ll give insight into the implementation (source code) of common solutions for managing dependencies like factories, dependency injection and service locators.

    #ABL  #programming  #architecture   #objectOrientation  #applicationModernization  #patterns   #unitTesting   #sourceCode  

    WORKSHOP Introduction to the SmartComponent Library

    In this workshop we’ll give a deep dive into the SmartComponent Library. The first half of the workshop will be provided as an intensive and interactive demo (questions welcome) of basic and latest features of the framework.

    We will start with introducing the business logic design process and how backend functionality can be exposed effortlessly to existing ABL programs or REST clients.

    We will introduce how different clients can be implemented: Angular web, NativeScript mobile and Desktop GUI for .NET either based on a shared UI definition or a platform specific specialized UI design.

    We will introduce user focused features such as dynamic tables, workflows and authentication and authorization capabilities of the framework.

    In the second part of the workshop we’ll give you the opportunity to follow a documented script and develop a backend business logic component and an Angular web application using our toolset. Try it yourself or virtually look over someone else’s shoulder doing it live.

    If you are interested in joining the workshop, please email mike.fechner@consultingwerk.de to reserve your spot and we’ll provide details for participating in the workshop.

    #SmartComponentLibrary   #framework   #workshop   #development   #applicationModernization   #webApplication   #REST   #desktopUI   #softwareArchitecture   #angular

  • Lutz Fechner

    Full-stack Developer

    Over 15 years experience in developing B2B E-Commerce/E-Procurement solutions mostly based on Java and .Net (Framework and Core) on Windows and Linux.

    Mostly doing full stack development on different platforms mostly for Web based Solutions (HTML/CSS/JavaScript/jQuery some Angular) in the frontend, whatever fits in the backend or between (Application Servers, Middleware Systems, Micro Services) as well as Database development (Data Modelling, ETL, Stored Procedures in Oracle, PostgreSQL, MS SQL Server, SQLite, Lucene API).

    Also around 5 years experience in developing Desktop applications (.Net Windows Forms and C++ MFC).

    Doing C based IOT developments as a Hobby :-) Not much contact with Mobile Development so far even though I tried and in most cases used nearly all platforms out there (Symbian, J2ME, Android, Blackberry, Windows Mobile, Windows CE, Firefox OS, Ubuntu Touch, iOS).

    Recently joined Consultingwerk and he's eager to help others to stay in touch with modern technologies and methodologies.

    Oh (n)oh to good OO (Part 1 and Part 2)

    with Lutz Fechner and Mike Fechner

    In the set of two presentations the speakers will guide the audience through a simulated code review.

    Based on experience from mentoring procedural OpenEdge developers through their first steps of writing object-oriented code we’ll walk through a fictional beginners class based implementation of validation in a Business Service Component. We’ll fight our way through the Spaghetti and introduce step by step improvements to the code and introduce the theory behind those steps.

    Goal is to provide practical applicable guidance and enable the audience to join the next debate about OO design with other developers and architects.

    We’ll discuss important OO patterns and practices such as generalization, abstraction, single-responsibility principle and more.

    #ABL   #sourceCode   #programming   #architecture   #objectOrientation   #applicationModernization

  • Marko Rüterbories

    Senior Consultant

    Marko Rüterbories has 23 years of experience as developer, administrator, consultant and trainer on various technologies including Windows and Web Application development, various databases including Progress OpenEdge, MySQL and Oracle as well as Linux and Windows server administration.

    He started using the .NET framework for development just after it was released in 2002. He started using Progress and OpenEdge more than 14 years ago. Marko started using the OpenEdge GUI for .NET while it was still in beta in 2007.

    Marko currently provides consulting and training services for OpenEdge ABL and GUI for .NET related subjects and uses his experience as a developer and software architect of many successful applications in the international projects he is involved in as a consultant working for Consultingwerk Ltd.. Marko is co-architect of our successful SmartComponent Library developer framework.

    Managing Distributed teams in the time of COVID-19

    Times have changed and so has our work life. In this session, Marko will talk about the challenges people in different roles are facing by not being able to co-locate over a longer period. Behaviors that need to be developed or strengthened, processes that may need adjustments, tools used and how successful such a situation can turn out to be.

    The presenter is currently working in a team of scrum masters managing three distributed developer teams and the DevOps of a large modernization project.

    #teamManagement   #scrum   #COVID-19   #agile   #processes  


  • Daniel van Doorn

    Senior Consultant

    Daniël van Doorn started developing Progress in 1997 with version 7. Daniel is experienced in working in several different roles varying from developer / R&D / technical application manager / “The DevOps guy” to lead architect.

    Within the last 10 years Daniel spent on R&D and building development factories. From the complete development environment / landscape / Smart Component Library integration and implementation via builds into software depots till the deployment on servers and clients.

    CI/CD is his thing.

    Daniel is experienced with OpenEdge on many different platforms like HP-UX / AIX / AS-400 / Linux / Windows and enjoys working with Jenkins, Ant and PCT. Daniel currently works as Senior Consultant for Consultingwerk.

    Unit Testing PASOE Web Applications using Docker and Jenkins Pipelines

    Of course, we can only stress the importance of unit testing all facets of your application and framework. Therefore, we will present you with a live demo of how to unit test AppServer (PASOE) and REST APIs by utilizing Docker containers.

    In this live demo we will create a unit test to verify a REST API in a Docker container. Based on the Docker OpenEdge Pasoe 12.2 image we will build a Docker image for an AppServer exposing the REST API.

    The SmartComponent Library is used as an example implementation of RESTful services because of its user-friendly REST configuration, but this demo is not about the SmartComponent Library and the process can be used to unit test any OpenEdge REST or AppServer code. During this live demo, we will start with generating a PASOE in the Docker image and generate the openedge.properties configuration, spring security and other configurations. Then we will add all libraries and configuration. Based on that image we will generate another Docker image with an application and REST API. This container will be started, and we will execute a unit test against this container and view the result in Jenkins. All this shall be performed via a Jenkins pipeline, by utilizing plain Ant (no contrib), Groovy and ABL Unit or Smart Unit.

    #SmartComponentLibrary   #devOps   #PASOE   #docker   #unitTesting   #automation   #pipeline   #Jenkins   #REST

  • James Palmer

    Senior Consultant / Database Administrator

    James has been working in the OpenEdge world since 2003. He has varied experience across a variety of industries and applications as a developer and more recently as a DBA.

    He currently works as a Senior Technical Consultant for Principal Logistics Technologies, a provider of Warehouse Management Systems based in Dublin, Ireland.

    James is the Chairman of the UK & Ireland PUG, and has spoken on a variety of topics both at EMEA PUG Challenge events, PUG Challenge Americas, PUG South Africa, and smaller conferences in the UK and USA.

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

    Abstract: As a DBA there are many repetitive and often tricky jobs you need to do regularly. We are often also averse to simplifying the process. So let’s go through a DBA’s toolkit using Apache Ant together, and look at how we can use this free automation tool for making your life easier. Topics we will cover include:

    • Backups – a quick rehash of my talk from 2019 where we use Ant and Jenkins to build a robust platform independent backup strategy
    • File management – Remove files based on some arbitrary date stamp. Particularly useful for removing old backups and AI files
    • Simple dump and load of small databases
    • DF management – using a full DF file to build and load an incremental DF to a database. No more need to version delta DF files. Just version the full database DF.
    • Automatic downgrade of databases across major OpenEdge versions. Useful if you maintain systems across multiple versions but only want to maintain your master database in one version.

    By the end of the talk you should have tools in your arsenal to make your job easier and keep your customers and developers happy.

    #devOps   #automation   #development   #databases   #hero   #ANT   #PCT

  • Radu Nicoara


    Radu has been using OpenEdge for about 5 years. He has several years of experience in Angular, NativeScript and node.js.

    In his role as Developer with Consultingwerk, he developed the SmartComponent Library for Angular and NativeScript.

    As Consultant he supports customers, offers consultation for web and mobile architecture and provides training and mentoring services.

    Compare Angular, Vue, React

    When you start dipping your feet in the uncertain waters of frontend development, one aspect will quickly draw your attention: the sheer number of frameworks and libraries that are available. Which one should you choose? How do you know if it will deliver? Is it all it’s said to be, or is it yet another hype train? These are questions that even seasoned frontend developers need to ask themselves, more often that you’d expect. In this presentation, we’ll have a look at the three most popular frameworks out there. You will gain an understanding of what the advantages of each of them are, as well as the drawbacks.

    #webDevelopment   #angular   #webApplications   #development   #vue   #react

    Unit  Testing  Angular  Web Apps

    Tired of testing all of your web applications manually? Then this session is for you. We’ll go over everything from basic unit testing of your services with mock data to using spies and even running entire complex automated, end-to-end tests on your Angular web applications.

    #webDevelopment   #angular  #unitTesting   #webApplications   #development