1. A method for integrating an application with a collaboration server, said method comprising: providing an application programming interface (API) that includes hierarchy of schemas sharing inheritance relationships, said hierarchy including a personal messaging schema, a groupware schema and a collaboration server-specific schema, wherein, the personal messaging schema abstracts functionality of the collaboration server as a set of item classes and container classes that contain said item classes, wherein the groupware schema extends the personal messaging schema to further include a set of groupware entity classes, and wherein the collaboration server-specific schema extends the groupware schema to further include a set of classes specific to the type of said collaboration server; providing, in said API, a plurality of providers that implement said hierarchy of schemas, wherein each of the providers is associated with a different type of collaboration server and enables the hierarchy of schemas to interact with said type of collaboration server; receiving a selection of at least one of said providers for the application after the application has been compiled; and accessing, via the provider, the functionality in the collaboration server by the application at runtime as defined by the hierarchy of schemas, wherein the provider invokes methods on said collaboration server based on at least one schema in the hierarchy of schemas.