Afin de répondre aux problématiques modernes auxquelles sont soumises les solutions informatiques, les architectures applicatives sont devenues de plus en plus complexes. Les applications sont en effet de moins en moins monolithiques, mono technologie, synchrone pour être de plus en plus distribuées, multi-technologiques et événementielles.