The following section shows how the main concepts described in the previous sections are used to implement some of the other features of Aware IM.
Business object groups
In Aware IM it is possible not only to define business objects but also capture similarities between different business objects by using a concept called business object group. A business object group consists of business objects where each member of the group contains attributes common to all other members (as well as its own unique attributes) – for example, Account group may contain LoanAccount and CreditAccount objects. Both accounts have common attributes, such as for example, account balance or holder name, as well as unique attributes, such as credit limit or loan amount.
- Business object groups can be used in queries to search the system for objects of different types based on the criteria that use common attributes of the group.
- Business object groups can be used in relationships – one object can refer to a group rather than to a particular object.
- Business object groups can be used in rules – a rule can check common attributes of a group rather than a particular object.
In Aware IM it is possible not only to define business logic of the system using business rules, but also to define presentation logic using the same syntactic structures as those used in rules. The presentation logic determines how data is presented to the user.
Aware IM uses a concept called tag to refer to values of business object’s attributes in documents, forms and reports. The example of tags is shown below:
Your policy <> expires on <>
Note that it is possible to refer to any related object through any levels of relationships inside a tag.
Aware IM also allows specifying conditions that determine when a visual element with particular properties will be shown in a form or report (if at all). The syntax of these conditions is the same as the one used in business rules.
In Aware IM it is possible to define a service that will be exposed to the outside world so that any other software systems can use the service to access the functionality of the Aware IM-based system. The definition of services is very high level – in particular, business objects are used to indicate service parameters.Aware IM automatically converts the high level definitions of Aware IM services into web services and constructs the appropriate WSDL files. Web services can be accessed by any other software system via an industry standard SOAP protocol.
Aware IM also allows discovering existing web services of other systems, converting them into higher-level definitions of Aware IM services and automatically constructing definitions of business objects as service parameters. The discovered services of the existing systems can be used in business rules.
Aware IM offers a rich set of API that allow programmers to plug in custom extensions written in the Java programming language in those circumstances when a certain feature of the target system cannot be implemented using the built-in capabilities. The following components can be plugged in as custom extensions:
- Custom channels (see Technical Architecture)
- Function libraries
- Report components
- Document template types