<< to Autograph main page
Autograph - under the hood
Idea
Autograph needs data from many different sources. These sources are unfortunately very unstable. E.g. information about users is sometimes stored in LDAP directories and sometimes in other databases. It is also very likely that Shibboleth code will change with coming releases.
That's why Autograph's implementation utilises a connector concept. The well defined connector interfaces can be implemented as java classes and plugged into the application by changing configuration files. When an adaptation becomes neccessary, the changes are made to one plugable component only.
The definition of connector interfaces brings also modularity, which structures the code and makes maintenance and testing a lot easier. Another benefit is the reusability of the connector components (e.g. in Sharpe).
Application layers
Four application layers are described here:
the 'web application' layer
This layer contains parts for building a web application like servlets, JSPs, web.xml etcetera.
the 'logic' layer
This layer contains application logic. For example functions to determine the reachable and available Service Levels with a set of attributes.
the 'connector interfaces' layer
This layer contains interfaces that are used to retrieve and write data from and to lower layers. It also contains a factory for retrieving implementations of these interfaces.
the 'connector implementations' layer
This layer contains the modules that implement the connector interfaces. E.g. the AttributeInfoPoint that, among others, looks up the frienldy name of attributes following a certain algorithm. These modules can easily be reimplemented and plugged into the application by changing the configuration file.
The interfaces
Please follow the links to view the java documentation.
--
MoritzTheile - 14 Aug 2006
to top