A computer-implemented method performed by at least one processor executing for an application, a unified client and/or a distributed processing platform, the method comprising: accessing, by the at least one processor, a unified client from an application, the unified client including a plurality of sub-clients that are each configured to interface with a respective sub-system of the distributed processing platform that includes a plurality of sub-systems, the distributed processing platform being a Hadoop platform; creating, by the at least one processor, an instance of a unified session for communications between the unified client and the distributed processing platform; creating a stateful instance of a workspace (128; 204; 404) employed by the unified client; building a job graph to enable data to be passed from a first data processing operation to a second data processing operation along the data flow graph, each job handling a corresponding sub-client; wherein the unified session includes a paired set of sub-connections, the connection pairing providing a combination of sub-clients to be chained; executing a job plan according to the job graph within the unified session, wherein during the unified session, interfacing, by the at least one processor, with at least two sub-clients of the unified client to request at least two sub-systems of the distributed processing platform to perform at least two data processing operations being the first and second data processing operations, wherein the at least two sub-clients are different types of sub-clients that interface with different sub-systems of the distributed processing platform; wherein a reference is provided by the first sub-client to the second sub-client of the at least two sub-clients, the reference indicating results of a first data processing operation performed by the first sub-client, wherein the workspace (128; 204; 404) includes intermediate states in a form of references returned to the unified client, the references returned as the results by the first sub-client and consumed by the second sub-client, thus enabling a stateful connection to be maintained. accessing, by the at least one processor, a unified client from an application, the unified client including a plurality of sub-clients that are each configured to interface with a respective sub-system of the distributed processing platform that includes a plurality of sub-systems, the distributed processing platform being a Hadoop platform; creating, by the at least one processor, an instance of a unified session for communications between the unified client and the distributed processing platform; creating a stateful instance of a workspace (128; 204; 404) employed by the unified client; building a job graph to enable data to be passed from a first data processing operation to a second data processing operation along the data flow graph, each job handling a corresponding sub-client; wherein the unified session includes a paired set of sub-connections, the connection pairing providing a combination of sub-clients to be chained; executing a job plan according to the job graph within the unified session, wherein during the unified session, interfacing, by the at least one processor, with at least two sub-clients of the unified client to request at least two sub-systems of the distributed processing platform to perform at least two data processing operations being the first and second data processing operations, wherein the at least two sub-clients are different types of sub-clients that interface with different sub-systems of the distributed processing platform; wherein a reference is provided by the first sub-client to the second sub-client of the at least two sub-clients, the reference indicating results of a first data processing operation performed by the first sub-client, wherein the workspace (128; 204; 404) includes intermediate states in a form of references returned to the unified client, the references returned as the results by the first sub-client and consumed by the second sub-client, thus enabling a stateful connection to be maintained.