A Progress backend sends short commands to the Skin-Client. The Skin-Client renders the screens and send back user events like mouse clicks. The communication is done using socket connect or via http/https.
The Object Controller is the API to Progress and keeps the backend small. The presentation logic of the application feeds the Object Controller with information for the UI elements. As it is possible to attach any existing OpenEdge application to the Object Controller you find it easy to integrate it into your own framework.