Istnieje bardzo dużo języków projektowania programów oraz tyleż samo architektur. W dobie społeczeństwa informacyjnego, Podczas gdy ogromna ilość ludzi pracuje na różnych systemach z wykorzystaniem wielu programów narzędziowych powstała potrzeba unifikacji komunikowania się pomiędzy tymi programami. Musiał powstać język komunikacji, który mógł przesyłać dane pomiędzy innymi architekturami. Odpowiedzią na te potrzeby jest XML. Język znaczników, zbliżony do HTML, który jest interpretowany przez przeważającą część systemów. Dzięki niemu realne jest wysyłanie danych np. z MySQL do Oracle. Szczególnie ważne stało się to dla ewolucji rynku programów w rodzaju SaaS (Software as a Service), gdzie pracuje razem kilka lub kilkanaście systemów, nie rzadko od innego dostawcy.W oprogramowaniu rodzaju SaaS klient widzi jedynie GUI, często nie wie że za wynikiem pytania, który mu zwrócono jest odpowiedzialnych kilka a nawet kilkanaście wzajemnie współpracujących ze sobą systemów. Wszystkie metody komunikacji między systemami na przykład SOAP korzystają z XML! Bez tej technologii żadna technologia mobilna nie miałaby praktycznie szansy zaistnieć. Z XML o wiele prostsza okazała się komunikacja z wieloma serwerami, co bardzo przyśpieszyło ekspansję sieci.