About:MementoStructure: Difference between revisions

m
no edit summary
(Created page with "= Memento application structure = Like almost all modern apps, Memento is structured inside into 3 layers or tiers. The '''''<u>User Interface</u> tier''''' (the '''<u>UI</u>...")
 
mNo edit summary
Line 2: Line 2:
Like almost all modern apps, Memento is structured inside into 3 layers or tiers.
Like almost all modern apps, Memento is structured inside into 3 layers or tiers.


The '''''<u>User Interface</u> tier''''' (the '''<u>UI</u>''') &mdash; more properly called the '''''Presentation tier'''''. The UI consists of &mdash; on the Mobile edition screens & on the Desktop edition windows &mdash; in either edition with cards (forms), menus, toolbars, buttons, and so on &mdash; to handle interaction with the user.
The '''''<u>User Interface</u> layer''''' (the '''<u>UI</u> layer''') consists of &mdash; on the Mobile edition screens & on the Desktop edition windows &mdash; in either edition with cards (forms), menus, toolbars, buttons, and so on &mdash; to handle interaction with the user.


The '''''<u>Scripting</u> tier''''' &mdash; though more properly called the '''''Application tier''''', takes action upon user input or other such events, like the opening of a library, the pushing of a button, or the saving of an entry. These events may be handled to some degree by Memento & to another degree by the use of user-written '''''scripts''''', generally JavaScript scripts.
The '''''<u>Scripting</u> layer''''' takes action upon user input or other such events, like the opening of a library, the pushing of a button, or the saving of an entry. These events may be handled to some degree by Memento & to another degree by the use of user-written '''''scripts'''''(generally JavaScript scripts).


The '''''<u>Database</u> tier''''' &mdash; most commonly called the '''''Data tier''''' &mdash; manages the ''storage of & access to data''.
The '''''<u>Database</u> layer''''' manages the ''storage of & access to data'' (or database).


:This tier includes the definitions of all libraries, fields (with any aggregations or autofills), entries, links among or relationships between libraries, templates, & filters; it also includes synchronization of local data with data in the Memento cloud &mdash; the <u>partial</u> synchronization of each library with Google Sheets &mdash; which can then be saved to Microsoft Excel files.
:This layer includes the definitions of all libraries, fields (with any aggregations or autofills), entries, links among or relationships between libraries, templates, & filters; it also includes synchronization of local data with data in the Memento cloud &mdash; the <u>partial</u> synchronization of each library with Google Sheets &mdash; which can then be saved to Microsoft Excel files.


:<u>'''This'''</u> synchronization with spreadsheets in Google Drive &mdash; as opposed to that with libraries in the ''Memento cloud'' &mdash; <u>does not include</u> library links, tag names in Tags fields, item names in Single-Choice List, Radio Buttons, Multiple-Choice List, Checkboxes, nor List fields.
:<u>'''This'''</u> synchronization with spreadsheets in Google Drive &mdash; as opposed to that with libraries in the ''Memento cloud'' &mdash; <u>does not include</u> library links, tag names in Tags fields, item names in Single-Choice List, Radio Buttons, Multiple-Choice List, Checkboxes, nor List fields.
Read about [[About:LayersVsTiers|the relationship between ''layers'' and ''tiers'']].
{{BeginNote|Layers & Tiers}}
Move the text below into [[About:MementoStructure]], revising along the way for user comprehensibility.
We may also put some of this into [[Doc:TermConfusion]], probably just a tiny summary of it.
----------
----------
The architecture of most modern applications is made up of 3 execution ''tiers'': The Presentation tier, the Application tier, and the Data tier.
The architecture of most modern applications is made up of 3 execution ''tiers'': The Presentation tier, the Application tier, and the Data tier.
Line 17: Line 23:


==== Memento terminology in 3-tier application architecture ====
==== Memento terminology in 3-tier application architecture ====
;Tiers & layers: Most articles & other literature on application architecture reference 3-''tier'' architecture. These articles have been written for very large systems, like Google or Amazon. Each of the 3 ''layers'' will run on its own separate platform on such large-scale systems, so they call it a 3-tier architecture. Very small systems that run, say, on your cellphone will have all 3 layers running on your cellphone. So, don't worry about the difference between application layers & tiers. In our case, the only time a layer gets spread across tiers is with the Memento Cloud. There is still a part of the data layer running on your phone, but it communications with the Memento server software in the cloud for the remainder of the data layer. So other than that, they are equivalent, and when you hear about one, it applies also to the other unless the subject has to do with what device or computer it runs on. Since we're small, '''we'll use the term ''layer'''''.
;Tiers & layers: Most articles & other literature on application architecture reference 3-''tier'' architecture.
These articles have been written for very large systems, like Google or Amazon.
Each of the 3 ''layers'' will run on its own separate platform on such large-scale systems, so they call it a 3-tier architecture.  
Very small systems that run, say, on your cellphone will have all 3 layers running on your cellphone.
So, don't worry about the difference between application layers & tiers.
In our case, the only time a layer gets spread across tiers is with the Memento Cloud.
There is still a part of the data layer running on your phone, but it communications with the Memento server software in the cloud for the remainder of the data layer.
So other than that, they are equivalent, and when you hear about one, it applies also to the other unless the subject has to do with what device or computer it runs on.
Since we're small, '''we'll use the term ''layer'''''.


;Memento's names for the tiers/layers: The Memento ''user interface'' layer runs on your device and may be called in articles the ''Preseentation'' tier or layer. The Memento ''Scripting'' layer runs on your device and may be call in articles the ''Application'' or ''Logic'' tier or layer. The Memento ''Database'' layer runs on your device & on Memento servers when you're using the cloud and may be called in articles the ''Data'' tier or layer.
;Memento's names for the tiers/layers:
The Memento ''user interface'' layer runs on your device and may be called in articles the ''Preseentation'' tier or layer.
The Memento ''Scripting'' layer runs on your device and may be call in articles the ''Application'' or ''Logic'' tier or layer.
The Memento ''Database'' layer runs on your device & on Memento servers when you're using the cloud and may be called in articles the ''Data'' tier or layer.