The preceding sections have already set out the basic concept. If we assume the different parts of a cross-system business application and their interactions to be “hard-coded” on the individual systems the process spans, then every change at the technical implementation level (such as changing a server address) would entail a change of the whole business process. This is time-consuming, error prone, and does not scale for complex business processes and large system landscapes. Therefore, one basic principle is to decouple the business semantics from the technical details of the concrete system landscape. Business semantics are, for example, the business flow of a process and its separation into individual process components, as well as the structure of exchanged data. These aspects of a business process are merely determined by business considerations rather than by details of the implementation or of the concrete system landscape.