Progress
AppBuilder
Developer’s Guide
Glossary
4GLAcronym for Fourth-Generation Language. The term used for Progress Software Corporation’s application programming language.
ActiveXMicrosoft’s registered trademark for the third version of Object Linking and Embedding (OLE) controls. ActiveX objects conform to the Microsoft Component Object Model standard. ActiveX objects are still often called OCX objects.
APIApplication Programming Interface. The specification for the run-time library.
AsynchronousLacking regular timing, not occurring at regular intervals. Most higher-level human activities are asynchronous.
AtomicA term used to refer to inseparability. An atomic operation is one that must be done all at once.
Basic ObjectA 4GL object; a user-interface element defined in the 4GL itself. Basic objects are distinct both from SmartObjects and from ActiveX objects.
BufferA multi-byte block of memory used for temporary storage.
ClassThe term used, specifically in object-oriented programming, to describe an abstract object; a synonym for type or category. In programming, a class definition includes both data and behavior definitions.
Client/Server ApplicationA single application divided into two or more pieces for efficiency. In general, the client piece handles user-interface issues, and the server piece handles database issues. Clients and servers typically run on different computers and communicate over a network, but this is not essential. One server may support many clients. Clients are sometimes referred to as being “thin” or “thick”. Thin clients do less processing locally; the thinnest clients may be little more than terminals.
CorruptionLost integrity, or the process of losing integrity. Data corruption can occur on two levels: physical and logical.
Physical corruption means the data itself has been inappropriately altered, for example by a hardware failure causing a dropped or stuck bit that creates a value 0 or 3 in place of a 1.
Logical corruption means different elements inappropriately get out of sync with one another, often because a multi-step operation was neither fully completed nor fully undone. No physical corruption is involved.
Data-drivenThe quality of being guided by external data, rather than having all guidance within the program itself. The behavior of an interpreter can be thought of as data-driven.
Data StreamThe data that flows into and out of an application. A description of the data stream fully identifies the database, the tables, and the fields involved, as well as their ordering and permissions.
DefaultThe term that refers to what you get if you do not choose something else. Not everything has a default value.
Design WindowAn AppBuilder synonym for workspace, but only for objects with a visible run-time representation. The workspace for a non-visible object is not a design window, but rather the Section Editor combined with a tree view of editable code sections.
Display BufferThe area of memory used by the system to assemble and store text or video images to be displayed on terminal or monitor. Display-buffer sizes range from the 2KB text buffer of a traditional timesharing terminal to the 8MB (or larger) graphics buffer on a video adapter card.
Drag-and-Drop LayoutThe method by which most layout editors work. The designer selects tool icons representing the various possible user-interface components and drag-and-drops them onto a workspace, visually arranging them into their final positions and sizes.
EventSome occurrence defined as being interesting. Events may be generated by hardware or software. If you wish to handle an event in your application, you write a procedure usually known as a trigger, and attach it to that class of event. When a event of that type occurs, your trigger code is automatically executed.
External ProcedureA Progress-specific term, also called a procedure file. An external procedure is some amount of code, typically including functionally-related internal procedures and functions, that is stored in a file on disk. External procedures are identified by their filenames.
Fit-and-FinishThe elements that combine to create in the user a feeling that the application was or was not well-designed and carefully written.
Free-form QueryA query written by hand, rather than by using Query Builder. Freeform queries can have any structure the author likes, or none. Query Builder generates queries with a particular structure, and you can find it difficult or impossible to create certain kinds of unusual queries with it.
Fully-qualifiedThe state of being described uniquely. A fully-qualified database field reference is one that can map to only a single, specific field in a specific database, not to a field with the same name in some other database.
FunctionAs used by many C programmers: any subprogram. Specifically a subprogram identified by the reserved word FUNCTION. The way the Progress programming language uses the term is closer to the use in Pascal than in C. Functions always return a value (unlike procedures).
GlueCode that helps integrate other, more specialized code. For example, the code that copies the results of a transformation from one place to another is usually thought of as glue. Also called supporting code.
GranularityA term referring to the size of a unit of analysis, intervention, etc.
GridlineThe AppBuilder term for one of the imaginary lines that cover a Frame object at regular intervals, horizontally and vertically. Gridlines exist only at design time. You can set the intervals at which they occur, and can make them visible or invisible, and magnetic or not magnetic.
IconGenerally, a non-text (graphic) symbol or an image used as a symbol.
IdentifierThe name given an object, variable, etc. and used in code.
InheritIn an object-oriented environment, to automatically get properties and, perhaps, values from an ancestor object or class upon creation.
InstanceThe term used in object-oriented programming for a specific object, allocated in memory, that represents a class. A class is unique, but you can normally create an unlimited number of instances that are members of a particular class. The memory allocation for an instance is typically only enough for the instance’s data; all instances of a object type share the same executable code.
Internal ProcedureA Progress-specific term. An internal procedure is a subprogram identified by the reserved word PROCEDURE. Also used more generally to refer to any PROCEDURE or FUNCTION in the abstract.
Layout EditorIn a RAP/RAD environment, the tool that allows a user-interface designer (or programmer) to quickly arrange user-interface elements within a context. Generally, layout editors resemble graphics editors, to which they are related.
Look-and-FeelThe industry-standard term referring to the style of an application and how it is put together.
MasterIn ADM terms, a fully-qualified SmartObject, able to have instances made from it.
MessageA well-defined block of data that serves as a unit of communication between two program entities. The two principal ways of passing messages are by putting them in an agreed location (mailboxing), or by sending them as a packet over the network if the sending and receiving programs are on different systems.
MethodIn object terminology a procedure or function, defined in a class, that implements a particular object behavior. In some object languages, methods are further divided into Public (callable from outside the object instance) and Private (callable only by another method within the same instance).
ModalWhen referring to Windows and Dialog Boxes, the state of capturing all input. Because a modal window captures all user input, it must be dismissed before any other window can get input focus.
MultiplexingReusing the same resource for different tasks. In the context of application design, multiplexing most often involves the reuse of display space.
Object-OrientedOne of the two principal models of computer program, the other being the functional or procedural model. In the O-O model, an object combines state information (data) with a behavioral repertoire (procedures and functions) under a single identifier. Object programs tend by nature to be asynchronous, event-driven, and multi-pathed.
OverlayA type of multiplexing in which the same area of memory is loaded with different program modules as they come into use. Designing for overlay requires that the sections to be overlaid be independent of one another, since only one can occupy the designated area of memory at a given time.
Procedure FileIn 4GL terminology, a file that represents an external procedure.
Procedure-OrientedOne of the two principal models of computer program, the other being the object or object-oriented model. In this model, procedures are like stations on an assembly line, receiving data and transforming it before handing it off to the next station down the line. Procedural programs are able to handle both synchronous and asynchronous problems.
Procedure, StructuredIn the AppBuilder environment, a file-level aggregation of source code—an external procedure— that was created and is maintainable by AppBuilder. AppBuilder requires that such files have a specific internal structure. The name has nothing to do with the concept of structured programming.
PropertyA synonym for attribute or characteristic. Properties are usually represented by some variable value. In object programming, properties are defined at the class level and set at the instance level. The system uses the current values to modify the appearance or behavior of the object instance to which they belong.
QueryThe code, typically in a non-procedural language, that describes a desired data stream.
Race ConditionThe state of indeterminacy and uncertainty that results when an outcome is different depending on which of two blocks of code executes first, and the order of execution is not stable. The indeterminate nature of a race condition creates problems that may be extremely hard to solve or even reproduce.
RADAcronym for Rapid Application Development. A general term referring to tools and methods that help reduce application development time when compared to traditional hand-coding. See also RAP.
RAPAcronym for Rapid Application Prototyping. A general term referring to tools and methods that help programmers produce prototype applications quickly for customer review and approval prior to beginning full-scale development. See also RAD.
SignatureIn the ADM, a coded string that uniquely identifies a certain data stream. If the prospective sender and receiver do not have matching signatures for the data stream, it cannot be transferred between them because of the corruption that would occur.
SmartContainerThe ADM class that supports paging, and the placement of child objects. All the Smart organizers are members of class SmartContainer, but not all SmartContainers have an organizer role.
SmartObjectProgress Software Corporation’s term for objects written to its Application Development Model standard.
Subprogram ModuleA well-bounded section of code, often written as a Procedure or Function, that addresses some part of a program’s overall task.
Supporting CodeCode that integrates other code. Supporting code is more often referred to as “glue”.
SyntaxThe term that refers to the grammatical structure of an expression as distinct from its meaning (semantics).
Temp-TableThe 4GL term for a temporary table, often created at the application level to subset the main database and so reduce the processing load created by traversing irrelevant records.
TemplateA pattern for constructing something. In programming terms, a template is a block of incomplete code. It may be literally incomplete, or be complete but need revision for current purposes.
THIS–PROCEDUREThe 4GL handle that identifies the currently-executing procedure. In AppBuilder, THIS–PROCEDURE typically refers to the main organizer object being worked on. For example, when looking at a Window’s SmartLinks, THIS–PROCEDURE always refers to the SmartWindow itself, not to any of the objects contained in it.
TransactionA group of related operations that must be completed atomically. If any part of the transaction cannot be completed, all completed parts must be undone before execution can be allowed to proceed. A transaction left partly completed causes logical corruption that may be very hard to resolve without extensive and costly analysis.
TriggerThe general 4GL term for an event-handler procedure.
UsabilityThe characteristic of being easy and pleasant to learn and use. Software with high usability is easy to learn for anyone able to perform the underlying task, easy to use for both novice and expert, enhances productivity for both novices and experts, and has a positive effect on every user’s sense of competence.
User InterfaceThe controls, methods, and processes made available to the user of (in this context) software for the purpose of doing work. User interfaces range from a blinking command-line cursor and dozens or hundreds of cryptic commands, to sophisticated simulations that are intuitively easy to use for anyone with the appropriate real-world experience.
VIEW–ASA reserved term in the 4GL. You use it to indicate to the compiler the type of widget you wish to have generated to display some data.
WidgetTo programmers, the generic term for any user-interface element.
WorkspaceThe place where you design and assemble the elements of your application. In AppBuilder, a workspace may involve visual layout, in which case the workspace itself—character Window or GUI Dialog Box, for example—becomes part of the result.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |