Overall Architecture of ShARPE:

- mams-crosswalk extends shibboleth allowing administrator to definesophisticated custom attributes in Shibboleth Attribute Resolver. An example is to generate eduPersonTargetID based
on hash function of mams-crosswalk library. ShARPE uses mams-crosswalk to provide attribute mapping functionalities

- mams-group extends shibboleth to provide group lookup functionality. Original Shibboleth only defines Attributes Release Policy at SITE and USER levels. This is not particularly true when applies to big
organization like HE entities where different Departments within HE impose different policy on its users. mams-group introduce GROUP level policy so that an Effective ARPs will be formed from SITE -> GROUP -> USER structure

- Sharpe core glues Shibboleth IdP, crosswalk and group all together and provides a Facade for [WebShARPE] to access those functionalities in a uniform, event based approach

- [WebShARPE] is a typical web application using Struts framework to provide web interface to all ShARPE functionalities
All these components are designed to be Shibboleth extensions so that they works nicely with it and do not intervene original Shibboleth installation.