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

            ann.loraine Ann Loraine created issue -
            ann.loraine Ann Loraine made changes -
            Field Original Value New Value
            Epic Link IGBF-1665 [ 17755 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine 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.
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            ann.loraine Ann Loraine made changes -
            Assignee Srishtee Marotkar [ srishtee ]
            ann.loraine Ann Loraine made changes -
            Status In Progress [ 3 ] In Progress [ 3 ]
            ann.loraine Ann Loraine made changes -
            Assignee Srishtee Marotkar [ srishtee ] Srishtee Marotkar [ srishteem ]
            ann.loraine Ann Loraine made changes -
            Sprint Spring 2019 Sprint 5 [ 63 ] Spring 2019 Sprint 5, Spring 2019 Sprint 6 [ 63, 64 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            Hide
            ann.loraine Ann Loraine added a comment -

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

            Show
            ann.loraine Ann Loraine added a comment - Moved NanoHTTPD library (2.0.5) into shared-lib-wrapper artifact.
            ann.loraine 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
            ann.loraine 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
            ann.loraine 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 .
            ann.loraine Ann Loraine made changes -
            Resolution Done [ 10000 ]
            Status Needs 1st Level Review [ 10005 ] Closed [ 6 ]
            ann.loraine Ann Loraine made changes -
            Workflow Loraine Lab Workflow [ 18388 ] Fall 2019 Workflow Update [ 20112 ]
            ann.loraine Ann Loraine made changes -
            Workflow Fall 2019 Workflow Update [ 20112 ] Revised Fall 2019 Workflow Update [ 22247 ]

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: