# MPQR Reference Application Architecture
source: https://developer.mastercard.com/mastercard-merchant-presented-qr/documentation/server-apis/reference-app/application-architecture/index.md

In this tutorial, you will learn how to create a reference application that utilizes both MPQR Device SDKs and MPQR APIs. This reference application uses the Spring IO middle-tier application server to allow secure communication between client devices with the MPQR APIs.

The middle-tier server is written in Java 8 using the Spring IO framework and exposes REST API endpoints to the client applications. Private keys and Mastercard account access information are stored securely in the middle-tier server; this way, the client applications never have to store sensitive information or keys locally.

Session management and data storage is handled by the Spring IO server as well.

![](https://static.developer.mastercard.com/content/mastercard-merchant-presented-qr/documentation/img/mc-ig-f-architecture2.png)
