Skip to content
Aaron edited this page Nov 27, 2018 · 7 revisions

This SDK is used for building a node hierarchy (configuration database) to model systems and make them available to DSA.

Objectives

  • Pluggable architecture:
    • Protocol independence. Primarily to support DSA V1 and V2 but also has to model remote systems such as device fieldbuses and web services.
    • Transport independence. Websockets, plain sockets, http, and whatever else comes along.
  • Support multiple Java links in the same process.
  • Support very large configuration databases (100K+ points).
    • Must be memory efficient.
  • Support poll on demand whenever possible.
  • 3rd party library independence. Some environments such as Niagara and Envysion provide transport libraries while others do not. SLF4J and Netty were explicitly bound to the original SDK but can not be used in Niagara.