The OAAM_LOAD_DATA_VIEW

Developing a Custom Loader for OAAM Offline 22-3

22.1.3 General Framework Execution

The following pseudocode shows the general framework execution. AbstractRiskAnalyzerLoader loader = runMode.buildObjectLoader; RiskAnalyzerDataSource dataSource = runMode.acquireDataSource; try{ while dataSource.hasMoreRecords { AbstractTransactionRecord eachRecord = dataSource.nextRecord; loader.processeachRecord; } } finally { dataSource.close; }

22.2 Default Implementation

The default implementation for the Risk Analyzer data loader framework works as follows: Load mode : When in load mode, it uses any database as a data source, it expects login data, and it performs device fingerprinting. Playback mode : When in playback mode, it uses the VCRYPT_TRACKER_USERNODE_ LOGS and V_FPRINTS tables as its data source, and it runs each record through all active models. Table 22–1 Data Loader Classes Class Description RunMode There are two basic types of RunMode: load and playback. Load run modes are responsible for importing session set data into the OAAM Offline system, and the playback run mode is responsible for processing preloaded session set data. Each run mode is responsible for constructing data source and loader. An additional responsibility is determining how to start where a previous job ended, in the cases of recurring schedules of autoincrementing session sets or paused and resumed run sessions. AbstractLoadRunMode and AbstractPlaybackRunMode each have a factory method named getInstance. These methods check to see if the default run modes have been overridden. RiskAnalyzerDataSource The RiskAnalyzerDataSource is responsible for acquiring the data and iterating through it. RiskAnalyzerDataSource has two abstract implementors: AbstractJDBCRiskAnalyzerDataSource and AbstractTextFile-RiskAnalyzerDataSource. The AbstractJDBCRiskAnalyzerDataSource implements the base functionality for iterating through a JDBC result set, and the AbstractTextFileRiskAnalyzerDataSource implements the base functionality for iterating through a text file. AbstractTransactionRecord The AbstractTransactionRecord class only contains the state and behavior required to manage the overall risk analysis process. Subclasses will add additional state and behavior to satisfy client requirements. AbstractRiskAnalyzerLoader The AbstractRiskAnalyzerLoader is the base implementation of ObjectLoader for the Risk Analyzer process. It provides basic exception handling, but otherwise leaves the implementation up to its subclasses. 22-4 Oracle Fusion Middleware Developers Guide for Oracle Adaptive Access Manager

22.2.1 Default Load Implementation

The default load implementation is summarized below. Figure 22–2 Default Load Implementation

22.2.2 Default Playback Implementation

The default playback implementation is summarized below. Table 22–2 Default Implementation Components Description LoadRunMode The default LoadRunMode class instantiates a DatabaseRiskAnalyzerDatasource as its data source and a AuthFingerprintLoader as its loader. DatabaseRiskAnalyzerDatasource The DatabaseRiskAnalyzerDatasource creates LoginRecords from a JDBC data source. It uses a set of configuration properties to tell it how to connect to the JDBC data source and to tell it how to build a LoginRecord from the tables and fields in the remote database. The default values for these properties map to the tables in an OAAM database. LoginRecord The login record contains all of the available fields required to call the methods for device fingerprinting on the TrackerAPIUtil class. AuthFingerprintLoader The AuthFingerprintLoader uses the data in the LoginRecord to simulate a login. This causes the system to perform device fingerprinting, run device identification time rules, and store the user node log and fingerprint data in the OAAM Offline database.