Splunk is a self-contained application. The core runs without a GUI and exposes a REST API to the world (accessible by default via port 8089). The Splunk UI uses this REST API. A built-in web server (CherryPy) is used to serve up the UI (by default via port 8000).
For a complete list of third-party software bundled with Splunk, see the documentation.
Splunk runs a web-service on port 8000 which is a GUI front end to access it's REST API which does its work through the
splunkd process running on the server.