Understand how services interact in Open edX
Services included in the Open edX Stack interact with each other in many different ways. This section describes how the services interact and how you can access them.
Forum and LMS
The LMS communicates with the Forum service through an API at http://localhost:18080 for integrating discussions into the learners' course experience.
NOTE: This API is only accessible via localhost.
Check the edX Comments Service/Forums official documentation for more information on this.
XQueue and LMS
The LMS can communicate with the XQueue through an HTTP POST request to the URL http://SERVER-IP/xqueue/submit. The XQueue pushes a response back to the LMS with an HTTP POST request to the callback URL.
XQueue and external graders
Passive graders wait for the XQueue to send them submissions. After that, they respond synchronously with a graded response. The basic workflow comprises the following stages:
- The LMS sends messages to a particular queue.
- XQueue checks its settings and finds that the queue has a URL associated with it. XQueue forwards the message to that URL.
- The passive grader receives a POST request from the XQueue and responds synchronously with the graded response.
- XQueue forwards the graded response to the callback URL the LMS provided in its original message.
NOTE: The Bitnami Open edX Stack does not include any passiver grader.
Active graders pull messages off the XQueue and push responses back to the XQueue. The basic workflow comprises the following stages:
- The test sends messages to a particular queue.
- The active grader polls the XQueue by using a REST-like interface. When it receives a submission, it pushes a response back to the XQueue, also using a REST-like interface.
- XQueue pushes the response back to the LMS.
Check the XQueue official documentation for more information on this.