1. Connection to Multiple - Concurrent - Data Sources
MIQ automates this process – through Wizards – or Web Services - connecting with multiple concurrent data sources of any file type and/or structure without any involvement of IT resources in the development of data pre-processing routines. In all connections, MIQ simply needs to know the data source API, the associated data model, and that each data source is exposed on the server, network or Internet.
Access, extraction and transformation of data elements occurs according to any one of (a) a prescribed event, (b) a user defined schedule, or (c) real-time reaction to a predefined data state condition. Once triggered, MIQ will automatically execute its ETL processes against the data sources and their defined data elements so the required output data elements are delivered in accordance with the data type and model of the destination application.
MIQ will execute in real-time, according to event or data state “triggers”, or to a user time schedule complying with network load balancing, or other time defined constraints. MIQ functions off “live” data managed by their existing applications. This is an essential factor when using MIQ to conditionally execute based on data state conditions. In such cases, effective execution is dependent on immediacy of access to accurate data.
MIQ imposes no limit to the number of active data sources, or data elements, exposed for extraction and/or transformation.
2. Business Rules Based Transformation
MIQ’s transformation capability is purposed for environments where data is complex and where volatility exists as a consequence of data volumes, change rates, and levels of information interaction with operational processes and management decisions. While some input data elements may pass unaltered from input to output, as defined by the user and executed with a simple “Point-and-Click”. Others may be used in calculations to derive a new output element that doesn’t exist on the input side. Others may simply be applied as amendments to other data elements that are then modified before output, e.g. metrics for space planning positioning of variable shelf tags. Others may be completely altered by the application of a business rule. These transformation steps are user defined and are as simple or as complex as the business objectives dictate. MIQ automatically executes each time it extracts data elements from the defined data sources. The Transformation Steps include:
- Merge data elements from multiple sources into a single output string
- Apply event or condition calculations on inbound data elements to create a single “derived” data element output.
- Use information from one data source to pre-define how data elements are applied and deployed on the output string.
- Use rules engine “listeners” to examine data states for predefined conditions with rules based execution actions in response to validated conditions.
- Execute user defined business rules to create, modify and/or enrich the output data elements without procedural code development.
MIQ’s IQ Platform embeds its own business rules engine developed of the Java Expert Systems Shell, (JESS) Libraries from Sandia Laboratories. The IQ rules engine is based on JESS Rules Engine Libraries Version7.1, and is not only advanced in its functionality, but includes high performance scalability with large rules sets and data volumes. The IQ rules engine uses the Rete algorithm to process rules; a mechanism for solving the difficult many-to-many matching problem. It has many unique features including backwards chaining and working memory queries, and can directly manipulate and reason about Java objects. A powerful Java scripting environment, from which you can create Java objects, call Java methods, and implement Java interfaces without compiling any Java code is also included. We have also added a business user editor as an easy-to-use development environment for complex business rules. Optionally, the JESS Eclipse based rules editor is also available.
The Business Rules Engine is the power within the MIQ Transformation component, where the “state” of an extracted data element might be a “trigger” for the conditional execution of a rule applied to other defined data elements. Data states, such as those within sales history, consumer demographics, affinity analyses and others, can be “triggers” for rules execution. Rules and conditions can be modified quickly and easily by experienced business users without IT intervention.
Collectively, the MIQ Transformation capabilities optimize extraction, merge, analysis, modification and deployment of strategically relevant information, regardless of where it is maintained, so long as it exists and is accessible to the retailer’s network.
3. MIQ's Load and Delivery of Output Data
During the implementation, or change, set-up, MIQ exposes a framework for defining the required output data feeds and connections. MIQ includes mechanisms for multiple “optional” output data file types that cover all possible combinations required by a retailer’s existing and new applications initiatives. These can be as varied as the output of an Excel spreadsheet for use in another application, the creation of a table for populating content into some other database, XML feeds, (with auto-generated DTDs), to an on-line Portal, or as a prescribed data model appropriate to print collections for use in existing print or digital messaging.
Examples of the output options include: Web Services exposure, Services Defined File, Delimited File, XML File, User Defined XML, Database, or ShopIQ Media Collection. This ShopIQ Media Collection is the specific output format required by the ShopIQ product for its printing of signs and/or tags.
The detailed specification of the data sources, data elements and data outputs to be delivered emerges as part of the MIQ implementation project. This usually takes no more than 8 weeks to see MIQ in production.
MIQ really doesn’t care what the data is or where it goes. It just executes to the retailer’s specification. In this way, MIQ can be easily repurposed to a variety of information management tasks where timing and accuracy of execution are critical.
|