[ 
https://issues.apache.org/jira/browse/SYNCOPE-623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Giacomo Lamonaco updated SYNCOPE-623:
-------------------------------------
    Description: 
Last year with the help of Syncope team I proposed an early reformulation of 
provisioning phase. Provisioning refers to methods used to provide users and 
roles functionality: the main goal of my proposal was to re-organize this 
phase, allowing custom provisioning behaviours through a definition of a 
provisioning manager (see here [1] more details).

The current strategy adopted in Syncope makes difficult the definition of 
custom provisioning behaviour. The solution enclosed with this issue aim to 
decompose the provisioning phase. Previously the user/role controller deals 
directly with provisioning, while now with this proposal both the controller 
delegates this task to provisioning manager. 

A first task was to move all provisioning functionality into the provisioning 
manager. If you now inspect the user/role controller code, you will not find 
anymore workflow and propagation dependencies.

During the development, we thought to make the provisioning pluggable, in order 
to allow the choice of provisioning engine. The default provisioning engine can 
be choosed editing the provisioning.properties file. For this reason we 
hardcoded previous strategies as default provisioning manager, in order to keep 
the standard Syncope behaviour. As we proposed initially, we wanted also to 
experiment a provisionig manager based on a Apache Camel. Camel is a powerful 
integration framework implementing enterprise integration pattern. Our current 
solution embeds the provisioning logics into camel routes.

Moreover the current solution extends also Syncope Console: we added new a new 
functionality - related to Camel case - that allows to read and edit routes 
definitions. You can find this new service under the 
Console->Configuration->Routes section. In this case, routes are expressed 
through Spring DSL. 

To finish, I thought to create a github pull request [2],in order to give to 
Syncope Team members to examine this work and possibly integrate it.
 
[1] 
http://syncope-dev.1063484.n5.nabble.com/Proposal-An-Apache-Camel-Integratation-Proposal-td5714531.html
[2] https://github.com/apache/syncope/pull/2

  was:
Hi all,

last year with the help of Syncope team I proposed an early reformulation of 
provisioning phase. Provisioning refers to methods used to provide users and 
roles functionality: the main goal of my proposal was to re-organize this 
phase, allowing custom provisioning behaviours through a definition of a 
provisioning manager (see here [1] more details).

The current strategy adopted in Syncope makes difficult the definition of 
custom provisioning behaviour. The solution enclosed with this issue aim to 
decompose the provisioning phase. Previously the user/role controller deals 
directly with provisioning, while now with this proposal both the controller 
delegates this task to provisioning manager. 

A first task was to move all provisioning functionality into the provisioning 
manager. If you now inspect the user/role controller code, you will not find 
anymore workflow and propagation dependencies.

During the development, we thought to make the provisioning pluggable, in order 
to allow the choice of provisioning engine. The default provisioning engine can 
be choosed editing the provisioning.properties file. For this reason we 
hardcoded previous strategies as default provisioning manager, in order to keep 
the standard Syncope behaviour. As we proposed initially, we wanted also to 
experiment a provisionig manager based on a Apache Camel. Camel is a powerful 
integration framework implementing enterprise integration pattern. Our current 
solution embeds the provisioning logics into camel routes.

Moreover the current solution extends also Syncope Console: we added new a new 
functionality - related to Camel case - that allows to read and edit routes 
definitions. You can find this new service under the 
Console->Configuration->Routes section. In this case, routes are expressed 
through Spring DSL. 

To finish, I thought to create a github pull request [2],in order to give to 
Syncope Team members to examine this work and possibly integrate it.
 
[1] 
http://syncope-dev.1063484.n5.nabble.com/Proposal-An-Apache-Camel-Integratation-Proposal-td5714531.html
[2] https://github.com/apache/syncope/pull/2


> Provisioning manager integration
> --------------------------------
>
>                 Key: SYNCOPE-623
>                 URL: https://issues.apache.org/jira/browse/SYNCOPE-623
>             Project: Syncope
>          Issue Type: New Feature
>          Components: common, console, core
>            Reporter: Giacomo Lamonaco
>            Assignee: Giacomo Lamonaco
>             Fix For: 1.3.0
>
>
> Last year with the help of Syncope team I proposed an early reformulation of 
> provisioning phase. Provisioning refers to methods used to provide users and 
> roles functionality: the main goal of my proposal was to re-organize this 
> phase, allowing custom provisioning behaviours through a definition of a 
> provisioning manager (see here [1] more details).
> The current strategy adopted in Syncope makes difficult the definition of 
> custom provisioning behaviour. The solution enclosed with this issue aim to 
> decompose the provisioning phase. Previously the user/role controller deals 
> directly with provisioning, while now with this proposal both the controller 
> delegates this task to provisioning manager. 
> A first task was to move all provisioning functionality into the provisioning 
> manager. If you now inspect the user/role controller code, you will not find 
> anymore workflow and propagation dependencies.
> During the development, we thought to make the provisioning pluggable, in 
> order to allow the choice of provisioning engine. The default provisioning 
> engine can be choosed editing the provisioning.properties file. For this 
> reason we hardcoded previous strategies as default provisioning manager, in 
> order to keep the standard Syncope behaviour. As we proposed initially, we 
> wanted also to experiment a provisionig manager based on a Apache Camel. 
> Camel is a powerful integration framework implementing enterprise integration 
> pattern. Our current solution embeds the provisioning logics into camel 
> routes.
> Moreover the current solution extends also Syncope Console: we added new a 
> new functionality - related to Camel case - that allows to read and edit 
> routes definitions. You can find this new service under the 
> Console->Configuration->Routes section. In this case, routes are expressed 
> through Spring DSL. 
> To finish, I thought to create a github pull request [2],in order to give to 
> Syncope Team members to examine this work and possibly integrate it.
>  
> [1] 
> http://syncope-dev.1063484.n5.nabble.com/Proposal-An-Apache-Camel-Integratation-Proposal-td5714531.html
> [2] https://github.com/apache/syncope/pull/2



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to