Release 10.1A: OpenEdge Development:
ADM and SmartObjects

> ## Introduction

> The Application Development Model (ADM) is a methodology for building Progress® 4GL applications based on reusable components called SmartObjects. It was updated for OpenEdge™ to take advantage of enhancements to the Progress® 4GL.

> All support files for the ADM architecture are in a directory structure under `src/adm2`; however, Progress also maintains support for SmartObject applications built in Version 8 by including the ADM Version 1.1 support files under a separate directory structure under `src/adm` and parallel `gui` directories.

> The ADM architecture has four basic components:

> - A hierarchical set of object classes from which to develop SmartObjects. These are reusable application objects (visualizable or nonvisualizable) that map to source files or compilation units.

> - SmartLinks, to establish a messaging system by defining links (communication paths) among SmartObjects.

> - Properties, to define the public data associated with SmartObjects and to get and set these data values.

> - Super procedures, to perform SmartObject actions.

> The design of this architecture relies on several important features of the Progress 4GL: super procedures, persistent procedures, internal procedures and functions, preprocessor names, temporary tables, and include files. This design is implemented in the body of the architecture’s support code and is fully supported by the AppBuilder. For information about the AppBuilder, see OpenEdge Development: AppBuilder .

> The following sections summarize the benefits of using SmartObjects in Progress 4GL applications and provide notes on additional SmartObjects advantages. The rest of this chapter is an overview of the components of the ADM architecture.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095