1. A method for integrating execution of, and data sharing between, a plurality of printed circuit board (PCB) application programs simultaneously executing upon a computer, comprising: (a) generating, by using the computer, data regarding a PCB design, said data being generated by a first application of the plurality in response to a user input directed to the first application; (b) storing the generated data within a first database associated with the first application; (c) notifying a message server program of the data generated in step (a), wherein the message server program is also simultaneously executing upon the computer, and wherein the notification is provided by the first application; (d) receiving, in second and third applications of the plurality, notification from the message server program of the data generated in step (a); (e) storing, in response to the notification received in step (d), at least a portion of the data generated in step (a) within a second database associated with the second application and within a third database associated with the third application; (f) generating additional data regarding the PCB design, said additional data being generated with the second application in response to a user input directed to the second application and using at least a portion of the data stored in the second database in step (e); (g) notifying the message server program of the data generated in step (f), wherein the notification is provided by the second application; (h) receiving, in the first and third applications, notification from the message server program of the data generated in step (f); (i) storing, in response to the notification received in step (h), at least a portion of the data generated in step (f) within the first database and within the third database; and (j) generating further data regarding the PCB design, said further data being generated with the third application in response to a user input directed to the third application and using at least a portion of the data stored in the third database in step (i), wherein steps (c) through (e) and steps (g) through (i) occur without manual user invocation of a separate command to transfer data between databases, the data stored in the second database in step (e) includes data not used by the second application, the data stored in the first database in step (i) includes data not used by the first application, and the data stored in the third database in step (i) includes data not used by the third application.