title: Best Alternative for OPC-UA in non industrial environments?
body: <p>I'm managing a rather widely distributed software application in a semi industrial environment. The software at its heart is based on SOA and employs OPC-UA to make communications between important processes (on local or LAN-based machines) possible. These processes are either a server (e.g. an outer network management server, hardware managers server etc.) or a client (customer panel) or both (servers talking to each other).
  OPC-UA has the following <strong>problems:</strong></p>
  
  <ul>
  <li>Configuring and maintaining the configurations is a hard job (just Config file settings takes lots of time)</li>
  <li>Security measures are too much detailed for my needs (certificate management and sudden invalidation of certifications on customer systems)</li>
  <li>Modeling and networking overheads in the library make it hard to work with in my communications (high data rates usually ends in server and client disconnecting)</li>
  <li>Unspecified and weird errors like UA Discovery Server stopping to work or respond, etc. which I have reported to OPC GitHub forum many times.</li>
  <li>Troubleshooting in internal parts of OPC UA is nearly impossible.</li>
  </ul>
  
  <p>Overall, for me its performance and stability are not reliable enough. I am willing to sacrifice features for better performance and reliability. I've even considered to write sockets from bottom-up for my inter-process (IPC) needs. This way I could at least trace errors to their core. Since I do not need its most advertised feature (aka PLC support) I'm desperate to find a good alternative for it. My main <strong>requirements</strong> are:</p>
  
  <ol>
  <li>OPC-UA like Data Modeling support that enables me to provide a clean interface to customers and other teams (something like IDL).</li>
  <li>Publish/Subscribe, Remote Commands, Update Notifications and Node Based Behavior.</li>
  <li>Tough Security is not my concern as my network is closed.</li>
  <li>High performance for data rates up to 1Gbps (this could mean UDP support).</li>
  <li>I am entirely working in .NET framework. So C# support of OPC-UA is a great help for me.</li>
  </ol>
  
  <p>I've looked at DDS (lacks commands and Update Notifications) and WCF (lacks cross platform support) and many more.
  This link also notes about MQTT: <a href="https://stackoverflow.com/questions/26207024/alternative-to-opc-ua">Alternative to OPC-UA</a></p>