Lexical Sdk
Lexical SDK eases the burden of various tasks related to information processing. It gives conceptual clarity, giving separation of content and containers.
- Target Platform Library is built for .NET Standard, which makes if compatible with .NET Core and .NET Framework.
- Modular Design Modular design gives developer freedom for customizability and control of behaviour.
- Performance
- Weight on initialization
- Low heap allocation Most of the run-time code uses stack allocation, for example enumerators, reading caches.
- Reuse code New permutations can be created with existing binding implementations.
- Development Velocity Architecture is the slope factor for development velocity of everything else. Lexical has clean architecture which boosts the development speed of applications.
Features
Binding
Binding is an abstraction model that addresses the issues of accessing a broad variance of container formats through an uniform API. The model makes it possible to keep and maintain data in their respective native formats, and to harness benefits of a toolkit on them.
Model Conversion
Convert your model into structure of another domain. Insert custom handlers surgically where needed.
Serialize, Import, Export, Persist, Transfer, Convert
Write a binding to your data container, and then recombine it with another binding:
- Lexical Binary (.lxb) is a general purpose binary serialization format that can contain meta-model, schema and datasets. Self-sufficient byte[] streams of 3rd party data can be written.
- Lexical Text (.lex) is a human readable general purpose text format that can contain meta-model, schema and datasets. Self-sufficient text files of 3rd party data can be written.
- Write a binding to your own serialization format.
- Transfer data from one container in one format into a container in another format.
Remote Procedure Call
Convert your .NET interfaces and implementations into request-response messages and put them on a message-queue protocol.
- Choose binding service, e.g. xml, json, binary
- Choose message-queue protocol
- Bind interfaces for client, bind implementations for server
Data Collection
Put any data into streams. Standalone streams can contain data, schema and meta-data, allowing to persist unknown 3rd party data.
Partial Access
Inspect structures of documents without opening containers completely. Useful for binary blobs, stream files, very large files and remote objects.
Queries
Print, parse, serialize, and execute query request-responses. Use default implementations or write custom handlers to process queries. If your container format supports indices, add surgically a custom handler to support them. Add transient indices to boost performance.
Reuse, Recombine
Once a binding is written it can be recombined with other bindings in new permutations. This saves development and maintenance time, and spares from writing each individual one-to-one pair of mappings.
Basic services
Basic tools for containers.
- Structural comparer
- Structural equals
- Structural hashcode
- Structural cloner