trumpf-iot / saf Goto Github PK
View Code? Open in Web Editor NEWSmart Application Framework (SAF) is a .NET based framework for building distributed applications across cloud and edge.
License: Mozilla Public License 2.0
Smart Application Framework (SAF) is a .NET based framework for building distributed applications across cloud and edge.
License: Mozilla Public License 2.0
The overall amount of TSMs being send through CDE might lead to performance reductions (CPU-load) in the C-DEngine.
To improve this the SAF messages published through the CDE messaging infrastructure should be batched before sending.
For some use cases it is necessary to delete data once stored in the storage infrastructure.
The storage infrastructure implementations should support deletion of single keys or whole areas.
Provide an API to add custom infrastructure services which will be added into the main DI container and will be added to the plug-in specific DI containers too.
CrypoLibConfig -> CryptoLibConfig
While using the default CDE modules without any specific crypto library a ScopeId set in the appsettings.json will not be applied to the CDE because of changed behaviour of OSS CDE version >= 5.x.
With that error the CDE always runs without unscoped.
As there is no support for CdePubSub in the context of CDEs NMI the AuthorizationService functionality is not required anymore, and shold be removed in future versions.
To avoid additional references SAF should use System.Text.Json as default JSON de-/serializer.
In case that a service needs long time to initialize the start-up of the SAF host application may take a long time. In case the host is a Windows service the Service Control Manager may recognize a start timeout and will shutdown the host service after that timeout.
Therefore SAF plug-in loading should be done an asynchron manner.
Currently the SAF pub/sub messaging only allows to send a payload of datatype string
.
Sending binary data packages (e.g. in file transfers, etc.) is not possible and results in converting the binary packages into a JSON string, which will be converted into text using base64 encoding. This is a unnecessary increase of the size of the binary package being send.
To optimize data transfer in certain cases it might therfore be useful to send "byte[]
" payloads too.
Use compress mechanism to reduce sizes of the files to transfer and therefore improve file transfer performance.
If a service adds the RequestClient from the toolbox using AddRequestClient running the application will throw an exception that the Heartbeat service is missing.
Workaround ist to add the Heartbeat in the service with the call to AddHeartbeat.
It would be better to implicitely add the Heartbeat when as it is required for the RequestClient service.
Currently each CDE-PubSub Node sends two keep-alive telegrams every 30 seconds. To reduce telegram load on cloud gates for huge meshes it is necessary to reduce the keep-alive telegrams.
It seems that only one keep-alive telegram is needed to keep CDE-PubSub communication up and running over all nodes in a mesh.
Using the CDEs OSS default security the call to TheScopeManager.GenerateNewScopeID
doesn't work.
The method BuildInformationFromVersionString
in class SAF.Messaging.Cde.Diagnostics.CdeServiceHostInfo
throws an exception when parsing the version string returned from CDEs TheServiceHostInfo
object as the format of the version string changed in CDEs OSS version >= 5.x
Add string key-value pairs to the SAF message class in addition to topic and payload.
Requires versioning of CDE messages to be able to communicate between SAF nodes with different SAF versions
Requires versioning of Redis messages
Add support for .NET8.
Extend request client to send a request and wait a configurable amount of time for responses.
Collect and return the responses and/or provide a way to specify a handler that is called for each response received.
In addition it should be possiblt to cancel the collection of responses.
We should add SqLite to our list of support Storage infrastructures.
It should work just like the liteDb Storage infrastructure.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.