Why Use Automation Objects?
Go Up to Automating ER/Studio Data Architect
Automation Interface Objects are scriptable controls for most of the functionality in ER/Studio Data Architect. You can create custom macros to automate repetitive tasks or to extend the functions already found in ER/Studio Data Architect. For example:
- You might want to write an external program to control ER/Studio Data Architect if you are integrating several applications into one business process, or to re-use a body of legacy code.
- Within ER/Studio Data Architect you might want to add entities to twenty different models. You want each entity to be the same color, to have the same attributes and notes. You could do each one by hand, over and over. Or with the Automation Objects, you can automatically create the entities with the necessary attributes and notes. Each time you run the script, the operation is executed exactly the same way ensuring that there are no forgotten attributes or misnamed entities.
- You can create event handlers to run automatically every time you perform some GUI action within ER/Studio Data Architect, such as, Add Entity. See Creating Event Handlers. You can also write handlers for update events, see Handling Update Events.
Many scripts begin as modifications to existing macros, so pick an ER/Studio Data Architect macro that approximates what you would like to do and change it. The macros included with ER/Studio Data Architect are described in Sample Macros Installed with ER/Studio Data Architect. You can also connect with other users to share in their knowledge in the IDERA Community.
Objects and Object Models
Object modeling is the central concept of modern object-oriented software. For further information on object modeling, see any object-oriented programming text, or try the UML (Unified Modeling Language) Web site. It is not necessary to understand UML to use the automation interface. The organization of controls can seem more intuitive to those familiar with object-oriented software. Otherwise, the summary below can be helpful to newcomers.
An "object" is some code functions and the data used by those functions. Object-oriented models wrap the (presumably related) functions and data into a single package with one name, its "object" name. The word "function" essentially means "method." Similarly "data" is "property" or "attribute."
One analogy is an automobile engine, where we have an "Engine" Object. An object property might be the "Engine.Speed." A method would be the "Engine.Tachometer" which gets "Engine.Speed" and displays it.
Similarly, an entity object has an Indexes method that gets the current Indexes and displays them.