Application Integration Technologies Primer
/An Interview with Hiep Tran, CTO, The vdR Group
PPLM - Hiep (pronounced “hip”), talk about some of the key technologies that an organization will want to be aware of as they consider an integration between something like Aras PLM and other enterprise solutions like CRM, enterprise content management (ECM), enterprise resource planning (ERP), etc.
Hiep - Three primary approaches can be considered. These are…
- drop zone
- direct connect
- enterprise service bus
The drop zone concept is to export a data file from a source environment into a neutral area (file folder) that the target application retrieves and reads.
The direct connect model leverages application program interface (API) modules. There is an API specific to the source and target applications. These APIs talk to each other.
Then there is the enterprise service bus (EBS), referred to as the “hub and spoke” model. BizTalk from Microsoft and WebSphere from IBM were some of the solutions developed years ago that popularized the hub and spoke idea. Each application connects to the hub. At the hub, mapping and processes are defined, among other operations. By doing this, one application can theoretically communicate with several.
PPLM - That’s a good way to categorize the possibilities. Given the last two approaches, why would someone want to use a “drop zone” model?
Hiep - Interestingly enough, many companies are still using legacy enterprise solutions that have limited API capabilities to support a direct connect option. However, export and import options are typically available. These can operate on a scheduled basis. So let’s say, at the end of an Aras engineering change workflow, parts and bills are updated. We can export a data file into a neutral, but a secure file folder. The target application can pick it up and then import the data. There can be some limited hand-shaking such that the target application can acknowledge receipt of the data and successful import.
Using the drop zone approach is also great for prototyping. When we know that the direct connect or EBS can do the job, we can simulate the processes without doing the work on the integrations. It’s a very efficient approach.
And, it’s worth noting that when real-time (or near real-time) transactions are not critical, then the drop zone approach makes sense.
PPLM - You used the term Enterprise Service Bus. Is that a product name like the Microsoft’s BizTalk or is it a generic expression?
Hiep - It is a generic term that has evolved from the hub and spoke architecture concepts and incorporated additional functionality.
PPLM - Let’s talk a bit about the direct connect options. We hear terms like REST, SOAP, etc. Clear up the alphabet soup and their relevancy for integrations.
Hiep - First, let me recap the term, API, or Application Programming Interface. APIs are a set of code and functionality that does the talking between two systems. The conventions operating via the Hypertext Transfer Protocol (HTTP) protocol for the APIs are characterized by such methods as REST and SOAP.
Aras uses web services known as SOAP or Simple Object Access Protocol. This messaging protocol allows programs that run on disparate operating systems such as Windows and Linux to communicate using HTTP and its Extensible Markup Language (XML).
REST stands for Representational State Transfer. It is a stateless, client-server, cacheable communications protocol, and typically uses the HTTP protocol.
PPLM - What’s different between the two?
Hiep - SOAP requires an envelope format and a specific set of XML tags to be included in the message. When you send that message to Aras Innovator for example, the format of the payload will have to be very specific to the SOAP package. The good news is that this is a well-known standard.
In contrast, REST is much simpler to put together and is a little more freeform in that the call format is done partly on the URL itself. The URL is the string that you sent to an HTTP target. And, the body of the message sending back and forth would be used typically as a JSON (Java Script Object Notation) format. REST tends to be easier to develop.
PPLM - Are there other conventions that we should be aware of?
Hiep - Based on the HTTP protocol, those are the two most well-known methodologies for communicating from an API point of view.
PPLM - Given these integration options for exchanging data, how does federation work in an integrated scenario?
Hiep - Think of federation as almost a pass-through type of integration. Via the federation approach, data from an external source is represented to a user as if that piece of data already exists in Aras Innovator. For example, pricing and vendor data for a part is typically managed within an ERP environment. Rather than duplicate that data in PLM, we can use federation to pull this data as needed.
PPLM - With Aras supporting the SOAP conventions or Web Services, would that protocol convention be used to facilitate the federation?
Hiep - That is one way to facilitate the federation. The federation framework has many layers, and if you ask one of the layers to talk to one of the external systems, you are not bound to speak to using one type of API, you can use SOAP, REST, or you can use a database query connection to get data back.
PPLM - So, let’s say I have a part item with a cost attribute, but I want that cost to come directly from the ERP solution. Would I have a method in the attribute to retrieve that information? And how do I retrieve that information?
Hiep - To support federation inside of Aras Innovator you have something called triggers. To view a cost attribute from the ERP system, there needs to be a trigger that retrieves the cost attribute before it appears to the user. This trigger is a piece of code that reflects your business logic for getting the data from the ERP system.
Depending on what type of API is available, you can establish a database query, a web service call or you invoke a REST call and get the data that you need. Once the data is retrieved, that same trigger code can transform, convert, reformate however you want it and present it to the user within that user presentation.
PPLM - This all sounds like a great way to get the data you need, but eliminate duplicate data and the associated synchronization issues that go along with it. Thank you Hiep for your helpful insights.