Analysis of Existing ABL Code
Speaker: Dr. Thomas Mercer-Hursh, Computing Integrity, Inc.
Many ABL systems have their origins many years ago. Most have received many layers of modification, typically resulting in complex and poorly structured systems. Modifying or extending such systems can often be extremely difficult. Good analysis is needed to avoid unintended collateral damage from changes and to decide where to make changes in the first place. Good analysis is also the first step in transformation, since one must know what is there before deciding how to replace it.
In this presentation, we will explore a variety of analytic tools, evaluate their utility and limitations. Tools will include XREF, OE Architect, Search Tools, ProLint, Proparse, Analyst, and ABL2UML.
Download session |
Architecting Tomorrow - Using OpenEdge and Object Oriented Design to Structure and Efficiently drive Smart AJAX, Native and Mobile UIs
Speaker: Mihai Nadăș , Project Manager, TSS-Yonder
Either we are taking about web browsers or mobile devices - nowadays everyone demands access to their back office applications from anywhere, at any time and all-day long.
To support this, it's important to expose your business logic in a consistent and intelligent way, in order to serve different UI platforms simultaneously with a single code base.
Throughout this session, the audience will be presented with a structured way of building SAAS-ready Object Oriented business logic to drive smart AJAX, Java Wicket, WPF and mobile user interfaces, allowing self-service consumers to directly access selected business functions.
The presentation will show the OERA-compliant high level architecture that allows a loose coupling between the UI and the BL, followed by the communication protocol with the outside world and finally a demo with different UI's using the same Progress backend. |
Beginner's Guide to Continuous Integration
Speaker: Gilles Querret, Consultant, Riverside Software
Whether in a small development shop or in a large company with developers spread around the world, releasing a new version is always a moment of excitement but it's a bad time to discover bugs. This session will introduce you to continuous integration in a Progress environment, which allows development teams to continuously repeat the build, test and deployment steps, to catch defects as soon as possible and raise the overall quality of your product.
Be lazy! Just let your servers do the hard work, and start implementing continuous integration for your developments!
Download session |
Code Generation Your Way
Speaker: Julian Lyndon-Smith, Dot R
One of the big advantages of ABL over 3GLs is its productivity, but doesn't everyone want even more productivity? The speaker will discuss and demonstrate an open-source project that uses code generation to create customisable mvc structures and UI screens direct from database meta-data that requires a little time investment yet provides immediate return.
Download session |
DBQ – The Simple and Powerful MQ in Pure ABL
Speaker: Audrius Beniusis, Baltic Amadeus
In this session we will present a project named "DB Queues" or DBQ for short. It is a collection of libraries and tools that implement simple message queue interface in pure OpenEdge ABL. A handful of ABL functions and procedures together with a couple of tables in an OpenEdge database will make sending and receiving messages work like a breeze. The current implementation provides not only a simple and intuitive API to send and receive messages, it also features a driver process that automates most of the common message handling tasks by distributing messages across one or more AppServers, manages processing threads and ensures redelivery in case a message receiving fails. In addition to that administrators will appreciate a Management Console that allows administration and tracking of messages in the queues. And for those who don't want to miss a thing there is a shell script compatible with Xymon that allows unattended monitoring of the queues – it will detect crashed or misbehaving receiver processes and will warn if messages stay in queues too long.
Download session |
Developing Semi-disconnected Mobile Applications for the Retail Environment
Speaker: Brian C. Preece, R & D Director, Business Computer Projects Ltd, UK
Handheld devices have been used in the retail environment for many years now for applications such as price checking, stock control and queue busting. However, up to now, these have generally been dumb devices that require continuous connection to a server to function. Even in a small retail store, there are areas of poor wireless connection and this limits their use.
In this session, we will show how BCP used the latest generation of smart devices and the latest Microsoft and Progress technologies to build modern applications with vastly improved user interfaces that communicate data back to the server while in areas of good RF, but still operate effectively when out of communication. The tools we have developed as part of this project are equally applicable to a wide range of devices, including Smartphones and Tablets, and to a wide variety of environments, including warehouses, factories, and laboratories and for mobile workers, in fact anywhere where devices move in and out of radio communication but real time information is required as soon as a connection is made.
Download session |
Extreme Windows Desktop Integration
Speaker: Marko Rüterbories, Consultingwerk Ltd
Windows is still the most relevant platform for desktop applications. With the introduction of the GUI for .NET the ability to use the .NET framework to interact with Windows desktop resources is simpler and more sophisticated than ever and accessible for everybody developing classic OpenEdge GUI or GUI for .NET applications. In this session Marko Rüterbories will give practical introductions and provide downloadable examples for using the .NET technology to access the Windows API, including starting, querying and stopping external processes, file system operations, Drag and Drop to and from the Windows Explorer, Drag and Drop to Microsoft Office applications like Outlook or Word, using Windows 7 advanced taskbar features (jumplists and overlay icons), notify icons and desktop alerts. Using these features the end user will experience a richer integration of the ABL application into the Windows Desktop as well as practical productivity gains.
Intended audience: ABL developers, none to little GUI for .NET experience required.
Outline:
- OpenEdge GUI for .NET, integration into the OpenEdge clients
- External process operations
- File system interaction
- Drag and Drop to and from external applications
- Windows 7 taskbar features
- Notify icons and desktop alerts
Sample code is available for free download.
Download session |
Flusstra
Speaker: Robert Jan Nolting, Flusso
Apps and mobile devices, like iPhones, iPads and Android based ones, become more and more common in daily life. Already it's possible to order books, DVD's or games via mobile applications. Also gaining information about the region you are currently staying like the weather forecast or events. The new Flusso strategy also focuses on meeting those moving and mobile demands. Flusso made an OpenEdge (Version 10.2B) based back-end suitable for those front-end mobile apps by working out a case, called Flusstra. The presentation shows the way this case is designed and developed. It shows the coding and the used technics of OpenEdge, Java and MySQL in the back-end, the iOS and Android based presentations at the front-end and their restfull data interchange by the usage of JSON. It shows that OpenEdge can serve a variety of nowadays mobile apps. Also, OpenEdge developers gets insight in practical solutions which they can apply by themselves to meet their own moving demands. |
Integrated Telecommunications for Your Application? Easy!
Speaker: Julian Lyndon-Smith, Dot R
This presentation will show you how simple it is to integrate telecommunications into your Progress application.
Some of the topics covered are:
- Internal phone calls
- External phone calls
- Queues
- Voicemail
- Custom prompts & recordings
- Call recordings and playback
- SMS integration
With simple code examples and demonstrations you will see how this can change the way you look and think about your application and integrated communications. |
My Progress Code doesn’t Compile on iOs. Now what?
Speaker: Roland de Pijper, TSS-Yonder
Apple has done a great job to get the iPhone and iPad accepted in business environments. These devices are not just gadgets any more, they have become an extension to your customer's business. And that makes it your business to make your software available on iOs. But only a native iOs application can unleash the full potential of these devices. So … now what to do?
The best starting point is to visit our session. We will make you familiar with all aspects of iOs development:
- A stunning IDE called XCode
- A language called Objective-C - and how does it compare to OO ABL
- A programming framework called Cocoa Touch
- Supporting frameworks, e.g. to access your Progress business logic
- Deploy your app to the AppStore using Provisioning
- What are the pitfalls?
- What are the alternatives?
During the session we'll build a native iOs app connecting to a Progress Appserver. During this demo we will highlight the practical use of the techniques mentioned above.
And present a small showcase of iOs apps we already deployed to give you some inspiration for your first iOs project!
Download session |
Object to Object Relations
Speaker: Dr. Thomas Mercer-Hursh, Computing Integrity, Inc.
A fundamental difference between OO thinking and traditional ABL is that in OO one object is connected to another object directly by what is called a "relation", but data in traditional ABL is accessed via keys in local or database tables. A relation is directly navigated as opposed to the lookup that key access requires. This presentation will explore the significance of this difference and how it is implemented in ABL code. The discussion will cover both single and multiple targets of the relation, core concepts in collections, and implementing collections in ABL with sample code.
Download session |
OpenEdge and OpenEdge BPM Cross-Plattform mobile phone development (iPhone, iPad, Android and .NET) using .NET
Speaker: Mike Fechner, Consultingwerk Ltd
You end users demand good user interfaces on their mobile devices? AJAX does not sizzle? Offline capabilities? Looking at the numbers of good quality apps in todays mobile phone appstores there is no doubt that mobile phone applicating are a huge market. In my consulting activities I have met almost no Progress partner that say's we do not need mobile apps at all... But how? The two big players in the field (Apple's iOS and Google's Android) are built using completly different platforms and tools and do not allow any common code. Microsoft's Windows Phone might become the third relevant player. .NET might be the solution! The session introduces .NET mobile phone development for iOS, Android and Windows Phone, how it allows code reuse and how it can be connected to OpenEdge, OpenEdge BPM and Savvion applications.
Download session |
Pivoting with Plain Progress
Speaker: Wim van der Ham, WITS Worldwide IT Solutions di W. van der Ham & C. sas
In most companies there are external Business Intelligence and Reporting Solutions to provide high class reports. But what if you just need a few summary data or pivot tables inside your Progress application? Come see this presentation and learn how you can use plain Progress to extract data from your database with complex queries, add some dynamic formulas to calculate additional data, put in some sub-queries to change codes into descriptions and then pivot or summarise to show just the important numbers. All of this in plain Progress and repository based so you won't get challenged to add yet another field or formula to the output.
Download session |
Social Media: Running a nightlife website build with OpenEdge
Speakers: Freek Regout & Edwin Lotten, ForEach B.V.
In this session we will give inside information how we build DJGuide. DJGuide.nl is a nightlife website and attracts 400,000 unique visitors each month.
The following aspects are discussed:
- Cache mechanism (Performance)
- Facebook integration (hello world example step by step)
- Building an APP on Facebook with OpenEdge/Webspeed (hello world example step by step)
- Twitter / Youtube integration (Mash up)
- Google SEO / Maps / Analytics
Download session |
Interface Transformation without Rewriting Code
Speaker: Sergey Klimov
So in brief there's a technology which allows transforming "spaghetti" ABL 2-tier application into 3-tier GUI/WEB/mobile application without much rewriting. It's called (c)blodd (bUSINESS lOGIC oN dIFFERENT dESKTOPS). Of course the new application won't be perfect, it will inherit all old "diseases" of the old code except for the UI. The most prominent feature is that you can have and support 2 UIs simultaneously, because the technology can be applied to the old code over and over again.
The technology includes 3 components – an ABL framework which makes all magic, a GUI/WEB/mobile painter which shows the new UI and a converter which transforms the old code into the new one. At first you run the converter to get the new code which with the framework together can be run on OpenEdge Application Server. The painter application connects to Application Server and magic begins.
Of course it's not as easy as I described. The converted code probably will have to be tweaked as well as the framework and the painter for each application we want to convert but definitely it'll be much easier than total rewriting.
Compare two shots they show exactly the same application – of course the new UI is the first one.
Download session |
UI Modernisation with Web Service and .NET
Speaker: Emil Gustafsson, InPort (Intelligent Port Systems A/S - AB)
Challenge/Problem
We have a product called "PortIT" where we wanted to modernise the UI. It is a large product written in OpenEdge ABL with the old UI consisting of almost 2500 windows and dialog and almost as many more procedure files. We wanted a better looking UI with more functionality and to make graphical UI (for instance to handle wood packaged with yard planning).
Solution
The solution we choose was to use OpenEdge as a database, build Web Service using AppServer and the GUI in .NET with C#. This works seamlessly with the old windows for the users of our product. I will explain how to set up the environment and the include code necessary to make it work. Will also have a demo how it looks with the new GUI.
Download session |
|