Giter Club home page Giter Club logo

sail-point-customization-parent's Introduction

SailPoint customization

Idea

The main idea of this project: auto-generation xml objects from java classes. Let see pros&cons:

+

  1. Sources are java classes - use standard helpers (sonarLint, checkStyles, reformatting codes, etc) for writing good code and avoid dumb errors

  2. Writing tests (use junit, mockito, jmockit)

  3. Statistics of code - tests coverage, duplications, etc.

  4. OOP

  5. Debugging of execution

As for cons: there is only 1 - need to redeploy, but using HotSwapAgent can minimize (or completely remove) it.

Description

Project used as an example of using auto-generation xml from java classes.

At the current moment implementation covers:

  • Rules

    • Connector rules:

      • ✓ PreIterate

      • ✓ BuildMap

      • ✓ JDBCBuildMap

      • ✓ SAPBuildMap

      • ✓ SAPHRManagerRule

      • ✓ PeopleSoftHRMSBuildMap

      • ✓ FileParsingRule

      • ✓ MergeMaps

      • ✓ Transformation

      • ✓ PostIterate

      • ✓ WebServiceBeforeOperationRule

      • ✓ WebServiceAfterOperationRule

      • ✓ RACFPermissionCustomization

    • Certification rules:

    • ✓ IdentityTrigger

Follow SailPoint-improved for getting new implementations.

Structure

Project contains 2 modules:

  1. sail-point-customization - main project. Contains all classes for SailPoint objects

  2. ssb - SSB project for building identity.war

Important
SSB project must be configured by developers needs: version of identity, paths, etc.

Starting

Before stating using this project need to do 2 manual jobs:

  1. add custom dependencies to local maven repository. Follow these steps:

  2. extract SSB project

After these steps project will be ready for building.

Adding custom libs

  1. Download extra-libs. This archive contains following jars:

    1. sail-point-annotation - only annotations for auto generating xmls

    2. sail-point-annotation-processor - annotation processors for xml generating

    3. sail-point-improved - implementation of SailPoint objects

    4. 2 poms: sail-point-annotation-parent and sail-point-improved-parent projects

  2. Download identityiq.jar and connection-bundle.jar from identityiq.zip file. These files can be found in identityiq,war from SailPoint Compass site.

  3. Copy all these files to project`s directory: bin

  4. Run identity_iq_improved_local_mvn.sh in bin directory. This script adds all extra jars to local maven repository

Extract SSB project

  1. Download SSB archive from SailPoint Compass site

  2. Extract it to ssb module

Example

As for implementation this project contains only connections rules without specific logic. This is just example of how it works.

sail-point-customization via annotation-processors generate xml from java classes (only rules right now) to ssb/config/Rule. It can be customized via pom.xml in sail-point-customization - attribute: generationPath

ssb project contains only 3 files:

  1. .gitignore - to ignore all files in ssb\

  2. iiqCustomBeans.xml - spring beans configuration files for overriding 'ruleRunner' bean.

  3. pom.xml - maven project model

For building identity.war use 'war' maven profile

mvn clean install -Pwar

Building steps

  1. clean - clean default maven projects directory and:

    1. ssb/config/Rule - remove all xml from it (can be configured in main pom)

    2. ssb/build - clean build identity folder (can be configured in main pom)

    3. delete improved and customization libs from ssb/web/WEB-INF/lib (can be configured in ssb module pom)

      1. sail-point-annotation

      2. sail-point-improved

      3. sail-point-customization

    4. delete spring beans configuration file (iiqCustomBeans.xml) from ssb/web/WEB-INF/classes (can be configured in ssb module pom)

  2. install - generates xmls for rules, installs jars to local repository, runs ant task to build war in ssb project.

    1. sail-point-customization

      1. generate xml for rule to ssb/config/Rule (can be configured in sail-point-customization projects pom)

      2. install sail-point-customization jar to local maven repository

    2. ssb

      1. copy improved and customization jars to ssb/web/WEB-INF/lib (can be configured in ssb module pom)

      2. copy spring beans configuration file (iiqCustomBeans.xml) to ssb/web/WEB-INF/classes (can be configured in ssb module pom)

      3. execute

        ant main war

        in ssb project (can be configured in ssb module pom)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.