OWB Model Introspection
By David Allan on Jun 26, 2007
There are useful OMB APIs (see OMBDESCRIBE) to introspect the OWB model and query object definitions. They provide a useful insight when building accelerators. I've used them for building a few things including the configuration experts on the exchange (slice and dice object/properties/configurations).
So if you want to see the core properties of an object (for example TABLE) you can perform the following from within OMBPlus (or panel):
This goes for all OWB object types.
One of the things I like to have is a reference document for a model which clearly defines the capabilities of stuff in the model. OWB provides an API guide for the OMB grammar but most of the properties are mixed in with the grammar, the formatting of the properties is not friendly and its difficult to find things. I started to play with the OMBDESCRIBE api to see if I could generate a model document for the objects in OWB.
With the report I wanted to indicate the properties for each object type in the OWB model; so for example I could see the properties defined for the mapping itself, or the properties defined for the table operator within the mapping. There are other interesting points such as which properties were configurable (could have different values per configuration), which were standard properties and which were user defined extension properties - these are all things with the regular doc it is hard or impossible to find.
I packaged the generator as an expert then at least people can see the use of the OMBDESCRIBE APIs and also use it to document their extensions to the OWB model (since if you have created user defined objects they will also be documented). The resultant document is very raw and highlights some holes that I hope will get filled over time, but I often use this when I quickly want to see for an object what the property name is.
If you want to have a look at the generated documentation it is here, the expert that generated this is here (import MDL and run Public Experts/OWB_UTILITIES/MODEL from the global explorer).
As you can see from the doc it is very raw, but does at least concisely list all the properties for that particular type in a table(phew). Getting this enriched with all the core associations, descriptions, members for domains, object model etc would be a good step forward.