Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Developing a custom Java module

Tivoli Federated Identity Manager 6.2

Shane B. Weeden, Senior Software Engineer, IBM Tivoli
Shane Weeden
Shane Weeden is a senior software engineer with the IBM Tivoli Federated Identity Manager development team. He has worked in IT security since 1992, and since 2000 has been working with Tivoli Security products including Tivoli Access Manager for eBusiness and Tivoli Federated Identity Manager. Shane now divides his time between customer focused engagements and core product development activities. He holds a Bachelor of Information Technology from the University of Queensland in Australia.
(An IBM developerWorks Professional Author)
Ann-Louise Blair (alblair@au1.ibm.com), Software Engineer, IBM Tivoli
Ann-Louise Blair is a Software Engineer in the IBM Australia Development Laboratory. She has four years experience working in the IT industry and holds a Bachelor of Software Engineering degree from the University of Queensland. Having worked in both testing and development roles in the Gold Coast Integration Factory team, Ann-Louise has gained expertise working with many Tivoli software products.
Simon Chen (simon.chen@us.ibm.com), Staff Software Engineer, IBM Tivoli
Simon Chen
Jiayue (Simon) Chen was going to devote his career to building robots until he realized that sniffing fumes from a soldering iron could cause more harm than good. So instead, he's now working as a staff software engineer with the Tivoli Federated Identity Manager development team, where the radiation from the computers in his office keeps him warm. Simon graduated from Georgia Tech with an B.S. in Electrical Engineering and has been with IBM full-time since 2006. His technical interests include Eclipse and OSGi.

Summary:  In this tutorial, we will walk through the complete development process for creating a custom trust service (aka Security Token Service or STS) plug-in for Tivoli® Federated Identity Manager (TFIM) 6.2. Customers might develop their own plug-ins for a variety of reasons including advanced user mapping and attribute gathering capabilities, or to support validation and issuing proprietary security token types. This tutorial will use as a working example a simple mapping module which adds a configurable name/value parameter pair as an attribute to the TFIM Trust Service's STSUniversalUser. For those readers familiar with developing STS modules for previous versions of TFIM (see Developing Custom STS Modules), the development interfaces are largely unchanged; however, the packaging and deployment is different as TFIM 6.2 has now moved to an Open Services Gateway Initiative (OSGi) plug-in framework for extensions. This OSGi plug-in framework is used for developing a variety of supported extension points in TFIM, including the STSModule extension point which is the focus of this tutorial.

Date:  12 Sep 2008
Level:  Advanced

Activity:  34795 views
Comments:  

Before you start

This tutorial describes the process of developing custom Java™ plug-ins for TFIM 6.2. In particular this tutorial guides you through development of a custom security token service (STS) module. It is designed for advanced TFIM users with strong Java development skills who want to learn how to harness the power of the OSGi extension points introduced in TFIM 6.2.

About this tutorial

TFIM 6.2 introduces a new way to allow customers to extend the capabilities of the product. Utilizing the same OSGi runtime model as the Eclipse platform, TFIM exposes several "extension points" which allows users to develop their own custom code to run inside TFIM. One of these extension points (STSModule) allows for the development of custom plug-ins for trust service (aka Security Token Service or STS) modules. This tutorial will take you through the complete design / development / deployment cycle for a basic custom trust service mapping module. By following the steps in this tutorial you will learn how to create a custom trust service plug-in for Tivoli Federated Identity Manager (TFIM) 6.2. The example module described here is also available for download with this tutorial.


Objectives

In this tutorial you will learn about how to develop and deploy a custom plug-in for TFIM 6.2 which implements the com.tivoli.am.fim.trustserver.sts.STSModule extension point that is available in TFIM 6.2. You will learn how to design a custom plug-in for your needs and create the module using an appropriate development environment. Rational Application Developer 7.0 is used throughout this tutorial, however Eclipse 3.2 or later is also a viable development platform for creating these OSGi-based plug-ins. The tutorial also explains how to deploy and test the plug-in jar file that you have developed into the TFIM 6.2 runtime environment.


Prerequisites

This tutorial is written for people who have an advanced level of understanding of Identity Management concepts. You should have prior experience with Tivoli Federated Identity Manager and a good understanding of associated concepts including the TFIM Security Token Service (STS) and trust service modules. A strong knowledge of the Java programming language is also expected.


System requirements

To work through the examples in this tutorial, you will need an appropriate development environment for creating the module: Rational® Application Developer 7 or Eclipse 3.2 (or later). You will also need a TFIM 6.2 runtime environment for deployment and testing of your module (and to gather jars to setup the development environment).

1 of 14 | Next

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Tivoli, Java technology
ArticleID=329708
TutorialTitle=Developing a custom Java module
publish-date=09122008
author1-email=sweeden@au1.ibm.com
author1-email-cc=
author2-email=alblair@au1.ibm.com
author2-email-cc=
author3-email=simon.chen@us.ibm.com
author3-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.