Powstało wiele technologii projektowania oprogramowania oraz tyleż samo architektur. W dobie społeczeństwa informacyjnego, Podczas gdy miliony ludzi pracuje za pomocą różnych systemów wykorzystując wiele programów powstała potrzeba unifikacji komunikacji pomiędzy tymi narzędziami. Potrzebny był język porozumiewania się, który mógł przesyłać informacje pomiędzy różniącymi się architekturami. Reakcją na te potrzeby został XML. Język znaczników, zbliżony do HTML, który jest interpretowany przez dużą część systemów. Dzięki niemu możliwe jest importowanie danych na przykład z MySQL do baz danych Oracle. W szczególności ważne stało się to dla rozwoju rynku narzędzi typu SaaS (Software as a Service), gdzie działa ze sobą kilka lub kilkanaście systemów, nie rzadko od innego dostawcy.W oprogramowaniu rodzaju SaaS użytkownik obsługuje jedynie interfejs, bardzo często nie podejrzewa że za wynikiem zapytania, który mu zwrócono stoi kilka a nawet kilkanaście wzajemnie współpracujących systemów. Wszystkie techniki komunikacji między systemami takie jak SOAP opierają się na XML! Bez tej technologii ani jedna technologia mobilna nie miałaby praktycznie szansy istnienia. Dzięki XML o wiele prostsza stała się praca z różnymi serwerami, co ogromnie przyśpieszyło ekspansję sieci.