SAS 9.1.3 Integration Technologies » Developer's Guide


Developing Windows Clients
Client Requirements
Client Installation
Security
Selecting a Windows Programming Language
Programming with Visual Basic
Programming in the .NET Environment
Using VBScript
Programming with Visual C++
Using the Object Manager
Creating an Object
Object Manager Interfaces
Using a Metadata Server with the Object Manager
Metadata Configuration Files
Error Reporting
Code Samples
Using Connection Pooling
Choosing Integration Technologies or COM+ Pooling
Using Integration Technologies Pooling
Using Com+ Pooling
Pooling Samples
Using the IOM Data Provider
Using the Workspace Manager
Class Documentation
Windows Clients

Using COM+ Pooling

To obtain a PooledObject object, create a new PooledObject object using COM. The COM+ interceptors detect this creation and take care of pooling the PooledObject objects. The PooledObject object has been written to support the COM+ pooling mechanism.

See using COM+ pooling for an example.

Administering COM+ Pooling

To administer a COM+ pool, use the COM+ Component Services administrative tool, which is a standard Microsoft Management Console (MMC) plug-in that ships with Windows 2000.

You can configure COM+ pools in two different ways:

  • Library application — each process has its own pool.
  • Server application — the pool is shared by all processes on the same machine.

To create a new COM+ server application:

  1. Start the Component Services administrative tool: select Start arrow Programs arrow Administrative Tools arrow Component Services.
  2. Expand Component Services arrow Computer arrow COM+ Applications. Right-click COM+ Applications and select New arrow Application. This starts a wizard. Click Next.
  3. Select Create an Empty Application.
  4. Enter a name of your choice, and select Server application as the Activation Type. Click Next.
  5. Specify an identity, and click Next.
  6. Click Finish.

To add the PooledObject component to the application:

  1. In the tree view, expand the application you previously created in order to see Components and Roles.
  2. Right-click Components and select New arrow Component, which brings up a wizard.
  3. Click Next, then click Import components that are already registered.
  4. Select SASObjectManager.PooledObject.1, then click Next and Finish.

To administer the pooling properties:

  1. Right-click SASObjectManager.PooledObject.1 under the Components node of the application you created and select Properties from the pop-up menu.
  2. Select the Activation tab.
  3. Select the Enable object pooling check box. Enter the properties.
  4. You can also enter a constructor string, which allows you to specify which machine SAS should run on. For more information, see Constructor Strings.

    Note: If you do not specify a constructor string, the SAS Object Manager will create workspaces on the local machine using COM. It is only necessary to configure a metadata server with pooling metadata if you specify a logicalName.

Constructor Strings

The constructor string is a single string that specifies the parameters that are used to initially create the pool. The SAS Object Manager (or Version 8 SAS Workspace Manager) requires that the constructor string contain a set of name/value pairs, with the names separated from the values by an equals sign(=), and the pairs separated by a semi-colon (;). If no parameters are specified, then a pool consisting of SAS servers running on the local machine will be created. You should never use quotation marks (") in the constructor string. The constructor string contains the only attributes specific to SAS.

If errors occur when creating a workspace, the SAS Object Manager (or Version 8 SAS Workspace Manager) writes entries to the Event Log.

Constructor Parameters Used to Connect with Metadata

logicalName
Specifies which sasServer objects to use when creating objects in the pool.
referencedn
Specifies the login to use for authentication. This is only necessary for an IOM Bridge connection. For the SAS Metadata Server, specifying only the logicalName parameter will set the value of referencedn as the identity of the user that is specified in the metadata configuration file.

Here is an example of a valid constructor string for LDAP:

logicalname=pooltest;referencedn=cn=Dan,cn=Users,dc=dtd-dom,dc=sas,dc=com

Here is an example of a valid constructor string for a SAS Metadata Server:

logicalname=pooltest;referencedn=A5YEODSG.AE00005L

Constructor Parameters Used to Connect without Metadata

classIdentifier
specifies the class ID number. For example, 2887E7D7-4780-11D4-879F-00C04F38F0DB specifies a SAS Metadata Server. The default value is 440196D4-90F0-11D0-9F41-00A024BB830C, which specifies a SAS Workspace Server.
machineDNSName
specifies the name of the machine to connect to.
protocol
can be either com or bridge.
port
specifies the port number of a server to connect to. (This should only be specified for an IOM Bridge connection.)
serviceName
used to resolve a TCP/IP service to a port number. This should only be specified for an IOM Bridge connection. Only one of the port or serviceName parameters should be specified.
loginName
specifies the user ID to use when connecting to a SAS server. This should only be specified for an IOM Bridge connection.
password
defines the password that authenticates the loginName. This should only be specified for an IOM Bridge connection.