Model Usage |
Purpose |
This usage scenario describes how to create the metadata that defines a server, which includes metadata types from several submodels, including the Software Deployment Submodel, Transform Submodel, and Property Submodel. The scenario focuses on using the Property Submodel to describe a SAS Workspace Server and explains how to create a template for this server. An XML representation is included to show how to construct SAS Workspace Server Prototype objects and their properties.
Requirements |
This usage scenario assumes that the user has a general understanding of the Software Deployment Submodel, the Transform Submodel, and the Property Submodel of the SAS Metadata Model.
Describing a Server |
A server is described in metadata using DeployedComponent subtypes that have associated Connection subtypes. The DeployedComponent subtypes describe the installed software. Connection subtypes describe how to communicate with the server. All IOM servers, DBMSs, and other servers are described using these metadata types.
The DeployedComponent and Connection subtypes are generic types. For example, the TCPIPConnection metadata type contains attributes such as HostName= and Port=. However, it does not store specific information about the software or the connection. Specific information about the software or the connection must be defined in associated Property objects.
Figure 1 shows the main metadata types used to describe a SAS Workspace Server. ServerContext, LogicalServer, and ServerComponent are DeployedComponent subtypes. TCPIPConnection is a Connection subtype. ServerContext allows an application to group non-homogeneous servers that share resources. The resources that are shared include SAS libraries and directories. ServerContext has a UsingComponents association (numbered 1 in Figure 1) to a LogicalServer object. LogicalServer groups homogeneous servers together. The servers grouped by LogicalServer are typically used for pooling or load balancing. However, it is important to note that even a single SAS Workspace Server would be represented using a set of ServerContext, LogicalServer, and ServerComponent metadata objects. The ServerComponent object represents the actual SAS Workspace Server. A ServerComponent object represents a configured instance of installed software. One installation of SAS can have several configurations of a server, each with different resources or options defined.
Each of these Software Deployment Submodel objects inherits properties from the DeployedComponent metadata type. Each DeployedComponent object has a ClassIdentifier= attribute that identifies the type of component. ClassIdentifier= is a unique identifier, such as a GUID or a Java class name (including the package), or some other unique string. In this example, the ServerContext object has the ClassIdentifier= value SAS Application Server. LogicalServer and ServerComponent both use ClassIdentifier="440196D4-90F0-11D0-9F41-00A024BB830C", which is a GUID representing the SAS Workspace Server.
The ServiceType metadata type describes the types of services that are available from a server. Each of the DeployedComponent objects is associated with a ServiceType object with the ServiceTypes association (numbered 4). The ServerComponent for a SAS Workspace Server has a ServiceType object named IOM Server. The spawner uses this information to locate the servers it should start. LogicalServer has a ServiceType object named Logical IOM Server, and ServerContext has a ServiceType object named Data Service.
The TCPIPConnection metadata object describes how to access the server. ServerComponent has a SourceConnections association (numbered 2) to TCPIPConnection. The AuthenticationDomain metadata object describes the authentication domain used to make the connection. TCPIPConnection has a Domain association (numbered 3) to AuthenticationDomain.
Figure 1. The metadata objects used to describe a SAS Workspace Server.
DeployedComponent Types and Properties |
The DeployedComponent and Connection objects require more information than is defined in the main metadata types. The additional information is stored in Property objects. Figure 2 shows the ServerComponent object and its associated Property objects.
Figure 2. The Property objects for a SAS Workspace Server.
ServerComponent needs to provide information about how to start and manage the SAS Workspace Server. This information is not included in the attributes of ServerComponent, so information is kept in Property metadata objects. The Property objects in Figure 2 represent the default settings for the SAS Workspace Server. ServerComponent has a Properties association (numbered 1 in Figure 2) to each of its Property objects. All of the default Property metadata objects should be available with the Properties association.
Each Property object must be associated to a PropertyType object that describes the SQL type of the information stored in the DefaultValue= attribute, or associated Text object. Each Property object has an OwningType association (numbered 2 in Figure 2) to its PropertyType object. From the perspective of PropertyType, this association is called TypedProperties.
If there are valid alternative values for Property objects other than the default values, these values should be represented by PropertySet objects (not shown in Figure 2). ServerComponent has a PropertySets association to a PropertySet object. A client that is looking for a specific set of Property objects can query the PropertySets association. A PropertySet object must have a complete set of Property objects for a particular usage.
Property objects can be duplicated and made available in both the PropertySets and Properties associations. Each association must provide a complete set of properties. A client must be able to get Property objects in the Properties association, or in a PropertySet object, and have all of the information it needs. Property objects are not merged through associations. There is no hierarchy of Property objects allowed through associations.
A Property object stores the name of the server attribute it describes in the PropertyName= attribute. The value of the server attribute is saved in the DefaultValue= attribute if it is a single value, or in an associated Text object if it is an array of values. This use of the Text object is explained in the TCPIPConnection and Property Objects section. Each Property object also has a set of attributes that describe whether the Property is required, can be updated, and should be visible in a user interface. If the Property object's IsRequired= attribute is set to 1 (Yes), it means that a value must be provided for this Property to properly use the object described by the Property. If the Property object's IsUpdateable= attribute is set to 0 (No), then the DefaultValue= attribute has the only valid setting for the Property.
ServerComponent and Initialization |
If ServerComponent requires initialization information that should be stored in other metadata types, such as filenames and locations, login information, or SAS library information, then a Transformation object that describes the initialization process should be defined to associate that information to ServerComponent. Figure 3 shows the metadata objects that might describe the initialization process.
Figure 3. The metadata objects used to describe an initialization process that uses a file and login information as input.
There are two metadata types that represent processes:
The initialization process in this example uses a file and login information as input. The ServerComponent object locates its initialization process through the InitProcesses association (numbered 1 in Figure 3). The Transformation object identifies the inputs to the initialization process with the TransformationSources association (numbered 2).
TCPIPConnection and Property Objects |
The TCPIPConnection metadata type provides connection information for SAS/SHARE, SAS/CONNECT, and SAS Integration Technologies servers, as well as DBMSs and other types of servers. TCPIPConnection has a set of attributes that contain generic information that is used to access a server that is accessible through TCP/IP. But, TCPIPConnection does not have all of the specific information that is required for a particular server. For example, servers provided by SAS might require a set of encryption options as part of the connection information. Other options and values might be needed to complete a connection to the server. Rather than creating a large number of subtypes of TCPIPConnection, a TCPIPConnection object can be customized to include specific connection information by defining Property objects.
Figure 4 shows the metadata types that store specific information needed to connect to a SAS Integration Technologies server using the Bridge protocol.
Figure 4. The metadata objects used to store TCP/IP connection information.
Figure 4 is similar to Figure 3, except that it includes additional information about the Property values and constraint information for the PropertyType object. In this example, there are two Property objects that include additional information needed to establish the connection. One Property object is for RequiredEncryptionLevel, and the other is for ServiceEncryptionAlgorithms. The names of the properties are stored in each object's PropertyName= attribute. The Property objects store the default values for the properties. They are accessible from the TCPIPConnection object with the Properties association (numbered 1 in Figure 4). The object for EncryptionAlgorithms differs from the other objects because it has a SQLType= value of Array. A PropertyType object that has the attribute SQLType="Array" should use the ElementType association (numbered 3) to find element types of the array. The valid values of the EncryptionAlgorithms PropertyType are constrained to four values: RC2, RC4, DES and Triple DES. This list is stored in a Text object (in this case, the subtype TextStore). The PropertyType object has a StoredConfiguration association (numbered 4) to the TextStore object.
Putting All of the Pieces Together |
Figure 5 consolidates all of the metadata objects used to describe this SAS Workspace Server.
Figure 5. Summary of the metadata objects used to describe as SAS Workspace Server.
Creating a SAS Workspace Server Prototype |
Property objects can be used to store additional information about an object. Property objects can also be used to build input property sheets for Prototype objects.
A Prototype object is used as a template for creating other metadata objects. In this example, a Prototype for a SAS Workspace Server is described. A Prototype object stores the name of the metadata type it is describing in the MetadataType= attribute. For a SAS Workspace Server, that is DeployedComponent. DeployedComponent has associations to other metadata objects that define the attributes and associations for the DeployedComponent object. For more information about how Prototype properties are represented in metadata, see "Understanding Prototype Properties" in Usage Scenario: Creating a Prototype.
Figure 6 shows the metadata objects used to describe a prototype for a DeployedComponent. It includes objects of the Prototype, AttributeProperty, and AssociationProperty metadata types. AttributeProperty and AssociationProperty are subtypes of the PrototypeProperty metadata type. A Prototype object named SAS IT Server describes the SAS Workspace Server. An AttributeProperty object named ClassIdentifier represents the ClassIdentifier= attribute of the SAS Workspace Server. An AssociationProperty object named SourceConnections describes the SourceConnections association of the SAS Workspace Server. Prototype has a PrototypeProperties association (numbered 1 in Figure 6) to both the AttributeProperty and AssociationProperty metadata types. The Prototype object named SAS IT Server Connection represents connection information for the SAS Workspace Server. AssociationProperty has an AssociatedPrototypes association (numbered 2) to the SAS IT Server Connection Prototype object.
Figure 6. The metadata objects used to define a SAS Workspace Server prototype.
Prototype and PropertyGroup Objects |
The TCPIPConnection object that describes a Bridge connection has Property objects that describe the encryption level and algorithms. A Prototype object also uses Property objects to provide that information; however, the Properties and PropertySets associations are not used. A Prototype object that requires Property objects must define a PrimaryPropertyGroup association to a top-level PropertyGroup object. This PropertyGroup object logically groups AttributeProperty, AssociationProperty, and Property objects. The primary purpose of the grouping is to organize the objects for a user interface.
Each Prototype has a single, top-level PropertyGroup (in this case, named Server Information). A PropertyGroup can have subgroups. The association between the Prototype and its top-level PropertyGroup is named PrimaryPropertyGroup (numbered 1 in Figure 7). The association between the primary PropertyGroup object and objects representing subgroups is named SubPropertyGroups (numbered 2). The subgroup Operating System has two subgroups named OS/390 and Other. The SubPropertyGroups association (numbered 3) is also used to associate these subgroups with the PropertyGroup Operating System.
Figure 7. The metadata objects used to prototype a SAS Workspace Server Bridge connection.
PropertyGroup and Property Objects |
Figure 8 shows the relationships between the AttributeProperty, Property, and PropertyGroup metadata types. AttributeProperty, AssociationProperty, and Property are all subtypes of AbstractProperty. When used as part of a Prototype definition, an AbstractProperty subtype can be associated with only one PropertyGroup. The objects are associated with a PropertyGroup with the GroupedProperties association (numbered 1 in Figure 8).
Figure 8. The relationships between AttributeProperty, Property, and PropertyGroup objects.
In this scenario, a PropertyGroup object named ServerInformation groups AttributeProperty objects representing the CommunicationProtocol, ApplicationProtocol, HostName, IsAuthenticationRequired, AuthenticationType, and Port server attributes. A PropertyGroup object named OS/390 groups TpName and PluName server attributes. A PropertyGroup object named EncryptionInformation groups ClientEncryptionAlgorithms, Netencralg, and RequiredEncryptionLevel server attributes. A PropertyGroup named Other groups the Property object representing the Command server attribute.
XML for Creating a SAS Workspace Server Prototype |
The prototype can be created by using the following AddMetadata method call:
<AddMetadata> <Metadata> <PropertyType Id="$String" Name="String" SQLType="12"/> <PropertyType Id="$Boolean" Name="Boolean" SQLType="-7"/> <PropertyType Id="$Integer" Name="Integer" SqlType="4"/> <PropertyType Id="$StringArray" Name="String Array" SqlType="2003"> <ElementType> <PropertyType ObjRef="$String"/> </ElementType> </PropertyType> <PropertyType Id="$IOMClassIds" Name="IOMClassIds" SqlType="12"> <StoredConfiguration> <TextStore Name="Enumeration of IOM Class Ids" TextRole="config" TextType="xml" StoredText= "<Configuration> <Enumeration> <Value name="440196D4-90F0-11D0-9F41-00A024BB830C">Workspace</Value> <Value name="class id goes here">friendly name goes here</Value> </Enumeration> </Configuration >"/> </StoredConfiguration> </PropertyType> <PropertyType Id="$AuthenticationTypes" Name="AuthenticationTypes" SqlType="12"> <StoredConfiguration> <TextStore Name="Enumeration of Authentication Types" TextRole="config" TextType="xml" StoredText="<Configuration> <Enumeration> <Value name="user/password"/> <Value name="none"/> <Value name="password"/> <Value name="certificate"/> </Enumeration> </Configuration>"/> </StoredConfiguration> </PropertyType> <PropertyType Id="$SASEncryptionAlgorithms" Name="SASEncryptionAlgorithms" SqlType="2003"> <ElementType> <PropertyType ObjRef="$String"/> </ElementType> <StoredConfiguration> <TextStore Name="SAS Encryption Algorithms Enumeration" TextRole="config" TextType="xml" StoredText="<Configuration> <Enumeration> <Value name="RC2"/> <Value name="RC4"/> <Value name="DES"/> <Value name="Triple DES"/> <Value name="SAS Proprietary"/> </Enumeration> </Configuration >"/> </StoredConfiguration> </PropertyType> <PropertyType Id="$SASEncryptionLevel" Name="SASEncryptionLevel" SqlType="12"> <StoredConfiguration> <TextStore Name="SAS Encryption Level Enumeration" TextRole="config" TextType="xml" StoredText="<Configuration> <Enumeration> <Value name="none"/> <Value name="credentials"/> <Value name="everything"/> </Enumeration> </Configuration >"/> </StoredConfiguration> </PropertyType> <PropertyType Id="$BalancingAlgorithmType" Name="BalancingAlgorithmType" SqlType="12"> <StoredConfiguration> <TextStore Name="Enumeration of Balancing Algorithms" TextRole="config" TextType="xml" StoredText="<Configuration> <Enumeration> <Value name="Cost"/> <Value name="Response Time"/> </Enumeration> </Configuration >"/> </StoredConfiguration> </PropertyType> <Prototype Id="$IOMServer" Name="Workspace Server" Desc="This server defines a SAS Workspace Server for Version 9.0 of the SAS System." MetadataType="ServerComponent"> <Extensions> <Extension Name="UITreeCategory" Value="SAS Servers.SAS Application Server Components" ExtensionType="VARCHAR" /> </Extensions> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AttributeProperty Name="Class Identifier" PropertyName="ClassIdentifier" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="440196D4-90F0-11D0-9F41-00A024BB830C"> <OwningType> <PropertyType ObjRef="$IOMClassIds"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$IOMServer"/> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Major Version Number" PropertyName="Major" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="9"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$IOMServer"/> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Minor Version Number" PropertyName="Minor" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="0"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$IOMServer" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Product Name" PropertyName="ProductName" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="SAS Workspace"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$IOMServer" /> </OwningPrototype> <AttributeProperty> <AttributeProperty Name="Software Version" PropertyName="SoftwareVersion" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="9.0"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$IOMServer" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Vendor" PropertyName="Vendor" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="SAS Institute"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$IOMServer" /> </OwningPrototype> </AttributeProperty> <AssociationProperty Name="ServiceType" AssociationName="ServiceTypes" PartnerName="DeployedComponents" MetadataType="ServiceType" IsExpert="0" IsVisible="0" IsUpdateable="0" Minimum="2" Maximum="2"> <StoredConfiguration> <TextStore Name="ServiceTypeDefaultValue" TextRole="config" TextType="xml" StoredText="<Configuration> <DefaultValues> <Value name="IOM Server"/> </DefaultValues> </Configuration>"/> </StoredConfiguration> <OwningPrototype> <Prototype ObjRef="$IOMServer"/> </OwningPrototype> </AssociationProperty> <AssociationProperty Name="SourceConnections" AssociationName="SourceConnections" PartnerName="Source" MetadataType="OpenClientConnection" IsExpert="0" Minimum="1"> <AssociatedPrototypes> <Prototype Objref="$IOMServer"/> <Prototype Objref="$BridgeConnection"/> <Prototype Objref="$MultiBridgeConnection"/> <Prototype Objref="$COMConnection"/> </AssociatedPrototypes> <OwningPrototype> <Prototype ObjRef="$IOMServer"/> </OwningPrototype> </AssociationProperty> <AssociationProperty Name="Used By Components" AssociationName="UsedByComponents" PartnerName="UsingComponents" MetadataType="LogicalServer" IsExpert="0" Minimum="1"> <AssociatedPrototypes> <Prototype Objref="$IOMServer"/> <Prototype Objref="$LoadBalancing"/> <Prototype Objref="$Pooling"/> </AssociatedPrototypes> <OwningPrototype> <Prototype ObjRef="$IOMServer"/> </OwningPrototype> </AssociationProperty> </GroupedProperties> <SubpropertyGroups> <PropertyGroup Name="Launch Commands" > <GroupedProperties> <Property Name="Command" PropertyName="Command" Desc="Required for servers with Bridge connections" IsExpert="1" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> </Property> <Property Name="Object Server Parameters" PropertyName="ObjectServerParms" Desc="Parameters to override what the spawner passes to SAS on the -objectserverparms option" IsExpert="1" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> </Property> </GroupedProperties> </PropertyGroup> <PropertyGroup Name="Credentials" > <GroupedProperties> <AssociationProperty Name="Login Group" AssociationName="InitProcesses" PartnerName="DeployedComponents" MetadataType="Transformation" IsExpert="1" IsVisible="1" IsUpdateable="1" Minimum="0" Maximum="1"> <StoredConfiguration> <TextStore Name="Initialization Processes" TextRole="config" TextType="xml" StoredText= "<Configuration> <MetadataRequest> <GetMetadataObjects> <Reposid>_ReposID_</Reposid> <Type>Transformation</Type> <NS>SAS</NS> <Flags>392</Flags> <Options> <XMLSELECT search="@TransformRole='Initialization'"/> </Options> </GetMetadataObjects> </MetadataRequest> <ClassParameters> <Parm Name="_ParentComponent_"/> <Parm Name="_ObjectStore_"/> <Parm Name="_ReposID_"/> <Parm Name="_Prototype_"/> <Parm Name="New Initialization Process"/> </ClassParameters>" </Configuration>"/> </StoredConfiguration> <Customizers> <ConfiguredComponent Name="PrototypePropertiesDialog Java Class" ClassIdentifier="com.sas.workspace.visuals.PrototypePropertiesDialog"/> </Customizers> <AssociatedPrototypes> <Prototype Objref="$IOMServer"/> <Prototype Objref="$ServerLoginProc"/> </AssociatedPrototypes> <OwningPrototype> <Prototype ObjRef="$IOMServer" /> </OwningPrototype> </AssociationProperty> </GroupedProperties> </PropertyGroup> <PropertyGroup Name="Properties"> <SubPropertyGroups> <PropertyGroup Id="$StandardProperties" Name="Common Properties"/> <PropertyGroup Id="$ServerProperties" Name="Specific Properties" Minimum="1" Maximum="1"> <SubPropertyGroups> <PropertyGroup Id="$LoadBalanceProperties" Name="LoadBalanced" Minimum="" Maximum=""/> <PropertyGroup Id="$PoolingProperties" Name="Pooling" Minimum="" Maximum=""/> </SubPropertyGroups> </PropertyGroup> </SubPropertyGroups> </PropertyGroup> <PropertyGroup Name="File Navigation" Desc="Select the initial directory where file navigation begins on the server." Minimum="1" Maximum="1"> <GroupedProperties> <Property Name="SAS User Root" PropertyName="FileNavigation" IsExpert="1" IsRequired="0" IsUpdateable="0" IsVisible="1" DefaultValue="."> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> </Property> <Property Name="System Root" PropertyName="FileNavigation" IsExpert="1" IsRequired="0" IsUpdateable="0" IsVisible="1" DefaultValue="$"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> </Property> <Property Name="Specify Path" PropertyName="FileNavigation" IsExpert="1" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> </Property> </GroupedProperties> </PropertyGroup> <PropertyGroup Name="MVS Support"> <GroupedProperties> <Property Name="Bound Library" PropertyName="MVSBoundLibrary" IsExpert="1" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> </Property> </GroupedProperties> </PropertyGroup> </SubpropertyGroups> </PropertyGroup> </PrimaryPropertyGroup> <Properties> <Property Name="Availability Timeout" PropertyName="AvailabilityTimeout" Desc="Number of milliseconds to wait for available server" IsExpert="1" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="0"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <AssociatedPropertyGroup> <PropertyGroup ObjRef="$LoadBalanceProperties"/> </AssociatedPropertyGroup> </Property> <Property Name="Run Server Forever" PropertyName="ServerRunForever" IsExpert="1" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="1"> <OwningType> <PropertyType ObjRef="$Boolean"/> </OwningType> <AssociatedPropertyGroup> <PropertyGroup ObjRef="$StandardProperties"/> </AssociatedPropertyGroup> </Property> <Property Name="Shut Server Down After (s)" Desc="Applicable only if the server is not set to run forever." PropertyName="ServerShutdownAfter" IsExpert="1" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="0"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <AssociatedPropertyGroup> <PropertyGroup ObjRef="$StandardProperties"/> </AssociatedPropertyGroup> </Property> <Property Name="Start Size" PropertyName="StartSize" IsExpert="1" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="0"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <AssociatedPropertyGroup> <PropertyGroup ObjRef="$LoadBalanceProperties"/> </AssociatedPropertyGroup> </Property> <Property Name="Recycle Activation Limit" PropertyName="RecycleActivationLimit" Desc="Number of times this server will be used before it is restarted" IsExpert="1" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="0"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <AssociatedPropertyGroup> <PropertyGroup ObjRef="$StandardProperties"/> </AssociatedPropertyGroup> </Property> <Property Name="Maximum Cost" PropertyName="MaxCost" Desc="Maximum cost value this server can afford" IsExpert="1" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="0"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <AssociatedPropertyGroup> <PropertyGroup ObjRef="$LoadBalanceProperties"/> </AssociatedPropertyGroup> </Property> <Property Name="Startup Cost" PropertyName="StartupCost" Desc="Cost associated with starting this server" IsExpert="1" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="0"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <AssociatedPropertyGroup> <PropertyGroup ObjRef="$LoadBalanceProperties"/> </AssociatedPropertyGroup> </Property> <Property Name="Maximum Clients" PropertyName="MaxClients" IsExpert="1" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="1"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <AssociatedPropertyGroup> <PropertyGroup ObjRef="$PoolingProperties"/> </AssociatedPropertyGroup> </Property> </Properties> </Prototype> <Prototype Id="$BridgeConnection" Name="Bridge Connection" Desc="Specifies a TCP/IP port to which the spawner listens for clients connecting to SAS." MetadataType="TCPIPConnection"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AttributeProperty Name="Communication Protocol" PropertyName="CommunicationProtocol" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="TCP"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$BridgeConnection" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Application Protocol" PropertyName="ApplicationProtocol" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="Bridge"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$BridgeConnection" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Authentication Type" PropertyName="AuthenticationType" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="user/password"> <OwningType> <PropertyType ObjRef="$AuthenticationTypes"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$BridgeConnection" /> </OwningPrototype> </AttributeProperty> <AssociationProperty Name="Authentication Domain" AssociationName="Domain" PartnerName="Connections" MetadataType="AuthenticationDomain" IsExpert="0" IsRequired="1" IsVisible="1" IsUpdateable="1" Minimum="" Maximum="1"> <StoredConfiguration> <TextStore Name="Authentication Domains" TextRole="config" TextType="xml" StoredText= "<Configuration> <MetadataRequest> <GetMetadataObjects> <Reposid>_ReposID_</Reposid> <Type>AuthenticationDomain</Type> <NS>SAS</NS> <Flags>264</Flags> <Options></Options> </GetMetadataObjects> </MetadataRequest> <ClassParameters> <Parm Name="_ParentComponent_"/> <Parm Name="_ObjectStore_Persist_"/> <Parm Name="_ReposID_"/> <Parm Name="_Prototype_"/> <Parm Name="New Authentication Domain"/> </ClassParameters> </Configuration>"/> </StoredConfiguration> <Customizers> <ConfiguredComponent Name="PrototypePropertiesDialog Java Class" ClassIdentifier="com.sas.workspace.visuals.PrototypePropertiesDialog"/> </Customizers> <AssociatedPrototypes> <Prototype ObjRef="$BridgeConnection"/> <Prototype ObjRef="$AuthDomain"/> </AssociatedPrototypes> <OwningPrototype> <Prototype ObjRef="$BridgeConnection"/> </OwningPrototype> </AssociationProperty> <AttributeProperty Name="Host Name" PropertyName="HostName" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$BridgeConnection" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Port Number" PropertyName="Port" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$BridgeConnection" /> </OwningPrototype> </AttributeProperty> </GroupedProperties> <SubpropertyGroups> <PropertyGroup Name="Service" > <GroupedProperties> <AttributeProperty Name="Service" PropertyName="Service" IsExpert="1" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue="sasobjspawn"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$BridgeConnection" /> </OwningPrototype> </AttributeProperty> </GroupedProperties> </PropertyGroup> <PropertyGroup Name="Encryption" > <GroupedProperties> <Property Name="Server Encryption Algorithms" PropertyName="ServerEncryptionAlgorithms" IsExpert="1" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$SASEncryptionAlgorithms"/> </OwningType> </Property> <Property Name="Required Encryption Level" PropertyName="RequiredEncryptionLevel" IsExpert="1" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$SASEncryptionLevel"/> </OwningType> </Property> </GroupedProperties> </PropertyGroup> </SubpropertyGroups> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> <Prototype Id="$MultiBridgeConnection" Name="MultiBridge Connection" Desc="Specifies a TCP/IP port that clients may get redirected to when using Load Balancing." MetadataType="TCPIPConnection"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AttributeProperty Name="Communication Protocol" PropertyName="CommunicationProtocol" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="TCP"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$MultiBridgeConnection" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Application Protocol" PropertyName="ApplicationProtocol" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="MultiBridge"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$MultiBridgeConnection" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Authentication Type" PropertyName="AuthenticationType" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="user/password"> <OwningType> <PropertyType ObjRef="$AuthenticationTypes"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$MultiBridgeConnection" /> </OwningPrototype> </AttributeProperty> <AssociationProperty Name="Authentication Domain" AssociationName="Domain" PartnerName="Connections" MetadataType="AuthenticationDomain" IsExpert="0" IsRequired="1" IsVisible="1" IsUpdateable="1" Minimum="" Maximum="1"> <StoredConfiguration> <TextStore Name="Authentication Domains" TextRole="config" TextType="xml" StoredText="<Configuration> <MetadataRequest> <GetMetadataObjects> <Reposid>_ReposID_</Reposid> <Type>AuthenticationDomain</Type> <NS>SAS</NS> <Flags>264</Flags> <Options></Options> </GetMetadataObjects> </MetadataRequest> <ClassParameters> <Parm Name="_ParentComponent_"/> <Parm Name="_ObjectStore_Persist_"/> <Parm Name="_ReposID_"/> <Parm Name="_Prototype_"/> <Parm Name="New Authentication Domain"/> </ClassParameters> </Configuration>"/> </StoredConfiguration> <Customizers> <ConfiguredComponent Name="PrototypePropertiesDialog Java Class" ClassIdentifier="com.sas.workspace.visuals.PrototypePropertiesDialog"/> </Customizers> <AssociatedPrototypes> <Prototype ObjRef="$MultiBridgeConnection" /> <Prototype ObjRef="$AuthDomain" /> </AssociatedPrototypes> <OwningPrototype> <Prototype ObjRef="$MultiBridgeConnection" /> </OwningPrototype> </AssociationProperty> <AttributeProperty Name="Host Name" PropertyName="HostName" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$MultiBridgeConnection" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Port Number" PropertyName="Port" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$MultiBridgeConnection" /> </OwningPrototype> </AttributeProperty> </GroupedProperties> <SubpropertyGroups> <PropertyGroup Name="Service" > <GroupedProperties> <AttributeProperty Name="Service" PropertyName="Service" IsExpert="1" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue="sasobjspawn"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$MultiBridgeConnection" /> </OwningPrototype> </AttributeProperty> </GroupedProperties> </PropertyGroup> <PropertyGroup Name="Encryption" > <GroupedProperties> <Property Name="Server Encryption Algorithms" PropertyName="ServerEncryptionAlgorithms" IsExpert="1" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$SASEncryptionAlgorithms"/> </OwningType> </Property> <Property Name="Required Encryption Level" PropertyName="RequiredEncryptionLevel" IsExpert="1" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$SASEncryptionLevel"/> </OwningType> </Property> </GroupedProperties> </PropertyGroup> </SubpropertyGroups> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> <Prototype Id="$COMConnection" Name="COM Connection" Desc="Specifies a hostname where clients can connect to SAS using COM protocol." MetadataType="COMConnection"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AttributeProperty Name="Communication Protocol" PropertyName="CommunicationProtocol" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="COM"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$COMConnection" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Application Protocol" PropertyName="ApplicationProtocol" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="COM"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$COMConnection" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Host Name" PropertyName="HostName" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$COMConnection" /> </OwningPrototype> </AttributeProperty> </GroupedProperties> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> <Prototype Id="$ServerLoginProc" Name="Server Login Process" MetadataType="Transformation"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AttributeProperty Name="Name" PropertyName="Name" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="Initialization Login"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$ServerLoginProc" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Transform Role" PropertyName="TransformRole" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="Initialization"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$ServerLoginProc" /> </OwningPrototype> </AttributeProperty> <AssociationProperty Name="Login" AssociationName="TransformationSources" PartnerName="SourceTransformations" MetadataType="Login" IsExpert="0" IsVisible="1" IsUpdateable="1" Minimum="0" Maximum="1"> <StoredConfiguration> <TextStore Name="Logins" TextRole="config" TextType="xml" StoredText= "<Configuration> <MetadataRequest> <GetMetadataObjects> <Reposid>_ReposID_</Reposid> <Type>Login</Type> <NS>SAS</NS> <Flags>264</Flags> <Options></Options> </GetMetadataObjects> </MetadataRequest> <ClassParameters> <Parm Name="_ParentComponent_"/> <Parm Name="_ObjectStore_"/> <Parm Name="_ReposID_"/> </ClassParameters> </Configuration>"/> </StoredConfiguration> <Customizers> <ConfiguredComponent Name="LoginDialog Java Class" ClassIdentifier="com.sas.workspace.visuals.LoginDialog" /> </Customizers> <OwningPrototype> <Prototype ObjRef="$ServerLoginProc" /> </OwningPrototype> </AssociationProperty> </GroupedProperties> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> <Prototype Id="$LoadBalancing" Name="Load Balancing" Desc="This will allow you to set load balancing properties on the logical server." MetadataType="LogicalServer"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AssociationProperty Name="Transformation" AssociationName="InitProcesses" PartnerName="DeployedComponents" MetadataType="Transformation" > <AssociatedPrototypes> <Prototype Objref="$LoadBalancing"/> <Prototype Objref="$LoadBalancingTransformation"/> </AssociatedPrototypes> <OwningPrototype> <Prototype ObjRef="$LoadBalancing" /> </OwningPrototype> </AssociationProperty> </GroupedProperties> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> <Prototype Id="$Pooling" Name="Pooling" Desc="This will allow you to set pooling properties on the logical server." MetadataType="LogicalServer"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AssociationProperty Name="Transformation" AssociationName="InitProcesses" PartnerName="DeployedComponents" MetadataType="Transformation"> <AssociatedPrototypes> <Prototype Objref="$Pooling"/> <Prototype Objref="$PoolingTransformation"/> </AssociatedPrototypes> <OwningPrototype> <Prototype ObjRef="$Pooling" /> </OwningPrototype> </AssociationProperty> </GroupedProperties> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> <Prototype Id="$LoadBalancingTransformation" Name="Load Balancing" Desc="This will allow you to set load balancing properties on the logical server." MetadataType="Transformation"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AttributeProperty Name="Transform Role" PropertyName="TransformRole" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="Load Balancing"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$LoadBalancingTransformation" /> </OwningPrototype> </AttributeProperty> <Property Name="Balancing Algorithm" PropertyName="BalancingAlgorithm" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" Desc="Algorithm to use when determining which server to sent client to" DefaultValue="tklbCost"> <OwningType> <PropertyType ObjRef="$BalancingAlgorithmType"/> </OwningType> </Property> <Property Name="Response Refresh Rate" PropertyName="ResponseRefreshRate" IsExpert="0" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue="-1"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> </Property> <Property Name="Cost Per Client" PropertyName="PerClientCost" Desc="Default cost value added or subtracted when a client connects or disconnects" IsExpert="0" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue="100"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> </Property> <Property Name="Server Specifies Cost" PropertyName="SeverSpecifiedCost" IsExpert="0" IsRequired="0" IsUpdateable="1" IsVisible="1" Desc="If checked, the servers in this Logical Server are responsible for updating the spawner of their current cost" DefaultValue="0"> <OwningType> <PropertyType ObjRef="$Boolean"/> </OwningType> </Property> <AssociationProperty Name="Logins" AssociationName="TransformationSources" PartnerName="SourceTransformations" MetadataType="Login" IsExpert="0" IsVisible="1" IsUpdateable="1" Minimum="0" Maximum=""> <StoredConfiguration> <TextStore Name="Logins" TextRole="config" TextType="xml" StoredText="<Configuration> <MetadataRequest> <GetMetadataObjects> <Reposid>_ReposID_</Reposid> <Type>Login</Type> <NS>SAS</NS> <Flags>264</Flags> <Options></Options> </GetMetadataObjects> </MetadataRequest> <ClassParameters> <Parm Name="_ParentComponent_"/> <Parm Name="_ObjectStore_"/> <Parm Name="_ReposID_"/> </ClassParameters> </Configuration>"/> </StoredConfiguration> <Customizers> <ConfiguredComponent Name="LoginDialog Java Class" ClassIdentifier="com.sas.workspace.visuals.LoginDialog"/> </Customizers> <OwningPrototype> <Prototype ObjRef="$LoadBalancingTransformation"/> </OwningPrototype> </AssociationProperty> </GroupedProperties> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> <Prototype Id="$PoolingTransformation" Name="Pooling" Desc="This will allow you to set pooling properties on the logical server." MetadataType="Transformation"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AttributeProperty Name="Transform Role" PropertyName="TransformRole" IsExpert="0" IsRequired="1" IsUpdateable="0" IsVisible="0" DefaultValue="Pooling"> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$PoolingTransformation" /> </OwningPrototype> </AttributeProperty> <AssociationProperty Name="Puddles" AssociationName="TransformationSources" PartnerName="SourceTransformations" MetadataType="Group" IsExpert="0" IsVisible="1" IsUpdateable="1" Minimum="1" Maximum=""> <StoredConfiguration> <TextStore Name="Groups" TextRole="config" TextType="xml" StoredText="<Configuration> <MetadataRequest> <GetMetadataObjects> <Reposid>_ReposID_</Reposid> <Type>Group</Type> <NS>SAS</NS> <Flags>264</Flags> <Options></Options> </GetMetadataObjects> </MetadataRequest> <ClassParameters> <Parm Name="_ParentComponent_"/> <Parm Name="_ObjectStore_"/> <Parm Name="_ReposID_"/> <Parm Name="_Prototype_"/> <Parm Name="New Puddle"/> </ClassParameters> </Configuration>"/> </StoredConfiguration> <Customizers> <ConfiguredComponent Name="PrototypePropertiesDialog Java Class" ClassIdentifier="com.sas.workspace.visuals.PrototypePropertiesDialog"/> </Customizers> <AssociatedPrototypes> <Prototype Objref="$PoolingTransformation" /> <Prototype Objref="$PoolingGroup"/> </AssociatedPrototypes> <OwningPrototype> <Prototype ObjRef="$PoolingTransformation" /> </OwningPrototype> </AssociationProperty> </GroupedProperties> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> <Prototype Id="$PoolingGroup" Name="PoolingGroup" MetadataType="Group"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AttributeProperty Name="Name" PropertyName="Name" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$PoolingGroup" /> </OwningPrototype> </AttributeProperty> <Property Name="Minimum Available Servers" PropertyName="MinAvail" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="0"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> </Property> <Property Name="Minimum Number of Servers" PropertyName="MinSize" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue="0"> <OwningType> <PropertyType ObjRef="$Integer"/> </OwningType> </Property> <AssociationProperty Name="Login" AssociationName="Members" PartnerName="Groups" MetadataType="Login" IsExpert="0" IsVisible="1" IsUpdateable="1" Minimum="1" Maximum="1"> <StoredConfiguration> <TextStore Name="Logins" TextRole="config" TextType="xml" StoredText= "<Configuration> <MetadataRequest> <GetMetadataObjects> <Reposid>_ReposID_</Reposid> <Type>Login</Type> <NS>SAS</NS> <Flags>264</Flags> <Options></Options> </GetMetadataObjects> </MetadataRequest> <ClassParameters> <Parm Name="_ParentComponent_"/> <Parm Name="_ObjectStore_"/> <Parm Name="_ReposID_"/> </ClassParameters> </Configuration>"/> </StoredConfiguration> <Customizers> <ConfiguredComponent Name="LoginDialog Java Class" ClassIdentifier="com.sas.workspace.visuals.LoginDialog"/> </Customizers> <OwningPrototype> <Prototype ObjRef="$PoolingGroup" /> </OwningPrototype> </AssociationProperty> <AssociationProperty Name="Identities" AssociationName="Members" PartnerName="Groups" MetadataType="Identity" IsExpert="0" IsVisible="1" IsUpdateable="1" Minimum="1" Maximum=""> <StoredConfiguration> <TextStore Name="Members" TextRole="config" TextType="xml" StoredText="<Configuration> <MetadataRequest> <GetMetadataObjects> <Reposid>_ReposID_</Reposid> <Type>Identity</Type> <NS>SAS</NS> <Flags>264</Flags> <Options></Options> </GetMetadataObjects> </MetadataRequest> <ClassParameters> <Parm Name="_ParentComponent_"/> <Parm Name="_ObjectStore_"/> <Parm Name="_ReposID_"/> <Parm Name="_Prototype_"/> <Parm Name="New Member"/> </ClassParameters> </Configuration>"/> </StoredConfiguration> <Customizers> <ConfiguredComponent Name="PrototypePropertiesDialog Java Class" ClassIdentifier="com.sas.workspace.visuals.PrototypePropertiesDialog"/> </Customizers> <AssociatedPrototypes> <Prototype ObjRef="$PoolingGroup" /> <Prototype ObjRef="$Identity" /> </AssociatedPrototypes> <OwningPrototype> <Prototype ObjRef="$PoolingGroup" /> </OwningPrototype> </AssociationProperty> <AssociationProperty Name="Identity Groups" AssociationName="Members" PartnerName="Groups" MetadataType="Identity" IsExpert="0" IsVisible="1" IsUpdateable="1" Minimum="1" Maximum=""> <StoredConfiguration> <TextStore Name="Members" TextRole="config" TextType="xml" StoredText="<Configuration> <MetadataRequest> <GetMetadataObjects> <Reposid>_ReposID_</Reposid> <Type>IdentityGroup</Type> <NS>SAS</NS> <Flags>264</Flags> <Options></Options> </GetMetadataObjects> </MetadataRequest> <ClassParameters> <Parm Name="_ParentComponent_"/> <Parm Name="_ObjectStore_"/> <Parm Name="_ReposID_"/> <Parm Name="_Prototype_"/> <Parm Name="New Member"/> </ClassParameters> </Configuration>"/> </StoredConfiguration> <Customizers> <ConfiguredComponent Name="PrototypePropertiesDialog Java Class" ClassIdentifier="com.sas.workspace.visuals.PrototypePropertiesDialog"/> </Customizers> <AssociatedPrototypes> <Prototype ObjRef="$PoolingGroup" /> <Prototype ObjRef="$Identity" /> </AssociatedPrototypes> <OwningPrototype> <Prototype ObjRef="$PoolingGroup" /> </OwningPrototype> </AssociationProperty> </GroupedProperties> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> <Prototype Id="$Identity" Name="Identity" MetadataType="Identity"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AttributeProperty Name="Name" PropertyName="Name" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$Identity" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Description" PropertyName="Desc" IsExpert="0" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$Identity" /> </OwningPrototype> </AttributeProperty> </GroupedProperties> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> <Prototype Id="$AuthDomain" Name="Authentication Domain" MetadataType="AuthenticationDomain"> <PrimaryPropertyGroup> <PropertyGroup Name="Primary Group" > <GroupedProperties> <AttributeProperty Name="Name" PropertyName="Name" IsExpert="0" IsRequired="1" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$AuthDomain" /> </OwningPrototype> </AttributeProperty> <AttributeProperty Name="Description" PropertyName="Desc" IsExpert="0" IsRequired="0" IsUpdateable="1" IsVisible="1" DefaultValue=""> <OwningType> <PropertyType ObjRef="$String"/> </OwningType> <OwningPrototype> <Prototype ObjRef="$AuthDomain" /> </OwningPrototype> </AttributeProperty> </GroupedProperties> </PropertyGroup> </PrimaryPropertyGroup> </Prototype> </Metadata> <Reposid>_ReposID_</Reposid> <Ns>SAS</Ns> <Flags>268435456</Flags> <Options/> </AddMetadata>
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.