Mule runtime engine (Mule) is a lightweight integration engine that runs Mule applications and supports domains and policies. Mule applications, domains, and policies share an XML DSL (domain-specific language).
Mule applications connect systems, services, APIs, and devices using API-led connectivity instead of point-to-point integrations. Mule applications provide functionality for message routing, data mapping, orchestration, reliability, security, and scalability.
Anypoint Studio and Flow Designer support Mule application development.
Domains enable you to share global configurations that Mule applications need to reuse, such as default error handlers, shared properties, scheduler pools, and component configurations. You can only deploy domains when running Mule runtime engine on premises.
See Shared Resources for information about developing and configuring Mule domains by using Anypoint Studio.
See Deploy a Domain for domain deployment instructions.
Policies on HTTP-based APIs can enforce security, regulate traffic through Mule applications, and adapt APIs to your business needs.
Mule includes an embedded API Gateway, which enables you to apply
security policies to an API, enrich incoming or outgoing messages, and add
capabilities to an API without having to write any code.
See API Gateway Capabilities for additional information.
API Manager supports the configuration of automated policies. Custom policy development and configuration are also supported.
Maven is a project management utility that Mule implements to enhance project development. Mule provides built-in Maven functionality. For the Mule runtime engine, you can integrate the packaging, testing, and deployment of your Mule applications, domains, and custom policies with your Maven lifecycle using the Mule Maven plugin.
For details, see Maven Support in Mule.
Mule Installation, Deployment, and Management
For a Mule app to run, it must be deployed to an environment where the Mule runtime engine is installed.
Mule is packaged within the Studio IDE and with Design Center on Anypoint Platform so that you can run a Mule app as you design it.
For production and pre-production deployments of Mule apps, you can use Runtime Manager to deploy Mule apps to runtimes within CloudHub and other supported platform as a service (PaaS) solutions.
CloudHub is a fully managed, cloud-based integration platform as a service (iPaaS) for Anypoint Platform that enables you to run your Mule apps without requiring you to provide Mule runtime engines or the infrastructure on which your apps run. You use Runtime Manager to deploy Mule apps to CloudHub, select the Mule version, set the number of vCores needed to run the app, and so on.
Hybrid deployment models manage Mule apps and runtimes from the Cloud while running them in a datacenter that is managed by your company:
For remote Mule runtimes (also called standalone or "naked" Mules), you start Mule runtimes from your datacenter, but you can deploy and manage Mule apps from the Cloud, through Runtime Manager. In this deployment model, you provide the infrastructure and Mule runtime (see Run Mule Runtime Engine On-Premises).
For a hybrid PaaS deployment, you set up and run the PaaS on your company’s datacenter and use Runtime Manager to manage Mule apps within the PaaS. In this case, you provision the infrastructure in which the apps run. To guarantee the high availability of Mule apps, you use Runtime Manager to handle Mule runtimes. MuleSoft also provides the built-in PaaS solution, Runtime Fabric, which runs Mule runtime engines in a "containerized" environment.
In addition to using Runtime Manager, you can perform deployments and manage Mule apps with Anypoint CLI 3.x, which includes commands for deployments and a number of Anypoint Platform use cases.