A unified directory system for a telecommunications service provider, the unified directory system comprising: a presence interface which receives a subscriber insertion message or a query message from a presence system, wherein the subscriber insertion message corresponds to at least one of a plurality of subscribers; a hypertext transport protocol HTTP messaging interface which receives a subscriber profile query from an external system, the external system being at least one of a plurality of external systems that provide services and applications to the at least one of a plurality of subscribers, the unified directory system providing a single point of access to the subscriber profile data for the plurality of external systems; a data access layer comprising a persistent subscriber profile data store in a first memory and a cached representation of the persistent subscriber profile data store in a second memory which is faster than the first memory; where the persistent subscriber profile data store comprises: a customer profile layer defining a customer entity which subscribes to products; a user profile layer defining users belonging to the customer entity; a service profile layer defining network services instance table and application service instance table which instantiate network services and applications subscribed by the users; a presence layer defining network service presence table and application service presence table for services and applications available to the users; service logic coupled to the data access layer, the presence interface, and the HTTP interface and operable to: insert a subscriber identifier into the network service presence table in the data access layer in response to the subscriber insertion message; query the presence layer in response to the subscriber profile query from the external system to obtain a query result; query the service profile layer in response to the query message from the presence system to obtain a query result; and return the query result to the external system through the hypertext transport protocol HTTP messaging interface or to the presence system through the presence interface. a presence interface which receives a subscriber insertion message or a query message from a presence system, wherein the subscriber insertion message corresponds to at least one of a plurality of subscribers; a hypertext transport protocol HTTP messaging interface which receives a subscriber profile query from an external system, the external system being at least one of a plurality of external systems that provide services and applications to the at least one of a plurality of subscribers, the unified directory system providing a single point of access to the subscriber profile data for the plurality of external systems; a data access layer comprising a persistent subscriber profile data store in a first memory and a cached representation of the persistent subscriber profile data store in a second memory which is faster than the first memory; where the persistent subscriber profile data store comprises: a customer profile layer defining a customer entity which subscribes to products; a user profile layer defining users belonging to the customer entity; a service profile layer defining network services instance table and application service instance table which instantiate network services and applications subscribed by the users; a presence layer defining network service presence table and application service presence table for services and applications available to the users; a customer profile layer defining a customer entity which subscribes to products; a user profile layer defining users belonging to the customer entity; a service profile layer defining network services instance table and application service instance table which instantiate network services and applications subscribed by the users; a presence layer defining network service presence table and application service presence table for services and applications available to the users; service logic coupled to the data access layer, the presence interface, and the HTTP interface and operable to: insert a subscriber identifier into the network service presence table in the data access layer in response to the subscriber insertion message; query the presence layer in response to the subscriber profile query from the external system to obtain a query result; query the service profile layer in response to the query message from the presence system to obtain a query result; and return the query result to the external system through the hypertext transport protocol HTTP messaging interface or to the presence system through the presence interface. insert a subscriber identifier into the network service presence table in the data access layer in response to the subscriber insertion message; query the presence layer in response to the subscriber profile query from the external system to obtain a query result; query the service profile layer in response to the query message from the presence system to obtain a query result; and return the query result to the external system through the hypertext transport protocol HTTP messaging interface or to the presence system through the presence interface.