---
title: SAIF.Application overview
summary: High-level purpose, scope, and responsibilities for the SAIF.Application library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-24
library: SAIF.Application
reference_type: package
---

# SAIF.Application overview

> **Documentation context:** Packaged Component (NuGet)

`SAIF.Application` provides the shared application-manager layer used above BOF business objects. It standardizes application lifecycle hooks, role-based accessibility state, data-portal registration, reusable authorization caching, and service-response messaging for consuming applications and service-hosted managers.

## Purpose
- Provide abstract base types that coordinate application-layer initialization, security evaluation, context validation, and read/write operations.
- Supply reusable helpers for SQL Server and Oracle portal registration, caller-visible message formatting, and cached authorization checks.
- Support both classic application managers and a lighter service-based manager pattern built around `IDataPortalInfo`.

## Responsibilities
- Define the `AppManagerBase` contract for application-manager workflows.
- Register and expose keyed `IDataPortalInfo` instances through `ApplicationDataAccess`.
- Cache authorization outcomes by resource name through `UserAccess`.
- Format and aggregate user-facing message text through `MessageFormatting` and service response types.
- Expose service-oriented result objects through `ServiceMessage` and `ServiceResponse`.

## Key components
- `AppManagerBase`: Abstract application-manager base class with lifecycle, role-state, and message-handling responsibilities.
- `ApplicationDataAccess`: Multi-portal registration helper for SQL Server and Oracle data portals.
- `UserAccess`: Authorization cache wrapper over `clsSecurityPrincipal.IsAuthorized`.
- `MessageFormatting`: Shared message-string formatting helper.
- `clsServiceAppManagerBase`: Service-hosted base class that works from a single injected `IDataPortalInfo`.
- `ServiceMessage` / `ServiceResponse`: Service result and message transport types.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)
- [Configuration](configuration.md)

## Sources
- `Application\SAIF.Application\AppManagerBase.vb`
- `Application\SAIF.Application\ApplicationDataAccess.vb`
- `Application\SAIF.Application\MessageFormatting.vb`
- `Application\SAIF.Application\UserAccess.vb`
- `Application\SAIF.Application\Service Based\clsServiceAppManagerBase.vb`
- `Application\SAIF.Application\Service Based\ServiceMessage.vb`
- `Application\SAIF.Application\Service Based\ServiceResponse.vb`
- `Application\SAIF.Application\SAIF.BOF.Application.nuspec`
