Weitere ähnliche Inhalte Ähnlich wie Wakanda#4 (20) Kürzlich hochgeladen (20) Wakanda#43. Shibuya, Tokyo
browsers server
NoSQL object datastore
+
web server
+
Server Side JavaScript
Client Side JavaScript
+
WAF: datasource (widgets)
+
WAF: dataprovider (REST)
datasource
agenda
.../Architecture-of-a-Wakanda-Solution/Datasources.200-990969.ja.html
4. Shibuya, Tokyo
browsers server
NoSQL object datastore
+
web server
+
Server Side JavaScript
Client Side JavaScript
+
WAF: datasource (widgets)
+
WAF: dataprovider (REST)
datasource
agenda
.../Architecture-of-a-Wakanda-Solution/Datasources.200-990969.ja.html
5. Shibuya, Tokyo
browsers server
NoSQL object datastore
+
web server
+
Server Side JavaScript
Client Side JavaScript
+
WAF: datasource (widgets)
+
WAF: dataprovider (REST)
datasource
agenda
async
.../Architecture-of-a-Wakanda-Solution/Datasources.200-990969.ja.html
6. Shibuya, Tokyo
browsers server
NoSQL object datastore
+
web server
+
Server Side JavaScript
Client Side JavaScript
+
WAF: datasource (widgets)
+
WAF: dataprovider (REST)
datasource
agenda
.../Architecture-of-a-Wakanda-Solution/Datasources.200-990969.ja.html
15. Shibuya, Tokyo
<meta data-lib="WAF" name="WAF.config.datasources"
data-type="dataSource" data-source-type="dataClass"
data-id="company" data-source="Company"
data-autoLoad="true" data-initialQueryString="state = 'CA'"
data-initialOrderBy="name ASC" />
.../Architecture-of-a-Wakanda-Solution/Datasources.200-990969.ja.html
data source
page
25. Shibuya, Tokyo
object datastore
model API (v5)
model = new DataStoreCatalog();
model.City = new DataClass("CityCollection", "public");
model.City.id = new Attribute("storage", "long", {"primKey": true, "unique":
true, "autosequence": true, "indexKind": "btree"});
model.City.prefectureId = new Attribute("storage", "long", null);
model.City.yomi = new Attribute("storage", "string", {"limiting_length":
22});
model.City.name = new Attribute("storage", "string", {"limiting_length": 10,
"indexKind": "btree"});
model.City.city_Post = new Attribute("relatedEntities", "PostCollection",
"post_City", {"reversePath": true});
model.City.city_Prefecture = new Attribute("relatedEntity", "Prefecture",
"Prefecture");
26. Shibuya, Tokyo
object datastore
model API (v4)
model = new DataStoreCatalog();
var city = model.addClass = ("CityCollection", "public");
city.addAttribute("id", "storage", "long", {"primKey": true, "unique": true,
"autosequence": true, "indexKind": "btree"});
city.addAttribute("prefectureId", "storage", "long", null);
city.addAttribute("yomi", "storage", "string", {"limiting_length": 22});
city.addAttribute("name", "storage", "string", {"limiting_length": 10,
"indexKind": "btree"});
city.addAttribute("city_Post", "relatedEntities", "PostCollection",
"post_City", {"reversePath": true});
city.addAttribute("city_Prefecture", "relatedEntity", "Prefecture",
"Prefecture");
37. Shibuya, Tokyo
aliases: source, sources, waf
WAF.sources = WAF.source;
source = WAF.source;
sources = WAF.source;
waf = WAF;
loader.js
.../Hands-On-Example.200-875684.ja.html
63. Shibuya, Tokyo
.../Hands-On-Example.200-875684.ja.html
metaでモジュール群を指定 ▶ waf-optimise.js, waf-optimise.css
loader.js
<meta name="WAF.catalog" content="Prefecture,City,Post"/>
<meta name="WAF.config.loadCSS" id="waf-interface-css" content="styles/
index.css"/>
<meta name="WAF.config.loadCSS" id="waf-project-css" content="/
application.css"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="Post" data-lib="WAF" data-id="post" data-
dataType="string" data-autoLoad="true" content="post"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="Prefecture" data-lib="WAF" data-
id="prefecture" data-dataType="string" data-autoLoad="true"
content="prefecture"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="prefecture.prefecture_City" data-lib="WAF"
data-id="cities" data-dataType="string" data-autoLoad="true"
content="cities"/>
<meta name="WAF.config.loadJS" id="waf-script" content="scripts/index.js"/>
64. Shibuya, Tokyo
.../Hands-On-Example.200-875684.ja.html
metaでモジュール群を指定 ▶ waf-optimise.js, waf-optimise.css
loader.js
<meta name="WAF.catalog" content="Prefecture,City,Post"/>
<meta name="WAF.config.loadCSS" id="waf-interface-css" content="styles/
index.css"/>
<meta name="WAF.config.loadCSS" id="waf-project-css" content="/
application.css"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="Post" data-lib="WAF" data-id="post" data-
dataType="string" data-autoLoad="true" content="post"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="Prefecture" data-lib="WAF" data-
id="prefecture" data-dataType="string" data-autoLoad="true"
content="prefecture"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="prefecture.prefecture_City" data-lib="WAF"
data-id="cities" data-dataType="string" data-autoLoad="true"
content="cities"/>
<meta name="WAF.config.loadJS" id="waf-script" content="scripts/index.js"/>
65. Shibuya, Tokyo
.../Hands-On-Example.200-875684.ja.html
metaでモジュール群を指定 ▶ waf-optimise.js, waf-optimise.css
loader.js
<meta name="WAF.catalog" content="Prefecture,City,Post"/>
<meta name="WAF.config.loadCSS" id="waf-interface-css" content="styles/
index.css"/>
<meta name="WAF.config.loadCSS" id="waf-project-css" content="/
application.css"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="Post" data-lib="WAF" data-id="post" data-
dataType="string" data-autoLoad="true" content="post"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="Prefecture" data-lib="WAF" data-
id="prefecture" data-dataType="string" data-autoLoad="true"
content="prefecture"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="prefecture.prefecture_City" data-lib="WAF"
data-id="cities" data-dataType="string" data-autoLoad="true"
content="cities"/>
<meta name="WAF.config.loadJS" id="waf-script" content="scripts/index.js"/>
66. Shibuya, Tokyo
.../Hands-On-Example.200-875684.ja.html
metaでモジュール群を指定 ▶ waf-optimise.js, waf-optimise.css
loader.js
<meta name="WAF.catalog" content="Prefecture,City,Post"/>
<meta name="WAF.config.loadCSS" id="waf-interface-css" content="styles/
index.css"/>
<meta name="WAF.config.loadCSS" id="waf-project-css" content="/
application.css"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="Post" data-lib="WAF" data-id="post" data-
dataType="string" data-autoLoad="true" content="post"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="Prefecture" data-lib="WAF" data-
id="prefecture" data-dataType="string" data-autoLoad="true"
content="prefecture"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="prefecture.prefecture_City" data-lib="WAF"
data-id="cities" data-dataType="string" data-autoLoad="true"
content="cities"/>
<meta name="WAF.config.loadJS" id="waf-script" content="scripts/index.js"/>
67. Shibuya, Tokyo
.../Hands-On-Example.200-875684.ja.html
metaでモジュール群を指定 ▶ waf-optimise.js, waf-optimise.css
loader.js
<meta name="WAF.catalog" content="Prefecture,City,Post"/>
<meta name="WAF.config.loadCSS" id="waf-interface-css" content="styles/
index.css"/>
<meta name="WAF.config.loadCSS" id="waf-project-css" content="/
application.css"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="Post" data-lib="WAF" data-id="post" data-
dataType="string" data-autoLoad="true" content="post"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="Prefecture" data-lib="WAF" data-
id="prefecture" data-dataType="string" data-autoLoad="true"
content="prefecture"/>
<meta name="WAF.config.datasources" data-type="dataSource" data-source-
type="dataClass" data-source="prefecture.prefecture_City" data-lib="WAF"
data-id="cities" data-dataType="string" data-autoLoad="true"
content="cities"/>
<meta name="WAF.config.loadJS" id="waf-script" content="scripts/index.js"/>
68. Shibuya, Tokyo
<!DOCTYPE html>
<html>
<head>
<title>plain</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<meta name="WAF.config.modules" content="dataprovider"/>
<meta name="WAF.catalog" content="Prefecture,City,Post"/>
</head>
<body>
<h1>
lean and mean: catalog and dataprovider only!
</h1>
<script type="text/javascript" src="/waLib/WAF/Loader.js"></script>
</body>
</html>
loader.js
metaでモジュール群を指定 ▶ waf-optimise.js, waf-optimise.css
.../Hands-On-Example.200-875684.ja.html
71. Shibuya, Tokyo
<!DOCTYPE html>
<html>
<head>
<title>plain</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<meta name="WAF.config.modules" content="dataprovider"/>
<meta name="WAF.catalog" content="Prefecture,City,Post"/>
</head>
<body>
<h1>
lean and mean: catalog and dataprovider only!
</h1>
<script type="text/javascript" src="/waLib/WAF/Loader.js"></script>
</body>
</html>
loader.js
metaでモジュール群を指定 ▶ waf-optimise.js, waf-optimise.css
.../Hands-On-Example.200-875684.ja.html