dodSON Core Library Help File
https://1drv.ms/u/s!Ap-545RFn6fujQR9_...
The dodSON Software Library abstracts common programming tasks into sets of well researched, developed and documented types organized into separate, self-contained namespaces providing access and control over functionality, both low-level and high.
.
.
.
Configuration represents an N-level set of groups, each group containing an unlimited number of typed key/value items (key/type/value triples), which can be serialized and de-serialized into a variety of formats, including XML, INI and CSV.
A caching mechanism built using Generics, which will accept any type as the target of the cache, with customizable validators.
The PipeAndFilter namespace provides a simple to use pipe and filter system providing control over complex information processing by breaking it down into a series of separate, reusable elements.
The AppDomain namespace simplifies the creation and control of types in separate application domains with automatic lifetime service sponsorships.
Building on that, the Addon namespace introduces the concept of extensions and plugins; these are types executed in the same application domain as its host or in separate application domains, respectively.
More advanced namespaces provide access and control to resources including Logging which facilitates reading, writing and archiving logs; it includes Text-based File and Windows Event Log controllers.
The FileStorage namespace represents a disconnected file storage system that reads, writes, adds and removes directories and files from any backend source; it includes File System and .ZIP file controllers.
The Packaging namespace represents sets of directories and files as a single unit: a package; packages can declare any number of other packages as dependency packages, i.e., required, and can be configured to use minimum and specific versions of dependency packages.
The Installation namespace can inspect, install and uninstall packages, with configurable dependency package support, and supports either side-by-side or highest version only installation modes.
The networking namespaces provides a feature-rich communication system which encompasses all three major transport modes: NamedPipes, TCP and HTTP. Restricts access by challenging clients; includes compression to reduce network load. Provides an adaptable security layer with configurable, stackable encryption, which can be changed on-the-fly without restarting the system. Automatically splits messages into envelopes to support, virtually, unlimited message sizes on network transports with restricted size limits, for example, NamedPipes. Provides a type-less messaging system, thereby allowing any serializable type to be used as a message; allows direct messaging by sending messages directly to specific clients by client ID, thereby reducing network traffic. And provides bridges to facilitate a distributed networking system and supports any network topology from line and star to fully-connected.
The Component Management namespace introduces the idea of controllers and components. Each configurable controller is responsible for a single primary function, for example, packaging, installation, logging and networking. Components are either extensions or plugins utilizing the types from the dodSON.Core.Addon namespace. The Component Manager supervises and coordinates the various controllers to provide a stable framework where components can be packaged, installed and started and then provided with managed services like Logging and Networking ready to use.
The Service Management namespace utilizes the networking subsystems in the Component Management namespace to connect to a Component Manager and provides a set of communication protocols used to acquire information and send commands to remote Service Managers and their companion Component Manager. The Service Manager returns information and performs commands on itself, its accompanying Component Manager, the Component Manager’s controllers and any of the Component Manager’s components, called Services in this namespace.
Some examples of commands the Service Manager can respond to are Restart, List Services, Upload and Download files and Get Statistics. Component Management Controllers can respond to commands such as Upload Package, Install Package, Enable/Disable Services and GetLogs. Individual Services can respond to command like Start, Stop, Restart, Get Logs and the ability to send and receive custom data.
The dodSON Software Library enables rapid development of applications and services running on a configurable, packaged-deployed, plugin-based distributed programming framework with remote monitoring and control systems.
The dodSON Software Library facilitates the building and deployment of enterprise level services and applications with quality designed, developed and tested types.
Please download the dodSON Software Library Help File for more information.