Recent Updates On The Attribute Services Project
There has been a lot of activity lately on the Attribute Services API (IGF). Since milestone 0.2 was published, we have recently checked in updates to reflect the new IGF-CARML-09 draft and checked in a first implementation of WS-Policy support for the API. Milestone 0.3 is well on its way to completion!
We still have yet to implement a provider to a full function protocol adapter like Higgins IdAS, but that should come in Milestone 0.4 or so.
For now, I’d like to encourage folks to check out the API. We’re looking for was to further simplify the developer’s experience and make it attractive. You’ll notice, after declaring the data used by the application that using the API is dramatically trivial compared to older APIs like JNDI or JDBC. Still there is more that could be done.
Enjoy.
IGF AttributeServices Milestone 0.2 Checked In!
The initial code-drop for IGF Attribute Services API has been checked in. This drop is based on igf-carml-08 schema (and is included in the project code repository).
In SVN you can either download the head version (under trunk), or the milestone0.2 version under branches.
Within each of trunk and branches/milestone0.2 you will find two eclipse projects:
- org.openliberty.igf.attributeServices
- org.openliberty.igf.attributeServices.test
The latter project is the JUnit code that tests the API in the first project. The JUnit code is currently the best way to see examples of how to use the API at this time.
Note: I don’t see any reason why these projects shouldn’t work in NetBeans or JDeveloper. However, I must confess I haven’t tested them. I was following the id-wsf client project’s example by using Eclipse. Since this release is still an early release, no build files have been constructed yet. This release is for comment and input.
Highlights for this check-in are:
- Basic implementation of the Attribute Services API including
- Carml Schema Declaration
- Simplistic WS-Policy support - policy is currently not interpreted at this time (see note below)
- Carml Transaction Declaration (Add, Authenticate, Delete, Modify, Read, Search)
- Transaction Implementation (for all above)
- IGF Stack Provider Interface - the interface that products like OVD need to implement to accept an IGF Attribute Service client.
- CARML document reader and writer methods
- JAAS LoginModule Implementation - rudimentary integration with platform/container security
- JUnit tests validating operations above. Note: the Write CARML step fails since XML is not done
- A Test provider that simulates a memory based repository.
There are still many items to implement, some of which are:
- Policy Assertions is still just a dumb object. And igf-appidpolicy and igf-deployid policy are not implemented. I’m still looking for a good open source implementation of WS-Policy - I found Apache Neethi, but it had some questionable dependencies that I still need to research.
- No server-side support such as AAPML
- IDE Integration Tools - this is another (much bigger) project that will happen likely after Liberty publishes IGF specs.
- There is no end-to-end demo. Next step is to write providers for Higgins IdAS and other possible connectors or attribute authorities.
- Deployment management - the API does not handle configuration management. This would be the job of the provider (e.g. OVD, Higgins) to decide how best to handle this.
The API description on the openLiberty site has been revised. The chief reason is we made some major changes after broader discussion:
- Separated schema from transactions. Now schema is declared on its own and transactions use schema….rather than the other way around. This is more friendly to enterprises who would like to use standardized schema or use enterprise standard schemas.
- Introduction of Roles and Filters
- Support for WS-Policy and the new drafts for (igf-appIdPolicy and igf-DeployIdPolicy)
Enjoy
New “Further Reading” Section Added To IGF Wiki
Prateek Mishra has contributed a new further reading section to the IGF Wiki. Check it out here.
IGF Joins The openLiberty Project!
This marks my first post, and the start of the IGF Project at openLiberty.
The Identity Governance Framework (IGF) is now the second project at openLiberty.org. IGF will help you enable your identity-consuming applications to bind governance policies (consent and constraints) to the identity data you receive and ensure those policies are enforced whenever any other IGF-enabled application tries to access that data at a later time.
From today’s press release…
“Consisting of nearly 50 subscribers with leadership and representation from HP, Intel, Internet2/Shibboleth and OpenSAML, openLiberty.org is an open source community open to everyone interested in advancing open source Liberty Web Services and now IGF implementations. openLiberty.org will develop a set of open source libraries and technologies based on the Apache 2.0 license that developers and vendors can use to build products that consume, provide and manage identity-related information based on the IGF protocols. Developers, individuals and organizations can get more information and join the openLiberty.org IGF community here.”
A brief overview of the market requirements use case document is available here.
For those of you wanting to follow updates to the IGF project, keep an eye on this blog. I will also continue to post more general articles over at the IdentityPrivacy blog.
I also want to thank all of the Liberty member organizations who have contributed to getting the Market Requirements Document done. Their contributions have really begun to crystalize the IGF requirements. Now we all have to work hard to make IGF “real” through actual implementation and standards definition!
Other sites of interest:
- Liberty Alliance - IGF Strategic Initiative
- Oracle Technology Network - IGF Draft Specifications & Overview
…/Phil
