Design Data in the System Definition Model
Design Data in the System Definition Model
The .sdmdocument files that are used to create new systems (applications or logical servers), endpoints, and resources must contain certain design data that allows them to load and display correctly in Distributed System Designers. Design data is stored in the DesignData element in the .sdmdocument file.
This topic explains the various design data that are associated with each definition element. It also provides an explanation of description data, which are localized and are stored in the Description element.
The Required column indicates whether the particular property element in the Design Data is required by Distributed System Designers. The SDM schema does not impose these requirements.
- SystemDefinitionModel Design Data
- SystemDefinition Design Data
- EndpointDefinition Design Data
- SettingDeclaration Design Data
- ContainmentDefinition Design Data
- ResourceDefinition Design Data
- Design Data Examples
SystemDefinitionModel Design Data
The following table lists the design data associated with the SystemDefinitionModel element.
Property | Required? | Description |
---|---|---|
DocumentType | Yes | Indicates the class of types found in the SDM document. Use a value of "AbstractTypes" for all definitions (applications, logical servers, endpoints, resources, and so on). |
SystemDefinition Design Data
The following table lists the design data associated with the SystemDefinition (SystemDefinitionModel) and SystemDefinition (ObjectDefinition) elements.
Property | Required? | Description |
---|---|---|
PrimaryRelationshipName | Yes | For applications or logical servers, specify a value of "HostingDefinition". This item indicates that the designer should look at hosting definitions; the PrimaryRelationshipRole property indicates how the hosting definitions should be interpreted. |
PrimaryRelationshipRole | Yes | For an application set to a value of "Guest"; for logical server set to a value of "Host". If you set the value to "Guest" for a logical server, but compile the layer as an application with the ProtoGen.exe tool, the prototype will show in the Toolbox, but the Settings and Constraints Editor will not work properly. |
DisplayName | No | Place in the Description element, not in the DesignData element. It contains the display name for the type. This property identifies the type of the application. For example, "GenericApplication". If a value is not specified, it will use the Name attribute of the SystemDefinitionModel element. |
DefaultRootName | No | The default name when you drag the prototype from the Toolbox. Defaults to DisplayName. For example, "Application1" or "LogicalServer1". |
ThemeColor | No | Application or logical server color in HSL format. For example, 10, 157, 163 (generic application color). |
ImageFileName | No | Image file that displays inside the application or logical server shape. This value must be a .emf or .bmp file. The property uses the default image if a value is not specified. The .emf or .bmp file must be located in the same directory as the .sdmdocument. The transparent color of a bitmap is the color of the upper-left pixel. |
ErrorImageFileName | No | Image that shows when a validation error occurs. If a value is not specified, it defaults to the ImageFileName property. The .emf or .bmp file must be located in the same directory as the .sdmdocument. The transparent color of a bitmap is the color of the upper-left pixel. |
Report | Yes, required for system definitions. | Outputs the data for the system to a deployment report. The value can be either "LogicalServer" or "Application". |
EndpointDefinition Design Data
The following table lists the design data associated with the EndpointDefinition (SystemDefinitionModel) and EndpointDefinition (ObjectDefinition) elements.
Property | Required? | Description |
---|---|---|
PrimaryRelationshipName | Yes | Specify a value of "HostingDefinition". This item indicates that the designer should look at hosting definitions; the PrimaryRelationshipRole property indicates how the hosting definitions should be interpreted. The PrimaryRelationshipName value for ZoneEndpoint is ContainmentParent. |
PrimaryRelationshipRole | Yes | Specify a value of "Guest" for application layer and "Host" for server layer. |
DisplayName | No | Place in the Description element, not in the DesignData element. This property defaults to the Name attribute of the EndpointDefinition element. An example is "GenericProviderEndpoint". |
DefaultRootName | No | Default name when you drag the prototype from the toolbox. For example, "Endpoint1". Defaults to the DisplayName. |
Direction | Yes | Specify a value of "Client", "Server", or "Bidirectional". If it is a consumer endpoint, the value must be "Client"; if it is a provider, the value must be "Server". Only use "Bidirectional" with Zone. |
ThemeColor | No | Endpoint color in HSL format. For example, 10, 157, 163 (generic application color). |
ImageFileName | No | Image file that displays inside the endpoint shape. Must be a .emf or .bmp file. Uses the default image if a value is not specified. The .emf or .bmp file must be located in the same directory as the .sdmdocument. The transparent color of a bitmap is the color of the upper-left pixel. |
Geometry | No | "General"(square), "WebService" (circle), "WebContent" (square), "Database" (hexagon). For "Zone", the default value is a square shape. For server color, the ThemeColor is the fill color. For client color, ThemeColor is not required. |
SettingDeclaration Design Data
The following table lists the design data associated with the SettingDeclaration element.
Property | Required? | Description |
---|---|---|
Category | No | Place in the Description element, not in the DesignData element. Category that shows in the right pane of the Settings and Constraints Editor. If a value is not specified, this property defaults to Settings. |
ShowInPropertyGrid | No | true if the setting shows in the Properties window; otherwise, false. |
DisplayName | No | Place in the Description element, not in the DesignData element. Name used in the Settings and Constraints Editor. If a value is not specified, this property defaults to the Name attribute of the SettingDeclaration element. |
ContainmentDefinition Design Data
The following table lists the design data associated with the ContainmentDefinition (SystemDefinitionModel) and ContainmentDefinition (ObjectDefinition) elements.
Property | Required? | Description |
---|---|---|
DefaultRootName | Yes | Name that the endpoint receives when it is dropped onto the system that contains it. For example, the DefualtRootName property value enables an ExternalWebService to contain ExternalWebService1, rather than WebService1. Overrides the DefaultRootName on EndpointDefinition. |
UserConstrainable | Yes | true if the user can constrain an item in the resource list; otherwise, false. The default is true. This property is only used with resource containments. |
SupportsUserCreation | No | true if the user can add a resource of that type; otherwise, false. The default is true. Primarily used with resource containments. While a designer can create ContainmentDefinitions, this property allows you to stop the user from creating them. |
SupportsMultipleDelegation | No | The default is false. This property must be false. |
SupportsRecursiveConnection | No | true if an application can connect to itself. The default is true. |
ResourceDefinition Design Data
The following table lists the design data associated with the ResourceDefinition (SystemDefinitionModel) and ResourceDefinition (ObjectDefinition) elements.
Property | Required? | Description |
---|---|---|
PrimaryRelationshipName | NA | Unused. |
PrimaryRelationshipRole | NA | Unused. |
DisplayName | No | Defaults to the Name attribute of the ResourceDefinition element. |
DefaultRootName | No | Defaults to the DisplayName. |
Design Data Examples
The following code example shows how the Description element is used in comparison to the DesignData element for an endpoint definition.
<EndpointDefinition Name="GenericClientEndpoint" Layer="ApplicationHost" Extends="System:EndpointDefinition" Abstract="true"> <Description> <Entry Name="DisplayName" ResourceId="GenericClientEndpoint.DisplayName" Manager="GenericManager">GenericClientEndpoint</Entry> <Entry Name="Description" ResourceId="GenericClientEndpoint.Description" Manager="GenericManager"> Defines the connection point through which a Generic server consumes services from other applications. </Entry> </Description> <DesignData> <VisualStudio xmlns="https://schemas.microsoft.com/SystemDefinitionModel/2005/1/DesignData/VisualStudio"> <ModelElement> <Property Name="PrimaryRelationshipName" Value="HostingDefinition" /> <Property Name="PrimaryRelationshipRole" Value="Host" /> <Property Name="DefaultRootName" Value="ClientEndpoint1" /> <Property Name="Direction" Value="Client" /> <Property Name="ThemeColor" Value="34, 83, 213" /> <Property Name="Geometry" Value="General" /> </ModelElement> </VisualStudio> </DesignData> </EndpointDefinition>
The following code example shows the Description element and DesignData element in a setting declaration.
<SettingDeclaration Name="Protocol" Definition="System:String" CanBeNull="true"> <Description> <Entry Name="DisplayName" ResourceId="GenericApplicationEndpoint.Protocol.DisplayName" Manager="GenericManager"> Protocol </Entry> <Entry Name="Category" ResourceId="GenericApplicationEndpoint.Protocol.Category" Manager="GenericManager"> Communications </Entry> <Entry Name="Description" ResourceId="GenericApplicationEndpoint.Protocol.Description" Manager="GenericManager"> The communication protocol used on the endpoint. </Entry> </Description> <DesignData> <VisualStudio xmlns="https://schemas.microsoft.com/SystemDefinitionModel/2005/1/DesignData/VisualStudio"> <ModelElement> <Property Name="ShowInPropertyGrid" Value="true" /> </ModelElement> </VisualStudio> </DesignData> </SettingDeclaration>
See Also
How to: Create an SDM EndPoint
DesignData Complex Type
DesignData (Definition) Element
DesignData (Member) Element
DesignData (StructuralConstraint) Element
DesignData (SystemDefinitionModel) Element
Send comments about this topic to Microsoft
Build date: 10/2/2007