Service Registry 3.1 Update 1 User's Guide

Chapter 2 Searching the Registry

The Search and Explore tabs in the menu area allow you to search the Registry.

Using the Search Tab

Click the Search tab. The Search panel opens. The panel contains the following:

The next few sections describe how to use these components.

Selecting a Query

The Select Predefined Query combo box contains the items shown in Table 2–1.

Table 2–1 Predefined Queries

Query Name 

Search Purpose 

Basic Query 

The default generic query, which allows you to search by object type, name, description, and classification 

Basic Query - Case Sensitive 

Case-sensitive version of Basic Query 

FindAllMyObjects 

Finds all objects owned (published) by the user who makes the query. May take a long time if the user owns many objects 

GetCallersUser 

Finds the User object for the user who makes the query

WSDL Discovery Query 

Finds Web Services Description Language (WSDL) documents 

WSDL Binding Discovery Query 

Finds abstract service interfaces protocol bindings described as WSDL Binding definitions 

WSDL Port Discovery Query 

Finds implementations of service interfaces described as WSDL Port definitions 

WSDL PortType Discovery Query 

Finds abstract service interfaces described as WSDL PortType definitions 

WSDL Service Discovery Query 

Finds web services described as WSDL Service definitions 

The default selection is Basic Query. The search panel for Basic Query and Basic Query — Case Sensitive contains the following components:

You can specify any or all of these criteria in a single search. The following sections describe how to perform basic queries:

Use the FindAllMyObjects query to search for all the objects that you have published. The query results list all the objects you own except for AuditableEvent objects, which should not be edited or deleted.

Use the GetCallersUser query to view or modify data for the user you created when you registered.

See Performing WSDL Queries for information on using the WSDL queries.

Searching by Object Type

The simplest search is by object type only.

The default choice in the Object Type combo box is RegistryObject, which finds all objects in the Registry. To narrow the search, change the object type.

The ClassificationNode choice lists concepts within classification schemes. ClassificationNode is a synonym for Concept.

Table 2–2 describes the object types available in the Registry.

Table 2–2 Service Registry Object Types

Object Type 

Description 

AdhocQuery

Represents an ad hoc query expressed in a query syntax. AdhocQuery objects are used for discovery of registry objects. AdhocQuery objects are similar in purpose to the concept of stored procedures in relational databases. For example, the predefined queries in the Search panel are all AdhocQuery objects.

Association

Defines a relationship between two objects. 

AuditableEvent

Provides a record of a change to an object. A collection of AuditableEvent objects constitutes an object's audit trail.

Classification

Classifies an object by using a ClassificationScheme.

ClassificationNode

Represents a taxonomy element that has a structural relationship with other elements in an internal ClassificationScheme. Also called a Concept.

ClassificationScheme

Represents a taxonomy used to classify objects. In an internal ClassificationScheme, all taxonomy elements are defined in the registry as Concept instances. In an external ClassificationScheme, the values are not defined in the registry as Concept instances but instead are referenced by their String representations.

ExternalIdentifier

Provides additional information about an object by using String values within an identification scheme (an external ClassificationScheme). Examples of identification schemes are DUNS numbers and Social Security numbers.

ExternalLink

Provides a URI for content that resides outside the registry. 

ExtrinsicObject

Provides metadata that describes submitted content whose type is not intrinsically known to the registry and that therefore must be described by means of additional attributes, such as MIME type. An ExtrinsicObject typically contains an associated repository item, a file stored in the registry.

Federation

Represents an affiliated group of registries. 

Notification

Represents a notification from the registry regarding an event that matches a Subscription.

Organization

Provides information about an organization. May have a parent, and may have one or more child organizations. Always has a User object as a primary contact, and may offer Service objects.

Person, User

Provides information about persons and registered users within the registry. User objects are affiliated with Organization objects.

Registry

Represents a registry. 

RegistryPackage

Represents a logical grouping of any number of registry objects. 

Service

Provides information on a service. May contain one or more ServiceBinding objects.

ServiceBinding

Represents technical information on how to access a service. 

SpecificationLink

Provides the linkage between a ServiceBinding and a technical specification that describes how to use the service by using the ServiceBinding.

Subscription

Defines a User's interest in certain types of AuditableEvent. A User creates a Subscription in order to receive notification of certain types of events.

ProcedureTo Search by Object Type

  1. Choose an object type from the Object Type combo box.

  2. Click the Search button, or place the cursor in the Name or Description text field and press Return.

    The search returns all objects of the specified type. You can narrow the search by specifying a name, description, status, or classification.

Searching by Name and Description

You can search for objects by name, by description, or by both.

ProcedureTo Search by Name or Description

  1. Type a string in the Name or Description field.

    By default, the search looks for a name or description that matches the entire string that you typed. You can use wildcards to find a range of objects.

    The wildcard characters are percent (%) and underscore (_).

    The percent wildcard matches multiple characters:

    • Type %off% to return names or descriptions that contain the string off, such as Coffee.

    • Type nor% to return names or descriptions that start with Nor or nor, such as North and northern.

    • Type %ica to return names or descriptions that end with ica, such as America.

    The underscore wildcard matches a single character. For example, the search string _us_ would match objects named Aus1 and Bus3.

  2. Click the Search button or press Return.

Searching by Status

An object in the Registry can have one of four statuses:

The default status of an object in the Registry is Submitted. An object can be approved or deprecated by a Registry administrator or by the owner of the object. An ExtrinsicObject has the status Withdrawn if its repository item has been removed.

ProcedureTo Search by Status

  1. Choose a status from the Status combo box.

  2. Click the Search button, or place the cursor in the Name or Description text field and press Return.

    The search returns all objects that have the specified status. You can narrow the search by specifying an object type, name, description, or classification.

Searching by Classification

Classification objects classify or categorize objects in the registry by using unique concepts (ClassificationNode objects) that define valid values within a classification scheme. The classification scheme is the parent in a tree hierarchy that contains generations of child concepts. Table 2–3 describes the classification schemes provided by the Registry specifications, which are called canonical classification schemes. Many of the terms in this table are defined in the Registry specifications.

Table 2–3 Canonical Classification Schemes

Classification Scheme Name 

How Often Used 

Description or Purpose 

AssociationType

Frequently 

Defines the types of associations between registry objects. Used as the value of the associationType attribute of an Association instance to describe the nature of the association.

ContentManagementService

Rarely 

Defines the types of content management services. Used in the configuration of a content management service, such as a validation or cataloging service. 

DataType

Frequently 

Defines the data types for object attributes. Used as the value of the slotType attribute of a Slot instance to describe the data type of the Slot value.

DeletionScopeType

Occasionally 

Defines the values for the deletionScope attribute of the RemoveObjectsRequest protocol message.

EmailType

Rarely 

Defines the types of email addresses. 

ErrorHandlingModel

Rarely 

Defines the types of error handling models for content management services. 

ErrorSeverityType

Rarely 

Defines the different error severity types encountered by the Registry while processing protocol messages. 

EventType

Occasionally 

Defines the types of events that can occur in a registry. 

InvocationModel

Rarely 

Defines the different ways that a content management service can be invoked by the Registry. 

NodeType

Occasionally 

Defines the different ways in which a ClassificationScheme can assign the value of the code attribute for its ClassificationNode (Concept) objects.

NotificationOptionType

Rarely 

Defines the different ways in which a client can be notified by the registry of an event within a Subscription.

ObjectType

Occasionally 

Defines the different types of RegistryObject a registry may support.

PhoneType

Rarely 

Defines the types of telephone numbers. 

QueryLanguage

Rarely 

Defines the query languages supported by the Registry. 

ResponseStatusType

Rarely 

Defines the different types of status for a RegistryResponse.

StatusType

Occasionally 

Defines the different types of status for a RegistryObject.

SubjectGroup

Rarely 

Defines the groups that a user can belong to for access control purposes. 

SubjectRole

Rarely 

Defines the roles that can be assigned to a user for access control purposes. 

The primary purpose of the canonical classification schemes is not to classify objects but to provide enumerated types for object attributes. The Registry also contains a number of non-canonical classification schemes, and you can create your own.

ProcedureTo Search by Classification

  1. Click the Select Classification Node button.

    The Classification Node Selector window appears.

  2. Click the folder icon for the classification scheme you want to use.

    The number in parentheses after each entry indicates how many concepts (ClassificationNode objects) the parent contains.

  3. Expand concept nodes beneath the classification scheme until you find the leaf node by which you want to search. A leaf node is a node with no concepts beneath it.

  4. Select the leaf node.

  5. Click Close in the Classification Node Selector window.

    The ID of the concept you chose appears in a Value text field.

  6. Click the Search button, or place the cursor in the Name or Description text field and press Return.

Performing WSDL Queries

The Search panel contains predefined queries that allow you to search for WSDL files using different search criteria:

This section describes how to perform these searches. For all the searches, you can specify as many or as few of the search criteria as you wish.

ProcedureTo Perform a WSDL Discovery Query

  1. Choose WSDL Discovery Query from the Select Predefined Query combo box.

    A search form appears.

  2. Type values in the Name and/or Description fields.

  3. Select a value from the Status combo box.

  4. Type a value in the Target Namespace field.

  5. Click Search or press Return.

ProcedureTo Perform A WSDL Binding Discovery Query

  1. Choose WSDL Binding Discovery Query from the Select Predefined Query combo box.

    A search form appears.

  2. Type values in the Binding Name and/or Binding Description fields.

  3. Select a value from the Binding Status combo box.

  4. Type a value in the Binding Target Namespace field.

  5. Select a value from the Binding Protocol Type combo box.

  6. Select a value from the Binding Transport Type combo box.

  7. Select a value from the SOAP Binding Style combo box.

  8. Optionally, select the Consider PortType checkbox. If you If you select this checkbox:

    1. Type values in the PortType Name and/or PortType Description fields.

    2. Select a value from the PortType Status combo box.

    3. Type a value in the PortType Target Namespace field.

  9. Click Search or press Return.

ProcedureTo Perform a WSDL Port Discovery Query

  1. Choose WSDL Port Discovery Query from the Select Predefined Query combo box.

    A search form appears.

  2. Type values in the Port Name and/or Port Description fields.

  3. Select a value from the Port Status combo box.

  4. Type a value in the Port Target Namespace field.

  5. Type a value in the Port Endpoint field.

  6. Optionally, select the Consider Binding checkbox. If you select this checkbox:

    1. Type values in the Binding Name and/or Binding Description fields.

    2. Select a value from the Binding Status combo box.

    3. Type a value in the Binding Target Namespace field.

    4. Select a value from the Binding Protocol Type combo box.

    5. Select a value from the Binding Transport Type combo box.

    6. Select a value from the SOAP Binding Style combo box.

    7. Optionally, select the Consider PortType checkbox. If you select this checkbox:

      1. Type values in the PortType Name and/or PortType Description fields.

      2. Select a value from the PortType Status combo box.

      3. Type a value in the PortType Target Namespace field.

  7. Click Search or press Return.

ProcedureTo Perform a WSDL PortType Discovery Query

  1. Choose WSDL PortType Discovery Query from the Select Predefined Query combo box.

    A search form appears.

  2. Type values in the PortType Name and/or PortType Description fields.

  3. Select a value from the PortType Status combo box.

  4. Type a value in the PortType Target Namespace field.

  5. Click Search or press Return.

ProcedureTo Perform a WSDL Service Discovery Query

  1. Choose WSDL Service Discovery Query from the Select Predefined Query combo box.

    A search form appears.

  2. Type values in the Service Name and/or Service Description fields.

  3. Select a value from the Service Status combo box.

  4. Type a value in the Service Target Namespace field.

  5. Optionally, select the Consider Port checkbox. If you check this box:

    1. Type values in the Port Name and/or Port Description fields.

    2. Select a value from the Port Status combo box.

    3. Type a value in the Port Target Namespace field.

    4. Type a value in the Port Endpoint field.

    5. Optionally, select the Consider Binding checkbox. If you select this checkbox:

      1. Type values in the Binding Name and/or Binding Description fields.

      2. Select a value from the Binding Status combo box.

      3. Type a value in the Binding Target Namespace field.

      4. Select a value from the Binding Protocol Type combo box.

      5. Select a value from the Binding Transport Type combo box.

      6. Select a value from the SOAP Binding Style combo box.

      7. Optionally, select the Consider PortType checkbox. If you select this checkbox:

        1. Type values in the PortType Name and/or PortType Description fields.

        2. Select a value from the PortType Status combo box.

        3. Type a value in the PortType Target Namespace field.

  6. Click Search or press Return.

Next Steps

See To Find the WSDL Document for a Service for information on locating the WSDL file associated with the service you found.

ProcedureTo Find the WSDL Document for a Service

After you find a service, you ordinarily want to find the WSDL file associated with the service so that you can use it to create a client proxy to communicate with the service. To do so, follow these steps.

  1. Click the Details link for the Service object.

  2. Click the Associations tab.

    The Source Object column contains a link named WSDL.

  3. Click the WSDL link.

    A Details window appears.

  4. Click View Repository Item Content to view the WSDL file.

  5. Use your browser's Save As menu item to save the file to your local system.

Exporting Repository Content to a Zip File

You may wish to extract the repository items that belong to one or more ExtrinsicObject objects in the registry. For example, if the objects were originally created by uploading a zip file containing WSDL files (and optionally XSD files), you may want to re-create that zip file. The Web Console allows you to do this in two ways:

The Export Repository Content as Zip File subpanel of the Search panel allows you to export the repository items associated with any found ExtrinsicObject objects to a zip file. If any of the found objects depend on each other, you can specify the depth of dependency. For example, if one WSDL file imports another WSDL file, which imports a third WSDL file, the dependency is two levels deep.


Note –

Both the default dependency depth and the maximum number of depth levels are configurable. See Configuring the Dependency Resolution Depth for the Export Feature in Service Registry 3.1 Update 1 Administration Guide for details.


The Export feature does not remove any items from the repository; it exports a copy of each file.

ProcedureTo Export Content to a Zip File

  1. Specify a search that will return one or more ExtrinsicObject objects.

    For example, a search by object type could specify the ExtrinsicObject type or one of its subtypes. A search by name could return some objects of type ExtrinsicObject. A WSDL Discovery Query could return one or more WSDL objects (a subtype of ExtrinsicObject).

  2. Select the Export Repository Content to Zip File checkbox and specify a Dependency Resolution Depth.

    You can specify a depth of 0 (the default), 1, 2, 3, or All Levels to specify how imported files should be returned.

    For example, if you did a search by name to specify a particular WSDL file that imports one or more files, and then specify a depth of All Levels, the search will return that file and all the files that it depends on.

  3. Click the Search button.

    If the search returns one or more ExtrinsicObject objects, an Export Objects panel appears in the content area with the message Click this link to download compressed content: and a Download link.

    If the search does not return any ExtrinsicObject objects, the following message appears in the content area:


    No ExtrinsicObjects were found to compress. Please refine your query.
  4. Click the Download link.

  5. In the browser dialog that appears, choose the option to save the file to disk.

  6. In the file chooser that appears, choose a location to save the file.

    The default name of the file is exportedContent.zip. Rename the file if you wish.

    In the zip file, each repository item has a name that is based on the Unique Identifier of the ExtrinsicObject to which it belongs. This ensures that there is no duplication of file names. The name is similar to that of the Unique Identifier except that colons are replaced with hyphens.

    If the ExtrinsicObject is part of a RegistryPackage, the name of the repository item includes the directory path.


Example 2–1 File Naming Conventions for Exported Content

For example, if you export an ExtrinsicObject with the name file1.xsd and the Unique Identifier urn:com:acme:files:file1, and the ExtrinsicObject is a member of a RegistryPackage named myFiles, the zip file will contain an entry similar to the following:


  Length     Date   Time    Name
 --------    ----   ----    ----
    42795  05-22-07 06:27   myFiles/urn-com-acme-files-file1

Viewing Search Results

Objects found by a search appear in the Registry Objects area.

The Registry Objects area consists of the following:

For ExtrinsicObject objects, the display has two additional columns: Content Version and Content Version Comment. These columns apply to the repository item for the ExtrinsicObject.

For two kinds of objects, the Version and Version Comment columns are replaced by other content:

The rest of this section describes how to use the Bookmark and Export buttons. For details on using the Approve, Deprecate, Undeprecate, and Set or Change Status buttons, see Changing the Status of Objects. For details on using the Relate button, see Creating Relationships Between Objects. For details on using the Delete button, see Removing Objects.

ProcedureTo Use the Bookmark Button in the Registry Objects Area

The Bookmark feature of the user interface allows you to hold one or more objects in the Registry Objects area while you search for other objects. You can then create a relationship between two objects. See Creating Relationships Between Objects for details on how to perform this task.

  1. Click Search and execute a query.

  2. In the Registry Objects area, select the Pick checkbox for the object or objects that you want to hold there and click the Bookmark button.

    The objects appear in a Bookmarked Objects area above the search results.

  3. Execute another query.

Next Steps

When you have finished using a bookmarked object, select the Pick checkbox for the object and click the Remove Bookmark button. The object is removed from the Bookmarked Objects area. If it was the only object in the Bookmarked Objects area, the Bookmarked Objects area disappears.

ProcedureTo Use the Export Button in the Registry Objects Area

For complete details about using the Export feature of the Web Console, see Exporting Repository Content to a Zip File.

  1. Execute a query that returns one or more ExtrinsicObject objects.

  2. In the Registry Objects area, select the Pick checkbox for the object or objects that you want to export and click the Export button.

    The selected objects appear in an Export Objects area, along with a Dependency Resolution Depth combo box and two buttons, Save File and Return.

    If the selected objects are not the ones you wanted, click Return to go back to the Registry Objects area.

  3. Select the Dependency Resolution Depth you prefer and click Save File.

    If any of the found objects depend on each other, you can specify the dependency resolution depth. For example, if one WSDL file imports another WSDL file, which imports a third WSDL file, the dependency is two levels deep.

  4. In the browser dialog that appears, choose the option to save the file to disk.

  5. In the file chooser that appears, choose a location to save the file.

Viewing Object Details

In the search results table, click the Details link for an object to open the Details area immediately below the Registry Objects area.

This section has a row of buttons and a row of tabs:

Table 2–4 Attribute Tabs in the Details Area

Tab Name 

Applies To 

Object-Type Detail

All objects (Object-Type is the object type name)

Slots 

All objects 

Classifications 

All objects 

External Identifiers 

All objects 

Associations 

All objects 

External Links 

All objects 

Audit Trail 

All objects 

Postal Addresses 

Organization, User

Telephone Numbers 

Organization, User

Email Addresses 

Organization, User

Users 

Organization

Organizations 

Organization

Service Bindings 

Service

Specification Links 

ServiceBinding

Concepts 

ClassificationScheme, ClassificationNode

Members 

RegistryPackage

Affected Objects 

AuditableEvent

Click a tab to find out if the object has any values for the attribute. If it does, click the Details link for the attribute value to open a browser window with the details for the attribute value.

The Associations tab produces a table with three links for each Association:

In the Source Object and Target Object columns, the type of the object whose associations you are viewing is shown in bold.

The Audit Trail tab does not produce a table with a Details link. Instead, this tab produces a table that contains the following information:

For most objects, the Details area fields are as follows:

For many objects, the fields are largely self-explanatory (the postal addresses for an Organization, for example). For some objects, the fields require some explanation. The following sections describe these fields.

Viewing Association Details

The Details area for an Association object contains the following additional fields:

Viewing Classification Scheme Details

The Details area for a ClassificationScheme object contains the following additional fields:

Viewing Extrinsic Object Details

The Details area for an ExtrinsicObject object contains the following additional fields:

Viewing External Link Details

The Details area for an ExternalLink object contains the following additional fields:

Using the Explore Tab

The Explore tab allows you to navigate through Registry and Repository content by using the metaphor of a hierarchy of file folders. The root folder, which is named registry, contains all Registry content.

ProcedureTo Use the Explore Tab

  1. Click the Explore link.

  2. Click the folder labeled registry. This folder contains two subfolders: userData, where all user content is placed, and ClassificationSchemes.

  3. Click a link to view the registry objects of that type. Click a folder or expand a node to view the object types at the next level.

ProcedureTo Explore the Classification Schemes

  1. Click the ClassificationSchemes folder to open the ClassificationSchemes tree hierarchy in the menu area.

  2. Click any link to view that classification scheme in the Registry Objects area.

  3. Click a classification scheme folder to see the Concepts beneath it.

    If the Concept icons are folders, they have subconcepts, and you can click the icons to expand them. If the Concept icons are files, they have no subconcepts.

    If the classification scheme folder is a file icon, the classification scheme does not have concepts that are viewable in the Explore area.

  4. Click a Concept link to view that concept in the Registry Objects area.

ProcedureTo Explore the UserData Folder

  1. Expand the userData node.

  2. Expand the RegistryObject node. Do not click the link unless you want to view all registry objects.

  3. Click a folder to view the registry objects of that type. Expand a node to view the object types at the next level.