Istnieje wiele technik tworzenia oprogramowania oraz tyleż samo architektur. W czasach społeczeństwa informacyjnego, gdy wielu ludzi pracuje na różnych systemach z wykorzystaniem wielu narzędzi nastała potrzeba unifikacji komunikowania się między tymi narzędziami. Musiał powstać język porozumiewania się, który mógł przesyłać informacje między różniącymi się architekturami. Reakcją na te potrzeby był XML. Język znaczników, zbliżony do HTML, który jest czytany przez dużą część systemów. Dzięki niemu możliwe stało się importowanie danych dla przykładu z MySQL do Oracle. Szczególnie ważne okazało się to dla ewolucji narzędzi w rodzaju SaaS (Software as a Service), gdzie współpracuje ze sobą kilka lub kilkanaście systemów, nie rzadko od innego dostawcy.W aplikacjach rodzaju SaaS użytkownik obsługuje tylko interfejs, często nie podejrzewa że za wynikiem pytania, który otrzymał jest odpowiedzialnych kilka a nawet kilkanaście wzajemnie współpracujących ze sobą systemów. Wszystkie technologie komunikacji między systemami na przykład SOAP korzystają z XML! Bez tej technologii ani jedna technologia mobilna nie miałaby praktycznie możliwości zaistnienia. Z XML o wiele prostsza okazała się praca z wieloma serwerami, co dodatkowo przyśpieszyło rozwój internetu.