directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Patrick Radtke (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ESCIMO-2) Generalize Resources Service classes
Date Tue, 26 Nov 2013 23:52:35 GMT
Patrick Radtke created ESCIMO-2:
-----------------------------------

             Summary: Generalize Resources Service classes
                 Key: ESCIMO-2
                 URL: https://issues.apache.org/jira/browse/ESCIMO-2
             Project: eSCIMo 
          Issue Type: Improvement
            Reporter: Patrick Radtke


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)

Mime
View raw message