Calling local programs

I keep coming across clients that want to call local programs/resources from within Epicor/Kinetic. For example a routine that talks with a floor device or a CAD program. Sometimes a REST Call can accomplish it but others times haven’t been able to find a reasonable way to solve it. One client in the past would drop a text file from within the Configurator to trigger an event but that path appears to be gone.

How are others solving these issues?

I usually try to avoid Epicor being the “center” and talking outwards. For example for CAD we would make a CAD Plugin that talks backwards to Epicor, typically via REST. If Epicor needs to send data out nowadays it will either be a BPM, Service Connect, Automation Studio or CDC (if realtime is preferred like a WebHook)

I am a big fan of others coming to Epicor and requesting the data, vs Epicor constantly feeding it. What if you have 30 integrations, I dont want Epicor to be the single point of failure, its an ERP System.

I’ve even written a middle-man microservice - Windows Service to poll Epicor and talk to JP Morgan Chase, compared to Epicor doing it all. I found the architecture to be easily maintainable.

2 Likes

This. Right here. :clap:

This is the lesson that AWS taught the world with its API-first strategy. Couple this with an organization’s domain model, and you can have an architecture that is easier to maintain and secure.

(See also, @Aaron_Moreng)

4 Likes