Interface GovernanceDefinitionsInterface
- All Known Implementing Classes:
GovernanceDefinitionManager
public interface GovernanceDefinitionsInterface
The GovernanceDefinitionsInterface supports the definition of the governance drivers, policies and controls
that define the motivation, goals and implementation approach for the governance program.
Governance drivers document of the business strategy and regulations that provide the motivation behind the governance program. They feed
into the governance program's policymaking phase ensuring the governance program is focused on activity that delivers value to the organization.
A governance driver could be a governance strategy statement, a business imperative, a regulation or a regulation's article.
Governance policies define the goals and best practices for the governance program. There are three types of governance policies:
- Governance Principles define the invariants that the organization tries to maintain.
- Governance Obligations define the requirements coming from regulations and policy makers of the organization.
- Governance Approaches describe preferred approaches and methods to follow
-
Technical Controls define the use of technology to implement governance definitions. They consist of either:
- GovernanceRule - a rule that need to be enforced to support a requirement of the governance program.
- GovernanceProcess - a series of automated steps that need to run to support a requirement of the governance program.
-
Organizational controls define roles, teams and manual procedures that implement an aspect of governance. They consist of either:
- GovernanceResponsibility - a set of responsibilities that can be associated with a governance role
- GovernanceProcedure - an manual procedure
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clearSupportingDefinition
(String userId, String definitionGUID, String supportingDefinitionGUID, String relationshipTypeName) Remove the supporting link between two governance definitions.createGovernanceDefinition
(String userId, GovernanceDefinitionProperties properties, GovernanceDefinitionStatus initialStatus) Create a new governance definition.void
deleteGovernanceDefinition
(String userId, String definitionGUID) Delete a specific governance definition.void
linkPeerDefinitions
(String userId, String definitionOneGUID, String definitionTwoGUID, String relationshipTypeName, PeerDefinitionProperties properties) Link two related governance definitions together.void
setGovernanceDefinitionStatus
(String userId, String definitionGUID, GovernanceDefinitionStatus newStatus) Update the status of a governance definitionvoid
setupSupportingDefinition
(String userId, String definitionGUID, String supportingDefinitionGUID, String relationshipTypeName, SupportingDefinitionProperties properties) Create a link to show that a governance definition supports the requirements of another governance definition.void
unlinkPeerDefinitions
(String userId, String definitionOneGUID, String definitionTwoGUID, String relationshipTypeName) Remove the link between two definitions.void
updateGovernanceDefinition
(String userId, String definitionGUID, boolean isMergeUpdate, GovernanceDefinitionProperties properties) Update an existing governance definition.
-
Method Details
-
createGovernanceDefinition
String createGovernanceDefinition(String userId, GovernanceDefinitionProperties properties, GovernanceDefinitionStatus initialStatus) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new governance definition. The type of the definition is located in the properties.- Parameters:
userId
- calling userproperties
- properties of the definitioninitialStatus
- what is the initial status for the governance definition - default value is DRAFT- Returns:
- unique identifier of the definition
- Throws:
InvalidParameterException
- typeName, documentIdentifier or userId is null; documentIdentifier is not unique; typeName is not validPropertyServerException
- problem accessing the metadata serviceUserNotAuthorizedException
- security access problem
-
updateGovernanceDefinition
void updateGovernanceDefinition(String userId, String definitionGUID, boolean isMergeUpdate, GovernanceDefinitionProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update an existing governance definition.- Parameters:
userId
- calling userdefinitionGUID
- unique identifier of the definition to updateisMergeUpdate
- are unspecified properties unchanged (true) or removed?properties
- properties to update- Throws:
InvalidParameterException
- guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
setGovernanceDefinitionStatus
void setGovernanceDefinitionStatus(String userId, String definitionGUID, GovernanceDefinitionStatus newStatus) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the status of a governance definition- Parameters:
userId
- calling userdefinitionGUID
- unique identifiernewStatus
- new status- Throws:
InvalidParameterException
- guid, status or userId is null; guid is not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
deleteGovernanceDefinition
void deleteGovernanceDefinition(String userId, String definitionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a specific governance definition.- Parameters:
userId
- calling userdefinitionGUID
- unique identifier of the definition to remove- Throws:
InvalidParameterException
- guid is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
linkPeerDefinitions
void linkPeerDefinitions(String userId, String definitionOneGUID, String definitionTwoGUID, String relationshipTypeName, PeerDefinitionProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Link two related governance definitions together. The governance definitions are of the same type as follows:- A relationship of type GovernanceDriverLink is between two GovernanceDriver definitions
- A relationship of type GovernancePolicyLink is between two GovernancePolicy definitions
- A relationship of type GovernanceControl is between two GovernanceControl definitions
- Parameters:
userId
- calling userdefinitionOneGUID
- unique identifier of the first definitiondefinitionTwoGUID
- unique identifier of the second definitionrelationshipTypeName
- the name of the relationship to createproperties
- description of their relationship- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
unlinkPeerDefinitions
void unlinkPeerDefinitions(String userId, String definitionOneGUID, String definitionTwoGUID, String relationshipTypeName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the link between two definitions.- Parameters:
userId
- calling userdefinitionOneGUID
- unique identifier of the first definitiondefinitionTwoGUID
- unique identifier of the second definitionrelationshipTypeName
- the name of the relationship to delete- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
setupSupportingDefinition
void setupSupportingDefinition(String userId, String definitionGUID, String supportingDefinitionGUID, String relationshipTypeName, SupportingDefinitionProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a link to show that a governance definition supports the requirements of another governance definition. This supporting relationship is between definitions of different types as follows:- A relationship of type GovernanceResponse is between a GovernanceDriver and a GovernancePolicy
- A relationship of type GovernanceImplementation is between a GovernancePolicy and a GovernanceControl
- Parameters:
userId
- calling userdefinitionGUID
- unique identifier of the governance definitionsupportingDefinitionGUID
- unique identifier of the supporting governance definitionrelationshipTypeName
- the name of the relationship to createproperties
- description of how the supporting definition provides support- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
clearSupportingDefinition
void clearSupportingDefinition(String userId, String definitionGUID, String supportingDefinitionGUID, String relationshipTypeName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the supporting link between two governance definitions.- Parameters:
userId
- calling userdefinitionGUID
- unique identifier of the governance definitionsupportingDefinitionGUID
- unique identifier of the supporting governance definitionrelationshipTypeName
- the name of the relationship to delete- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-