15. A non-transitory computer readable storage medium including instructions for managing logical people groups (LPGs), which instructions, when executed by a computer, cause the computer to perform steps comprising: maintaining a user directory which includes a first plurality of attribute values for each of a plurality of users and the user directory maps the plurality of users to a plurality of groups; maintaining an attribute directory, separate from the user directory, which includes a second plurality of attribute values for each of the plurality of users, which second plurality of attribute values are not recorded in said user directory and the attribute directory maps a plurality of business attributes to the plurality of users; maintaining a security layer, separate from the user directory and attribute directory, which includes a third plurality of attribute values for each of the plurality of users, which third plurality of attribute values are not recorded in said user directory or attribute directory and the security layer includes a plurality of roles, wherein each role is associated with an application and includes one or more users from the plurality of users; providing a query module executing on a computer including a memory, and a processor; providing a query cache which stores, for a user-definable period, LPGs based on previously received complex queries; receiving a complex query with the query module, wherein the complex query includes a first parameter operable on the first plurality of attribute values, a second parameter operable on the second plurality of attribute values, and a third parameter operable on the third plurality of attribute values; searching the user directory with the query module and identifying a first subset of the plurality users having attribute values satisfying the first parameter, searching the attribute directory with the query module and identifying a second subset of the plurality of users having attribute values satisfying the second parameter; searching the security layer with the query module and identifying a third subset of the plurality of users having attribute values satisfying the third parameter; comparing the first subset, the second subset, and the third subset; returning a logical group of users (LPG) including a plurality of users present in all of the first subset, the second subset, and the third subset, wherein the LPG is defined by the complex query, and storing the LPG in the query cache.
15. A non-transitory computer readable storage medium including instructions for managing logical people groups (LPGs), which instructions, when executed by a computer, cause the computer to perform steps comprising: maintaining a user directory which includes a first plurality of attribute values for each of a plurality of users and the user directory maps the plurality of users to a plurality of groups; maintaining an attribute directory, separate from the user directory, which includes a second plurality of attribute values for each of the plurality of users, which second plurality of attribute values are not recorded in said user directory and the attribute directory maps a plurality of business attributes to the plurality of users; maintaining a security layer, separate from the user directory and attribute directory, which includes a third plurality of attribute values for each of the plurality of users, which third plurality of attribute values are not recorded in said user directory or attribute directory and the security layer includes a plurality of roles, wherein each role is associated with an application and includes one or more users from the plurality of users; providing a query module executing on a computer including a memory, and a processor; providing a query cache which stores, for a user-definable period, LPGs based on previously received complex queries; receiving a complex query with the query module, wherein the complex query includes a first parameter operable on the first plurality of attribute values, a second parameter operable on the second plurality of attribute values, and a third parameter operable on the third plurality of attribute values; searching the user directory with the query module and identifying a first subset of the plurality users having attribute values satisfying the first parameter, searching the attribute directory with the query module and identifying a second subset of the plurality of users having attribute values satisfying the second parameter; searching the security layer with the query module and identifying a third subset of the plurality of users having attribute values satisfying the third parameter; comparing the first subset, the second subset, and the third subset; returning a logical group of users (LPG) including a plurality of users present in all of the first subset, the second subset, and the third subset, wherein the LPG is defined by the complex query, and storing the LPG in the query cache. 17. The non-transitory computer readable storage medium of claim 15 , which includes instructions which cause the computer to perform steps further comprising: maintaining a reverse lookup directory for a plurality of current LPGs associated with a plurality of complex searches wherein the reverse lookup directory identifies to which of said plurality of current LPGs each of said plurality of users belongs; executing each of the complex searches associated with said plurality of current LPGs and storing results in said query cache; and updating the query cache, at a user-definable interval by re-executing each of the complex searches associated with said plurality of current LPGs and storing updated results in said query cache.