There are two design patterns for web-based systems (intranets, extranets, public sites), which determine the mindset of the implementation team and lead its work in one or another direction:
pattern #1: data-driven web-based systems running against corporate databases, and providing operational support for involved staffpattern #2: social networking web-based systems which excel in promoting ideas, marketing skills of individuals, and connecting the various parties (for example, employees and employers, sellers and buyers, consumers and corporations, etc.) with the goal of creating win-win outcomes
The requirements, environment and perception of what a contemporary web-based system should be changes so quickly that in a year or two from now we may not even think of these two design patterns as separate anymore because they will have merged and converged into one new pattern, which I would label as #3:
pattern #3: data-driven user-centric system
What are the technologies available today which would allow us to create the system ready for tomorrow? Here is my take - they are:
a) user identity managerb) content integration (portals)c) data delivery (reporting, BI, web forms, etc.)
This post is only about the position (a) - identity management system. And specifically, the most important part of it - user profile.
Why is user profile so important? Well, we can start with the simple scenario - to maintain generic user data such as first name, last name, contact information, demographics, location, etc. Ten years ago we could have stopped here. User profile was on often nothing more than a side note in many IT projects.
The second important factor is the variety of user-specific information, which different applications need to store on a permanent or transitory basis to ensure their core functionality targets proper audience.
And finally, the versatility and unpredictability of the next wave of user data requirements that the system will have to handle: either because new applcations are added with the evolution of corporate intranet or public web site, or because business processes change and new personalization factors become key parameters for system's operational ability, or just because users demand new features, which are more and more personalized in the context of existing apps.
So, to answer the question "what is a user profile?", we could just say that it is a collection of data items (properties), stored in a database, which control what information user is able to access or wants to access and how the information is presented to the user. User profile also controls properties providing value feeds to various queries, that differentiate information presentation and functionalities between users.
The goal is clear, but how to implement it? Arnica Software product - UnifiedLogon (http://www.arnicasoftware.com/products/identity-management/overview.aspx) - is an example of a system, which addresses these positions and lets you start small and grow gradually by adding new applications, refining new user requirements, and adapting to the reality of a changing business environment. Arnica UnifiedLogon is a highly data-oriented system with a feature-rich but clear and open architecture that allows storing and managing user profile properties in various ways depending on use scenarios.
The flexibility and scalability of user profile structure is one of the enabling technologies, which allow meeting such requirements and moving ahead with the evolution of the entire system. The technical aspects of how user profile is managed, and the structures and architectural concepts of Arnica UnifiedLogon are described in more detail in this knowledge-base article: http://www.arnicasoftware.com/knowledge-base/implementing-user-profile-management-solutions-with-arnica-unifiedlogon/2808/index.aspx
This article provides an overview of what user profile techniques a system architect could use with Arnica UnifiedLogon to create powerful enterprise-wide identity management solutions with virtually unlimited user profile expansion.