Software AG Products 10.5 | Using CentraSite | Type Management | Basic Components of Type
 
Basic Components of Type
A type consists of two basic components:
*Attributes that represent an individual characteristic, property or piece of information about an asset.
*Profiles that represent a logical collection of attributes.
Attributes
A type is made up of attributes. An attribute represents an individual characteristic, property, or piece of information about an asset. All asset types include a basic set of attributes for general information such as the asset's name, description, creation date, and owner. For example, the Service asset type includes attributes that identify the name of the service, provide the service's endpoints, identify the owner of the service, and supply links to programming documentation.
You define additional attributes to hold data that is specific to the type of asset that you want to store in the registry. When you define an attribute, you specify:
*The type of data that the attribute holds (for example, String, Number, Boolean).
*Whether the attribute holds a single value or multiple values (that is, an array).
*Whether an attribute is required or optional.
*Whether the attribute is read-only.
Basic Attributes
All types that represent assets include the basic set of attributes. The following table describes the basic attributes that are available in CentraSite Control and CentraSite Business UI:
Attribute
Description
CentraSite Control
CentraSite Business UI
Name
The name under which the asset is cataloged.
Description
A descriptive comment that provides additional information about an asset.
Key
The Universally Unique Identifier (UUID) that is assigned to the asset and uniquely identifies it within the registry. CentraSite automatically assigns a UUID to an asset when the asset is added to the registry.
Version
The user-assigned version identifier for an asset. The user-assigned identifier can include any sequence of characters. It is not required to be numeric.
System Version
The system-assigned version number that CentraSite maintains for its own internal use. CentraSite automatically assigns this identifier to an asset when a version of the asset is created. The system-assigned identifier is always numeric and always has the format:
MajorVersion.Revision
Where:
*MajorVersion is an integer that represents the asset's version number. This value is incremented by one when a new version of the asset is generated, for example, 1.0, 2.0, 3.0.
*Revision is an integer that represents an update to a particular version of an asset. When the revisioning feature is enabled for CentraSite, the Revision number is incremented each time a change is made to the asset (for example, 1.0, 1.1, 1.2).
An asset's System Version attribute cannot be deleted or modified by a user.
Created
The date on which the asset was added to the catalog. CentraSite automatically sets this attribute when a user adds the asset to the catalog. Once it is set, it cannot be modified.
Last Modified
The date on which the catalog entry for the asset was last updated. CentraSite automatically updates this attribute when a user modifies any of the asset's attributes.
Organization
The organization to which the asset belongs.
Owner
The user who currently owns the asset. CentraSite automatically sets this attribute when a user adds the asset to the catalog.
Lifecycle State
The asset's current lifecycle state. If a lifecycle model has been associated with an asset type, CentraSite updates this attribute as the asset passes through its lifecycle.
Last Updated
The date on which an instance of the asset was last updated. CentraSite automatically updates this attribute when a user modifies any of the asset's attributes.
Consumers
The list of users, applications, and arbitrary assets that are registered to consume the asset.
Watchers
The list of users registered to receive notifications when changes are made to the asset.
Pending Approvals
The list of pending approval requests.
An asset can also have any number of additional attributes that are specific to the asset's type. For example, an asset might include attributes that do the following:
*Provide contact information for technical support (for example, phone numbers and email addresses).
*Classify the asset according to one or more taxonomies.
*Describe an asset's relationship to other assets or registry objects.
*Specify details regarding system requirements and technical specifications.
*Provide links to additional information such as program documentation, sample code, or usage notes.
Computed Attributes
CentraSite offers you the flexibility to add computed attributes into asset type definitions and profiles; this allows you to define attributes that require complex computation in Java, and then implement them as a Java plug-in, thus overcoming the limitations of predefined attribute types. You could, for example, make attribute values localizable by using the computed attributes.
A computed attribute must describe its scale for the rendering within the profile of the asset type.
For a Java-based plug-in for a computed attribute, you create a jar file that contains the plug-in definition and you load the jar file through CentraSite Control into the repository.
After you have added a computed attribute into a profile definition, you can perform administration tasks on the computed attribute in the same way as for normal attributes. For example, you can define the ordering of the attributes in a profile, regardless of whether they are standard attributes or computed attributes.
Attribute Data Types
When you add an attribute to a type, you specify the attribute's data type. The data type determines what kind of information the attribute can hold. After you add an attribute to a type, the attribute's data type cannot be changed.
The following table lists the data types that you can assign to an attribute. Most types can be configured to hold a single value or multiple values (that is, an array of values).
Data Type
Description
Boolean
Holds a true or false value.
Note:
When a Boolean value is displayed in the CentraSite user interface, its value is generally displayed as Yes (if the attribute's value is true) or No (if the attribute's value is false).
Computed Attribute
Holds a value that is supplied by a user-defined Java plug-in.
After you have defined a computed attribute, you can use it in CentraSite Control in the same way as any other attribute. You can, for example, assign the attribute to a profile or reorder the attribute position within a profile.
Date/Time
Holds a timestamp that represents a specific date and time.
Duration
Holds a value that represents a period of time as expressed in Years, Months, Days, Hours, Minutes, and Seconds.
Email
Holds an email address. This data type only accepts values in the format:
anyString@anyString
Note:
When a user enters a value for an Email attribute, CentraSite verifies that the value conforms to the format above, but it does not attempt to validate the address itself.
International String
Holds a String attribute that can have different values for different locales.
IP Address
Holds a numeric IP address in the v4 or v6 format.
Multiline String
Holds a string of text. When this type of string is displayed in a CentraSite user interface, the string is displayed in a multi-line text box and lines of text are wrapped to fit the width of the box. (Compare this with the String data type described in this table.)
The Internationalized option allows you to store the text in internationalized string format.
Number
Holds a numeric value. When you define an attribute of this type, you can specify the number of decimal positions that are to be shown when the attribute is displayed in a user interface. If you do not want to restrict the number of decimal positions that the user interface displays, select the Maximum Precision option to display all positions.
You can optionally assign a label such as Seconds, tps, KB, EUR or $ to attributes of this type and specify whether this label is to appear as a prefix or a suffix when the attribute's value is displayed in a user interface.
Note:
The underlying data type for this kind of attribute is a Java double.
String
Holds a string of text. When this type of string is displayed in a CentraSite user interface, it is displayed in a single-line text box. If a value exceeds the width of the box, the excess characters are simply not displayed.
The Internationalized option allows you to create a String attribute that holds different values for different locales. In CentraSite Control, for example, if a user logs on to CentraSite in an English locale and he or she assigns a value to an Internationalized String attribute, that value is visible to other users with English locales. If a user in a German locale were to view the attribute, the attribute would appear empty because it has no value for the German locale. If the German-locale user were to subsequently assign a value to the attribute, the attribute would then have two String values: one in English and one in German.
When CentraSite Control displays an Internationalized String, it displays the value associated with the user's current locale. In the example described above, it would show the English value to users with English locales and the German value to users in German locales. Users in other locales would see an empty attribute until a value for their locale had been assigned to the attribute.
The Enumeration option allows you to specify a list of allowed values for the attribute.
URL/URI
Holds a URL/URI. This type of attribute only accepts values in the form:
protocol://host/ path
Where:
*protocol is any protocol that java.net.URL supports
*host is the name or IP address of a host machine
*path (optional) is the path to the requested resource on the specified host
Besides basic data types such as String, Number, and Boolean, CentraSite supports the following special types:
Attribute Type
Description
Classification
Holds references to one or more categories in a specified taxonomy. You use this type of attribute to classify assets according to a specified taxonomy.
Relationship
Holds references to other registry objects. You use this type of attribute to express a relationship between an asset and another object in the registry.
File
Holds references to one or more documents that reside in CentraSite's supporting document library or at a specified URL.
You can use this type of attribute to attach documents such as programming guides, sample code, and other types of files to an asset.
The inclusion of these attribute types facilitate many of the advanced features in CentraSite.
Attribute Names
An attribute that is one of the following types has two names associated with it: a display name and a schema name.
Boolean
Date
Duration
Email
Multiline String
IP Address
Number
String
URL
The display name for these types of attributes is the name that is displayed by the CentraSite Control, CentraSite Business UI, and CentraSite plug-in for Eclipse UI. An attribute's display name can consist of any combination of characters, including spaces.
The following are all valid display names:
Business Owner
Amount (in $)
Numéro de téléphone
Avg. Invocations/Minute
1099 Code
You can change an attribute's display name at any time.
The attribute's schema name is the name that CentraSite actually gives to the underlying JAXR-based slot that represents the attribute in the registry. This name must be NCName-conformant, meaning that:
*The name must begin with a letter or the underscore character (_).
*The remainder of the name can contain any combination of letters, digits, or the following characters: . - _ (that is, period, dash, or underscore). It can also contain combining characters and extender characters (for example, diacriticals).
*The name cannot contain any spaces.
If you do not specify a schema name for an attribute, CentraSite automatically generates a default schema name based on the attribute's display name. It does this by taking the attribute's display name and replacing any spaces in the name with underscore characters (_) and by removing any invalid character in the name.
If you explicitly specify a schema name that is not NCName-conformant, CentraSite will request that you change it to an NCName-conformant name.
The following table describes the default schema names that CentraSite would generate for the display names shown above:
For this Display Name…
CentraSite would generate this schema name…
The resulting schema name is…
Business Owner
Business_Owner
Valid. You do not have to change the schema name.
Amount (in $)
Amount_in_
Valid. You do not have to change the schema name.
Numéro de téléphone
Numéro_de_téléphone
Valid. You do not have to change the schema name.
Avg. Invocations Minute
Avg._Invocations_Minute
Valid. You do not have to change the schema name.
1099 Code
_099_Code
Valid. You do not have to change the schema name.
Note:
An attribute's schema name must be unique within the type (that is, two attributes in a type cannot have the same schema name).
After the attribute is created, you can no longer change its schema name.
Profiles
When a type defines an asset (that is, if it is an asset type), the attributes that make up the type are assigned to profiles. Profiles determine how the type's attributes are grouped and presented when an instance of that type is displayed in CentraSite Control and CentraSite Business UI. In CentraSite Control, for example, the attributes associated with a particular profile are grouped together on a tab.
When you define an asset type, you specify the profiles on which its attributes are to be displayed. CentraSite does not require an attribute to be assigned to a profile. If you do not assign an attribute to a profile, the attribute does not be visible in the user interface. However, the attribute resides in the type definition. You can assign an attribute to multiple profiles if you want it to appear on multiple profiles (tabs) in the user interface.
You can define any number of profiles for an asset type. You can specify the order in which you want the profiles to appear when an instance of the type is displayed. You can also specify the order in which attributes are to be displayed within each profile.
Generic Profiles
In addition to the profiles that you define, CentraSite provides several predefined profiles, called generic profiles, which you can optionally include in an asset type.
The information on the generic profiles is generated by CentraSite. You cannot customize the content of these profiles or add attributes to them. You can, however, select which of these profiles you want CentraSite to include when it displays an asset of a defined type.
The following table describes the generic profiles that are available in CentraSite Control and CentraSite Business UI:
Profile
Description
CentraSite Control
CentraSite Business UI
Summary
Applicable for Service, XML Schema, Application Server, BPEL Process, Interface and Operation types.
For an instance of Service type, it displays the list of operations and bindings that the asset provides. For an instance of BPEL Process, Interface, or Operation, it displays the basic information such as the asset owner, but includes no type-specific attributes.
Basic Information
Displays the general information about the asset, such as the asset's version, last modified date, asset type, owning organization, owning user, a description of the asset, and the number of watchers and consumers.
Consumers
Displays the list of users, applications, and arbitrary assets that are registered to consume the asset.
Advanced Information
Displays additional information about the asset. The profile functions as a high-level container for a set of profiles defined in the asset's type definition. Beginning with CentraSite 9.8, the Advanced Information profile does not be visible in the user interface.
Permissions
Displays the asset's instance-level permissions. It displays the controls for modifying the asset's instance-level permissions.
To view all of the instance-level permissions for an asset, a user must have Modify or Full permissions on the asset. To edit the instance-level permissions for an asset, a user must have Full permissions on the asset. If a user has only View permission on an asset, the Permissions profile includes only that particular user's permissions for the asset.
Versions
Displays the versioning history for the asset and provides links to earlier versions and revisions of the asset. It displays the controls for generating a new version of the asset, purging older versions of the asset and reverting to a previous version of an asset.
Subscriptions
Displays the list of users that are registered to receive notifications when changes are made to the asset.
Audit Log
Displays the update activity associated with the asset. It displays each change that has been made to an asset (including changes in an asset's lifecycle state) and identifies the user that made the change.
Object-Specific Properties
Displays the list of object-specific properties assigned to the asset. An object-specific property includes a key that identifies the name of the property and an optional String value, that contains the data associated with the property. (A property's value can be null.)
Object-specific properties are used to hold information about an instance of asset when there is no predefined attribute to hold that data. Typically, they are used in one-off situations to attach ad-hoc data to an instance of an asset. For example, if you were managing a certification effort, you might use an object-specific property to identify the set of assets that required certification.
Identification
Applicable for Application type.
Displays the list of consume identifier tokens for accessing a Virtual Service (API).
Identification (for API Key assets)
Applicable for API Key type.
Displays the API key string and its expiration date.
OAuth2 Identification Details (for OAuth Client assets)
Applicable for OAuth2 Client type.
Displays the OAuth2 client details (Client ID, Client Secret, Client Name, Scope, and Refresh Token).
Specification
Displays the list of external documents such as Functional Requirements, Error Messages, Release Notes and so forth that are attached to the asset.
Classifications
Displays the list of categories that are used to classify the asset. It displays controls for adding ad hoc classifiers to the asset.
Associations
Displays the list of objects that are related to the asset. It displays controls for establishing ad hoc relationships between an asset and other registry objects.
External Links
Displays the list of links to external documents and files that are attached to the asset. It displays controls for attaching documents and files to an asset.
Policies
Displays the list of design/change-time policies and run-time policies that are applicable to the asset (that is, it includes all the policies whose scope encompasses the displayed asset).
Note:
When you disable the Policies profile in Service asset type definition, CentraSite removes the profile from instances of the type Service, but continues to display the profile in instances of the type Virtual Service.
Performance
Displays the run-time performance metrics captured for the asset. If you are using webMethods Mediator, webMethods Insight, or another run-time monitoring component to log performance metrics for an asset, CentraSite includes those metrics on this profile.
Note:
When you disable the Perfornance profile in Service asset type definition, CentraSite removes the profile from instances of the type Service, but continues to display the profile for instances of Virtual Service type and its variants.
Events
Displays the run-time events associated with an asset. If you are using webMethods Mediator, webMethods Insight, or another run-time monitoring component to log run-time events for an asset, CentraSite displays those events on this profile.
Note:
When you disable the Events profile in Service asset type definition, CentraSite removes the profile from instances of the type Service, but continues to display the profile for instances of Virtual Service type and its variants.
Processing Steps
Applicable for Virtual Service, Virtual XML Service, and Virtual REST Service types.
For an instance of Virtual Service type, Displays the protocol (HTTP, HTTPS, or JMS) and SOAP format (1.1 or 1.2) of the requests that the service will accept.
For an instance of Virtual REST Service or Virtual XML Service type, Displays the protocol (HTTP or HTTPS) of the requests that the service will accept. Also, you specify the HTTP methods (GET, POST, PUT, DELETE or Use Context Variable) that are supported by the native service.
It displays the request routing methods and protocol for authenticating the requests.
Deployment
Applicable for Virtual Service, Virtual XML Service, and Virtual REST Service types.
Displays the list of virtual services that are ready for deploying in the webMethods Mediator gateway.
Run-Time Metrics
Displays the run-time performance metrics that are available for the asset. If you are using webMethods Mediator, webMethods Insight, or another run-time monitoring component to log performance metrics for an asset, CentraSite includes those metrics on this profile.
Note:
When you disable the Run-Time Metrics profile in Service asset type definition, CentraSite removes the profile from instances of the Service type, but continues to display the profile in instances of the Virtual Service type.
Run-Time Events
Displays the run-time events that are available with an asset. If you are using webMethods Mediator, webMethods Insight, or another run-time monitoring component to log run-time events for an asset, CentraSite displays those events on this profile.
Note:
When you disable the Run-Time Events profile in Service type definition, CentraSite removes the profile from instances of the type Service, but continues to display the profile in instances of the type Virtual Service.
API Gateway Information
Applicable for Virtual Service, Virtual REST Service, and Virtual OData types.
Displays the following details of the API Gateway instance(s) to which the API is published:
*Name of the API Gateway instance along with a deep link to open the API gateway instance directly in the CentraSite user interface.
*Status of the API in API Gateway. The icon indicates that the API is active and the icon indicates that the API is inactive in the API Gateway instance.
Note:
The status of APIs are synchronized based your configuration in the centrasite.xml file. For information, see Configuring the API Gateway Synchronization Settings.
*View in API Gateway link. Click this link to view the API in the corresponding gateway instance.
Note:
The View in API Gateway link is enabled, only when the API Gateway instance is reachable.
*View Runtime enforcement in CentraSite link. Click this link to view the policy enforcement configuration in a pop-up window. You can click the icon in the pop-up window to view the parameter configuration values of the policy.
Note:
This link is displayed only if the CentraSite run-time setting is enabled. For information on enabling run-time aspects from CentraSite, see Enabling CentraSite Run-Time Aspects.
*The list of effective policies applied to the API. Select a policy or level from the drop-down field of the required API Gateway instance. You can view either of the following details in the particular gateway instance:
API-level, Resource-level, or Method-level policies for the REST APIs.
<OR>
API level or Operation-level policies for the SOAP based APIs.
By default, API-level is selected in the drop-down field. This drop-down field is disabled, if the API Gateway instance is not reachable.
You can click the icon next to a policy to view its parameter configuration values.
Note:
If there are more than three API Gateway instances for an API, then you can scroll the page horizontally using the right arrow and left arrow buttons to navigate between the instances.
By default, this profile is not selected in the type definition of Virtual Service and its variants. This profile is automatically enabled when the first API Gateway instance is created in CentraSite.
API Portal Information
Applicable for API Key, Service , REST Service, and OData Service types.
Displays the maturity status, grouping, subscription terms, and the access token types for the API.
API Key Scope
Applicable for API Key, Virtual Service, Virtual REST Service, and Virtual OData Service types.
Displays the name of the Native Service (API) that is associated to the API key. To view details of the Native API, click the hyperlinked name.
Note:
CentraSite displays the API Key Scope profile in an instance of virtual API, only if the profile is included in the API Key type definition.
ARIS Properties
Applicable for Process type.
Displays the ARIS-specific attributes that are of use when CentraSite is integrated with the ARIS products.
Computed Profiles
CentraSite offers you the possibility to add computed profiles into asset type definitions; this gives you the option to define your own profile, which means that you can implement your own algorithms for calculating the values you wish to represent. You could for example aggregate or compute attribute information from embedded or linked objects.
You can combine the attribute specific profile and the generic profiles layout concept in a single computed profile.
Computed profiles let you create your own layout by using a UI Rendering Concept. You can also specify your own rendering logic to display the computed values. You could, for example, create a custom display of performance metrics as a graphic or an animation.
A computed profile can be implemented as a Java plug-in. For a Java-based plug-in for a computed profile, you create an archive file that contains the plug-in definition and you load the archive file through CentraSite Control into the repository.
After you have added a computed profile into the asset type definition, you can perform administration tasks on the computed profile in the same way as for normal profiles. For example, you can define profile-based permissions and you can define the order of the computed profile relative to the other profiles in the asset detail display.
In addition to the profiles that you define, CentraSite provides several predefined computed profiles.
Computed Profile
Description
API Gateway Communication
This is applicable for instances of API Gateway type.
Displays the communication details that are of use for CentraSite to send data to API Gateway. The details include the URL of the API Gateway, the username and password credentials of a CentraSite user or a technical user of API Gateway, and the sandbox category that is used to classify the API Gateway instance.
API Portal Communication
This is applicable for instances of API Portal type.
Displays the communication details that are of use for CentraSite to send data to API Portal. The details include the URL of the API Portal, the name of the API Portal's tenant, the username and password credentials of a CentraSite user or a technical user of API Portal, and the sandbox category that is used to classify the API Portal instance.
Assets
This is applicable for instances of Organization type.
Displays the list of assets owned by the user.
CentraSite Communication
This is applicable for instances of API Gateway, API Portal, and Mediator types.
Displays the communication details that are of use for API Gateway, API Portal, or Mediator to exchange data with CentraSite. The details include the URL of the Software AG Runtime and the username and password credentials of a CentraSite user.
Child Organizations
This is applicable for instances of Organization type.
Displays the general information about the organization, such as the organization's name, the description of the organization, the contact person for the organization and the address of the organization's web site.
Consumer Overview
This is applicable for instances of Service types.
Displays the list of all virtual endpoints defined for the API in API Gateway.
SOAP API. Displays the Consumer Service WSDL / WSDL URL, and the list of Access URIs and API keys for the SOAP API. In addition, if the SOAP API has Enable REST Support policy action applied during virtualization, this profile also displays the REST URL variant of the Virtual (SOAP) API.
REST API. Displays the list of Access URIs and API keys for the REST API.
Note:
The list of API endpoints are synchronized based your configuration in the centrasite.xml file. For information, see Configuring the API Gateway Synchronization Settings.
Groups
This is applicable for instances of Organization type.
Displays the basic information about the group, such as the owning organization and a description of the group.
Group Members
This is applicable for instances of Organization type.
Displays the list of users who belong to the group.
Mediator Communication
This is applicable for instances of Mediator asset type.
Displays the communication details that are of use for CentraSite to send data to Mediator. The details include URL of the Mediator, and the username and password credentials of an Integration Server user.
Permissions
This is applicable for instances of Organization type.
Displays the list of permissions assigned to the role.
Provider Overview
This is applicable for instances of Service types.
Displays the list of native and virtual endpoints defined for the asset in API Gateway. In this profile, a native endpoint is represented by the Binding, and a virtual endpoint is represented as an Alias that identifies a specific Access URI (address where the virtual endpoint is published). It displays details of the API keys, and controls for performing various functions (renew, revoke and delete) API keys.
Note:
The list of API endpoints are synchronized based your configuration in the centrasite.xml file. For information, see Configuring the API Gateway Synchronization Settings.
Published APIs
This is applicable for instances of API Gateway and API Portal types.
Displays the details of the APIs that were published to API Gateway and API Portal gateways. The details include the name of the API, the description of the API, the version identifier of the API, and a deep link to open the API details page directly in the API Gateway and API Portal user interface. The status of the published APIs will be same their status in API Gateway.
Resources and Methods
This is applicable for instances of REST Service and Virtual REST Service types.
Displays the list of resources and methods defined for the REST-based API.
OData Resources
This is applicable for instances of OData Service and Virtual OData Service types.
Displays the list of all first level resources. It displays the resource path, entity type, resource parameters, HTTP methods and outgoing navigation properties for the OData service.
Roles
This is applicable for instances of Organization type.
Displays the basic information about the role, such as the owning organization and a description of the role.
Runtime Metrics
This is applicable for instances of Service types.
Displays the run-time performance metrics that are available for the asset. If you are using webMethods Mediator, webMethods Insight, or another run-time monitoring component to log performance metrics for an asset, CentraSite includes those metrics on this profile.
Note:
When you disable the Run-Time Metrics profile in Service asset type definition, CentraSite removes the profile from instances of the type Service, but continues to display the profile in instances of the type Virtual Service.
Runtime Events
This is applicable for instances of Service types.
Displays the run-time events that are available with an asset. If you are using webMethods Mediator, webMethods Insight, or another run-time monitoring component to log run-time events for an asset, CentraSite displays those events on this profile.
Note:
When you disable the Run-Time Events profile in Service asset type definition, CentraSite removes the profile from instances of the type Service, but continues to display the profile in instances of the type Virtual Service.
Technical Details
This is applicable for instances of Service types.
Displays the technical information about an asset. For a SOAP-based asset, this profile includes the WSDL URL and a list of the operations and bindings. For an XML/REST-based asset, the profile includes the schema URL and a list of the resources.
Users
This is applicable for instances of Organization type.
Displays the basic information about the user, such as the display name, user ID, email address, owning organization, a description of the user, telephone and mobile numbers.
Assigning Permissions on Profiles
You can restrict access to individual profiles by setting profile permissions on an instance of an asset. Doing this enables you to control who can view and edit the attribute values on a particular instance of a profile.
Important:
Profile permissions restrict access at the UI level but not at the API level. At the API level, profile permissions are irrelevant. A user with a view permission on an asset can access the asset's metadata through the API, regardless of whether profile permissions exist for the asset.