OAS uses objects as requests handlers. The prototypes for the components are with OAS. A request handler is expected to implement these prototypes.
Following are the two interfaces OAS defines
class OASApplication
{
public:
virtual void *Work(void* ptr)=0;
};
class OASApplicationManager
{
public:
virtual OASApplication* getApplicationInstance(void)=0;
virtual ~OASApplicationManager()=0;
};
-----------
The second interface OASApplicationManager is a resource-handling interface that acts as application manager. OAS first instantiates this interface. It then created necessary thread pools with request handler objects instantiated from th object manager.