Search Site

 
 

 

 

 

 
 

Manuals

Support Forum

FAQs

GUI FAQs

Downloads

Technical Articles

Code Samples

GUI Video Tutorial

Support Request

Products

 

 

 

 

AccuSoft Support

 

AccuTerm GUI Environment

Frequently Asked Questions

 

a white paper by John Treankler

 

This, the first of several parts of a full description of the AccuTerm Graphical User Interface (GUI) environment, is an introduction to AccuTerm GUI, organized as a FAQ.

 

What is the AccuTerm GUI Environment, and what does it do?
 
Who is it for?

What’s different about this client-server environment?

Is it a “middleware” product?

Is it a MultiValue product or a Windows product?

What are the client-side components?

What is between the client and server?

What are the server-side components?

Does AccuTerm GUI require writing VB or HTML?

Is the forms designer necessary?

How does the AccuTerm GUI forms designer compare with Visual Basic’s forms designer?

Which controls does AccuTerm GUI support?

What controls are not supported?

What is “tab order” and why is it so important in forms design?

Why is “field validation” important?

What is the “validate” event and why should it be handled?

What kinds of connections does AccuTerm GUI support?

Is it an Internet product or an intranet product?

Is it thin client?

What about client-side validation?

What do the screens look like?

Is AccuTerm GUI designed for GUI-izing legacy Pick applications, or for developing in Windows?

What does the server-side code look like?

How does AccuTerm GUI benefit users and developers of existing 4GL systems?

Is AccuTerm an effective RAD environment for Windows development?

Does it interface with client applications, such as Word, Excel or e-mail?

Is AccuTerm a cost-effective option for deploying GUI applications?

Is there an evaluation version available?

 


 

FAQ:

 

Q: What is the AccuTerm GUI Environment, and what does it do?

A: A feature of AccuTerm 2K2, the AccuTerm GUI environment is a programming and development environment to utilize MultiValue databases and applications from a Windows-based PC.  It can be used to “GUI-ize” an existing MultiValue application, and then deploy it as a LAN (intranet,) VPN (extranet) or web-based (Internet) application.

Q: Who is it for?

A: AccuTerm GUI was designed specifically for users and developers of MultiValue applications who have a need for GUI flavored screens to augment and/or replace existing character-based “green screen” apps. It is suitable for “Pick shops” without Windows programmers, and for those who prefer MultiValue BASIC to other programming languages.

Q: What’s different about this client-server environment?

A: In AccuTerm GUI, all “event handlers” are all written in BASIC code on the MultiValue server.  There is no need to write any client-side code: no VB, C or HTML.  This means that an experienced Pick programmer can start using it almost immediately, even without training in networks, Windows, “client/server” architectures, VB, C or HTML.

Q: Is it a “middleware” product?

A: Yes, and more – it’s also a client product.  The client, AccuTerm 2K2’s runtime engine, runs either as a Windows application or inside a browser window.  It is a complete client – there’s no need for VB or HTML.  The only non-AccuTerm client s/w needed is Internet Explorer, for web-deployed applications.  Classic middleware functions, such as seamless, transparent data interchange between client and server and integration tools for legacy code are built into AccuTerm GUI, so it does what middleware products are designed to do.  It just uses less “moving parts” than most middleware solutions.

Q. Is it a MultiValue product or a Windows product?

A: AccuTerm GUI is both.  AccuTerm 2K2 client code, itself written in VB and C, runs on all Windows-based PC’s and is installed with a standard Windows setup program.  The server code, written in BASIC, is compatible with all modern MultiValue platforms, from D3 to uniData to mvBase to jBASE.  It is installed from an AccuTerm client onto an existing MultiValue account so there is really no Pick-based installation, per se.  Server-side (Pick-based) and client-side (Windows based) components interact at design time and run time to deploy forms from the server into Windows-based or Web-based clients, so it’s both server and client, MultiValue and Windows.

Q: What are the client-side components?

A: On the client side – within AccuTerm 2K2 set up on the user’s PC – there are design-time components and run-time components.  The forms designer is a design-time client tool to “drag and drop” controls – text boxes, radio buttons, pull-downs, etc. – onto forms, with WYSIWYG control over each control’s size, color, alignment, fonts, graphics, etc.  The forms designer also specifies “event handling” for various events – click, double-click, validate, etc. – for every control, as needed.  At run time, client-side code runs the forms and their controls inside of a Windows dialog or a browser window, handles selected events and reports them back to the server, sends form data to the server and updates GUI controls with data from the server.

Q: What is between the client and server?

A: AccuTerm is the connection between the client and the server for Windows-based deployment; the Internet (or an intranet) is the connection for web-based deployment.  The same forms can be deployed as Windows-based or web-based, without modification. Windows-based deployment requires that the client have a licensed copy of AccuTerm 2K2.

Q: What are the server-side components?

A: AccuTerm GUI has a server-side run time library of MultiValue BASIC subroutines, which bring event handlers and forms control to a MultiValue application at run time.  (What happens upon each event and what data are passed to and from the form are up to the MultiValue BASIC programmer, and defined on the server side.)  Forms can be designed completely on the server, without using any client-based design-time tools.  At run time, the server controls deployment of GUI forms to the AccuTerm client-side run time engine.  All forms are stored on the server, as ASCII records in a MultiValue file.

Q. Does AccuTerm GUI require writing VB or HTML?

A: No, but experience with the Visual Basic forms designer can accelerate learning the AccuTerm GUI forms designer.  There is no need to license any VB or C compilers or HTML editors on any server or client, only Windows – and, for web deployment, Internet Explorer.  It does require experience with some flavor of MultiValue BASIC programming language and with the MultiValue database.

Q: Is the forms designer necessary?

A: No.  Forms can be created and modified at runtime with server-side BASIC code, for example, for GUI deployment of existing screen definitions, without using the forms designer.  Development of forms can be done completely on the server using MV-based text editors and programs and/or with another AccuTerm tool: WED, a Windows-based screen editor.  Many combinations of server-side and client-side forms design are possible, as well.

Q: How does the AccuTerm GUI forms designer compare with Visual Basic’s forms designer?

A: The AccuTerm GUI forms designer doesn’t support all the different controls available within VB, but those which it does support are every bit as WYSIWYG as VB’s, and easier to use.  A lot of rarely used features of VB are eliminated or handled transparently in AccuTerm GUI, and it handles “tab order,” a critical element of forms design, better than VB does.

Q: Which controls does AccuTerm GUI support?

A:  AccuTerm GUI supports a “core package” of the most commonly used, most powerful and most useful controls from the VB world: MDI forms, labels, text boxes, list boxes, combo boxes, checkboxes, radio buttons, command buttons, grids or tables, frames, pictures, multi-page tabbed forms, tree views, progress meters, menu bars, pop-up or “right-click” menus and toolbars.  These controls probably make up 99% of what is done in all Windows-based applications. 

Q: What controls are not supported?

A: Third-party controls for VB are not compatible with AccuTerm GUI, but controls can be tweaked – modified, created, removed, activated, animated, etc. – at runtime with server-side BASIC code.  Many complex VB controls not supplied in the AccuTerm GUI core package can be assembled from core controls.  For example, a table with clickable header row to specify sort fields – like Windows Explorer in “detail” view – is just a core grid control, with the sorting handled at run time by server-side BASIC code.

Q: What is “tab order” and why is it so important in forms design?

A: A user in a GUI form moves from control to control by pressing the Tab key.  Focus moves from control to control, on the form, following the tab order defined for each form, and the control with focus can be activated with the Enter key.  Most legacy applications navigate with Tab and Enter keys, so proper tab order is essential to the smooth flow through menus and screens.  It is especially important to retain tab order in applications that are deployed as character-based and GUI at the same time.  Also, users who navigate with the Tab key – rather than the mouse – keep their hands on the keyboard and are usually more productive than those who point and click.

Q: Why is “field validation” important?

A: Field validation, common to almost all Pick legacy applications, requires verifying that the user has entered valid data for one field before allowing the user to move to the next field.  Applications written using field validation will not work unless the field validation is maintained, so a Pick legacy app redeployed as a GUI app must support field validation.  In most client/server applications, especially web-based apps, field validation is difficult – requiring JavaScript attached to each field, for example – or impossible.  AccuTerm GUI supports field validation transparently, with the “validate” event.  The alternative to field validation – “stuff and submit” – is not considered a state-of-the-art method of entering data for “enterprise” or “integrated” applications.

Q. What is the “validate” event and why should it be handled?

A: Even simple GUI controls, such as a text box, have many different events to handle and many ways of coding event handlers.  There are also more ways to navigate within GUI screens than with character-based screens, which means more event handlers for more events, and more chances for event handler code to go wrong.  The “validate” event – supported in AccuTerm GUI and the latest versions of VB – fires whenever the user leaves a field, either by keystroke or mouse click, and is usually sufficient.  Simple event-handler code that handles just the validate event is more efficient and maintainable than event-handlers with several different keystroke and/or click events.

Q. What kinds of connections does AccuTerm GUI support?

A: Any serial (RS-232C,) PicLan (IPX), telnet (TCP/IP) or secure shell (ssh) AccuTerm connection over comm. port, LAN, WAN or VPN is supported, as well as a special new class of web-based connection in AccuTerm 2K2.  For web-based deployment, AccuTerm actually runs inside a browser window, and the same client-side runtime engine is used as in the other connections.  This eliminates having to write browser-based code, supporting two different GUI environments, one for Windows and one for the WWW and having to deploy browser add-ins, like ActiveX controls.

Q: Is it an Internet product or an intranet product?

A: Yes.  An application written in AccuTerm GUI will run over a LAN, as part of an intranet; the exact same code will run exactly the same way on the Internet.  This simplifies deployment, gives users greater flexibility when connecting to an application remotely, and automatically provides Application Service Provider (ASP) options.

Q: Is it thin client?

A: Yes, in that the only client-side Windows code that is deployed is the small footprint AccuTerm 2K2.  At runtime, however, an unlimited number of forms of any size can be running on a client, which gives the effect of a thick client, without the disadvantages.  This method is sometimes called “server-side client” architecture, as the client code is centrally stored on and distributed from the server.

Q: What about client-side validation?

A: One advantage of Visual Basic Windows forms or web-based forms with embedded JavaScript is the ability to do client-side validation of field values.  When processing forms using field validation, handling simple format validation – that a field matches a numeric, alpha, currency, date, telephone or SSN format, for example – on the client rather than the server can noticeably decrease network traffic and response time.  AccuTerm GUI can validate these and other formats on the client, usually as a precursor to server-side validation; for example, a ZIP code can be validated to be a five digit numeric on the client before the server determines if it’s a valid ZIP code.

Q: What do the screens look like?

A: AccuTerm GUI screens look like Windows-based GUI screens because they are, at runtime, exactly that – AccuTerm 2K2 is a Windows-based runtime engine.  The AccuTerm GUI programmer can paint forms in the same colors and fonts as the VB programmer, with 3-D or flat controls, pictures on buttons, icons, menu bars, scroll bars and all the trappings of Windows-based applications.  Every field can have context-sensitive help, just like in VB screens; keystroke and click events are handled just like in VB screens; in short, AccuTerm GUI screens are indistinguishable from VB GUI screens.

Q: Is AccuTerm GUI designed for GUI-izing legacy Pick applications, or for developing in Windows?

A: In AccuTerm GUI, all event handlers are written on the server, in MultiValue BASIC code.  Forms are stored on the server – as MultiValue records – and deployed from a central repository, on the server, like MultiValue applications have always been.  It eliminates the need for VB and HTML authoring tools and any Windows programming – and programmers.  A legacy Pick application could be redeployed as a GUI app writing only Pick BASIC code.  It was clearly designed with the MultiValue programmer in mind, and is uniquely suited as a middleware tool for redeployment of legacy applications by Pick programmers. 

Q: What does the server-side code look like?

A: The AccuTerm GUI environment has a library of MultiValue BASIC subroutines that are installed on the server.  The design-time software includes a code generator which produces source code a BASIC program that calls ATGUI subroutines to display the form, then drops into an “event loop” that detects the next event triggered by the client, then uses a large CASE statement construct to determine which control fired which event and transfers control to a user-written subroutine which handles the event, then simply executes a RETURN statement.  The BASIC event handler gets or sets the values of controls on the form by calling other ATGUI subroutines.

Q: How does AccuTerm GUI benefit users and developers of existing 4GL systems?

A: Many existing MultiValue applications are implemented by use of 4GL systems that use “menu processors” and “screen processors.”  These 4GL environments have menu definition files and screen definition files, with run-time drivers written in BASIC.  By extending these run-time drivers with calls to AccuTerm BASIC subroutines, a MultiValue developer can redeploy the 4GL runtime as an AccuTerm GUI app.  Then, all the existing 4GL applications become GUI deployed apps, without having to redeploy each application.  This technique gives great leverage to developers who use 4GLs and can be used to convert large character-based applications to GUI apps in a very short time.

Q: Is AccuTerm an effective RAD environment for Windows development?

A: AccuTerm GUI is a very fast, clean, robust and easy to use tool for new Windows-based software development.  It has a small client footprint and built-in, transparent deployment of client screens from the server.  There’s no need to maintain DLL’s on clients or deal with differences between different versions of Windows.  And, for Pick houses, AccuTerm GUI means Windows programming without Windows programmers.

Q: Does it interface with client applications, such as Word, Excel or e-mail?

A: Yes.  The AccuTerm 2K2 client has an embedded scripting language, identical to VBA, which can access the properties and methods of any office automation products, including Excel, Word and Outlook.  This gives unlimited connectivity and powerful, standard presentation layer options, as well as automatic compatibility with Windows printers and other peripherals.

Q: Is AccuTerm a cost-effective option for deploying GUI applications?

A: AccuTerm 2K2 is a complete GUI environment – client, middleware and server – that needs no other bundled client s/w to run – there is no need to buy VB or any HTML authoring tools.  Site license options for the client software make the AccuTerm GUI environment one of the least expensive client/server solutions anywhere.

Q: Is there an evaluation version available?

A: Go to www.asent.com to download a 30-day trial version of AccuTerm 2K2.  The setup program will install both the Windows client and the MultiValue server.  Sample GUI programs are included, as well. 

 

Questions? comments? webmaster@asent.com © 2003 AccuSoft Enterprises All rights reserved  Please see our disclaimer