This workshop will focus on system design for large scale installations. Notably, the session will review the basics of setting up a standardized project environment in order to manage multi-machine installations. This includes config-based dynamic loading/protocols for development and production environments, file structure/directory conventions, code externalization, and git versioning.
Further, the workshop will cover best practices for handling data. Key concepts will include an extension-based philosophy for structuring your network and code for maximum efficiency, using inheritance and component compartmentalization to isolate functionality across your system, reusable parsing and data routing methods, decoupling functionality from interfaces, and general component and module organization.
Other key points that will be addressed in this session include methods for data visibility – such as using StorageManager and persistent data, extension properties, and setters/getters for efficient code handling as well as using operator dependencies and dependable objects for reliable network data inputs.
Lastly, the instructors will discuss essential optimization knowledge to keep large scale installations running at peak performance. These include items such as start-up procedures, data caching, raster re-mapping, and additional tips and tricks learned from real-world integrations.