Application personalities constitute the adaptation layer between application components and middleware. They provide APIs and/or code generator to register application entities with PolyORB's core, and interoperate with the core to allow the exchange of requests with remote entities.