You'll find here the full detailed specification of reTHINK Framework
The reTHINK Framework provides a decentralised communication infrastructure to make network services faster, more effective, more trustful, fully programmable and implicitly inter-operable. Only data formats are required to be standardised to ensure interoperability. No standards are needed for network protocols or for APIs, radically reducing standardisation efforts. Ultimately, reTHINK framework is an alternative to current dominant walled garden communication networks that prevent newcomers from entering in the market and, at the same time, empowers the users with the choice and the management of their private data and identities.
The reTHINK Framework provides the tools to build a global decentralised network of Hyperlinked Entities (hyperties) that are executed at the edge and trustfully communicates through a Decentralised Messaging Framework.
Watch reTHINK Overview YouTube Video:
This repository contains specifications for:
- the decentralised communication framework specification that is used to support hyperty communication across domains dramaticaly reducing standardisation efforts thanks to the protocol-on-the-fly concept and to the P2P Reporter-Observer pattern.
- the runtime specification that is used to support Hyperties execution in multiple platforms including browsers, NodeJS and Smartphones.
- the trust and identity management specification that supports fully secured and trustful communication among Hyperties by using independent Identity Providers, giving the user full control of his Identity and personal data.
- the Quality of Service management specification that supports quality of service on-demand (work in progress).
- the specification on how to support multiparty / group communication
- the specification on how to interoperate with legacy services that are not compliant with reTHINK framework
- the service framework specification that provides some libraries to facilitate the development of Hyperties compliant with the specs.
Transversal to these specs we have:
- the Core Data Model defined in more human friendly UML Class Diagrams and in more machine friendly json-schema probably we should provide more textual decription
- the Data Object Model used by Hyperties to communicate each other, defined in more human friendly UML Class Diagrams and in more machine friendly json-schema probably we should provide more textual decription
- the detailed specification of messages used to support the different framework procedures including hyperty deployment, hyperty registration, identity management, discovery, etc
- A dynamic view on how the main framework procedures are performed through Message Sequence Charts including hyperty deployment, hyperty registration, identity management, discovery, etc
You can also find in this repo a set of tutorials to support the development of Hyperties, Apps and Message Nodes.
In order to setup your own reTHINK Framework, you should install the several components (docker images available). The full process is described in deployment section. Developers only have to use toolkit.