 |
Introduction
With the release and publication of the FACSys Active Fax
Messaging (AFM) object model, solution providers can develop
custom object-oriented applications and software components
that adapt a FACSys implementation to an organization's
unique requirements. The FACSys AFM application programming
interface is made available with the release of FACSys Fax
Messaging Gateway 4.5 and is the model with which all future
FACSys products will be developed. With each release of
FACSys and all other emFAST products, the object-oriented
approach to the AFM model ensures that custom applications
will be more full-featured while remain easy to maintain.
The Active Fax Messaging model exposes the objects
controlled, managed and maintained by FACSys and gives you
the ability to develop a wide variety of powerful client
applications with a minimum amount of code. The AFM
programmable messaging objects can be utilized by existing
programs or entirely new standalone applications that solve
a particular business need associated with the features and
capabilities of FACSys. The custom applications can access
the FACSys server services and all elements of the FACSys
information database. For example, your object-oriented
client application can query, create and/or manage fax
messages, user data, folder structure, and phonebook
contents.
The topics documented in this guide do not teach you the
basics of programming. The instructions assume you have
experience using a high-level programming language or a
scripting language to develop programs. You should also have
a good understanding of fax messaging technology.
Back to Top
What is the AFM Object Model?
The FACSys Active Fax Messaging model is a COM automation
server encapsulated in a single library accessible to
developers using high-level programming languages such as
Visual Basic, C/C++, and Visual C++, .NET 1.0 as well as to
developers using scripting languages such as VB Script. This
library exposes the programmable fax messaging objects
including FACSys phonebook information, fax folders, fax
messages, destination information, attachments, and all
other fax messaging components.
The AFM model is designed to simplify the creation of
full-featured, fax messaging object-oriented applications
and software components that integrate reliably into the
FACSys software. For example, you can build entire products
using HTML to access the data maintained by FACSys (e.g.,
Web Agent 2.0), or you can write a few lines of code that
allow a user to send a fax from another application.
The access mechanism of the AFM model supports a
dual-interface. Depending on the application you develop,
the AFM client can either call an AFM object directly
through the VTBL or access an object through the IDispatch
interface.
Back to Top
Organization and Definitions
The objects in the FACSys Active Fax Messaging model are
organized hierarchically, where every object may contain
other objects or "sub-objects." All objects encapsulate the
Properties and Methods with which the object can be accessed
and manipulated. An object's Properties determine the
information you can gather by using the object. An object's
Methods determine the actions you can perform with the
object.
The two top-level objects in the AFM model hierarchy are
as follows:
-
FaxSession - The FaxSession object contains the
sub-objects, properties and methods that control a
client/FACSys server session. The established session
defines the user's rights and objects to which the user
has access (e.g., fax servers, cover pages, phonebooks,
folders, and fax messages).
-
FaxImage - The FaxImage object contains a
description of the fax image, including image type,
size, resolution, and font attributes. The FaxImage
object identifies the fax message image and defines the
actions that can be performed on the image.
Some additional terms used throughout this reference are
defined briefly below:
- AFM object - A programming
structure that encapsulates the properties/data of the
object as well as how the object can be used by the
client application. You access an instance of an object
definition using the AFM model. For example, via the
FaxFolder object, you can delete a fax message from a
folder.
- Client - A FACSys AFM client is
an object-oriented application or software component
that accesses or manipulates one or more objects in the
AFM library. Clients can use existing objects, create
new instances of objects, obtain and define the
properties of an object, and invoke methods or
functionality supported by the object.
- Collection Objects - Objects
that can contain or refer to several instances of an
object and/or other collections. For example, to provide
access to multiple fax messages that may be in a folder,
AFM exposes an object named FaxMessages that refers to
all of the current FaxMessage objects. FaxMessages is a
collection object. FaxFolders is a collection object
that can contain other FaxFolders collection objects.
- Constants - Variables defined
as a value. The constants defined for the AFM are
contained in a separate "include" or "header" file
(e.g., FXMSG.INC or FXMSG.H). All constant values in the
Active Fax Messaging model are listed in
Constant Definitions.
- Context - The "variable" that
defines what an object is referring to. For example,
when the client application connects to the FACSys
server using the FaxSession object, the user context is
established. All object manipulations will affect that
user. When there is no context, the object is not acting
on or referring to a particular variable.
- Members - The Properties and
Methods defined for an object.
- Methods or Interfaces - Actions
that an object can perform. Client applications interact
with an AFM object only through the methods or
interfaces defined for the object. All AFM objects have
pre-defined allowable methods that define the
functionality you can perform with the object. For
example, the FaxSession object includes the
CreateMessage object giving the client application the
ability to create a new fax message.
- Parameter - A variable in a
text command.
- Property - An attribute of an
object. Properties represent the data that can be
applied to or attained from an object. For example,
properties of the
FaxFolder object include the FolderID, Messages,
Name, and ParentFolderID.
Back to Top
|
 |
|