Introduction to Higgins
This is an obsolete page from the 2004-2005 era. Nothing should link to this page.
Higgins is a framework that will enable users and enterprises to integrate identity, profile, and relationship information across multiple systems. Using context providers, existing and new systems such as directories, collaboration spaces, and communications technologies (e.g. Microsoft/IBM WS-*, LDAP, email, IM, etc.) can be plugged into the Higgins framework. Applications written to the Higgins API can virtually integrate the identity, profile, and relationship information across these heterogeneous systems. A design goal is that Higgins be useful in the development of applications accessed through browsers, rich clients, and web services. Our intent is to define the Higgins framework in terms of service descriptions, messages and port types consistent with an SOA model and to develop a Java binding and implementation as an initial reference.
Applications can use Higgins to create a unified, virtual view of identity, profile and relationship information. A key focus of Higgins is providing a foundation for new "user-centric identity" and personal information management applications. Higgins provides virtual integration, user-centric federation, management, trust brokering, linking, and search capabilities that are applied to identity, profile and relationship information across multiple contexts and across disparate systems and implementations.
The Higgins service relies on a set of "plug-in" Context Providers that either adapt existing legacy systems to the framework, or implement new ones. A context is "the surrounding environment and circumstances that determine meaning of digital identities and the policies and protocols that govern their interactions." A context provider implements (or adapts) an existing context.
Note: In the initial Java reference implementation, these Context Providers are expressed as Eclipse extensions that implement Java interfaces (e.g. IContext, etc.). These extensions are usually packaged as separate Eclipse plug-ins (or more correctly, OSGI bundles).
A Context may contain information about a single Entity or it may represent a group of Entities such as a project team, department, association, informal network, family, customer group, and so on. A context contains a set of one or more Entities each with its associated Attributes, may contain relationship links, to other Entities, and may contain metadata attribute about the nature of these relationships.
Context providers most often act as "adapters" to existing systems. Adapter providers can connect to directories such as LDAP servers, identity management systems, mailing lists, and social networking systems. They may also adapt collaboration spaces such as file repositories and other shared spaces. Or they may adapt communications networks such as email, IM or voice.
A Context maintains a set of Entities. An Entity is a set of Attributes with associated values (e.g. name, address, etc.). The schema for these attributes varies by Context.
Applications use the Higgins to insulate themselves from the details and complexities of each distinct collaboration space, communications system, or enterprise directory. Higgins's service architecture allows applications to use and access an ever increasing range of external systems without any changes to the application itself.