a/d trends: Windowing as a Y2K solution
When I first heard of the term "windowing" applied to a Year 2000 solution, I thought it had to do with the use of some Microsoft product. It doesn't. In fact, windowing is one of the more enduring application development Band Aids for businesses still behind with their Y2K plans (at nearly the midpoint of 1999!)
For example, a very effective and timely approach to date conversion is to use windowing techniques, including encapsulation. When using windowing solutions, programs, files and databases are not changed. Rather, code is inserted at each date used in the program to determine, based on a pivot year, whether the date should be considered in the twentieth or twenty-first century.
This common date routine is executed at each data occurrence by the program, windowing the program logic between the two centuries. For instance, two-digit years greater than or equal to the pivot number are considered to reside in the current century (68 becomes 1968). Everything else is considered to be part of the 21st century (13 becomes 2013).
Encapsulation is a windowing technique where the pivot is 28 years. In this technique, day-of-the-week mapping, as required by many financial and planning calculations, is preserved between the centuries. Program logic is not changed. Only the date fields are changed when output to screens and reports. In theory, this approach reduces risk by avoiding logic changes.
External program interfaces, whether still internal to the enterprise or external to customers, or suppliers, were often made ready by using windowing techniques. Initially, it was understood that a full-field expansion conversion approach would be a far superior strategic solution. However, since time is running out and schedules are being lengthened, windowing solutions are emerging as the practical solution for attaining Year 2000 compliance in time.
However, the fact remains, that with windowing solutions, files and databases have not been changed. Therefore, the window pivot year requires careful ongoing systems management, since multiple pivot years may be involved, and workarounds for sorting, indexing and collating were required and added.
Furthermore, there may be potential longer-term performance implications from executing windowing routines with every date access.
In the subsequent cleanup phase, there is a lingering question. Are applications using windowing techniques on a solid enough architectural base to provide robust strategic solutions post-2000?
The options are:
- Live with the windowed solution for the effective life of the application or system (especially if it is short lived or non-critical) ;
- Redo the conversion using full field expansion, as a standalone project, perhaps as part of ongoing maintenance, or, perhaps as part of a major functional upgrade or re-engineering project; or
- Replace the application or system with a strategic implementation as part of a strategic business initiative or a conversion to a package.
A strategy for dealing with Year 2000 solutions employing windowing techniques is required. Important considerations include understanding the extent of any problem, you need to evaluate the maintenance impacts and performance impacts of windowing on mission-critical applications and systems.
You may be able to identify linkages between systems and applications using windowing techniques and projects in the development backlog recovery phase or in the new development phase, thereby initiating combined or Leapfrog projects.
You should still consider launching standalone projects to upgrade systems and applications using windowing.
The safest way is to control the windowing programs in-house. The actual windowing or encapsulation routine may be a mere three lines of code. The issue, therefore, is not how to code it, but where to insert it. No tool can guarantee spotting 100 per cent of all instances, but they will certainly accelerate productivity in doing so.
Windowing solutions for AS/400 are best audited with one of the various Y2K impact analysis tools used for the system. In the mainframe environment, tools have emerged that work against the compiler semantics, providing perhaps somewhat more reliable data insight.
Customers in dire straits with Y2K problems have had many options culled because we are collectively running out of time. Triage of operating systems, coupled with windowing techniques may be the only method left to salvage existing legacy code.
Mark Buchner is president and founder of Astech Solutions Inc. (Aurora, Ontario), which applies technology to the practical needs of the AS/400 market. mbuchner@astech.com.