This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

The Java Governance API is one of many APIs supported by the WSO2 Governance Registry. Read more on Supported APIs & Standards for a complete list of APIs supported by WSO2 Governance Registry.

In the Governance Registry, you can store and govern the behaviors of SOA artifacts like services, WSDLs, schemas, policies and Endpoints. Governance API provides a way to do it programatically.

The relationship of the classes used in the Governance API is shown in the following class diagram.

The Governance API needs to be accessed through a Governance Registry (as opposed to a root registry) instance.

Inside an admin service, a Governance Registry instance can be obtained by inheriting from the org.wso2.carbon.core.AbstractAdmin class and calling its getGovernanceRegistry() method.

When Remote Registry or WS-Registry is used, this instance can be created as shown below.

import org.wso2.carbon.governance.api.util.GovernanceUtils;

Registry governanceRegistry = GovernanceUtils.getGovernanceUserRegistry(rootRegistry, username); //rootRegistry refers to an instance of RemoteRegistry or WSRegistryServiceClient

For optimum performance at the client-side, it is also useful to enable client-side caching.

import org.wso2.carbon.governance.api.cache.ArtifactCacheManager;

ArtifactCacheManager.enableClientCache();

As a specific example, Governance Registry can be obtained via Remote Registry as shown below. See also Accessing Registry Remotely through API.

import org.wso2.carbon.registry.app.RemoteRegistry;
import org.wso2.carbon.governance.api.util.GovernanceUtils;

System.setProperty("carbon.repo.write.mode", "true");
Registry rootRegistry = new RemoteRegistry(new URL(remoteRegistryUrl), username, password);
Registry governanceRegistry = GovernanceUtils.getGovernanceUserRegistry(rootRegistry, username);

As another specific example, Governance Registry can be obtained via WS-Registry as shown below. See also Setting up the WS API Registry Client and WS-Security.

import org.wso2.carbon.registry.ws.client.registry.WSRegistryServiceClient;
import org.wso2.carbon.governance.api.util.GovernanceUtils;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.wso2.carbon.base.ServerConfiguration;
 
System.setProperty("carbon.repo.write.mode", "true");
ConfigurationContext configurationContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(
                       GREG_HOME + File.separator + "repository" + File.separator + "deployment" + File.separator + "client",
                           ServerConfiguration.getInstance().getFirstProperty("Axis2Config.clientAxis2XmlLocation")));
WSRegistryServiceClient rootRegistry = new WSRegistryServiceClient(url, username, password,configurationContext);
Registry governanceRegistry = GovernanceUtils.getGovernanceUserRegistry(rootRegistry, username);

See more information about the Governance API on the following pages:

See also Governance API for WSO2 Governance Registry.

  • No labels