Making the Past serve your Future

Making the Past serve your Future: how to survive and exploit that unretirable legacy RDB app in your new project

Andreas Hiltner, Niall Ross and Dirk Verleysen

Abstract

It has been claimed that Ruby-on-Rails means when you come off the rails you are in the wilderness - all that speed suddenly replaced with hacking through jungle. One such jungle is caused by legacy apps that you must exploit and can't replace. Ever been in a customer discussion like this?

"We need you to build us this new webapp yesterday. By the way, the new system must get a little of its data from the old X app, and write some to it. And the same for the old Y app. No, we can't replace those apps for years yet; other units depend on them. No we don't have schemas for their relational database backends; our staff know what the data means when it appears on their screens. We got them as minimum budget bespoke a few years back - not sure the companies are still around. Dave in IT support knows something about it - he says the core of Y was written by a foreign company and the table and column names aren't English. We'll retire them eventually, but meantime we've got to add this new webapp for the new function now."

We will present a specific medical domain, and a specific web application, where this kind of thing is all too real a problem, making it hard to deliver vital new function into an existing situation. Cincom Smalltalk's tools combine the Active Record pattern with the Glorp framework: the approach is specifically designed to keep you moving fast when you are off the rails in the legacy jungle. Using this specific example, we will walk you through how we do that.

The talk will show how a wide range of Cincom Smalltalk functions (modelling, RDB-mapping, web applications) interact to deliver a functional increment.

Bios

Dirk Verleysen

Dirk has 23 years of experience working for various industrial and consulting companies and doing projects in different Smalltalks (Cincom(r) ObjectStudio(r), VisualWorks, Smalltalk/V and VA Smalltalk). Some of the many companies Dirk has consulted for include Fabelta Ninove, Infosoft, Sanpareil, Roots, KBC Assett Management, Argo and ADP.

Dirk joined Cincom Systems, Inc. in 2008 as lead developer for the Modeling and Mapping Tool in ObjectStudio. The Modeling Tool allows a business architect to design and generate the framework for a software system using a powerful UML base tool. The Mapping Tool connects your Smalltalk objects to relational databases the easy way. It also allows an easy connection from relationship databases to objects and applications using the object relational mapping technology GLORP

Niall Ross

Niall ended his undergraduate career with two intellectual interests: computing and the theory of relativity. A quick check of how much commercial work was available to relativity and gravitation theorists decided him to do academic research in that field and then seek a commercial job in computing, rather than the other way round. Niall started working commercially in IT in 1985. He was at first assigned to designing and implementing software engineering process improvements and only three years later did he begin significant writing and delivering of commercial software. This experience taught him that intelligent people can nevertheless form foolish ideas about software engineering if they have not worked at the coding coalface of real large commercial projects.

Learning from this, Niall spent the nineties working on software to manage complex, rapidly-changing telecoms networks. A side effect of this work was that it taught him much about how scale and rate of change affects software. Early in the nineties he discovered Smalltalk. The more he used it, the more he came to recognize its its power in this area. This perception was strengthened when he spent a year delivering a telecoms management system in Java.

At the end of the decade, Niall formed his own software company to offer consultancy in meta-data system design, in Smalltalk and in agile methods. Over the next decade, he worked on a variety of meta-data-driven systems, mostly in the financial domain. He also led the Custom Refactoring open-source project, and recently the SUnit open-source project.

Niall joined Cincom Smalltalk Engineering team nearly 3 years ago. He leads the team that does the weekly VisualWorks builds, an experience he likens to doing brain surgery on yourself every Friday (e.g. "prepare new memory for insertion, remove old memory, - uh, I can't remember what I was going to do next ... " :-) ).

Andreas Hiltner

Andreas started his career at the IT academy of Germany's largest mail-order company. Besides knowledge in mainframes and *NIX systems, he soon became an expert in distributed transactions, parallel-processing and databases servers.

He is currently the lead VM engineer for ObjectStudio Smalltalk, in addition to having a hand in most aspects of base image and database development. He works from home near Nuremberg, Germany, where he just recently returned after spending five years with his family in the US at Cincom's headquarters in Cincinnati, Ohio. Along with many contributions to ObjectStudio over the years, he was the project lead in Cincom's development of the current 8.x versions of ObjectStudio, based on VisualWorks.

Andreas is a seasoned architect who has specialized in Cincom ObjectStudio for almost 15 years. In his years of working with Cincom he has had the opportunity to assist key Cincom Smalltalk users worldwide including one of the world's top 5 financial institutions, and several government agencies.

Slides

PDF