A Final Word about Functional Components
Many of the functional components discussed above can easily exist independently of each other, but in many cases should not. While you can either purchase or lease some components and develop others internally, thought should be given to how the items selected on your Needs Analysis checklist will work with each other. As a general rule you want to minimize the potential for redundant data (having the same information exist in multiple instances) because it will be difficult to track which data is the most correct over time. So if you're going to create an Employee Directory, Calendar Utility and Resource Management tool (or any other set of components that will rely on common data - in this case user profiles), ensure your technology team approaches their solution holistically.
If the components are going to exist across multiple systems and/or networks, consider implementing a centralized user directory based on Lightweight Directory Access Protocol (LDAP) or Microsoft's Active Directory (see chapter 10 for more information on user directories). With that in place, other applications could access it through Simple Object Access Protocol (SOAP), which is basically a XML packet (information object) that components could request from the user directory to determine if users are authorized to access systems, what their group privileges are, and what details comprise their individual profiles.