| Front Page | News Headlines | Technical Headlines | Planning Features | Advanced Search |
News Icon

March 2004

Interface package extends 3000 applications’ reach

QCForms takes MPE programs into windowed worlds

Finding new software that can remake HP 3000 applications isn’t difficult in the transition era. What’s become rare is the new program that lets developers improve apps on MPE/iX, while carrying those enhancements to other environments, too.

A new software product from AICS Research proposes to let 3000 shops do such transformations. QCForms, which the company is just releasing within its QCTerm suite after an extensive testing period, delivers graphical triggers such as checkboxes, radio buttons and smart fields, all without requiring change to application code. The new interface elements work in Unix environments as well as under MPE, giving the redressed apps someplace to go in the future.

The software is contained within the QCTerm terminal emulation suite that AICS Research has been offering for free for several years. That product, built in plain view of the 3000 community through open testing, redesign and public betas, now includes QCForms in its ability to emulate HP 3000 terminals. QCForms will be offered on a per-seat license plan, while QCTerm remains free.

QCForms differs from two of the most standard architectures for screen display. Instead using a page mode, like VPlus that transmits a page of data at a time, or line mode like character-based screens, QCForms uses what AICS founder Wirt Atmar calls Field Mode.

“When you enter an active object’s field, whether it’s a text entry box, pick list, radio buttons, etc., QCForms memorizes the current state of the field,” Atmar says. “If you leave the field without changing anything, nothing happens. But if you modify the value of the field, those modifications are transmitted to the host computer in this fashion: fieldname:newfieldvalue. An example might be something like lastname:Seybold.

“The only control character that’s important to QCForms is the carriage return character. The CR indicates that the line is complete. LFs, Nulls and the like are simply ignored.”

While using QCForms, programmers include one IF statement for each active object on the form. One of these IF statements would match up to a button object on the screen that would say something like Submit or Enter. Pressing that button signals the host application to take the received data, process it for consistency and then either record all of the received values in a database or reject the screen for some reason.

The simplicity of the design means that QCForms can allow a user’s entry of 5055249800 to be formatted and returned as (505) 524-9800. “All of this would occur within that field’s particular IF statement in the host application. The same is true of currency conversions. The currency conversion tables would reside on the host and could be updated every night, so that money entered in any currency could be converted into today’s dollars.”

The software’s design allows a developer to update other fields with the most recently entered data. For example on tax forms, Line 20 is often the sum of Lines 17, 18, and 19. Entering any new values into any of those lines updates Line 20’s value automatically. Or entering CA in a state field could update a pick list of counties for that state.

Automation is key to the architecture. “Once a few fields at the top of the form were filled out by a user, the host application could dynamically redraw the bottom part of the form appropriately to the values entered,” Atmar says.

He explains that the developers at AICS have worked to make both QCTerm and QCForms platform-agnostic, after HP’s release of its 3000 business two years ago.

“Losing HP as a ‘trusted partner’ has caused us not to trust anyone anymore, not IBM, not Unix, not even Linux,” he says, “a stance that we probably should have adopted much earlier on our own, under any circumstance.”

QCForms only requires that the host have telnet capabilities, something the 3000 has had for many years. QCForms uses no escape sequences. It restricts its conversations to the printable ASCII character set, “Basically any host is acceptable,” Atmar said, “regardless of its phylogenetic history.”

Developing potential

Several HP 3000 veterans who have assisted in beta testing QCForms said the forms’ cross-platform profile was one of the biggest advantages of the software.

“You can use it to extend applications, as an intermediate step,” said John Burke, a member of the MPE Forum and owner of Burke Consulting and Technology Solutions. “You can convert your VPlus screens to QCForms, and if you decided to convert to Linux or Unix later on, you can bring your forms over.”

Burke compared the conversion effort in using QCForms on VPlus screens to the automated tool offered by ScreenJet, noting that the AICS software seems to deliver an end-result that runs anywhere, with any language.

“It’s a lot more work than using ScreenJet’s tools to convert to Acucorp’s COBOL,” Burke said. “But QCForms is platform-neutral.” Burke also noted that QCForms doesn’t support the VPlus editing language, used to make calculations in numeric fields.

But QCForms looks to have a cleaner replacement in its scripts. Frank Smith, an application developer whose Alden Research firm trains customers in HP 3000 skills, said his firm will offer a conversion service that uses QCForms to migrate applications written with VPlus screens. Smith said QCForms’ language and platform independence seems unique.

“It’s got a degree of flexibility I don’t think others offer,” he said. “It’s remarkably easy to work with, too. If you can write in any language that can read and write from the standard input and output devices, you can write for QCForms: Basic, C, Fortran, or any of the more modern languages you can choose.”

Smith, who said he’s written with VPlus intrinsics since that screen language was called DEL/3000 back in the 1970s, said QCForms doesn’t demand any fluency in VPlus. “If you haven’t worked with VPlus, that actually helps,” he said. “Writing simple reads and writes to a terminal interface like QCForms does — that’s elegant.”

“Today, even if you’re staying on the HP 3000, the option should be to write in as open a fashion as possible,” Smith said. “That means your avenues of escape are as open as possible.”

Escape might not be on a QCForms user’s mind, though. While Smith plans to use QCForms as a migration tool away from the platform, he also sees the potential for the new interfaces to expand the capability of the HP 3000’s applications. The typical VPlus form discouraged improvements.

“These QCForms are easily customizable,” he said. “Once you create a VPlus form, you’re reluctant to do much with it, because that would mean recompiling and some recoding. With QCForms, you write a script that generates the form, and the script is easily changeable — in many cases without making any changes to application code.”

Multi-line fields posed problems in VPlus, Smith said, while QCForms has definitions within its language that allows for the number of lines to expand as needed in a field. The flexibility impressed John Burke, too.

“Can you add things easily like pick lists or radio buttons? Absolutely,” said Burke. “I have a lot of hope for it.” Since these interface improvements can give older HP 3000 applications a new lifespan, the software proposes to serve homesteading customers as well as those preparing to migrate. 3000 shops without VPlus skills can employ QCForms instead.

“People have the ability to make these changes if they have the ability to deal with a very simple procedural language,” Smith said.

 


Copyright The 3000 NewsWire. All rights reserved.