Extension nodes provide
a mechanism for extending the functionality of a SAS Enterprise Miner
installation. Extension nodes can be developed to perform any essential
data mining activity (that is, sample, explore, modify, model, or
assess [SEMMA]). Although the Enterprise Miner nodes that are distributed
by SAS are typically designed to satisfy the needs of a diverse audience,
extension nodes provide a means to develop custom solutions.
Developing an extension
node is conceptually simple.
An extension node consists
of the following:
-
one or more SAS source code files
stored in a SAS library or in external files that are accessible by
the Enterprise Miner server
-
an XML file defining the properties
of the node
-
two graphic images stored as .gif
files.
When properly developed
and deployed, an extension node integrates into the Enterprise Miner
workspace so that, from the perspective of the end user, it is indistinguishable
from any other node in Enterprise Miner. From a developer's perspective,
the only difference is the storage location of the files that define
an extension node's functionality and appearance. Any valid SAS language
program statement can be used in the source code for an extension
node, so an extension node's functionality is virtually unlimited.
Although the anatomy
of an extension node is fairly simple, the fact that an extension
node must function within an Enterprise Miner process flow diagram
requires special consideration. An extension node's functionality
typically allows for the possibility that the process flow diagram
contains predecessor nodes and successor nodes. As a result, your
extension node typically includes code designed to capture and process
information from predecessor nodes, and to prepare results to pass
on to successor nodes.
Also, the extension
node deployment process involves stopping and restarting the Enterprise
Miner server. Because software development is inherently an iterative
process, these features introduce obstacles to development not typically
encountered in other environments.
Fortunately, a solution
is readily available: the Enterprise Miner SAS Code node. The SAS
Code node provides an ideal environment in which to develop and test
your code. You can place a SAS Code node anywhere in a process flow
diagram. Using the SAS Code node's Code Editor, you can edit and submit
code interactively while viewing the SAS log and output listings.
You can run the process flow diagram path up to and including the
SAS Code node and view the
Results window
without closing the programming interface. Predefined macros and macro
variables are readily available to provide easy access to information
from predecessor nodes. There are also predefined utility macros that
can assist you in generating output for your extension node. In short,
you can develop and test your code using a SAS Code node without ever
having to actually deploy your extension node.
After you have determined
that your server code is robust, you will need to develop and test
the XML properties file. The XML properties file is used to populate
the extension node's Properties panel, which enables users to set
program options for the node's SAS program.