Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-1666

Design new services based architecture for handling REST requests

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      Main idea of this task is to write a service which will simply redirect the request to respective module which will take care of request using Business logic which is already present.
      Approach :

      • We already have a mechanism to accept http/s request in App Manager bundle.
      • Create a interface (can be named as 'RequestHandler') which will have function declaration for 'HandleRequest' which will redirect request to business layer and 'ValidateURL' each URL request will have specific validation parameters like no. of parameters, valid input type etc .
      • This interface will be exported through this bundle.
      • Every Modules which are expected to receive http requests will create a services which will implement the 'RequestHandler' interface and it has to implement logic for 'HandleRequest' and 'ValidateURL'
      • Thus, whenever AppManager bundle receives request it will send it to all the 'RequestHandler' something using threading so as to make it asynchronous. So as to drop the invalid threads and only one thread will continue further to module.

      Start For Design:

      • Study MenuProvider which has something similar implementation.
      • Study how async request will be handled.
      • After Studying above point come up with design flow and logical design.

        Attachments

          Issue Links

            Activity

            aloraine Ann Loraine created issue -
            aloraine Ann Loraine made changes -
            Field Original Value New Value
            Epic Link IGBF-1665 [ 17755 ]
            aloraine Ann Loraine made changes -
            Rank Ranked higher
            aloraine Ann Loraine made changes -
            Sprint Spring 2019 Sprint 5 [ 63 ]
            srishteeM Srishtee Marotkar (Inactive) made changes -
            Description
            Hide
            srishteeM Srishtee Marotkar (Inactive) added a comment -

            Adding Image of approach explained by Professor Loraine

            Show
            srishteeM Srishtee Marotkar (Inactive) added a comment - Adding Image of approach explained by Professor Loraine
            srishteeM Srishtee Marotkar (Inactive) made changes -
            Attachment Redesign RestAPI.jpeg [ 14301 ]
            srishteeM Srishtee Marotkar (Inactive) made changes -
            Description
            Main idea of this task is to create a service which will
            srishteeM Srishtee Marotkar (Inactive) made changes -
            Description Main idea of this task is to create a service which will Main idea of this task is to write a service which will simply redirect the request to respective module which will take care of request using Business logic which is already present.
            Approach :
            - We already have a mechanism to accept http/s request in App Manager bundle.
            - Create a interface (can be named as 'RequestHandler') which will have function declaration for 'HandleRequest' which will redirect request to business layer and 'ValidateURL' each URL request will have specific validation parameters like no. of parameters, valid input type etc .
            - This interface will be exported through this bundle.
            - Every Modules which are expected to receive http requests will create a services which will implement the 'RequestHandler' interface and it has to implement logic for 'HandleRequest' and 'ValidateURL'
            - Thus, whenever AppManager bundle receives request it will send it to all the 'RequestHandler' something using threading so as to make it asynchronous. So as to drop the invalid threads and only one thread will continue further to module.

            Start For Design:
            - Study MenuProvider which has something similar implementation.
            - Study how async request will be handled.
            - After Studying above point come up with design flow and logical design.
            srishteeM Srishtee Marotkar (Inactive) made changes -
            Description Main idea of this task is to write a service which will simply redirect the request to respective module which will take care of request using Business logic which is already present.
            Approach :
            - We already have a mechanism to accept http/s request in App Manager bundle.
            - Create a interface (can be named as 'RequestHandler') which will have function declaration for 'HandleRequest' which will redirect request to business layer and 'ValidateURL' each URL request will have specific validation parameters like no. of parameters, valid input type etc .
            - This interface will be exported through this bundle.
            - Every Modules which are expected to receive http requests will create a services which will implement the 'RequestHandler' interface and it has to implement logic for 'HandleRequest' and 'ValidateURL'
            - Thus, whenever AppManager bundle receives request it will send it to all the 'RequestHandler' something using threading so as to make it asynchronous. So as to drop the invalid threads and only one thread will continue further to module.

            Start For Design:
            - Study MenuProvider which has something similar implementation.
            - Study how async request will be handled.
            - After Studying above point come up with design flow and logical design.
            Main idea of this task is to write a service which will simply redirect the request to respective module which will take care of request using Business logic which is already present.
            *Approach* :
            - We already have a mechanism to accept http/s request in App Manager bundle.
            - Create a interface (can be named as 'RequestHandler') which will have function declaration for 'HandleRequest' which will redirect request to business layer and 'ValidateURL' each URL request will have specific validation parameters like no. of parameters, valid input type etc .
            - This interface will be exported through this bundle.
            - Every Modules which are expected to receive http requests will create a services which will implement the 'RequestHandler' interface and it has to implement logic for 'HandleRequest' and 'ValidateURL'
            - Thus, whenever AppManager bundle receives request it will send it to all the 'RequestHandler' something using threading so as to make it asynchronous. So as to drop the invalid threads and only one thread will continue further to module.

            *Start For Design*:
            - Study MenuProvider which has something similar implementation.
            - Study how async request will be handled.
            - After Studying above point come up with design flow and logical design.
            aloraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            aloraine Ann Loraine made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            aloraine Ann Loraine made changes -
            Assignee Srishtee Marotkar [ srishtee ]
            aloraine Ann Loraine made changes -
            Status In Progress [ 3 ] In Progress [ 3 ]
            aloraine Ann Loraine made changes -
            Assignee Srishtee Marotkar [ srishtee ] Srishtee Marotkar [ srishteem ]
            aloraine Ann Loraine made changes -
            Sprint Spring 2019 Sprint 5 [ 63 ] Spring 2019 Sprint 5, Spring 2019 Sprint 6 [ 63, 64 ]
            aloraine Ann Loraine made changes -
            Rank Ranked higher
            Hide
            aloraine Ann Loraine added a comment -

            Moved NanoHTTPD library (2.0.5) into shared-lib-wrapper artifact.

            Show
            aloraine Ann Loraine added a comment - Moved NanoHTTPD library (2.0.5) into shared-lib-wrapper artifact.
            aloraine Ann Loraine made changes -
            Link This issue relates to IGBF-1635 [ IGBF-1635 ]
            Hide
            srishteeM Srishtee Marotkar (Inactive) added a comment -

            Adding Design Document for review

            Show
            srishteeM Srishtee Marotkar (Inactive) added a comment - Adding Design Document for review
            srishteeM Srishtee Marotkar (Inactive) made changes -
            Attachment IGBF-1666.docx [ 14307 ]
            srishteeM Srishtee Marotkar (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            Hide
            aloraine Ann Loraine added a comment -

            Uploaded doc to Google Drive folder for App Store. Saved in folder named REST endpoint design.
            Doc is named IGBF-1666.

            Show
            aloraine Ann Loraine added a comment - Uploaded doc to Google Drive folder for App Store. Saved in folder named REST endpoint design. Doc is named IGBF-1666 .
            aloraine Ann Loraine made changes -
            Resolution Done [ 10000 ]
            Status Needs 1st Level Review [ 10005 ] Closed [ 6 ]
            aloraine Ann Loraine made changes -
            Workflow Loraine Lab Workflow [ 18388 ] Fall 2019 Workflow Update [ 20112 ]
            aloraine Ann Loraine made changes -
            Workflow Fall 2019 Workflow Update [ 20112 ] Revised Fall 2019 Workflow Update [ 22247 ]

              People

              • Assignee:
                srishteeM Srishtee Marotkar (Inactive)
                Reporter:
                aloraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: