# Architectural Overview

The general architecture of the KeyView Filter technology is the same across all supported platforms and is illustrated in the following diagram:

Each component is described in the following table.

Architectural Components

Component | Description
--- | ---
Developer's Application | The developer's application interfaces directly with the Filter API through either a C-language or Java implementation.
File Extraction API | The File Extraction API opens a file and extracts the file's subfiles so that they are exposed for filtering. See Use the File Extraction API.
Filter API | The Filter API exposes the filtering functionality and controls all other modules during the filtering process. See Use the Filter API.
Format Detection | This module determines the file type of the input stream, allowing the Filter API to return that information to the developer's application, or to load the appropriate structured access layer for further processing. See File Format Detection for more information on format detection.
Structured Access Layer | There are three modules that reside in the structured access layer—one each for word processing, spreadsheet, and presentation formats. The file detection result determines which structured access layer module is used during the filtering process. That module loads the appropriate document reader and proceeds with text extraction or metadata retrieval.
Document Readers | Each document reader reads a specific file format and sends a text stream of the document to the structured access layer. Each filter is loaded as required by the structured access layer. See Document Readers for a complete list of document readers.

_FT_HTML5_bannerTitle.htm