Znane jest ogromna liczba metod tworzenia oprogramowania i tyle samo architektur. W czasach społeczeństwa informacyjnego, Podczas gdy wielu ludzi pracuje za pomocą różnych systemów z wykorzystaniem wielu programów narzędziowych pojawiła potrzeba unifikacji komunikowania się pomiędzy tymi narzędziami. Potrzebny był język komunikacji, który mógł przekazywać dane między innymi architekturami. Reakcją na te potrzeby jest XML. Język znaczników, podobny do HTML, który może być czytany przez przeważającą część systemów. Dzięki niemu możliwe jest importowanie danych np. z MySQL do baz danych Oracle. Szczególnie ważne okazało się to dla rozwoju programów w rodzaju SaaS (Software as a Service), gdzie pracuje ze sobą jednocześnie kilkanaście systemów, często od innego dostawcy.W systemach typu Software as a Service użytkownik widzi jedynie UI, często nie podejrzewa że za wynikiem zapytania, który otrzymał stoi kilka a nawet kilkanaście wzajemnie pracujących ze sobą systemów. Wszystkie metody komunikacji między systemami na przykład SOAP opierają się na XML! Bez tego języka żadna technologia mobilna nie miałaby praktycznie szansy istnienia. Z XML bardo prosta okazała się praca z wieloma serwerami, co jeszcze bardziej przyśpieszyło ekspansję sieci.