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

Kiran Ayyagari reassigned ESCIMO-2:
-----------------------------------

    Assignee: Kiran Ayyagari

> Generalize Resources Service classes
> ------------------------------------
>
>                 Key: ESCIMO-2
>                 URL: https://issues.apache.org/jira/browse/ESCIMO-2
>             Project: eSCIMo 
>          Issue Type: Improvement
>            Reporter: Patrick Radtke
>            Assignee: Kiran Ayyagari
>
> As a user of the eSCIMo library
> I want to easily be able to expose new resources
> without writing boiler plate code
> The SCIM specification allows for additional resources to be defined - either 
> within the realm of the spec, or by the service provider.
>     In an ideal world, I would be able to add these additional resources by 
> extending ServerResource and implementing a resource specific provider 
> interface, and the rest of the Server implementation would be generic enough 
> to "just work". Currently that is not the case, and the server implementation 
> assumes User and Group resources.
>     I think it may make sense to generalize ProviderService so that 
> implementation would be both Resource and Backend specific. As example, 
> implementations could be like:
>      LdapUserResourceProvider - a User resource that is provide from ldap
>      XmlGroupResourceProvider - a group resource that is provided from an xml 
> file
>      JpaPizzaResourceProvider - a Pizza resource that comes from a DB
>     Then  at the RESTful server level, instead of defining resource specific 
> endpoints like GroupService and UserService, a generic ResourceService could 
> determine the corresponding resource specific ProviderService implementation 
> based on the URL. For example, if ResourceService saw /Users/123 it could 
> user the string "Users" to look up in a factory, or a map the correct 
> ProviderService for UserResources.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to