What's New in SAS Open Metadata Interface: Reference and Usage

Overview

The SAS 9.3 Open Metadata Interface has been enhanced to improve metadata access, to support SAS Metadata Server backups, to improve testing of the alert e-mail notification system, to improve SAS Metadata Server status reporting, and to improve authorization processing on cubes.
This documentation has been updated to describe how the SAS Open Metadata Interface and SAS Java Metadata Interface are affected by the SAS type dictionary.

Metadata Access Improvements

In the IOMI server interface, the following improvements have been made to metadata access:
  • The GetMetadata method supports four new flags.
    OMI_FULL_OBJECT (2)
    uses a type definition from the new SAS type dictionary to determine the associations to expand for the specified object. This is assuming that the specified object is a PrimaryType subtype in the SAS Metadata Model, and that it stores valid values in the PublicType and UsageVersion attributes.
    OMI_NOEXPAND_DUPS (524288)
    modifies OMI_TEMPLATE (4) and OMI_FULL_OBJECT (2) processing so that associated objects indicated by the user-defined template or type definition are expanded only once per primary object specified in the INMETADATA parameter. The objects that are expanded are tracked by ID.
    OMI_UNLOCK (131072)
    unlocks an object lock that is held by the caller.
    OMI_UNLOCK_FORCE (262144)
    unlocks an object lock that is held by another user.
  • The GetMetadata and DeleteMetadata methods support a new, optional form for submitting user-defined templates. The new template form specifies one or more <TEMPLATE> subelements within the <TEMPLATES> element in the OPTIONS parameter. Both the <TEMPLATE> subelement and the metadata property string to which it applies specify a TemplateName attribute. The TemplateName attribute value maps the template to the metadata property string that it is meant to expand. The TemplateName attribute is supported in metadata property strings that are submitted in the INMETADATA parameter and in another <TEMPLATE> element.
    The new template form supports new attributes in templates that can be used to control the scope of the associated objects affected by a request.
  • The search functionality that is supported on association names has been expanded to include the full search syntax supported in the GetMetadataObjects <XMLSELECT search="criteria"/> element.
  • The syntax supported in the <XMLSELECT search="criteria"/> element has been enhanced as follows:
    • A NOT logical operator enables clients to get objects that do not have specified attributes or that do not have specified associations.
    • A NOT function enables clients to get objects that do not have specified associations.
    • Support for explicit AND and OR operators between association path criteria enables clients to concatenate association paths in a search string. For example, you can specify to return objects that have this association path and that association path, or to return objects that have this association path or that association path.

SAS Metadata Server Backup Support

The SAS 9.3 Metadata Server includes a server-based facility that can be used to perform unassisted, scheduled metadata server backups. The facility enables roll-forward recovery of the metadata server from the metadata server journal. The recommended interfaces for interacting with the facility are SAS Management Console or a MetadataServer script in the configuration’s SASMeta/MetadataServer subdirectory. If programmatic access is needed to the facility, you can get it using the following IServer methods:
  • The Refresh method has the following new XML elements in the OPTIONS parameter. These optional elements set a backup configuration and a backup schedule for the SAS Metadata Server, execute an ad hoc server backup, recover the SAS Metadata Server from a server backup, and restart the backup scheduler thread.
    • <BACKUP options/>
    • <BACKUPCONFIGURATION attributes/>
    • <RECOVER required-and-optional-parameters/>
    • <SCHEDULE Event="Backup" WEEKDAYn="timevalue"/>
    • <SCHEDULER/>
  • The Status method has the following new XML elements in the INMETA parameter. These elements return information about the SAS Metadata Server’s backup configuration, server backup schedule, server backup history, and specific server backup and recovery operations.
    • <BACKUP attribute(s)/>
    • <BACKUPCONFIGURATION/>
    • <METADATASERVERBACKUPCONFIGURATION/>
    • <METADATASERVERBACKUPHISTORY/>
    • <METADATASERVERBACKUPMANIFEST/>
    • <METADATASERVERRECOVERYMANIFEST/>
    • <SCHEDULE Event="Backup" WEEKDAYn="timevalue"/>
    • <SCHEDULER PING=""/>
  • The Pause and Resume methods have a new XML element in the OPTIONS parameter, <FORCE/>, which regains control of the SAS Metadata Server in the event that the metadata server does not respond during backup recovery processing. Using <FORCE/> in the Pause method enables you to specify to return the server to an ADMIN state. When used in the Resume method, the server is returned to an ONLINE state.

Alert E-Mail Notification System Testing

The IServer interface has been enhanced to enable alert e-mail notification system testing.
  • The Refresh method supports a new XML element in the OPTIONS parameter, <OMA ALERTEMAILTEST="text"/>, which sends a test e-mail message to the addresses configured in the SAS Metadata Server’s omaconfig.xml file. If the intended recipients do not receive the e-mail message, this indicates a problem with the e-mail server’s configuration.
  • The Refresh method supports the following XML elements in the OPTIONS parameter to enable you to temporarily change system options that configure the e-mail server:
    <OMA EMAILAUTHPROTOCOL="LOGIN | NONE"/>
    Changes the authentication protocol for SMTP e-mail that is sent by the SAS Metadata Server.
    <OMA EMAILHOST="network-server-address"/>
    Changes the network address of the enterprise’s SMTP server (for example, mailhost.company.com).
    <OMA EMAILID="server-email-address"/>
    Changes the e-mail address for the From field of alert e-mail messages that are sent by the SAS Metadata Server.
    <OMA EMAILPW="password"/>
    Specifies the logon password to be used with the e-mail address that you specified for the EMAILID option.
    <OMA EMAILPORT="port-number"/>
    Changes the port number that is used by the SMTP server that you specified for the EMAILHOST option.
  • The Refresh method supports a <OMA ALERTEMAIL="email-address”/> XML element in the OPTIONS parameter to enable you to change the recipients for alert e-mail messages.
The e-mail server is initially configured based on input specified at installation. This configuration is recorded in the sasv9.cfg configuration file. The OMA e-mail options that you specify with the Refresh method override the e-mail settings in the sasv9.cfg file for the duration of the server session. If alert e-mail messages cannot be sent after installation, the OMA e-mail options can be used to modify alert e-mail settings until a working combination of system option values is found. To permanently change the alert e-mail system option settings, you must stop the SAS Metadata Server, and then modify the sasv9.cfg file.
You can get the current values of the OMA e-mail options by using the Status method.

SAS Metadata Server Status Reporting Improvements

The IServer interface has been enhanced to improve metadata server status reporting.
  • The IServer Status method supports the following new XML elements in the INMETA parameter, which return server statistics:
    • <OMA USER_CPU_TIME=""/>
    • <OMA SYSTEM_CPU_TIME=""/>
    • <OMA CURRENT_TIME=""/>
    • <OMA CURRENT_MEMORY=""/>
    • <OMA HIGH_WATER_MEMORY=""/>
    • <OMA CURRENT_THREAD_COUNT=""/>
    • <OMA HIGH_WATER_THREAD_COUNT=""/>
    • <OMA TOTAL_IO_COUNT=""/>

Authorization Improvements

The ISecurity server interface has been enhanced to improve authorization processing on cubes.
  • The GetAuthorizations method supports a new authType value, SharedDimension. The new value returns an array that contains the output value of SharedDimension in the first row, and a value for each Level and Hierarchy of a cube in subsequent rows.

Documentation Updates

  • The SAS type dictionary affects interfaces that read and write metadata. A new chapter describes the use of the SAS type dictionary.
  • SAS Java Metadata Interface usage examples have been updated to show the use of the SAS type dictionary.