HomeDownloadsUser GuideDevelopment

Architecture: Implementation

The following sketch gives an overview of the various implementation layers.

Policy Schema

The XML schema of the policy is available as policy60.xsd.

The schema itself is documented inline and it should be possible to create valid policies by following the comments, however it is not recommended that you directly work with the policy schema since it is subject to change in future releases. (This is also the reason why the schema is listed on the implementation page.)

If you intend to create policies in your application it is strongly recommended that you create it using the factories and beans provided by the core packages org.openpermis.policy.* and org.openpermis.policy.bean.*.

Layers

The following implementation layers are used:

PDP interfaces.
Contains the interfaces used by the PDP to provide an authorization service.
Bean interfaces.
Provides interfaces to manipulate a policy. The state of the policy is exposed as Java Beans and features deep change event propagation.
Basic implementation.
Offers a basic implementation of the PDP and bean interfaces. The editor works with the basic implementation by default.

Implementation Overview

Note:

The overview image shown below has been rescaled on purpose to highlight the different implementation layers.

To inspect the actual implementation classes it is highly adviced that you inspect and traverse the interface/class hierarchies using the browsers of your favourite IDE.