Is it possible to change data in Open Dental without port forwarding?

This forum is for programmers who have questions about the source code.
Post Reply
mandmdiet
Posts: 113
Joined: Tue Aug 17, 2021 9:37 am

Is it possible to change data in Open Dental without port forwarding?

Post by mandmdiet » Tue Aug 17, 2021 3:51 pm

We’re building a set of tools to help better support our clients, all of whom are dental practices. Some of the functionality in our tools will augment functionality they get in their Open Dental system. This set of tools includes an application running on the client machine itself as well as applications running in the cloud doing various things for them. Given that we have so many clients - and to simplify setup - we've been careful to architect a solution that only requires outbound traffic and NATting to communicate with our software on their local networks.

The current architectural hurdle we’re trying to overcome right now is with communication to Open Dental. Read access is simple, we can just connect directly to the database, no problem (thanks for that!). But for write access we’re getting a bit stuck. From our understanding, the only allowed way to modify data in the Open Dental instance is via the API but it seems as though there is no way to access the API locally and that in order for that to function we’d have to do some port forwarding - something we really need to avoid.

Is this the case? Is the Open Dental API only accessible through the cloud or is there an API that the locally-running Open Dental hosts?

If it is the case that there is no way to access the API locally, one idea we were toying with was that of talking to the eServices eConnector directly. This would give us a way to talk to an API locally and not have to do any port forwarding. We have started looking at the source code to see how this would be done, however, we’re not sure what the SLA is for the eConnector. Are new versions of the eConnector released without a big emphasis on avoiding breaking changes or on backwards compatibility? What is the level of support for connecting to that directly? Or is there another option for updating data in Open Dental?

User avatar
jordansparks
Site Admin
Posts: 5739
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Is it possible to change data in Open Dental without port forwarding?

Post by jordansparks » Tue Aug 17, 2021 6:22 pm

Try this flow:
- your local app wants to write to db.
- your local app sends an outbound message to your server.
- your server sends an API call
- the API call ends up at our HQ (they all do)
- we immediately hand off the message to the eConnector for that office because we maintain live connections will all eConnectors. This connection started out as an outbound request from the office a few days or weeks in the past.
- the API call hits the customer database

All of this should happen within a second or two and no port forwarding needed. The reason why we did not pursue local API calls is that we envision servers tending to be hosted in the cloud more in the future, or even if on a local network, we would like to see servers behind firewalls with nobody directly accessing them. So there would be nothing "local" for you to talk to. The scheme above works regardless of where the customer server is.
Jordan Sparks, DMD
http://www.opendental.com

mandmdiet
Posts: 113
Joined: Tue Aug 17, 2021 9:37 am

Re: Is it possible to change data in Open Dental without port forwarding?

Post by mandmdiet » Wed Aug 18, 2021 6:28 am

Oh, thanks Jordan, I read in the OD documentation that you had to port forward to get the API to work, if no port forwarding is needed then we have no issues!

Incidentally, this is where the documentation says that port forwarding for the eConnector is a requirement. https://www.opendental.com/manual/econnector.html.

"Installing the Listener Service for the first time requires installing the eConnector service via our Service Manager and forwarding the eConnector Port from your router to the computer where the eConnector Service is installed."

But you're saying this isn't necessary, right? Or did I miscommunicate my original question?

User avatar
jordansparks
Site Admin
Posts: 5739
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: Is it possible to change data in Open Dental without port forwarding?

Post by jordansparks » Wed Aug 18, 2021 10:03 pm

I see that wording in the screenshot. That doesn't seem quite right, but it shouldn't really apply to you anyway. It's our problem to keep the eConnector functional, and you can just assume that it is.
Jordan Sparks, DMD
http://www.opendental.com

Post Reply