Full audit trail
Out of the box tasks
Are you sure you need to replace your IT system?
Sometimes, you don’t need to buy a completely new IT system to make your business more efficient.
Many companies use different software systems for different business functions. For example, you might use one system for financials, another to track customer contacts, and still another to process orders. Re-typing the same customer information into each system wastes time, and creates mistakes.
One solution is to replace all the individual systems with a single solution that does everything. Of course, that’s usually expensive; and sometimes it’s just not the best alternative. The other option is to integrate your existing systems.
Systems integration can also add value to your customer and supplier relationships
Of course, systems integration can do more for you than just lower internal costs. Imagine what you could do by securely integrating your systems with those of your suppliers or customers.
- speed up the purchase order process (and reduce the cost for your supplier to work with you);
- make it easier for your customers to buy from you; and
- transform the nature of the relationships you have with your business partners.
Frequently Asked Questions
What is AXE?
AXE is an integration middleware platform which facilitates transferring data between software systems; it provides reliability, logging, reusability and automation to the integration process. AXE acts as a platform to build custom integration by either composing existing AXE tasks together or by implementing custom tasks for a specific purpose.
What are the system requirements?
Minimum system requirements:
- 1GB of RAM
- Microsoft .NET Framework 4.0
- 50MB Disk space (plus additional space for any files being transferred as part of the integration)
- Windows Server 2003 SP2 / Windows Server 2008 / Windows Server 2008 R2 / Windows Server 2012
- Microsoft Message Queuing (included as part of Windows but needs to be enabled)
Although the above will be sufficient for most integration processes, the actual requirements will depend on the complexity of the integration process and the performance requirements of any specialized custom tasks that need to be created.
AXE runs as a 32-bit application although both 32-bit and 64-bit versions of Windows are able to install and run AXE.
What are the main components?
An installation of AXE contains three main components:
- AXE Manager application for users to create and manage integrations
- Manager Service to coordinate the integrations
- AXE processes to perform the work.
AXE Manager is a graphical user interface that allows the creation and management of AXE Processes and tasks. AXE Manager provides a drag and drop interface to build integrations, an interface to configure tasks. Logging and the status of each task can also be viewed within the AXE Manager allowing for on-going management and administration of an AXE installation.
The AXE Manager communicates directly with the Manager Service. In the default setup this communication is done over Named Pipes however this is configurable to allow other transport mechanisms to distribute the AXE Manager and Manager Services on separate machines.
The Manager Service runs as a windows service. It is responsible for starting, stopping and restarting AXE Processes. It also exposes all the services required by the AXE Manager to enable management of your AXE instance. The manager service has no user interface on its own rather it uses the AXE Manager as its front end interface.
When the Manager Service starts an AXE Process, the Manager Service communicates with the Process Service over named pipes. This allows faster communication when the Manager Service resides on the same system as the AXE Processes.
The AXE process is where the processing and integration is actually performed. Multiple AXE Processes can be configured with each performing a separate set of integration tasks independently of one another. An AXE Process contains multiple related tasks each performing one unit of work as part of a larger integration, the tasks do operations like reading files, performing transforms, writing to databases etc. Tasks are able to transfer data between themselves to create a complete integration.
Each AXE Process runs as a separate operating system processes. The processes are created and stopped by the Manager Service but each AXE Process manages its own tasks, execution and scheduling independently.
What are the related components?
Microsoft Messaging Queues (MSMQ)
The transfer of messages between AXE tasks is done using Microsoft Messaging Queues (MSMQs). MSMQ is a feature available on all installations of Windows and provides a reliable and transactional queuing system. MSMQs must be enabled within windows features before it is available to be used within AXE.
If MSMQ is enabled AXE will create new queues where needed to transfer data between tasks. The name and location of the queues AXE uses are configurable, allowing AXE to use queues hosted on separate machines or share queues with other applications, or even share with other AXE installations.
Microsoft .NET Framework 4
AXE is built on the Microsoft .NET Framework. The .NET framework provides the base programming model and libraries used by AXE. This is required to be installed before the installation of AXE.
Microsoft SQL Server
If a Microsoft SQL Server is available it can be used to store the logging and the last execute time of tasks within AXE. Using Microsoft SQL allows for central high performance storage for logging information and is preferred database.
As an alternative to Microsoft SQL Server AXE comes with SQLite. SQLite allows AXE to store its logs without having dependencies on a 3rd party database installed. Through SQLite the logs are read and written to a file within the AXE file system, this allows for a low dependency installation of AXE.
Microsoft Distributed Transaction Coordinator
All tasks will attempt to run under a single transaction that encompasses the reading of the input message, the task execution and the writing of the output message. By default all actions within a task will automatically attempt to enlist in this transaction. In order for a transaction to span multiple systems, such as the MSMQ server and the database server, MS DTC must be enabled on all involved systems.
This feature can be turned off if the environment does not support distributed transactions.
How does AXE licensing work?
AXE licences are applied as registry keys and are checked by the AXE Processes on start-up. The license can be obtained by contacting Olympic Software which will supply a .reg file containing the necessary information to enable your AXE installation. You will have to provide details of the system running AXE, for Olympic to generate the license. AXE licences come in two varieties, a full licence or a lite licence. Regardless of the licence the installation of AXE is the same.
A full AXE licence allows any number of integrations with any number of source and target systems. All features are available and there are no restrictions placed on the product.
A lite licence allows for a single integration. That is integrating one type of data from a single source system. For each integration a new Lite License is required. This allows a low cost entry into using AXE.
Lite licences are enforced by locking down the system after the initial creation and configuration are done (usually one week after the licence is generated). Once locked down existing tasks can be edited and viewed but no new processes or tasks can be created. To unlock the process a new AXE licence needs to be generated and applied, this would provide another week to make necessary configuration changes.
To upgrade to a full license a new full license would need to be generated and applied. The new license would override the existing licenses allowing an upgrade path to a full AXE licence.
How does AXE logging work?
AXE will write all errors and warnings into its own “AXE” event log, this is a stable general logging component
available to all Windows applications and allows a consistent experience in managing logs between AXE and other
applications installed on the system.
The database (SQLite or Microsoft SQL Server) also stores AXE log, the level at which the logs are stored is
configurable allowing for full debug information to be archived through to only fatal errors.
The number of items that are stored in the database is also a configuration. This allows for a rolling log storing for
example only the last 10,000 log entries. This prevents AXE from using excessive amounts of disk space to store
The database logs provide a queryable set of tracking information allowing the AXE Manager to display activity
within the application with varying levels of detail.
It is also possible to use a different database engine of your choice instead of Microsoft SQL Server, as long as
drivers for .NET are available for it.
When an error is encountered AXE will notify administrators so that some action can be done to rectify the issue.
These errors are not just restricted to programming faults but can also be environmental issues, such as a task is no
longer being able to connect to a shared file or a database being inaccessible.
What are the data sources?
Accessing specific data is done through tasks, there are several out of the box tasks that allow connection using the
- File System File access on the local machine or shared UNC paths
- ODBC Connect to databases that support ODBC connections
- OLE DB Connect to data sources that support OLEDB API
- HTTP Get and Post details to a website or web service
- FTP Retrieve or upload files to FTP server
- SMTP Send out emails
- POP Access mailboxes to retrieve information in email
- IMAP Access mailboxes to retrieve information in email
- MSMQ Tasks can access MSMQs directly to transfer data between both tasks and applications
- IBM MQ Read and write to IBM Message Queue
In addition to these, custom tasks can be written for AXE to connect to other systems widening the possible
interfaces to any system with a programmable interface.