Powstało wiele metod projektowania programów i tyleż samo architektur. W dobie społeczeństwa informacyjnego, gdy miliony ludzi pracuje za pomocą różnych systemów z wykorzystaniem wielu programów narzędziowych nastała potrzeba zunifikowania komunikacji między tymi programami. Potrzebny był język porozumiewania się, który mógł przesyłać dane pomiędzy innymi architekturami. Odpowiedzią na te potrzeby został XML. Język znaczników, zbliżony do HTML, który jest interpretowany przez dużą część systemów. Dzięki niemu możliwe stało się wysyłanie informacji np. z MySQL do baz danych Oracle. Zwłaszcza ważne stało się to dla rozwoju narzędzi w rodzaju SaaS (Software as a Service), gdzie działa ze sobą kilkanaście systemów, nie zawsze od tego samego producenta.W oprogramowaniu typu Software as a Service użytkownik obsługuje jedynie interfejs, często nie zdaje sobie sprawy że za wynikiem zapytania, który mu zwrócono stoi kilka wzajemnie pracujących ze sobą systemów. Wszystkie techniki komunikacji między systemami takie jak SOAP opierają się na XML! Bez tego języka ani jedna technologia mobilna nie miałaby praktycznie szansy zaistnieć. Z XML o wiele prostsza stała się komunikacja z różnymi serwerami, co bardzo stymuluje rozwój internetu.