Onegini IdP is intended to work as a pair of services. There are two components required: Onegini IdP Core and Onegini IdP Extension.
Onegini IdP Core is the base application that contains generic functionality of the product. Onegini IdP Extension is a small application that exposes REST API. This application contains implementation, configuration and resources specific for every installation (ie. for every customer).
Onegini IdP Core connects to Onegini IdP Extension via defined REST API on the backend side. The user agent of the web application connects to Onegini IdP Core which is responsible for producing output web page. Onegini IdP Core also maintains the connection with database. The relationships between components are presented in the following diagram:
Note that the communication between Onegini IdP Core and Onegini IdP Extension is one way. Onegini IdP Extension acts as a server, Onegini IdP Core is the client.