qbo.Application

The application module provides baseline functionality for all other classes.

Features include:
  • AbstractObject: the base class for all data-centric QBO modules
  • GenericObject: the base class for all generic classes that use Object/ID to indicate parent records
  • SqlPattern: creates SQL statements dynamically using patterns perfected over the past decade
  • HttpHander: provides late-binding wiring between RESTful calls and QBO modules
  • BusinessRule: configure business rules via the front-end
  • Matrix: use weighted logic (inference engine) to choose a path
Interfaces:
  • IPerson: defines a contract for implement security
  • IQboObject: defines a WFC ServiceContract for all AbstractObject-derived classes
  • IQueue: defines a contract for implementing queuing
  • IService: defines a contract for invoking custom DLLs, typically to interface with third party systems
  • IMethodListener: defines a contract for calling plugins wired in the application tier
  • ITemplate: defines a contract for template-driven classes
  • IValidator: defined a contract for a validation engine
  • IXsltExtension: defines a contract for XSLT extension objects
Configuration classes (see qbo.Application.Configuration namespace) include:
  • BaseConfiguration: a base class that other QBO3 configuration classes derive from; handles near-real-time updates of configuration data in a server farm
  • ObjectConfiguration: handles the configuration of all AbstractObject-derived classes
  • DbStatement: defines a data operation (equivalent of a stored procedure)
  • DbFilter: defines reusable data filters
  • DbDimension: defines custom dimensions
  • Script: defines a javascript component to be used in the application
  • StyleSheet: defines a stylesheet component to be used in the application
  • XsltExtension: defines Xslt Extension objects to be used in the application
Data modules include:
  • BusinessRule: table containing power-user-defined business rules that are enforced in the application tier
  • Calendar: table containing power-user-defined calendars - working days, holidays, etc.
    • Holiday: table containing holidays that apply to a specific calendar
  • ConfigurationEntry: table containing power-user-defined extensions to standard configuration (listed in the section above)
  • Matrix: table containing power-user-defined rules that are enforced through power-user configuration, such a workflows and processes
    • MatrixDimension: an input to a Matrix
    • MatrixMeasure: an output of a Matrix
    • MatrixFact: a 'cell' in a Matrix
  • ObjectLink: table used to represent a connection between two object
  • ObjectQueue: table containing future and failed queued messages
  • ObjectStatus: table containing allowed Status values for a given table
  • ObjectType: table containing allowed Type values for a given table
  • ObjectSubscription: table used to track external foreign keys for a given row
  • Schedule: table containing power-user-defined schedules (E.g. 'Daily at 3:15 am')
  • SearchIndex: table containing power-used-defined attributes to another object