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

Compare with Current View Page History

« Previous Version 10 Next »

Summary

In a complex application decisions have to be made whether a person is allowed to perform a certain action. This is frequently encountered in Dynamic Case Management applications where a user is only allowed to perform a subset of tasks. You may also encounter it in applications without process engine, where the end user is not allowed to see certain information based on some criteria.

As the user permission example does not concern the core business rules of a company, but a way of structuring the work of its employees, is the Application Layer the appropriate location for this scenario (arrow 5). External systems may use the same logic for deriving user permissions (arrow 4).

Contents

Context

For the user permission example the following categories are important.

 Type
KnowledgeImplicit vs. Explicit call
User set vs. System set
Input and Output parameters vs. complex model
Simple input vs complex input

Maintainability

It should be possible to quickly make changes to business rules independent of other functionality.

  
Complexity of the Decoupling pattern vs Gain
Internals invisible vs visible (encapsulation)
Testable
Autonomy/decoupling
Reusability
Out of the box vs. Custom Code.

 

Problem

A good example can be found in a DCM application for mortgage applications. Based on the current application the system has to decide whether the Junior Mid-Office employee is allowed to make the approval decision, or if a more senior role is needed. The stakeholders may decide that any property with a value under half a million can be done by junior employees, while anything above has to be done by a senior employee. Furthermore the user should not have performed previous tasks for the application, to adhere to the four-eyes principle.

Solution

Description of solution.

Issues and considerations

Issues and considerations.

 

Decouple Category

Properties

PropertyDescription
Decouple categoryApplication function (5)
ComplexityLow
Related patterns/Solutions
  • No labels