The yarn application model development has thee main entries:
the YarnClient to communicate between the Client to ResourceManager and submit an application.
AMRMClientAsync to communciatie between the ApplicationMaster and the ResourceManager (handling events asynchronously by AMRMClientAsync.CallbackHandler)
NMClientAsync: to communicate between the ApplicationMaster and the NodeManager - Launch containers. handling container events by NMClientAsync.CallbackHandler