Содержание
- 2. Today’s used Execution-Command { "command": "Execute", "ccCommand": "_C.Calculator.Add(5,5);", "streamData": { "streamKey1": "tX1tcx27gWcGI0//T8=", } } ClassCAD interpreter
- 3. New business and its risks As ClassCAD is moving to the cloud … any command could
- 4. Safe API proposal { "command": "Execute", "ccCommand": "_C.Calculator.Add(5,5);", "streamData": { "streamKey1": "tX1tcx27gWcGI0//T8=", } } { "command":
- 6. Скачать презентацию
Today’s used Execution-Command
{
"command": "Execute",
"ccCommand": "_C.Calculator.Add(5,5);",
"streamData": {
"streamKey1": "tX1tcx27gWcGI0//T8=",
Today’s used Execution-Command
{
"command": "Execute",
"ccCommand": "_C.Calculator.Add(5,5);",
"streamData": {
"streamKey1": "tX1tcx27gWcGI0//T8=",
}
ClassCAD interpreter command is a string within a JSON structure
All commands could be executed
Service functions like CADH_DoThis();
Methods of an object
Any interpreter code
New business and its risks
As ClassCAD is moving to the cloud
…
New business and its risks
As ClassCAD is moving to the cloud
…
CADH_DeleteFile(…)
… any command could influence other users using the same instance
CADH_SetVar(…)
CADH_SetGPUTessellationEnabled(…)
... any JavaScript developer must know interpreter syntax (_C.A({5,6,9});)
Already existing risks
As the API is everything what can be executed, how to create a documentation for the API?
How to maintain the code, as every change could break the client-application? There is no API contract.
Safe API proposal
{
"command": "Execute",
"ccCommand": "_C.Calculator.Add(5,5);",
"streamData": {
"streamKey1": "tX1tcx27gWcGI0//T8=",
Safe API proposal
{
"command": "Execute",
"ccCommand": "_C.Calculator.Add(5,5);",
"streamData": {
"streamKey1": "tX1tcx27gWcGI0//T8=",
}
{
"command": "Execute",
"ccCommand": [{“Math.Add":[5,5]}],
"streamData": {
"streamKey1": "tX1tcx27gWcGI0//T8=",
}
}
JSON-Array
[{“Namespace.Command”:[command parameters]}]
[
{“Namespace.Command ":[command parameters]},
{“Namespace.Command ":[command parameters]}
]
String
“CommandString;"
"CommandString; CommandString;",