Synchronizing database projects with partner projects
First Claim
1. A computer-implemented method for facilitating development of a database solution, the method comprising:
- an act of a computer system, which includes one or more processors, establishing a first bi-directional model bus between a first partner project and a database project that are hosted within an authoring environment, and a second bi-directional model bus between a second partner project and the database project, the first bi-directional model bus being configured to propagate schema changes between a database schema within the database project and a first database schema reference within the first partner project, the second bi-directional model bus being configured to propagate schema changes between the database schema within the database project and a second database schema reference within the second partner project, each database schema reference being derived from and comprising a different format than the database schema, wherein each bi-directional model bus includes one or more corresponding data contracts that specify;
how to translate schema changes that have occurred to the database schema into a format that is compatible with the corresponding database schema reference, and how to translate schema reference changes that have occurred to the corresponding database schema reference into a format that is compatible with the database schema; and
which changes to the database schema warrant propagation to the corresponding database schema reference, and which changes to the database schema reference warrant propagation to the corresponding database schema;
during development with the authoring environment, an act of the computer system detecting that a plurality of first changes have occurred to the database schema within the database project and, as a result;
determining, automatically based on the one or more corresponding data contracts of the first bi-directional model bus and the corresponding data contracts of the second bi-directional model bus, that a first one or more of the first changes warrants propagation to the first and second database schema references;
determining, automatically based on the one or more data contracts, that a second one or more of the first changes does not warrant propagation to the first and second database schema references;
communicating the first one or more of the first changes to the first partner project through the first bi-directional model bus for application to the first database schema reference, including translating the first one or more of the first changes into a format that is compatible with the first database schema reference, while refraining from communicating the second one or more of the first changes to the first partner project, as specified by the one or more data contracts of the first bi-directional model bus; and
communicating the first one or more of the first changes to the second partner project through the second bi-directional model bus for application to the second database schema reference, including translating the first one or more of the first changes into a format that is compatible with the second database schema reference, while refraining from communicating the second one or more of the first changes to the second partner project, as specified by the one or more data contracts of the second bi-directional model bus, wherein communicating the first one or more of the first changes to the second partner project comprises sending data of a different format than data communicated to the first bi-directional model bus when communicating the first one or more of the first changes to the first partner project; and
during development with the authoring environment, an act of the computer system detecting a second plurality of changes have occurred to the first database schema reference within the first partner project and, as a result;
determining, automatically based on the one or more data contracts, that a first one or more of the second changes warrants propagation to the database schema;
determining, automatically based on the one or more data contracts, that a second one or more of the second changes does not warrant propagation to the database schema; and
communicating the first one or more of the second changes to the database project through the bi-directional model bus for application to the database schema, including translating the first one or more of the second changes into a format that is compatible with the database schema, while refraining from communicating the second one or more of the second changes to the database project, as specified by the one or more data contracts.
2 Assignments
0 Petitions
Accused Products
Abstract
A solution authoring tool that includes an authoring environment that allows for the authoring of multiple projects of a solution including a database project that has a schema and a partner project that has a reference to the schema. When the database project is built and deployed, the database schema is made ready for runtime. When the partner project is built and deployed, the schema reference is provided within the partner software such that the partner software may interface with the database schema at runtime. To reduce or eliminate database schema drift at development time causing runtime errors at runtime, a model bus at least partially synchronizes changes made to the schema in the database project to the schema reference in the partner project, and vice versa.
-
Citations
9 Claims
-
1. A computer-implemented method for facilitating development of a database solution, the method comprising:
-
an act of a computer system, which includes one or more processors, establishing a first bi-directional model bus between a first partner project and a database project that are hosted within an authoring environment, and a second bi-directional model bus between a second partner project and the database project, the first bi-directional model bus being configured to propagate schema changes between a database schema within the database project and a first database schema reference within the first partner project, the second bi-directional model bus being configured to propagate schema changes between the database schema within the database project and a second database schema reference within the second partner project, each database schema reference being derived from and comprising a different format than the database schema, wherein each bi-directional model bus includes one or more corresponding data contracts that specify; how to translate schema changes that have occurred to the database schema into a format that is compatible with the corresponding database schema reference, and how to translate schema reference changes that have occurred to the corresponding database schema reference into a format that is compatible with the database schema; and which changes to the database schema warrant propagation to the corresponding database schema reference, and which changes to the database schema reference warrant propagation to the corresponding database schema; during development with the authoring environment, an act of the computer system detecting that a plurality of first changes have occurred to the database schema within the database project and, as a result; determining, automatically based on the one or more corresponding data contracts of the first bi-directional model bus and the corresponding data contracts of the second bi-directional model bus, that a first one or more of the first changes warrants propagation to the first and second database schema references; determining, automatically based on the one or more data contracts, that a second one or more of the first changes does not warrant propagation to the first and second database schema references; communicating the first one or more of the first changes to the first partner project through the first bi-directional model bus for application to the first database schema reference, including translating the first one or more of the first changes into a format that is compatible with the first database schema reference, while refraining from communicating the second one or more of the first changes to the first partner project, as specified by the one or more data contracts of the first bi-directional model bus; and communicating the first one or more of the first changes to the second partner project through the second bi-directional model bus for application to the second database schema reference, including translating the first one or more of the first changes into a format that is compatible with the second database schema reference, while refraining from communicating the second one or more of the first changes to the second partner project, as specified by the one or more data contracts of the second bi-directional model bus, wherein communicating the first one or more of the first changes to the second partner project comprises sending data of a different format than data communicated to the first bi-directional model bus when communicating the first one or more of the first changes to the first partner project; and during development with the authoring environment, an act of the computer system detecting a second plurality of changes have occurred to the first database schema reference within the first partner project and, as a result; determining, automatically based on the one or more data contracts, that a first one or more of the second changes warrants propagation to the database schema; determining, automatically based on the one or more data contracts, that a second one or more of the second changes does not warrant propagation to the database schema; and communicating the first one or more of the second changes to the database project through the bi-directional model bus for application to the database schema, including translating the first one or more of the second changes into a format that is compatible with the database schema, while refraining from communicating the second one or more of the second changes to the database project, as specified by the one or more data contracts. - View Dependent Claims (2, 3)
-
-
4. A computer program product comprising one or more recordable-type computer-readable storage devices having stored thereon computer-executable instructions that, when executed by one or more processors of a computer system, are configured to cause the computer system to implement a method for facilitating development of a database solution, including the following:
-
establishing a first bi-directional model bus between a first partner project and a database project that are hosted within an authoring environment, and a second bi-directional model bus between a second partner project and the database project, the first bi-directional model bus being configured to propagate schema changes between a database schema within the database project and a first database schema reference within the first partner project, the second bi-directional model bus being configured to propagate schema changes between the database schema within the database project and a second database schema reference within the second partner project, each database schema reference being derived from and comprising a different format than the database schema, wherein each bi-directional model bus includes one or more data contracts that specify; how to translate schema changes that have occurred to the database schema into a format that is compatible with the corresponding database schema reference, and how to translate schema reference changes that have occurred to the corresponding database schema reference into a format that is compatible with the database schema; and which changes to the database schema warrant propagation to the corresponding database schema reference, and which changes to the database schema reference warrant propagation to the corresponding database schema; during development with the authoring environment, detecting that a plurality of first changes have occurred to the database schema within the database project and, as a result; determining, automatically based on the one or more corresponding data contracts of the first bi-directional model bus and the corresponding data contracts of the second bi-directional model bus, that a first one or more of the first changes warrants propagation to the first and second database schema references; determining, automatically based on the one or more data contracts, that a second one or more of the first changes does not warrant propagation to the first and second database schema references; communicating the first one or more of the first changes to the first partner project through the first bi-directional model bus for application to the first database schema reference, including translating the first one or more of the first changes into a format that is compatible with the first database schema reference, while refraining from communicating the second one or more of the first changes to the first partner project, as specified by the one or more data contracts of the first bi-directional model bus; and communicating the first one or more of the first changes to the second partner project through the second bi-directional model bus for application to the second database schema reference, including translating the first one or more of the first changes into a format that is compatible with the second database schema reference, while refraining from communicating the second one or more of the first changes to the second partner project, as specified by the one or more data contracts of the second bi-directional model bus, wherein communicating the first one or more of the first changes to the second partner project comprises sending data of a different format than data communicated to the first bi-directional model bus when communicating the first one or more of the first changes to the first partner project; and during development with the authoring environment, detecting a second plurality of changes have occurred to the first database schema reference within the first partner project and, as a result; determining, automatically based on the one or more data contracts, that a first one or more of the second changes warrants propagation to the database schema; determining, automatically based on the one or more data contracts, that a second one or more of the second changes does not warrant propagation to the database schema; and communicating the first one or more of the second changes to the database project through the bi-directional model bus for application to the database schema, including translating the first one or more of the second changes into a format that is compatible with the database schema, while refraining from communicating the second one or more of the second changes to the database project, as specified by the one or more data contracts. - View Dependent Claims (5, 6)
-
-
7. A computer system, comprising:
-
one or more processors; and one or more computer-readable media having stored thereon computer-executable instructions that, when executed the one or more processors, cause the computer system to implement a method for facilitating development of a database solution, including the following; establishing a first bi-directional model bus between a first partner project and a database project that are hosted within an authoring environment, and a second bi-directional model bus between a second partner project and the database project, the first bi-directional model bus being configured to propagate schema changes between a database schema within the database project and a first database schema reference within the first partner project, the second bi-directional model bus being configured to propagate schema changes between the database schema within the database project and a second database schema reference within the second partner project, each database schema reference being derived from and comprising a different format than the database schema, wherein each bi-directional model bus includes one or more corresponding data contracts that specify; how to translate schema changes that have occurred to the database schema into a format that is compatible with the corresponding database schema reference, and how to translate schema reference changes that have occurred to the corresponding database schema reference into a format that is compatible with the database schema; and which changes to the database schema warrant propagation to the corresponding database schema reference, and which changes to the database schema reference warrant propagation to the corresponding database schema; during development with the authoring environment, detecting that a plurality of first changes have occurred to the database schema within the database project and, as a result; determining, automatically based on the one or more corresponding data contracts of the first bi-directional model bus and the corresponding data contracts of the second bi-directional model bus, that a first one or more of the first changes warrants propagation to the first and second database schema references; determining, automatically based on the one or more data contracts, that a second one or more of the first changes does not warrant propagation to the first and second database schema references; and communicating the first one or more of the first changes to the first partner project through the first bi-directional model bus for application to the first database schema reference, including translating the first one or more of the first changes into a format that is compatible with the first database schema reference, while refraining from communicating the second one or more of the first changes to the first partner project, as specified by the one or more data contracts of the first bi-directional model bus; and communicating the first one or more of the first changes to the second partner project through the second bi-directional model bus for application to the second database schema reference, including translating the first one or more of the first changes into a format that is compatible with the second database schema reference, while refraining from communicating the second one or more of the first changes to the second partner project, as specified by the one or more data contracts of the second bi-directional model bus, wherein communicating the first one or more of the first changes to the second partner project comprises sending data of a different format than data communicated to the first bi-directional model bus when communicating the first one or more of the first changes to the first partner project; and during development with the authoring environment, detecting a second plurality of changes have occurred to the first database schema reference within the first partner project and, as a result; determining, automatically based on the one or more data contracts, that a first one or more of the second changes warrants propagation to the database schema; determining, automatically based on the one or more data contracts, that a second one or more of the second changes does not warrant propagation to the database schema; and communicating the first one or more of the second changes to the database project through the bi-directional model bus for application to the database schema, including translating the first one or more of the second changes into a format that is compatible with the database schema, while refraining from communicating the second one or more of the second changes to the database project, as specified by the one or more data contracts. - View Dependent Claims (8, 9)
-
Specification