E10.1 New Endpoint Bindings

We are in the process of setting up and testing an upgraded Epcior 10.1.500 environment (we are currently on 10.0) and I’m wondering what these new Http(s) endpoint bindings are for? Do I need to use one of them if I’m going to setup Epicor Web Access (EWA)? I can read the tech ref guide on administration and get a basic idea of how each one works, but it doesn’t really cover why you would use each option versus the old Windows or UsernameWindowsChannel bindings we’re used to.

If I recall correctly most of these are for deploying over HTTPS and most of them were put there for the SaaS components. I’d stick with UsernameWindowsChannel, you can use REST and EWA just fine with it. I would only worry about HTTPS deployment if you are going to go off-prem to “the cloud”

We use the SSL channel for the very reason that Jose mentions. Our Epicor VMs are hosted in the cloud (although we are not SaaS clients). This type of connection is very forgiving to poor network conditions. You may be disconnected once a minute an you would never experience it.

Mark W.

1 Like

We actually have a decent write up on the different bindings in the help docs.
System Management / Working with System Management . System Administration Guide / Epicor Architecture / Network Protocol Bindings.

Quick overview -
E10 leverages Microsoft Windows Communications Foundation (WCF). This allows you to tweak the network options without having to recompile code - it’s all done in the server web.config / client app.config (Epicor.exe.config). With WCF you can change a gazillion options that are overwhelming. We try to make it easier by ‘precanning’ some options that you see in the drop down. Each has different characteristics. Browse the docs to see what they mean and why you would choose which.

We do some real advanced serialization tricks to speed serialization. (e.g. - pack the payload into a byte[] via defined table and column order). This is great when E10 owns both sides of the communication on the client and server. Not great if trying to integrate against it. (That’s where SOAP and REST endpoints try to make life easier for folks.)

Net.tcp as opposed to http was much faster in earlier versions of WCF. Microsoft did some great optimizations in dotnet v4 and 4.5 to bring some parity to http. Also http is usually friendlier with firewalls and routers. Another also, more people are deploying E10 for wans and on the internet where http is more forgiving.

We are trying to give you all the options we think you may need…
From a single IIS app, you can deploy ‘one of each’ - a net.tcp, a http and a https binding flavor. You also have the option to stand up a second IIS app and point it to the same db so you could go crazy with every option possible if you really wanted :wink:

With all that what do you want to deploy?..
I personally do the following on the same web.config -
Windows - Best security, great on perf.
HttpsBinaryUsernameSslChannel - ssl encryption, good perf as it uses the binary packing of payloads, friendly with cross domains, routers, firewalls
SOAPHttp - Integration friendly SOAP v1.1. Visual Studio pointing at the server and doing a add web reference friendly.

One caveat - if you are running a web farm and have an F5 or other ARR approach we added the HttpOffloadBinaryUserNameChannel for you. Uses the F5 for offloading ssl encryption/decryption and allows for your app servers to just concentrate on E10 activities. Very nice for density scenarios as you would expect with a F5 deployment.

I am extremely happy to bore you to tears chatting about these options, just reply with your questions :slight_smile:

1 Like

We added a ‘retry count’ element to the client trace in 10.1.500. If you are having odd performance issues with a client turn on the client trace and review the trace text for ‘Retries’. It will show you the number of network drop outs where we silently retry and recover.
Cute anecdotes on why we added that during some diagnosing of internal deployments that are best for a beer at Insights :wink:

1 Like

Did someone say beer? :wink: I’m no expert in all those protocols but I do
know enough to follow your explanation.

3 Likes

Thanks very much for the excellent write-up Bart. My take away is that for now - since we’re kind of in a crunch at the moment to get E10.1 online, tested, and in production, and since we’re not doing much fancy in terms of hosting (local server, local clients) - I’ll stick with what I know.

1 Like

Moved to Expert’s Corner, Thanks @Bart_Elia

Read the docs :wink:
I spent a lot of time with them and they are very good at translating Geek to English :wink:

2 Likes

Here are those docs that @Bart_Elia metions @Noffie
https://epicweb.epicor.com/doc/Docs/Epicor10_techrefSystemAdministration_101500.pdf