Hi all,

*After some weeks of work I noticed that is better to keep *discussing here**on this ML in order to*states what's going on.***This discussion**is related to this proposal [1]. If you are interested and If you have not yet done so, please read the related slides at [2]*.**As indicated in the discussion ,the result of this work consist in a Proof Of Concept (POC), that you can find on *[3]*.****
**
**

*Now *I*would like to go deeper on what *I*'ve done so far. In this work *I**'*m focusing on two main IDM concepts: User and Role. My goal is to decompose both UserController and RoleController from their control logic: *I*would like to configure the IDM in such a way that control strategies can be easily added/modified*/removed. By*"control logic/strategies" *I*refer to the set of operations inside the controllers: for example, in the create() method of UserController, a fixed set of operation are perfomed, like creating internally the user (via workflow adapter) and propagate the created user to *external*resource. What if we want to apply a different sequence of operations? A solution can be represented by overriding this method, but as you can see, this isn't a flexible solution.**** *In this way, what I've in mind consists in a redefinition of both the UserController and the RoleController. In my solution, I delegate main operations to a new component, the Provisioning Manager. Both controllers will delegate main operations to the provisioning manager. This component deals with Camel context definition and route management: as you know, user/role control logics now have to be defined by routes.

**


In the previous weeks I pushed at [3] an initial definition of provisioning manager and I attached this new component to the syncope context. Now I'm trying to move all operations involved in user creation (inside user controller) into the provisioning manager. I have been discussing some implementation aspects with Hadrian (from Camel team) which shown his interest in this proposal.


Fundamentally, the whole work can be seen like replacing static statements sequence in User/Role controller methods with definitions of specific routes,**outside the controllers.


*Moreover, consider that all previous definition are trial (like the provisioning interface), so everything I've done so far can be easily changed: I will be very happy of any suggestion!


WDYT?

[1] http://syncope-dev.1063484.n5.nabble.com/Proposal-An-Apache-Camel-Integratation-Proposal-td5714531.html
[2] http://www.slideshare.net/giacomolm/camel-proposaltirasa
[3] https://github.com/Tirasa/SyncopeCamel
**

--
Giacomo Lamonaco

Tirasa - Open Source Excellence
http://www.tirasa.net/

Reply via email to