WebSphere Service Registry and Repository

The WebSphere® Service Registry and Repository (WSRR) is a central repository of entities. A wide range of entities can be stored and retrieved, including user-defined concepts and definitions related specifically to web services, such as WSDL services, service interfaces, and associated policies.

You can configure a message flow to dynamically retrieve resources from WSRR at run time, and to use and expose those resources in the message flow. You can therefore defer the decision about which resources you want to use until run time, rather than deciding at deployment time.

WSRR has specific support for many of the document types associated with web services, including generic XML documents, WSDL, and SCDL. For example, when you load a WSDL document into WSRR it also identifies and stores its individual logical components, such as the service and port type.

Use the WSRR nodes (the RegistryLookup and EndpointLookup nodes) to create message flows that retrieve data dynamically from WSRR. Data is retrieved according to search criteria defined by node properties, possibly supplemented or overridden by local environment definitions. The retrieved data is placed in the local environment tree, which makes the data available to subsequent nodes. The input message received by the node is propagated to the output terminal unchanged.

Use the RegistryLookup node to submit generic queries to WSRR. Entities returned by the query are stored in the ServiceRegistry output tree in the local environment. You can also specify that details of the relationships between the returned entities and other entities that they reference are represented in the ServiceRegistry output tree.

Use the EndpointLookup node to submit queries for web service endpoints. This node is tailored to retrieve WSDL port definitions that implement a specified WSDL portType. The details of service endpoints that match the specified criteria are placed in the ServiceRegistry output tree in the local environment. If the node is configured to return a single matching service endpoint, the web service URL destination used by the SOAP and HTTP request nodes is also overridden in the local environment. If the node is configured to return all matching service endpoints, the local environment is not set up automatically for the SOAP and HTTP request nodes. In this case the local environment tree might contain data for multiple service endpoints, and the message flow interprets and uses this information.

Set the configuration parameters for the WSRR nodes to specify how IBM® Integration Bus interfaces with your WSRR server.
  • Use the connectionTimeout parameter to set a system-wide connection timeout for queries that are issued by the EndpointLookup and RegistryLookup nodes. If a query result is not returned from the WSRR server before the connection timeout period expires, the configured error handling is invoked.
  • Use the needCache parameter to enable the IBM Integration Bus WSRR cache. The cache is used to store results from queries that are issued by the EndpointLookup and RegistryLookup nodes.
  • If the IBM Integration Bus WSRR cache is enabled, use the timeout parameter to set a system-wide cache timeout. The cache timeout controls how long results from queries that are stored in the cache are used before the query is reissued.

If your IBM Integration Bus application is running on Sun Solaris 10 on SPARC, you might need to increase the number of file descriptors. If there are not enough file descriptors, you might fail to get a response to a WSRR query within the configured timeout period. In addition, the service trace might contain one or more java.lang.SecurityExceptions related to com.ibm.ws.tcp.channel.impl.ChannelSelector, and an abend file might be produced.

For information about the specific levels of WSRR that are supported with IBM Integration Bus, see IBM Integration Bus system requirements.