Overview of Enterprise Integration

The Axeda Platform provides you with the tools to quickly connect your assets to your Enterprise Applications.  The platform captures live information about all your fixed and mobile assets, giving your CRM, ERP, and other enterprise systems up-to-date data to speed operations.  For example, detected product faults can trigger automatic generation of a trouble ticket in a CRM system, dispatching field technicians with detailed information on required repairs.  Usage data can be sent to billing and supply chain management systems, eliminating error-prone manual steps and processing delays.  But enterprise integration is not simply about a way to forward asset data to enterprise servers.  Asset data is upgraded in value as it passes through the platform, from data to information to business value.

The platform allows you to:

  • retrieve asset history as well as current values;
  • express business rules in a simple way
  • extend rules using a modern Java-based programming language
  • access platform functions via the SDK
  • call web services to supplement or complement the data flowing from assets
  • deliver business information reliably using MQ

Asset History

When asset data arrives at the platform, its disposition depends on business rules that you write.  So depending on those business rules, the arrival of some new data may result in data being formatted and sent to an enterprise server, or the data may simply be process and retained on the platform -- the platform can store all data items, alarms and location data sent by an asset.  Which data is stored -- and how much -- is adminstratively configurable.

Expression Rules

An expression rule is just a simple IF-THEN-ELSE way of expressing business rules, but these business rules control the flow of data from your assets to your enterprise applications.  Expression rules can be used to:

  • Find all the events of a certain type within a certain time;
  • Process incoming data into new data items;
  • Make a web-service call to open a ticket in a CRM system
  • Write entries into an audit log
  • Send information to an ERP system
  • Notify an operator via SMS

When new data arrives, its arrival is an event which can trigger a number of expression rules, depending on the exact data which arrives, which can consist of one or more alarms, location data and one or more data items.  For example, the arrival of an alarm will cause alarm rules to be triggered, and the arrival of a data item will cause data rules to be triggered.  In addition, only expression rules associated with the incoming data's model will be triggered.  This is explained further in the articles on Expression Rules and Expression Rule Triggers.

Groovy Scripts

But Expression Rules are also extensible, since any part of the rule (i.e., the IF, THEN or ELSE part) can call a Groovy script.  Groovy scripts connect asset data on the platform to external systems.  You can write scripts that reformat, push and pull information to and from other systems.

Groovy is a modern programming language based on Java.  It’s a good choice for extending business rules because it can be simpler than Java, but it’s no less powerful.  And Groovy scripts have access to all platform functions via the Platform SDK.  You can find more information, including pointers to code samples, in the Groovy Scripting article.

The SDK

The Axeda Platform SDK is a set of APIs that allows developers to extend and customize the Axeda Platform via Groovy. The Axeda SDK exposes the platform data model, functions and services, allowing Groovy scripts to configure, search and retrieve the objects and data on the platform.  More information about the SDK can be found in the Axeda Platform Developers' Guide and the javadocs.

Delivering information to enterprise applications

The platform provides two different ways for Groovy scripts to deliver information to enterprise applications:  MQ and calling web services.

The Axeda Platform includes a Message Queue which Groovy scripts can use to send messages and relevant data about any event that occurs on the platform.  Enterprise applications can subscribe to receive these messages using the reliabile transmission and queueing features of MQ.

In the case of enterprise applications that expose web services, Groovy scripts can call the web services to deliver data or invoke other services.  A simple example showing how to call a web service is the Send a Tweet code snippet.

Calling web services can also be an important way to add value to raw data.  A simple example is calling a lookup service to translate a numeric code into a text string before passing an alarm to an operator -- this might be used for any code, such as an error code, UPC or internal product number.  There is a good step-by-step tutorial in Using Cloud Services in Rules, and another example in the Get Precipitation code snippet.

Summary

The tools provided by the Axeda Platform allow application developers to focus on what’s important―the unique value of the application being built.  The combination of an advanced rules engine, scripting , SDK, Web Service APIs and MQ enable the rapid construction of robust, secure, and scalable Enterprise M2M applications.