Istnieje ogromna liczba technologii projektowania oprogramowania i tyleż samo architektur. W czasach społeczeństwa informacyjnego, gdy wielu ludzi pracuje na różnych systemach z wykorzystaniem wielu programów narzędziowych nastała potrzeba zunifikowania komunikacji między tymi narzędziami. Musiał powstać język porozumiewania się, który mógł przekazywać informacje między różniącymi się architekturami. Reakcją na owe potrzeby był XML. Język znaczników, zbliżony do HTML, który może być czytany przez większość systemów. Dzięki niemu możliwe stało się przekazywanie informacji np. z MySQL do Oracle. W szczególności ważne okazało się to dla rozwoju narzędzi typu SaaS (Software as a Service), gdzie działa ze sobą kilka lub kilkanaście systemów, nie zawsze od tego samego producenta.W systemach rodzaju Software as a Service użytkownik obsługuje tylko UI, bardzo często nie wie że za wynikiem zapytania, który mu zwrócono jest odpowiedzialnych kilka a nawet kilkanaście nawzajem pracujących ze sobą systemów. Wszystkie technologie komunikacji między systemami takie jak SOAP opierają się na XML! Bez tej technologii żadna technologia mobilna nie miałaby możliwości zaistnienia. Dzięki XML bardo prosta okazała się praca z wieloma serwerami, co dodatkowo stymuluje rozwój internetu.