We can only speculate, but here are some commonly mentioned reasons:
-
Its time has come.
Metamodeling has been around at least since the late 1980s, but with the advent of the Internet and business integration, data integration is obviously a first-order priority. Metamodels are the foundation for data integration, even if they are not always called metamodels.
-
The advent of metamodel-driven software packages.
The first metamodel-driven software packages were CASE tools (aka modeling tools) with an extensible, or fully configurable metamodel. In the latter case they are often called Meta-CASE tools. This allowed user organizations to customize software development methodologies, or industry standards, and their supporting modeling constructs.
Now metamodel-driven software is under the hood in many places, such as e-business integration suites.
-
The increasing availability of metamodel-driven technologies and standards.
The most famous example in this respect may be the Unified Modeling Language (UML), which is (mostly) defined in terms of a metamodel. The UML was not the first, however: previous efforts included CDIF (CASE tool interoperability based on an Integrated Meta-model), PCTE and IRDS (both repository standards), STEP (industrial information exchange) and others.
-
The need to raise the abstraction level.
Metamodels are very good at abstracting from lower-level details of integration and interoperability, and helping with partitioning problems into orthogonal sub-problems of conceptual data, physical data optimization, and control flow. In this respect, metamodels are an ideal helper for complex web services related projects.