Patent ID: 7895241

Claim:
A method for integrating oilfield data in a plurality of formats, the method comprising: storing the oilfield data associated with a plurality of oilfield entities in a first data repository; obtaining, using a computer, a first target metamodel comprising a first structural description of a first plurality of data entities of the first data repository, wherein the first structural description describes database rows and columns of the first data repository; obtaining, using the computer, a domain metamodel interleaved with a first mapping specification, the domain metamodel comprising a second structural description of a domain model, defining a plurality of domain objects within a hierarchy of an oilfield domain, for representing the plurality of oilfield entities in an application programming interface (API); associating, using the computer, the first plurality of data entities of the first target metamodel with the plurality of domain objects of the domain metamodel using the first mapping specification; forming, using the computer, the API based on the domain metamodel, the first target metamodel, and the first mapping specification; generating a domain model source code based on the domain metamodel, the first target metamodel, and the first mapping specification using an automatic code generator; compiling the domain model source code to implement the API; generating a plurality of domain object instances corresponding to the plurality of oilfield entities, wherein at least one of the plurality of domain object instances is instantiated from a domain object of the plurality of domain objects compiled from the domain model source code; and identifying an association between the plurality of oilfield entities with the first plurality of data entities based on the at least one of the plurality of domain object instances; receiving, by the API, a database operation for the domain metamodel, wherein the database operation comprises a plurality of elements that generate a result using data in the domain metamodel; determining that one element of the plurality of elements in the database operation for the domain metamodel is needed to generate the result in a form required by the database operation; executing the database operation after a status of the one element in the database operation is changed from optional to mandatory, and generating the result in the form required by the database operation.