Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

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
bordertrue
diagramNameRDK4-BuildingBlocks.drawio
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth791
revision1

  • 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
bordertrue
diagramNameRDKFireboltVideoAppPlatform.drawio
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth822
revision1

  • Firebolt ® can empower non-RDK Systems

draw.io Diagram
bordertrue
diagramNamediagram-2.drawio
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth821
revision1

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
bordertrue
diagramNameThunder_framework.drawio
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth1242size900
revision12

Modular architecture

  • The system is build up from several  layers. The functionality is contained in  modules.

...

JSONRPC/COMRPC Process transparency

draw.io Diagram
bordertrue
diagramNameJSONRPC-COMRPC Process transparency.drawio
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth601
revision1

 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
bordertrue
diagramNameCOMRPC.drawio-1
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth641
revision1

  • Marshalling code,Proxy/Stubs are generated from the C header file!!

...

JSONRPC is to communicate JSON object  messages.

draw.io Diagram
bordertrue
diagramNameJSONRPC.drawio
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth641
revision1

 JSON data objects,boiler plated handlers and documentation are generated from a JSON specification file!!

...

Resources opened up through JSONRPC

draw.io Diagram
bordertrue
diagramNameResources opened up through JSONRPC
.drawio
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth702
revision1

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

...