Istnieje bardzo dużo metod tworzenia oprogramowania oraz tyle samo architektur. W dobie społeczeństwa informacyjnego, gdy miliony ludzi pracuje za pomocą różnych systemów wykorzystując wiele narzędzi pojawiła potrzeba zunifikowania komunikacji pomiędzy tymi programami. Musiał powstać język porozumiewania się, który był wstanie przekazywać dane między innymi architekturami. Odpowiedzią na owe zapotrzebowanie jest XML. Język znaczników, zbliżony do HTML, który jest interpretowany przez większość systemów. Z jego wykorzystaniem możliwe jest przekazywanie danych np. z MySQL do baz danych Oracle. W szczególności ważne stało się to dla ewolucji rynku programów typu SaaS (Software as a Service), gdzie pracuje razem kilka lub kilkanaście systemów, nie zawsze od tego samego producenta.W oprogramowaniu rodzaju SaaS użytkownik widzi jedynie UI, bardzo często nie zdaje sobie sprawy że za wynikiem pytania, który mu zwrócono jest odpowiedzialnych kilka nawzajem współpracujących systemów. Wszystkie technologie komunikacji między systemami na przykład SOAP korzystają z XML! Bez tej technologii żadna technologia mobilna nie miałaby praktycznie szansy zaistnienia. Dzięki XML o wiele prostsza okazała się praca z wieloma serwerami, co dodatkowo stymuluje ekspansję sieci.