About EagleML
While EagleML and EJM are version independent, your Eagle product suite must be at least version 12.1.5.
Overview of EagleML
The main purpose of EagleML is to serve as the Eagle canonical data model. EagleML uses an industry standard based XSD that serves as Eagle’s canonical data model (standardized template) for exchanging different data formats. It also establishes a clear set of communication rules for inbound and outbound data exchange.Â
Inbound EagleML data interfaces (loads) deliver data to Eagle databases, whereas outbound EagleML data interfaces (extracts), extract data out of Eagle databases and deliver it to specified locations. EagleML covers a large variety of models including models for data interfaces (which are divided into transactions and object interfaces) and interfaces for messaging and flow control.
This section describes the general structure of EagleML-2-0, including an explanation of the data and control interfaces, object types and inheritance, and the relationship between them.
EagleML-2-0 was developed to be used for any interface with Eagle. It can be used with messaging architecture and delivery protocols like JMS, MQS, ESB-based architectures, SOAP/REST Web Services and FTP, SFTP, HTTP FILE-based transfers.
Not all the delivery methods are currently supported by Eagle.
The control section of EagleML-2-0 is meant to enable SOA-based flow control interfacing and allow for external orchestration. It can be especially useful for enterprises that are looking for a modern style application integration where BPM acts as a central workflow control of the entire system.
There are three distinct types of objects which constitute EagleML:​
Messages
Transactions
Data Objects
Messages (Data Messages and Control Messages)
Messages are used for providing data exchange between systems. They act as envelopes that carry either data transactions, control instructions or as exception alert or events and notifications. Structurally, messages have headers that contain messaging specific elements (such as Message ID or Message Address), and bodies. The body of the message can be either data transaction or control instructions.
There are a large variety of messages in EagleML-2-0, which can be grouped into two main types: data messages and control messages.
Data messages are intended for providing generic data interfaces into Eagle.
Control messages are intended for application integrations and have elements for tasks and workflow execution and exception and notification patterns such as Task Correlation ID, Task Parameters, Task Status, Severity Code, Reason Codes, Error Description and Resolutions. Control messages are XML-based files that contain descriptions of tasks to be performed on the data being transferred and how the data is consumed and published. Control messages are also known as CMs or Run Task Requests (RTRs). The coordination of control messages forms the basis of the Eagle Job Management (EJM) framework.Â
There is a high level of relationship between message headers. The headers for data and control messages have common elements that encapsulated in most base type MessageHeader. They also have specific elements based on the purpose of the message to reflect integration patterns such as Message ID, Correlation ID, and Message Address.
Transactions
Transaction types are wrappers over data objects. A transaction has a header and body that contain a data object. Transaction headers describe data object types and actions performed over the data object that is contained in transaction’s body.
Transactions are classified by the type of data object:
Accounting (for Accounting data objects)
Entity (for Entity data objects)
Reference (for Reference data objects)
SMF (for SMF data objects)
Warehouse (for Warehouse data objects)
Transactions are always wrapped into Messages. One Message can carry one or many transactions. This is done to support both single record real-time loads as well as batch-based loads. This enables EagleML-2-0 to serve as both a payload for messaging systems and FILE based transfers.
Data Object and Object Extensions
Data objects are the types that describe various interfaces. They comprise what we refer to as the Eagle Canonical Data Model. Data objects are all extended from one base type, EagleObject, which has minimum required elements.
Currently, the following data objects types are supported:
Overview of EagleML Generic Streams
EagleML provides a generic set of XML-based interfaces. They are described as XSD and implemented on the Message Center framework as message streams. The term message stream is used to describe components that make up the Message Center interfaces, including the delivery location for the incoming data, XML mapping rule files, and panels. The data is delivered to the designated streams using a variety of methods including file based uploads to the Incoming folder on the Web server, by Messaging: MQ Series, JMS, HTTP, or by using the Send Data feature in Eagle's Automation Center.
By creating data files or messages that meet EagleML-2-0.XSD specifications, you can reduce implementation times and load data with increased accuracy. The generic streams contain a basic level of data enrichment and employ edit checks that are STAR compliant.
Â