The R/3 application server sends and receives data to and from its SAPGUI when displaying R/3 application screens to an end user. The SAPGUI process interacts with one or more Front processes, one for each user session.
The following diagram shows the standard SAPGUI and its Front processes.

Using the GUI interfaces to R/3, an external program can access the data that is communicated between the R/3 application server and its SAPGUI as a method of getting data from or into R/3.
As the following diagram illustrates, the GUI interfaces allow an external program to access R/3 screen data by communicating with the R/3 application server and the SAPGUI.

By using the GUI interfaces an external program can replace the standard SAPGUI with another user interface, which can be either graphical or non-graphical (for example, it can be voice driven).
Programming using the GUI interfaces also allows an external program to monitor or record an end user interaction with SAPGUI screens.
Using the GUI interfaces method requires no knowledge of ABAP programming. It also eliminates the need to learn the business and transaction logic behind an existing R/3 application for which the external program is providing an alternative user interface.
However, since R/3 transaction screens may change between R/3 versions, using this method of integration with R/3 is the most vulnerable to changes.