Details
-
Type:
Task
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: None
-
Labels:None
-
Story Points:1.5
-
Epic Link:
-
Sprint:Spring 2019 Sprint 5, Spring 2019 Sprint 6
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
- relates to
-
IGBF-1635 Develop a strategy to refactor REST endpoint code used by Galaxy/BAR/CyVerse (maybe AppStore)
-
- Closed
-
Adding Image of approach explained by Professor Loraine