Znane jest bardzo dużo metod projektowania programów oraz tyle samo architektur. W dobie społeczeństwa informacyjnego, gdy ogromna ilość ludzi pracuje za pomocą różnych systemów z wykorzystaniem wielu programów narzędziowych powstała potrzeba unifikacji komunikowania się pomiędzy tymi narzędziami. Musiał powstać język porozumiewania się, który mógł przesyłać informacje pomiędzy różnymi architekturami. Odpowiedzią na te zapotrzebowanie został XML. Język znaczników, zbliżony do HTML, który może być czytany przez większość systemów. Z jego wykorzystaniem możliwe jest importowanie informacji np. z MySQL do baz danych Oracle. W szczególności ważne okazało się to dla rozwoju rynku oprogramowanie w rodzaju SaaS (Software as a Service), gdzie współpracuje razem jednocześnie kilkanaście systemów, nie rzadko od innego dostawcy.W aplikacjach typu SaaS użytkownik obsługuje jedynie GUI, bardzo często nie podejrzewa że za wynikiem zapytania, który mu zwrócono jest odpowiedzialnych kilka nawzajem współpracujących systemów. Wszystkie technologie komunikacji między systemami na przykład SOAP korzystają z XML! Bez tego języka ani jedna technologia mobilna nie miałaby możliwości zaistnieć. Z XML o wiele prostsza okazała się praca z wieloma serwerami, co jeszcze bardziej przyśpieszyło ekspansję sieci.