Introduction
Thunder is a Modular architecture with plug and play design where it has a flexibility to enable or disable any feature just as a plugin.
...
- The modularity of RDK4 reduces the app development life cycle.
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | RDK4-BuildingBlocks.drawio |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 791 |
---|
revision | 1 |
---|
|
- Core - Components Every RDK Build will need regardless of operator
- Localization - Optional Components that can be added depending on operator requirements
...
- Firebolt ® is RDK4's Video Application Platform, leveraged by both RDK & non-RDK systems.
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | RDKFireboltVideoAppPlatform.drawio |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 822 |
---|
revision | 1 |
---|
|
- Firebolt ® can empower non-RDK Systems
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | diagram-2.drawio |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 821 |
---|
revision | 1 |
---|
|
Thunder Framework
...
From Apps, there are external input interface that can send in JSONRPC messages, JSONRPC messages through dispatcher will be routed to proper micro/nano services.
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | Thunder_framework.drawio |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 1242 | size | 900 |
---|
revision | 12 |
---|
|
Modular architecture
- The system is build up from several layers. The functionality is contained in modules.
...
JSONRPC/COMRPC Process transparency
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | JSONRPC-COMRPC Process transparency.drawio |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 601 |
---|
revision | 1 |
---|
|
Most important part of framework is to make sure we can run processes & separate process,we can run nano/micro services out of process.So,we need to communicate to nano/micro services throughout API's.
...
COMRPC is a binary RPC migration
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | COMRPC.drawio-1 |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 641 |
---|
revision | 1 |
---|
|
- Marshalling code,Proxy/Stubs are generated from the C header file!!
...
JSONRPC is to communicate JSON object messages.
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | JSONRPC.drawio |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 641 |
---|
revision | 1 |
---|
|
JSON data objects,boiler plated handlers and documentation are generated from a JSON specification file!!
...
Resources opened up through JSONRPC
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | Resources opened up through JSONRPC |
---|
|
.drawio | simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 702 |
---|
revision | 1 |
---|
|
This gives us information regarding once system is ready ,what kind of micro/nano services are all available.
Difference between micro and nano is that micro service actually requires graphics -graphical resources or player resources
...