У них уже есть UML-диаграмма, нарисованная на этой странице:
https://developers.google.com/web-toolkit/doc/latest/tutorial/RPC
GWT RPC рассматривается как «волшебство» для стандартного синтаксиса Java, поскольку они создают отношения между интерфейсами GreetingService и GreetingServiceAsync, когда их нет (по стандартному синтаксису Java). С компилятором GWT, когда он видит интерфейс, расширяющий «RemoteService», они автоматически ожидают, что это парный интерфейс с тем же именем + «Async», который реализует те же имена методов (но у них немного другая структура).
Из синтаксиса Java единственное, что связывает воедино GreetingService и GreetingServiceAynx, - это вызов GWT.create. Отношения между серверной стороной GreetingServiceImpl и GreetingService просты (Impl реализует интерфейс).