Components
Implementation.Components History
Hide minor edits - Show changes to output
Changed lines 2-4 from:
* ''Database'' The database is where data about each user is stored
* ''Transaction engine''communicates with the front end and performs queries on the database.
* ''Front end'' communicates with the user and sends or receives from the transaction engine.
* ''Transaction engine''
* ''Front end'' communicates with the user and sends or receives from the transaction engine.
to:
* '''Database''' The database is where data about each user is stored
* '''Transaction engine''' The transaction engine communicates with the front end and performs queries on the database.
* '''Front end''' The front end communicates with the user and sends or receives from the transaction engine.
* '''Transaction engine''' The transaction engine communicates with the front end and performs queries on the database.
* '''Front end''' The front end communicates with the user and sends or receives from the transaction engine.
Added lines 1-8:
In a Ripple system three main software modules can be distinguished:
* ''Database'' The database is where data about each user is stored
* ''Transaction engine'' communicates with the front end and performs queries on the database.
* ''Front end'' communicates with the user and sends or receives from the transaction engine.
Software modules may be combined in different ways and be distributed in different machines ([[Main/DistributedArchitectures|Distributed architectures comparison P2P, Clusters ... ]]). In current implementations all three software modules run in a central server.
* ''Database'' The database is where data about each user is stored
* ''Transaction engine'' communicates with the front end and performs queries on the database.
* ''Front end'' communicates with the user and sends or receives from the transaction engine.
Software modules may be combined in different ways and be distributed in different machines ([[Main/DistributedArchitectures|Distributed architectures comparison P2P, Clusters ... ]]). In current implementations all three software modules run in a central server.
Changed lines 120-122 from:
(:tableend:)
to:
(:tableend:)
Diagram source [[https://docs.google.com/drawings/edit?id=19b6ZmJ41a48UDDrasX0Cu8aIurDowppZ9-Pgc0lZ2qk&hl=en&authkey=CMXmm6gP|here]]
Diagram source [[https://docs.google.com/drawings/edit?id=19b6ZmJ41a48UDDrasX0Cu8aIurDowppZ9-Pgc0lZ2qk&hl=en&authkey=CMXmm6gP|here]]
Changed line 65 from:
'''Components connected by the interfaces'''
to:
'''Components connected by the interface'''
Changed line 65 from:
'''Entities connected by Protocol'''
to:
'''Components connected by the interfaces'''
Changed line 108 from:
to:
%width=220px% Attach:UserInterfaceDetail.png
Changed line 15 from:
%width=600px% Attach:Implementation/Distributed_Archieecture_Components.png"Complete system"
to:
%width=600px% Attach:Implementation/Distributed_Architecture_Components.png"Complete system"
Changed lines 15-17 from:
%width=600px% Attach:Implementation/Distributed_Architecture_Components.png"Complete system"
to:
%width=600px% Attach:Implementation/Distributed_Archieecture_Components.png"Complete system"
Changed lines 34-35 from:
''Alice : [[Main/Definitions#User|User]]''
to:
''User'' \\
[[Main/Definitions#User|(see definition)]]
[[Main/Definitions#User|(see definition)]]
Changed lines 38-39 from:
''Alice's node : [[Main/Definitions#Node|Node]]''
to:
''User's node''\\
[[Main/Definitions#Node|(see definition)]]
[[Main/Definitions#Node|(see definition)]]
Changed lines 43-44 from:
''[[Main/Definitions#Server|Server]]''
to:
''Server'' [[<<]]
[[Main/Definitions#Server|(see definition)]]
[[Main/Definitions#Server|(see definition)]]
Changed lines 54-55 from:
''[[Main/Definitions#Client|Client]]''
to:
''Client''\\
[[Main/Definitions#Client|(see definition)]]
[[Main/Definitions#Client|(see definition)]]
Changed line 59 from:
'''Communication Protocols'''
to:
'''Interfaces'''
Changed line 98 from:
''Direct connection''
to:
''User connection''
Changed line 104 from:
to:
Changed line 109 from:
''User Interface''
to:
[[Implementation/UserInterface|''User Interface'']]
Changed lines 66-68 from:
(:cellnr align=center colspan=2 :)
%thumb%Attach:Implementation/BlueInterface.png"Direct connection"|
''Direct connection''
%thumb%
to:
(:cellnr align=center colspan=2:)
%thumb% [[Implementation/ClientAPI|Attach:Implementation/RedInterface.png"Ripple Client API"]]
[[Implementation/ClientAPI|''Ripple Client API'']]
%thumb% [[Implementation/ClientAPI|Attach:Implementation/RedInterface.png"Ripple Client API"]]
[[Implementation/ClientAPI|''Ripple Client API'']]
Changed lines 70-72 from:
or\\
User - Client
to:
Client - Server
Changed lines 72-73 from:
to:
This protocol allows a Client application to access all functions provided by a Ripple Server:\\
i.e. Create an account, set credit limits, make a payment, etc...
i.e. Create an account, set credit limits, make a payment, etc...
Changed lines 75-76 from:
(:cellnr align=center colspan=2
to:
Partially implemented.
(:cellnr align=center colspan=2 :)
(:cellnr align=center colspan=2 :)
Added lines 78-79:
''Ripple Merchant API''
is a subset of
is a subset of
Changed lines 84-85 from:
This protocol allows a Client application to access all functions provided by a Ripple Server:\\
i.e. Create an account, set credit limits, make a payment, etc...
i
to:
This protocol allows a Client to access payment services provided by a Ripple Server.
Changed line 86 from:
to:
It may be implemented via OpenTransact.
Changed lines 88-91 from:
%thumb% [[Implementation/ClientAPI|Attach:Implementation/RedInterface.png"Ripple Client API"]]
''RippleMerchant API''
is a subset of
[[Implementation/ClientAPI|''Ripple Client API'']]
''Ripple
is a subset of
[[Implementation/ClientAPI|''Ripple Client API
to:
%thumb%[[Protocol/Index | Attach:Implementation/GreenInterface.png"Ripple-Protocol"]]
[[Protocol/Index |''Ripple Distributed Protocol'']]
[[Protocol/Index |''Ripple Distributed Protocol'']]
Changed line 91 from:
to:
Server - Server
Changed line 93 from:
This protocol allows a Client to access payment services provided by a Ripple Server.
to:
This protocol allows interaction between nodes that are hosted in different servers.
Changed line 95 from:
to:
Not implemented, a lot of work done
Changed lines 97-98 from:
%thumb%[[Protocol/Index | Attach:Implementation/GreenInterface.png"Ripple-Protocol"]]
[[Protocol/Index|''Ripple Distributed Protocol'']]
[[Protocol/Index
to:
%thumb% Attach:Implementation/BlueInterface.png"Direct connection"|
''Direct connection''
''Direct connection''
Changed lines 100-102 from:
to:
User - Server\\
or\\
User - Client
or\\
User - Client
Changed line 104 from:
to:
Direct connection
Changed lines 106-115 from:
to:
Implemented via SSL in Ripplesite
(:cellnr align=center colspan=2 :)
%thumb% Attach:Implementation/UserInterface.png"Direct connection"|
''User Interface''
(:cell align=center :)
User - Browser
(:cell align=center :)
User interface
(:cell align=center :)
(:cellnr align=center colspan=2 :)
%thumb% Attach:Implementation/UserInterface.png"Direct connection"|
''User Interface''
(:cell align=center :)
User - Browser
(:cell align=center :)
User interface
(:cell align=center :)
Changed line 5 from:
%width=220px% Attach:Main/Centralized_Architecture.jpeg"Simple system"
to:
%width=220px% Attach:Implementation/Centralized_Architecture_Overview.png"Simple system"
Changed line 7 from:
%width=600px% Attach:Main/Centralized_Architecture_Components.jpeg"Simple system"
to:
%width=600px% Attach:IMplementation/Centralized_Architecture_Components.png"Simple system"
Changed lines 11-12 from:
%width=220px% Attach:Main/Distributed_Architecture.jpeg"Complete system"
to:
%width=220px% Attach:Implementation/DIstributed_Architecture_Overview1.png"Complete system"
Changed lines 15-17 from:
%width=600px% Attach:Main/Distributed_Architecture_Components.png"Complete system"
to:
%width=600px% Attach:Implementation/Distributed_Architecture_Components.png"Complete system"
Changed line 67 from:
%thumb% Attach:Implementation/BlueLink2.png"Direct connection"|
to:
%thumb% Attach:Implementation/BlueInterface.png"Direct connection"|
Changed line 78 from:
%thumb% [[Implementation/ClientAPI|Attach:Implementation/RedLink2.png"Ripple Client API"]]
to:
%thumb% [[Implementation/ClientAPI|Attach:Implementation/RedInterface.png"Ripple Client API"]]
Changed line 88 from:
%thumb% [[Implementation/ClientAPI|Attach:Implementation/RedLink2.png"Ripple Client API"]]
to:
%thumb% [[Implementation/ClientAPI|Attach:Implementation/RedInterface.png"Ripple Client API"]]
Changed line 99 from:
%thumb%[[Protocol/Index | Attach:Implementation/GreenLink2.png"Ripple-Protocol"]]
to:
%thumb%[[Protocol/Index | Attach:Implementation/GreenInterface.png"Ripple-Protocol"]]
Changed line 2 from:
(:cell colspan=2 align=center :)
to:
(:cell colspan=2 align=center bgcolor=#cccccc :)
Changed line 8 from:
(:cellnr colspan=2 align=center :)
to:
(:cellnr colspan=2 align=center bgcolor=#cccccc :)
Deleted line 31:
Deleted lines 38-40:
Deleted lines 48-49:
Deleted line 57:
Deleted line 65:
Deleted line 76:
Deleted line 86:
Deleted line 91:
Deleted line 97:
Deleted lines 106-107:
Changed line 34 from:
%width=60px% Attach:Main/Alice.png"Alice"|
to:
%width=30px% Attach:Main/Alice.png"Alice"|
Changed line 37 from:
%width=40px% Attach:Main/Node.png"Node"|
to:
%width=25px% Attach:Main/Node.png"Node"|
Changed line 44 from:
%width=60px% Attach:Main/Server.png"Server"|
to:
%width=45px% Attach:Main/Server.png"Server"|
Changed line 56 from:
%width=60px% Attach:Main/Client.png"Client"|
to:
%width=40px% Attach:Main/Client.png"Client"|
Changed lines 86-88 from:
(:cellnr align=center colspan=2 :)
%thumb%Attach:Implementation/RedLink2.png"Ripple Merchant API"|
''Ripple Merchant API''
%thumb%
to:
(:cellnr align=center colspan=2:)
%thumb% [[Implementation/ClientAPI|Attach:Implementation/RedLink2.png"Ripple Client API"]]
[[Implementation/ClientAPI|''Ripple Client API'']]
%thumb% [[Implementation/ClientAPI|Attach:Implementation/RedLink2.png"Ripple Client API"]]
[[Implementation/ClientAPI|''Ripple Client API'']]
Changed lines 92-93 from:
This protocol allows a Client to access payment services provided by a Ripple Server.
to:
This protocol allows a Client application to access all functions provided by a Ripple Server:\\
i.e. Create an account, set credit limits, make a payment, etc...
i.e. Create an account, set credit limits, make a payment, etc...
Changed lines 95-97 from:
(:cellnr align=center colspan=2:)
to:
Partially implemented.
(:cellnr align=center colspan=2 :)
(:cellnr align=center colspan=2 :)
Added lines 99-100:
''Ripple Merchant API''
is a subset of
is a subset of
Added line 102:
Changed lines 106-107 from:
This protocol allows a Client application to access all functions provided by a Ripple Server:\\
i.e. Create an account, set credit limits, make a payment, etc...
i
to:
This protocol allows a Client to access payment services provided by a Ripple Server.
Changed line 108 from:
to:
It may be implemented via OpenTransact.
Changed line 75 from:
%thumb% Attach:Main/BlackLink.png"Direct connection"|
to:
%thumb% Attach:Implementation/BlueLink2.png"Direct connection"|
Changed line 87 from:
%thumb% Attach:Main/RedLink.png"Ripple Merchant API"|
to:
%thumb% Attach:Implementation/RedLink2.png"Ripple Merchant API"|
Changed line 97 from:
%thumb% [[Implementation/ClientAPI|Attach:Main/RedLink.png"Ripple Client API"]]
to:
%thumb% [[Implementation/ClientAPI|Attach:Implementation/RedLink2.png"Ripple Client API"]]
Changed line 108 from:
%thumb%[[Protocol/Index | Attach:Main/GreenLink1.png"Ripple-Protocol"]]
to:
%thumb%[[Protocol/Index | Attach:Implementation/GreenLink2.png"Ripple-Protocol"]]
Changed lines 13-15 from:
[[Main/DistributedArchitectures|Distributed architectures comparision:]](:nl:)
[[Main/DistributedArchitectures| P2P, Clusters ... ]]
[[Main/DistributedArchitectures|
to:
[[Main/DistributedArchitectures|Distributed architectures comparison P2P, Clusters ... ]]
Changed lines 97-98 from:
%thumb% Attach:Main/RedLink.png"Ripple Client API"|
''Ripple Client API''
to:
%thumb% [[Implementation/ClientAPI|Attach:Main/RedLink.png"Ripple Client API"]]
[[Implementation/ClientAPI|''Ripple Client API'']]
[[Implementation/ClientAPI|''Ripple Client API'']]
Changed line 105 from:
Partially implemented, [[Implementation/ClientAPI|here]]
to:
Partially implemented.
Changed line 2 from:
(:cell align=center :)
to:
(:cell colspan=2 align=center :)
Added line 4:
(:cellnr align=center :)
Changed line 6 from:
(:cellnr align=center :)
to:
(:cell align=center :)
Added lines 8-9:
(:cellnr colspan=2 align=center :)
'''Hypothetical interserver Ripple system'''
'''Hypothetical interserver Ripple system'''
Deleted line 10:
Changed lines 12-13 from:
[[Main/DistributedArchitectures|Distributed architectures comparision: P2P, Clusters ...]]
(:cellnr align=center :)
to:
[[Main/DistributedArchitectures|Distributed architectures comparision:]](:nl:)
[[Main/DistributedArchitectures| P2P, Clusters ... ]]
(:cell colspan=2 align=center :)
Changed lines 105-106 from:
%thumb% Attach:Main/GreenLink1.png"Ripple-Protocol"|
''Ripple Distributed Protocol''
to:
%thumb%[[Protocol/Index | Attach:Main/GreenLink1.png"Ripple-Protocol"]]
[[Protocol/Index |''Ripple Distributed Protocol'']]
[[Protocol/Index |''Ripple Distributed Protocol'']]
Changed line 112 from:
Not implemented, a lot of work done ''[[Protocol/Index |here]]''
to:
Not implemented, a lot of work done
Added line 10:
[[Main/DistributedArchitectures|Distributed architectures comparision: P2P, Clusters ...]]
Changed lines 12-15 from:
%width=600px% Attach:Main/Distributed_Architecture_Components.jpeg"Complete system"
[[Main/DistributedArchitectures|Distributed architectures comparision: P2P, Clusters ...]]
[[Implementation/Components|See a map of component in complete Ripple system]]
[[Implementation/Components|See a map of component in complete Ripple system]]
to:
%width=600px% Attach:Main/Distributed_Architecture_Components.png"Complete system"
Added lines 1-115:
(:table border=1 width=100% align=center cellspacing=0 :)
(:cell align=center :)
'''Simple system'''
%width=220px% Attach:Main/Centralized_Architecture.jpeg"Simple system"
(:cellnr align=center :)
%width=600px% Attach:Main/Centralized_Architecture_Components.jpeg"Simple system"
(:cellnr align=center :)
'''Hypothetical interserver Ripple system'''
%width=220px% Attach:Main/Distributed_Architecture.jpeg"Complete system"
(:cellnr align=center :)
%width=600px% Attach:Main/Distributed_Architecture_Components.jpeg"Complete system"
[[Main/DistributedArchitectures|Distributed architectures comparision: P2P, Clusters ...]]
[[Implementation/Components|See a map of component in complete Ripple system]]
(:tableend:)
Legend
(:table border=1 width=100% align=center cellspacing=0 :)
(:cellnr align=center colspan=2 bgcolor=#cccccc :)
'''Symbol'''
(:cell align=center colspan=2 bgcolor=#cccccc :)
'''Description'''
(:cell align=center bgcolor=#cccccc :)
'''Implementations'''
(:cellnr align=center :)
%width=60px% Attach:Main/Alice.png"Alice"|
''Alice : [[Main/Definitions#User|User]]''
(:cell align=center :)
%width=40px% Attach:Main/Node.png"Node"|
''Alice's node : [[Main/Definitions#Node|Node]]''
(:cell align=center colspan=3 :)
(:cellnr align=center colspan=2 :)
%width=60px% Attach:Main/Server.png"Server"|
''[[Main/Definitions#Server|Server]]''
(:cell align=left colspan=2 :)
A Ripple server is an application that stores data for each node and manages interactions between nodes. Users connect to the server to interact with their node. Servers may interact with other servers through Ripple Distributed Protocol (not implemented yet).
(e.g. Ripplepay.com)
(:cell align=center :)
* [[http://sourceforge.net/projects/ripple | Ripplesite]] - open source code.
* [[https://github.com/jplewicke/rivulet | Rivulet]] - open source code.
* [[http://sourceforge.net/projects/cmb/ | Circular Multilateral Barter]] - code
(:cellnr align=center colspan=2 :)
%width=60px% Attach:Main/Client.png"Client"|
''[[Main/Definitions#Client|Client]]''
(:cell align=center colspan=2 :)
Client Application:
(i.e. facebook, ebay ...)
(:cell align=center :)
No client has been created or adapted to communicate with Ripple Servers yet.\\
A [[Main/PotentialRippleClients|list of potential clients]] exists.
(:cellnr align=center colspan=2 bgcolor=#cccccc :)
'''Communication Protocols'''
(:cell align=center bgcolor=#cccccc :)
'''Entities connected by Protocol'''
(:cell align=center bgcolor=#cccccc :)
'''Description'''
(:cell align=center bgcolor=#cccccc :)
'''Implementations'''
(:cellnr align=center colspan=2 :)
%thumb% Attach:Main/BlackLink.png"Direct connection"|
''Direct connection''
(:cell align=center :)
User - Server\\
or\\
User - Client
(:cell align=center :)
Direct connection
(:cell align=center :)
Implemented via SSL in Ripplesite
(:cellnr align=center colspan=2 :)
%thumb% Attach:Main/RedLink.png"Ripple Merchant API"|
''Ripple Merchant API''
(:cell align=center :)
Client - Server
(:cell align=center :)
This protocol allows a Client to access payment services provided by a Ripple Server.
(:cell align=center :)
It may be implemented via OpenTransact.
(:cellnr align=center colspan=2:)
%thumb% Attach:Main/RedLink.png"Ripple Client API"|
''Ripple Client API''
(:cell align=center :)
Client - Server
(:cell align=center :)
This protocol allows a Client application to access all functions provided by a Ripple Server:\\
i.e. Create an account, set credit limits, make a payment, etc...
(:cell align=center :)
Partially implemented, [[Implementation/ClientAPI|here]]
(:cellnr align=center colspan=2 :)
%thumb% Attach:Main/GreenLink1.png"Ripple-Protocol"|
''Ripple Distributed Protocol''
(:cell align=center :)
Server - Server
(:cell align=center :)
This protocol allows interaction between nodes that are hosted in different servers.
(:cell align=center :)
Not implemented, a lot of work done ''[[Protocol/Index |here]]''
(:tableend:)
(:cell align=center :)
'''Simple system'''
%width=220px% Attach:Main/Centralized_Architecture.jpeg"Simple system"
(:cellnr align=center :)
%width=600px% Attach:Main/Centralized_Architecture_Components.jpeg"Simple system"
(:cellnr align=center :)
'''Hypothetical interserver Ripple system'''
%width=220px% Attach:Main/Distributed_Architecture.jpeg"Complete system"
(:cellnr align=center :)
%width=600px% Attach:Main/Distributed_Architecture_Components.jpeg"Complete system"
[[Main/DistributedArchitectures|Distributed architectures comparision: P2P, Clusters ...]]
[[Implementation/Components|See a map of component in complete Ripple system]]
(:tableend:)
Legend
(:table border=1 width=100% align=center cellspacing=0 :)
(:cellnr align=center colspan=2 bgcolor=#cccccc :)
'''Symbol'''
(:cell align=center colspan=2 bgcolor=#cccccc :)
'''Description'''
(:cell align=center bgcolor=#cccccc :)
'''Implementations'''
(:cellnr align=center :)
%width=60px% Attach:Main/Alice.png"Alice"|
''Alice : [[Main/Definitions#User|User]]''
(:cell align=center :)
%width=40px% Attach:Main/Node.png"Node"|
''Alice's node : [[Main/Definitions#Node|Node]]''
(:cell align=center colspan=3 :)
(:cellnr align=center colspan=2 :)
%width=60px% Attach:Main/Server.png"Server"|
''[[Main/Definitions#Server|Server]]''
(:cell align=left colspan=2 :)
A Ripple server is an application that stores data for each node and manages interactions between nodes. Users connect to the server to interact with their node. Servers may interact with other servers through Ripple Distributed Protocol (not implemented yet).
(e.g. Ripplepay.com)
(:cell align=center :)
* [[http://sourceforge.net/projects/ripple | Ripplesite]] - open source code.
* [[https://github.com/jplewicke/rivulet | Rivulet]] - open source code.
* [[http://sourceforge.net/projects/cmb/ | Circular Multilateral Barter]] - code
(:cellnr align=center colspan=2 :)
%width=60px% Attach:Main/Client.png"Client"|
''[[Main/Definitions#Client|Client]]''
(:cell align=center colspan=2 :)
Client Application:
(i.e. facebook, ebay ...)
(:cell align=center :)
No client has been created or adapted to communicate with Ripple Servers yet.\\
A [[Main/PotentialRippleClients|list of potential clients]] exists.
(:cellnr align=center colspan=2 bgcolor=#cccccc :)
'''Communication Protocols'''
(:cell align=center bgcolor=#cccccc :)
'''Entities connected by Protocol'''
(:cell align=center bgcolor=#cccccc :)
'''Description'''
(:cell align=center bgcolor=#cccccc :)
'''Implementations'''
(:cellnr align=center colspan=2 :)
%thumb% Attach:Main/BlackLink.png"Direct connection"|
''Direct connection''
(:cell align=center :)
User - Server\\
or\\
User - Client
(:cell align=center :)
Direct connection
(:cell align=center :)
Implemented via SSL in Ripplesite
(:cellnr align=center colspan=2 :)
%thumb% Attach:Main/RedLink.png"Ripple Merchant API"|
''Ripple Merchant API''
(:cell align=center :)
Client - Server
(:cell align=center :)
This protocol allows a Client to access payment services provided by a Ripple Server.
(:cell align=center :)
It may be implemented via OpenTransact.
(:cellnr align=center colspan=2:)
%thumb% Attach:Main/RedLink.png"Ripple Client API"|
''Ripple Client API''
(:cell align=center :)
Client - Server
(:cell align=center :)
This protocol allows a Client application to access all functions provided by a Ripple Server:\\
i.e. Create an account, set credit limits, make a payment, etc...
(:cell align=center :)
Partially implemented, [[Implementation/ClientAPI|here]]
(:cellnr align=center colspan=2 :)
%thumb% Attach:Main/GreenLink1.png"Ripple-Protocol"|
''Ripple Distributed Protocol''
(:cell align=center :)
Server - Server
(:cell align=center :)
This protocol allows interaction between nodes that are hosted in different servers.
(:cell align=center :)
Not implemented, a lot of work done ''[[Protocol/Index |here]]''
(:tableend:)