There are a variety of open source projects that support various kinds of identity-enabling technology, including SAML, ID-FF, and other more proprietary approaches. Most of them are focused on SSO and relatively simple attribute exchange use cases.
OpenLiberty is focused on filling gaps between existing projects, whether in the kinds of technology available, programming languages that can be used, or other factors. Part of gap filling is identifying the gaps, and other material at OpenLiberty covers that. The focus here is on what we can do to fill them.
Initial conversation identified as one gap the availability of a WSC toolkit for Java applications to discover and invoke ID-WSF-enabled services.
Next steps include:
- Identifying a set of contributors
- Prioritizing specs, use cases, and features to support a phased development process
- Selecting an XML platform/design on which to build the ID-WSF layer
- Building a project plan
A meeting was held in Washington, DC last year to discuss some of these issues. (WashingtonMinutes)
Schedule of Milestones
openLiberty is being built as a hub for the community of practice around developing and deploying Liberty-enabled OSS (of which there are many projects, see RelatedProjects for more information). But when it comes down to software development the first thing we are working on is a Java library and reference implementation of ID-WSF 2.0 WSC. Below is our working schedule, current as of 26 July 2007.
Phase 1: Architecture Design Document & Project Roadmap (Completed!)
This phase will focus on delivering an architecture document and a development roadmap in addition to the existing specifications that will be used to guide the development process. Since this is an open source initiative we expect the implementation to include the work of a number of contributors besides Asa (the technical lead) and it is essential that a frame of reference exist before the first pieces of library code are checked in to the repository. We will not be checking in code for the ClientLib project until this design is done and has some community consensus.
Although the initial development effort will focus on Java libraries, this phase will provide a likely strategy for delivering .NET and Ruby on Rails versions as platform diversity is one of the ultimate goals of the ClientLib project.
At the moment phases 2, 3, and 4 have not been fleshed out beyond a basic understanding because phase 1 is a pre-requisite to clarify the expectations associated with these phases and clearly outline a critical path for the development project.
Phase 2: Alpha (Completed Jan 1, 2008)
Delivery of at least a java library with basic functionality. This library is not expected to be fully interoperable in Alpha. The Alpha will be far from complete, but the general idea will start to become very clear from the code. This phase will begin with the development of a basic WSC and will take advantage access to ID-WSF 2.0 implementations that will be volunteered by members of this effort for test purposes.
We have begun with using Conor Cahill's WSP and are in the process of getting other implementations running. An install of HP's latest beta of Select Federation will come on line soon.
Get started by following the Alpha Quick Start instructions. It is fun and easy!!
Phase 3: Beta (Deadline: mid to late February 2008)
At the end of Phase 3 there will be at least a java library that is mostly complete and in shape for initial interoperability testing.
Phase 4: Liberty Interoperable certified
Delivery of the java library fulfilling the requirements outlined in phase 1 and fully tested as a WSC using a test application written on top of the library.
Also, we plan to demonstrate interoperability with at least a couple of (open source and/or commercial) SAML2 SSO products for supplying bootstrap information to the library.
This project has financial commitment up-front from Liberty Alliance, but more importantly is the ongoing commitment being made by members of the community at large. Our technical lead (Asa, CTO of Zenn New Media) is committed to this project and the community surrounding it, both during the project and after delivery of the final Java WSC. Many more engineers from the Liberty Alliance community have expressed interest in directly contributing code as well, depending on how things go in Phase 1.
We expect others to get involved as well once we demonstrate interoperability of this code base. So, by all means join up and help us solve the Internet's identity crisis with some quality open source tools to deliver secure identity-based Web services over the only interoperable standard that actually delivers on that promise, ID-WSF.