While working on different customer projects within the High-Tech and Medical Device industries at Xavor, I’ve noticed that we’ve always been faced with the need for an integration solution like “XEngine” that would allow different applications to talk to Oracle Agile PLM in a very highly configurable and cost effective way.
By leveraging our extensive knowledge and experience with integration solutions, Xavor has designed a solution called ‘xEngine’ which is easily customizable and specifically designed to work with Agile PLM. It has an adaptor framework that is based on a well thought out generic messaging structure which allows the flexibility to integrate any application with Agile PLM at its modules’ level. xEngine can be used to sync parts, documents, BOMs etc. from your PLM system with ERPs, CRMs or any other systems. It has the capability for bi-directional synchronization, which means it can sync parts from your PLM system with ERP and sync the Item Cost information from ERP back to PLM.
The following diagram gives an overview of how xEngine is used in a typical integration. On one side is the Agile PLM system and on the other side are the enterprise system(s) which could include ERP, CRM, Portal and home grown applications. Being a custom solution with a very flexible architecture, xEngine handles the applications’ dialog with Agile PLM. This allows the user to monitor the health of the integration using its powerful administration console.
xEngine Solution Architecture & Adaptors Framework
To give you a deeper understanding of how xEngine handles the integration between two systems, I would like to explain a scenario where Agile PLM is integrated with Oracle EBS using xEngine. Below is the diagram which gives you the information regarding major components of integration which is completed using xEngine.
Consider a scenario where an ECO is released in Agile PLM, this event in the PLM system sends a message to xEngine’s endpoint (ACS Interface or Web Service) which does the initial verification of the message and few pre-processing puts it into a queue in the xEngine Message Database. This message queue is being monitored by a Message Processing Service which processes the messages on FIFO (first-in first-out) manner. Once it finds a new message, it processes this message and attaches the configurations with it based on the source of the message.
After this, the message processing service invokes the respective adaptor based on the mappings stored in the xEngine Admin console and hands this message over to the adaptor. Based on the configuration information in this message, the adaptor then applies all field mappings & transformations on this message and sends it over to the destination system, EBS (in this case).
Once the record gets created successfully in EBS, xEngine updates that ECO record in Agile PLM with the status of this integration cycle and the xEngine administrator can also see this message and its status in the xEngine Admin console. The information such as Item cost from EBS syncs back from EBS to Agile the same way.
In case of any error/fault during the processing of the message, xEngine logs the error details along in the xEngine Admin like with the time-stamp with the stage of the processing during which the error occurred. Based on the type/nature of the error, xEngine gives the ability to the xEngine administrator to either “Retry” the same message or set it to “Not-Required”.
xEngine Administration Console
The administration console of xEngine is a custom built web application which can be deployed anywhere in your network which has access to the Message database. It has following major areas to enable administrators:
- Dashboard to monitor the health of the integration by giving the detail of the messages based on their status. For example, how many messages came in, how many successfully processed, how many failed and how many are in the waiting state.
- Audit Log gives the time stamped events’ details that occurred on every message, message’s final status as well as error details in the event of an error.
- Configurations area to setup end systems configurations which need to be integrated. These configurations include any service account credentials, any end point url based on the adaptors for end systems and any other details that are needed to enable xEngine for successful communication with these systems.
- Field Mappings of all the objects/entities needed and the fields which are needed to be synced between the systems.
Summary of Features
xEngine is a very:
- Lightweight solution
- Highly Customizable
- Designed for Agile PLM – Integrates smoothly with Agile PLM
- Enhanced Agile PLM Web Services Interface with features like field mappings
- Leverages Agile PLM’s ACS aXML interface
- Highly configurable & scalable architecture to support additional adapters
- Message Queue Management & Audit Log
- System Health monitoring