Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 4.17 KB

developer_guide.md

File metadata and controls

87 lines (62 loc) · 4.17 KB

Developer Guide

Status

Palisade is no longer under active development.

Getting Started

Build prerequisites:

  • Java 11 (OpenJDK 11) has been used for the development of Palisade
  • Git access to repositories listed below
  • Maven for the Java compile/test build process

Deploy prerequisites:

GitHub Repositories

The Palisade project has been divided into a set of separate GitHub repositories for simplification of development and maintenance. They consist of the following:

Palisade
Documentation for how Palisade works at a high level.

Palisade Common
Set of interfaces and POJOs used across the services, clients and readers.

Palisade Clients
Client code for using Palisade from different data processing technologies, different language libraries, or slightly different implementations each with pros and cons.

Palisade Services
Core codebase for Palisade, where each package provides some high-level interface for an individual microservice component, along with the associated code to wrap up this implementation to talk to other services.

Palisade Readers
Library of implementations of some services interfaces for connecting Palisade into different data storage technologies, such as Hadoop or S3.

Palisade Examples
Code examples showing an example of how Palisade can be used, as well as performance tests in synthetic scenarios.

Palisade Common, Readers, Clients, and Services are all required to run the existing solution. The examples provide a demonstration of how the automated policy rule enforcement is applied to data being read by a user. The examples are a good start to understanding how Palisade works.

For an overview of the examples see here.

Contributing

We welcome contributions to the project. Detailed information on our ways of working can be found here.

The following gives some useful documentation intended to help with the developer onboarding experience:

License

Palisade is licensed under the Apache 2.0 License and is covered by Crown Copyright.

FAQ

Q: What is the version of Java is supported?
A: The existing version of the application is built with Java 11. It should work with later versions of Java, but this has not been tested

Q: What build environments are supported?
A: We currently support Windows, MacOS and Linux environments, although there are some caveats for Windows users wishing to use Hadoop components. As such, WSL is preferred over Windows.