This pattern is applicable if you are architecting a solution that requires integration with external applications, or applications hosted in different environments. This is also the appropriate pattern if you have existing applications that interoperate with each other, or you want to combine multiple processes into a single workflow.
This pattern applies software elements.