About the Mule Application
You typically create Mule apps to perform system integrations. Mule apps are configured to run in Mule Runtime. A request to a Mule app triggers Mule to encode the request and data in a Mule Event, and to pass it along a single or multiple threads.
The main building blocks of Mule apps are connectors, components, and modules that provide connectivity to external servers, handle data transformations, and route and process Mule events.
The Mule app is defined in an XML document that specifies dependencies needed to run the app. Though it is possible to write the XML by hand, you can use the graphical user interfaces in Design Center or Anypoint Studio. As you use these GUIs to structure and define the behavior your Mule app, the underlying XML is provided for you. In Studio, the XML is also available for viewing and editing.