Entities are the primary data structures within InRule. They are comprised of one or more value or entity fields, collections, calculations, classifications, notifications, actions, and UI components. Many entities can exist in the same rule application even though they may not be related. An entity may be likened to a COBOL record layout, business object, or data table and is essentially a container to group related fields.
Generally, a rule application schema contains a top-level entity, which is an Entity that is designed to contain all of the relationships to child entities and collections. This type of hierarchy emulates a typical business object model. In the Entity definition, there is not an actual distinction for the top-level entity, it is more so governed by convention and typically placed at the top of the entity list to identify that it is the top-level parent.
Under entities, the data structure that represents the entities is displayed in the navigation tree. There are three element types available within irAuthor; Field, Calculation, and Collection. Some entities may not have any other entities dependent on them. The tree displays a different icon for these . This facilitates knowing which entities are typically most suitable for invoking Test/irVerify on a rule app.
A schema is comprised of one or more entities that may or may not have a relationship to each other. One or more entities provide the main context for rules in rule sets that are associated with the entity. The schema can either be created manually or imported from an external source such as a database, XSD, or a .NET Assembly. In order to import the schema from an external source, you will need to set up external Schemas in irAuthor.
As a general guideline: Manually defining a schema is recommended when prototyping and creating proof-of-concept. Importing from (and binding to) an external schema will allow you to create a complete entity structure using a previously existing data structure. Utilizing an external schema is recommended when creating complex entity structures.
Topics Covered in this Section