Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 2 Project Design Tutorial : Define the Account Concept

Define the Account Concept
In this task, you define the Account concept, which holds basic information about an account: an ID, a balance, an average monthly balance, and an account status. You also learn some useful information about concepts and how they are used.
Learning Points
What is a concept?  A concept type is a definition of a set of properties that represent the data fields of an entity. Concept types are like Java classes, and concept instances are like Java objects.
How are concept instances created?  Concept instances are created by rules and rule functions. Information from event properties or payloads is often used to create concept instances, but other information can be used, for example, the results of a query or a calculation.
What is a database concept?  A TIBCO BusinessEvents add-on product, TIBCO BusinessEvents Data Modeling, provides a feature that enables you to create concepts by importing them from a database. A set of functions enables you to update the database record to account for changes made in TIBCO BusinessEvents. Unlike regular concepts, database concept instances are not asserted to the Rete network automatically, and they don’t track history. (The TIBCO BusinessEvents Data Modeling add-on also provides a state modeler functionality.)
How can I persist concept instances?  Instances of concepts (and events) are also known as "facts" and "entities." They can be persisted in various ways, generally using a cache and backing store, as determined by the business need. Later tutorials explain these features.
How is history tracked?  When the History setting for a concept property is 0 (zero) the current value is stored without a date-time stamp. When the history setting is 1, the current value is stored, along with the date and time the value was added or changed. When the history value is greater than 1, TIBCO BusinessEvents tracks changes to property values up to the specified number (using a ring buffer). The Policy setting additionally determines what values are recorded, all values or only changes to the prior value.
You’ll set the Debits property history, to track "All Values," that is, TIBCO BusinessEvents records the value of the property every time an action sets the value, even if the new value is the same as the old value — a person can debit the account twice by the same amount. For a property such as "address" you might want to track only changes to the value.
More Information
Chapter 3, Concepts in TIBCO BusinessEvents Architect’s Guide.
Chapter 11, Concepts in TIBCO BusinessEvents Developer’s Guide.
Task H Define the Account Concept
(The State Models and Auto Start State Models fields appear only if you also use the TIBCO BusinessEvents Data Modeling add-on product.)
1.
Right click the Concepts folder, and select New > Concept.
2.
You see the New Concept Wizard. In the Filename field, type Account. In the Description field, type This concept maintains history for account transactions. Click Finish.
3.
The Multiple field is used to define an array property. In this release, domains are used only with TIBCO BusinessEvents Decision Manager, a TIBCO BusinessEvents add-on product.
You may wonder where the account ID from the incoming event will be stored. It will go into the concept’s extId attribute.
 
Attributes  Concepts, events, and scorecards have some built-in attributes, in addition to the properties you define here. The attribute extId, referenced as @extId, will hold the account ID.
The extId must be unique across the cluster  It’s important to note that the optional extId attribute, if used, must be unique across all objects in the cluster. This attribute is used for events as well as for concepts. For example If you use database concepts (available in TIBCO BusinessEvents Data Modeling add on) you may expect to use the primary key from the database as the extId. However, that would not be possible if more than one table contains the same columns in its primary key.
Concept Relationships  Concepts can have containment and reference relationships with other concepts. You set these up as concept properties, and define the kind of relationship by selecting an appropriate data type for the property. For example, a car concept can contain Wheel concepts, and can have a reference relationship to a Dealership concept.
Inheritance  Concepts can also inherit from other concepts (and events can inherit from other events). Inheritance is a programming relationship and not an ontology relationship. It enables you to extend a base type for more efficient project management. See Define the AccountOperation, CreateAccount, Debit, and Reply Events for important information about inheritance.
4.
Summary and Next Steps
You have defined a concept type to hold information about bank accounts. The last step in building the ontology of your project is to set up a scorecard to hold fraud detection criteria that are used in rules.

Copyright © TIBCO Software Inc. All Rights Reserved