Znane jest wiele technik projektowania oprogramowania oraz tyle samo architektur. W dobie społeczeństwa informacyjnego, Podczas gdy ogromna ilość ludzi pracuje za pomocą różnych systemów wykorzystując wiele narzędzi powstała potrzeba unifikacji komunikowania się między tymi narzędziami. Potrzebny był język porozumiewania się, który był wstanie przesyłać informacje pomiędzy innymi architekturami. Reakcją na owe potrzeby jest XML. Język znaczników, zbliżony do HTML, który może być interpretowany przez dużą część systemów. Dzięki niemu realne jest importowanie danych na przykład z MySQL do baz danych Oracle. W szczególności ważne okazało się to dla ewolucji rynku oprogramowanie typu SaaS (Software as a Service), gdzie pracuje razem jednocześnie kilka lub kilkanaście systemów, nie rzadko od innego producenta.W systemach typu SaaS klient widzi tylko GUI, często nie wie że za wynikiem zapytania, który otrzymał stoi kilka nawzajem współpracujących ze sobą systemów. Wszystkie technologie komunikacji pomiędzy systemami na przykład SOAP opierają się na XML! Bez tej technologii żadna technologia mobilna nie miałaby praktycznie szansy zaistnienia. Dzięki XML bardo prosta okazała się komunikacja z wieloma serwerami, co dodatkowo przyśpieszyło rozwój sieci.