Sunday, February 12, 2012

Implementing SCIM with Charon - Part 1

You may need to refer to my previous blog post in order to get an overall idea on SCIM - Simple Cloud Identity Management..

This is about WSO2 Charon - one of the SCIM implementations which will be made available under Apache 2.0 license. Lets look at it in a top down approach.

Following diagram will give an overview on the module break down of Charon along with purpose of each module and  planned tasks of them.

Following is a brief introduction on each of the modules:
  • Charon-Core:
        This is the API that exposes an implementation of SCIM specification. It can be used by any SCIM service provider or client implementation to support SCIM operations/functionalities. In addition to that, it also allows room for extension points to be plugged in according to the particular server side/client side implementation, such as authentication handler, user storage, encoders/decoders etc.
  • Charon-Utils:
          This contains a set of default implementations of the extension points mentioned above. For an example - Basic Auth, OAuth handlers, LDAP based user storage etc. A particular implementation that uses charon-core as SCIM API, can use these default implementations as building blocks.
  • Charon-Deployment: (Note: this is renamed as Charon-Impl)
       A reference implementation of SCIM service provider will be shipped with this module. Currently it is a Apache Wink based webapp that can be deployed in any application server - such as Tomcat, and make the SCIM endpoints be exposed. This is based on the above two modules : charon-core and charon-utils, and illustrates how any SCIM implementation can utilize the API and supporting module provided by Charon.
  • Charon-Samples:
          This contains samples illustrating the SCIM use cases. Samples contains mainly the SCIM client side implementations which can be run against a SCIM server, and hence can also be referenced to get to know how the API provided by Charon can be used to implement SCIM client side.

Well.. this is a brief overview of what Charon is, how it is structured and what each module is supposed to do, supposed to be used for.

 More posts on Charon to be followed...

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.