Details

    • Type: Epic Epic
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: rest-1.0
    • Component/s: Analysis
    • Security Level: Public (Public: Anyone can view)
    • Labels:
    • Epic Name:
      REST
    • Similar issues:
      KULRICE-14201REST-ful api for KIM Groups
      KULRICE-14202Implement a mechanism by which access can be granted to REST-ful apis
      KULRICE-14199REST-ful API for Action List
      KULRICE-14200REST-ful api for document search
      KULRICE-14189Spike: OAuth 2 for REST-ful services
      KULRICE-14219Architect the interface to OAuth for REST-ful clients
      KULRICE-14221Implement authorization on KIM Groups REST api
      KULRICE-5001Modularize KRMS POC and move into a branch off 1.1
      KULRICE-2486Equivalent of WorkgroupMembershipChangeProccessor needs to be invoked from KIM code when group or role is modified
      KULRICE-5788Kill 'api' module.
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes
    • Story Points:
      8

      Description

      Begin the process of creating a POC around how we expose Rice middleware functionality via REST. KIM groups are simple enough and seem like a good starting point. This initial POC should focus on the following:

      1. Use JAX-RS, apache cxf is our bundled implementation of this
      2. Read-only, getting a group (with a known id) and getting a group's members
        • possible resource paths to consider (where 1 is the id of the group):
        • /kim/api/groups/1
        • /kim/api/groups/1/members
      3. Design a JSON format for groups and group members
      4. Ensure that we are calling the same business logic and service on the backend as is being called through the SOAP interface (i.e. don't go directly against the database or use the business object, use the immutable DTO-based api instead)
      5. Research the best way to secure the resources, oauth? api key?
        • leverage spring security to implement if possible
      6. Start a document in the wiki where we can start to collect our decisions and best practices around building rest-ful apis
      7. Don't worry about HATEOAS as a requirement for now, though bonus points if it's included

      It's important that if we can't get the security working that we don't merge the changes into master/trunk. We don't want unsecure api access going into trunk.

      This is meant to be a simple case for us to start down the REST-ful service path and the work we do here will be foundational for how we proceed with the rest of the rice middleware.

        Issues in Epic

          Activity

          Hide
          Eric Westfall added a comment -

          Peter wrote an initial analysis and approach for this at the following location:

          https://wiki.kuali.org/display/KULRICE/RESTful+Services+on+the+KSB

          Though I would throw out any requirement to have to actually publish these on the KSB, let's avoid that for the first cut on this POC.

          Show
          Eric Westfall added a comment - Peter wrote an initial analysis and approach for this at the following location: https://wiki.kuali.org/display/KULRICE/RESTful+Services+on+the+KSB Though I would throw out any requirement to have to actually publish these on the KSB, let's avoid that for the first cut on this POC.
          Hide
          Corey Pedersen (Inactive) added a comment -

          I would like to peer with anyone who takes his jira.
          I will take it when I become free, if no one else has it assigned at that time..

          Show
          Corey Pedersen (Inactive) added a comment - I would like to peer with anyone who takes his jira. I will take it when I become free, if no one else has it assigned at that time..

            People

            • Assignee:
              Unassigned
              Reporter:
              Eric Westfall
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Structure Helper Panel