Multiple application platforms are available in the computing industry today. Examples include AS/400, AIX, and z/OS operating systems (marketed by International Business Machines (IBM) Corporation of Armonk, N.Y.), and Windows 2000 (marketed by Microsoft of Redmond, Wash.). Another example of an application platform is IBM WebSphere Application Server, which is a middleware platform for distributed applications that is based on Java and can thus execute on multiple operating system platforms. Large scale computing solutions of today often consist of multiple computing applications, executing on different platforms, that are networked together as set of components that work together cooperatively to form a larger system or environment that addresses a particular business requirement.
Since the requirements of operating systems and middle-ware application platforms typically differ, each system maintains its own user registry, which includes a list of users and associated information, such as user Ids and passwords, used to authenticate a user when access to the network is requested. A user may be a human user, or may be a software process assigned a local user identity, such as a print server. Each platform typically has its own administrative tools that allow a system administrator to add, delete or modify user identities in the user registry. With a heterogeneous network that has several different operating systems, this means that the system administrator must learn and become proficient in several different tools which handle identity management in their respective realms (e.g., platforms).
In view of the above, a need exists in the art for a novel approach to authenticated identity propagation and translation within a multi-component transaction processing environment to, for example, facilitate run-time inter-operation between components that are employing disparate security and user registry services, and to do so with performance characteristics and within programming model constraints that are suitable for use in the mainframe components of the environment