LiNK Core - RadiusDataSystemsLLC/LiNK GitHub Wiki
LiNK Core contains common tools for everyday and complex tasks generalized to promote reuse and interoperability.
LiNK Core was designed with the following considerations:
Click image to Enlarge
Click image to Enlarge
Click image to Enlarge
-
Compositional design
- Any object in LiNK Core can be used separately. No need to swallow additional overhead when you just wish to execute a simple process. This allows for a buffet-style "use only what you need" performance model without initializing or paying for in resources what you don’t.
-
Common functionality
- LiNK Core was designed to encapsulate and abstract common functionality that we, as developers, find ourselves designing over and over again. With LiNK Core it’s simple – design once, use as needed, saving time and money.
-
Customization
- We all have run across the need for minor or major customizations and the last thing we need is another inflexible library. While the compositional nature of LiNK Core takes care of a lot of these scenarios, we recognized that there may be some components that don’t exactly fit a one-size-fits-all model. In those scenarios, we’ve planned for some "common use" scenarios but have also provided customization interfaces that allows for modules to be introduced to extend the functionality of LiNK Core components without modifying LiNK Core’s logic.
- In these scenarios, all the user would have to do is create a module that implements that custom interface, generate a verification signature from the assembly post-compile, and it’s off to the races.
-
Cross-Platform support
- LiNK Core was designed on the .NET Standard 2.0 specification. Specifically, all components and functionality support Windows, Centos, and Ubuntu unless otherwise noted. Note: Library may also function on MacOS, Red Hat Linux, and other Linux distributions but those are all that we test on a regular basis.
-
XML and JSON support
- Both XML and JSON are supported. All communication contracts and serializable data structures are required to support both XML and JSON for improved interoperability with other languages and technologies.
-
Commenting Structure
- The source code of LiNK Core was designed to be easy to read in itself. However, it’s expected that someone who doesn’t know C# or JAVA can easily read the comments and discern operating structure. All that’s required is an understanding of object oriented fundamentals.
-
Doesn’t require a certain database technology or schema
- While LiNK Core has support for several different kinds of RDMS, document, and distributed databases it doesn’t require one to function.
-
No UI or service layer required
- While there is a UI framework (LiNK UI) and a service layer (LiNK Simple Services) available, LiNK Core doesn’t require a UI or even a service layer to operate it. How you use it, is up to you.
-
Utilities
- Utilities contains common functionality for rapid development purposes.
-
Authentication
- Authentication Token management and other Authentication functionality.
-
Messaging
- A complete TCP-based messaging framework.
-
Finance
- Financial transaction gateways and other functionality.
-
Data Acquisition
- A complete data acquisition framework with optional meta-data driven templating support for acquiring data from various sources including data harvesting from publically available and interactive data sources.
-
Data Processing
- A modular data processing engine with optional meta-data driven templating support for custom functionality and "chaining" of events during the data life span (i.e. Acquisition -> Identification -> Processing -> Validation -> Delivery).
-
Data Identification
- An engine designed for identifying data elements in unstructured data using both rules driven and cognitive analysis with optional meta-data driven templating support. Also supports custom functionality and "chaining" of events during the data life span (i.e. Acquisition -> Identification -> Processing -> Validation -> Delivery).
-
Data Validation
- A complete data validation engine with optional meta-data driven templating support. Also supports custom functionality and "chaining" of events during the data life span (i.e. Acquisition -> Identification -> Processing -> Validation -> Delivery).
Click image to Enlarge
Click image to Enlarge
Click image to Enlarge