Znane jest ogromna liczba 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 pojawiła potrzeba zunifikowania komunikacji między tymi programami. Potrzebny był język komunikacji, który był wstanie przekazywać informacje między innymi architekturami. Odpowiedzią na te zapotrzebowanie został XML. Język znaczników, podobny do HTML, który jest interpretowany przez przeważającą część systemów. Dzięki niemu możliwe stało się importowanie informacji na przykład z MySQL do baz danych Oracle. Szczególnie ważne okazało się to dla rozwoju rynku oprogramowanie typu SaaS (Software as a Service), gdzie pracuje razem jednocześnie kilkanaście systemów, często od innego dostawcy.W oprogramowaniu typu Software as a Service użytkownik obsługuje jedynie UI, często nie zdaje sobie sprawy że za wynikiem pytania, który mu zwrócono jest odpowiedzialnych kilka a nawet kilkanaście nawzajem pracujących systemów. Wszystkie technologie komunikacji pomiędzy systemami na przykład SOAP korzystają z XML! Bez tego języka żadna technologia mobilna nie miałaby praktycznie możliwości zaistnieć. Z XML o wiele prostsza stała się komunikacja z wieloma serwerami, co ogromnie przyśpieszyło rozwój sieci.