The Apibot core is designed to be able to work with the wiki through different interfaces - both the canonical API one and the Web one. It can also potentially work with wiki software other than MediaWiki. This is done by gathering all interface- and wiki-dependent processing into blocks, called backends. The core can employ and use several backends, separately or even at the same time.
The Backend object is a container for the basic backend-specific objects. Normally the Apibot user / operator never needs to interact with it directly. The core takes care of that. It supports an array with the active backends and decides which one to use for this or that task. (You can configure what interface should use the Core tasks and queries, and in what order it should try them.) The developers who would like to know more about that are welcome to the Backend class page.
Currently Apibot has two backends - 'api', which works with MediaWiki through its API interface, and 'web', which works with MediaWiki through its Web interface. The second is currently rudimentary, but can be developed to full power on need. Backends for connecting to other wiki software can be developed, too.