A type (also called an object type) is analogous to a class in object-oriented programming and describes a kind of object that the registry can store. Objects abstract the real-world entities and each object belongs to a particular type which defines its characteristics and behavior.
CentraSite includes many predefined types. Any custom type that you add to CentraSite is treated as an asset type (i.e., instances of that type are treated as assets).
Types are system-wide objects, meaning that they apply to all organizations. Consequently, all organizations within a particular instance of CentraSite use (or have access to) the same global set of types.
A type is made up of attributes. Attributes hold data about an object. When a type defines an asset (i.e., 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 or the CentraSite plug-in for Eclipse.
Attributes are grouped by profile when displayed in a CentraSite graphical user interface
Asset types also include an additional set of properties called advanced settings. These properties determine how instances of that type are to be managed by CentraSite. Among other things, the advanced settings for an asset type determine whether assets of the type are visible in the catalog browser, whether they can be used with reports and/or policies, and whether they can be versioned.
Types are described in detail in the following sections.
An attribute represents an individual characteristic, property or piece of information about an asset. For example, the asset type for a Service includes attributes that identify the name of the service, provide the service's endpoints, identify the owner of the service, supply links to programming documentation and so forth.
All types that represent assets include the following basic attributes:
Attribute | Description |
---|---|
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 be made up of 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 object when a version of the object is created. The system-assigned identifier is always numeric and always has the format: MajorVersion.Revision Where:
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. |
Submitting 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. |
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 program documentation, sample code, usage notes and so forth
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 (i.e., an array of values).
Data Type | Description |
---|---|
Boolean |
Holds a "true" or "false" value. Note: |
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. |
Computed Attribute |
Holds a value that is supplied by a user-defined Java plug-in. Once 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/or time. |
Duration |
Holds a value that represents a period of time as expressed in Years, Months, Days, Hours, Minutes and Seconds. |
Holds an email address. This data type only accepts values in the format: anyString@anyString Note: |
|
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. |
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 below.) The Internationalized option allows you to store the text in internationalized string format. For more information about the Internationalized option, see the String data type, below. |
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, choose 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: |
String |
Holds a string of text. When this type of string is displayed, 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 will be 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:
|
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. |
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 and CentraSite plug-in for Eclipse user interfaces. 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: . - _ (i.e., period, dash, or underscore). It can also contain combining characters and extender characters (e.g., diacriticals).
The name cannot contain any spaces.
For more information about the NCName type, see http://www.w3.org/TR/xmlschema-2/#NCName.
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/or by removing any invalid character in the name.
If you explicitly specify a schema name which 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 would not need to change the schema name. |
Amount (in $) | Amount_in_ | Valid. You would not need to change the schema name. |
Numéro de téléphone | Numéro_de_téléphone | Valid. You would not need to change the schema name. |
Avg. Invocations Minute | Avg._Invocations_Minute | Valid. You would not need to change the schema name. |
1099 Code | _099_Code | Valid. You would not need to change the schema name. |
Note also that an attribute's schema name must be unique within the type (i.e., two attributes in a type cannot have the same schema name).
After the attribute is created, you can no longer change its schema name.
The concept of display names and schema names does not apply to the following types of attributes:
Classification
File
Relationship
These types are not represented using JAXR-based slots and, therefore, do not require underlying schema names. These attributes have one name, which can consist of any combination of letters, numbers or special characters (including spaces).
CentraSite Control offers you the possibility to add computed attributes into asset type definitions and profiles; this allows you to define attributes which 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 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 via 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.
Profiles are used to manage the presentation of attributes in the user interface. They determine how the attributes are grouped when an instance of the asset type is displayed. When you display an asset in CentraSite Control, for example, the attributes associated with a particular profile are grouped together on a tab.
In CentraSite Control, profiles appear as tabs
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 will not be visible in the user interface (the attribute will still be available via the API). 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.
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 generic profiles contain system-defined attributes and controls. The information on the generic profiles is generated by CentraSite. You cannot customize the content of the generic profiles or add attributes to them. You can, however, select which of these profiles you want CentraSite to include with an asset type.
Generic Profile | Description |
---|---|
Summary | Available only for Service, XML Schema, Application Server, BPEL Process, Interface and Operation asset types. Provides basic information about the asset. For a service asset, this profile includes a list of the operations and bindings that the service provides. For a BPEL Process, Interface or Operation asset, the profile shows basic information such as the asset owner, but includes no type-specific attributes. |
Consumers | Displays the list of users and applications that are registered to consume the asset. This profile also contains controls for registering an application, a user or a group as a consumer of the asset. |
Subscriptions | Displays the list of users who are registered to receive notifications when changes are made to the asset. |
Classification | Displays the list of categories by which an asset is classified. This profile also contains controls for adding "ad hoc" classifiers to an asset. |
Associations | Displays the list of objects to which the asset is related. This profile also contains controls for establishing "ad hoc" relationships between an asset and other objects in the registry. |
Permissions | Displays the asset's instance-level permissions.
This profile also contains 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 shows only that particular user's permissions for the asset. |
Versions | Displays the versioning history for an asset and provides links to earlier versions and revisions of the asset. This profile also contains 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. |
External Links | Displays the list of links to external documents and files that are attached to the asset. This profile also contains controls for attaching documents and files to an asset. |
Object-Specific Properties | Displays the list of object-specific properties
that have been assigned to an asset. An object-specific property consists of a
key, which identifies the name of the property, and an optional String value,
which 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 an 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. |
Audit Log | Displays the update activity associated with an asset. This profile lists 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. |
Members | Available for only Package and IS Package types. Displays the list of objects to which the asset is related. This profile also contains controls for establishing "ad hoc" relationships between an asset and other objects (assets, users, organizations etc) in the registry. |
Performance | Displays the run-time performance metrics
associated with an asset. If you are using webMethods Mediator, webMethods
Insight or another run-time monitoring component to log performance metrics for
an asset, CentraSite displays those metrics on this profile.
Note: |
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: |
Policies | Displays the list of design/change-time policies
and run-time policies that are applicable to an asset (i.e., it displays all
the policies whose scope encompasses the displayed asset).
Note: |
Processing Steps | Available for Virtual Service, Virtual XML
Service and Virtual REST Service types.
For a Virtual Service, displays the protocol (HTTP , HTTPS or JMS) and SOAP format (1.1 or 1.2) of the requests that the service will accept. For a Virtual REST Service or Virtual XML Service, 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. This profile also contains the request routing methods and protocol for authenticating the requests. |
Deployment | Available for Virtual Service, Virtual XML Service and Virtual REST Service types. Displays the list of virtualized services that are ready for deploying in the webMethods Mediator target. |
CentraSite Control 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 via 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.
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/or edit the attribute values on a particular instance of a profile. For more information about controlling access to individual profiles within an asset, see Setting Permissions on an Asset in the document Using the Asset Catalog.
Important:
Profile permissions restrict access at the UI level but not the
API level. At the API level, profile permissions are irrelevant. If a user has
view permission on an asset, he or she can access all of the asset's metadata
through the API, regardless of whether profile permissions exist for the asset.