changeset 50:709b204892c7

add application description
author Kazuma Takeda
date Sat, 17 Dec 2016 22:47:37 +0900
parents a894ba522389
children e3b4e888ef32
files Slide/prosym.md
diffstat 1 files changed, 57 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/Slide/prosym.md	Sat Dec 17 22:16:05 2016 +0900
+++ b/Slide/prosym.md	Sat Dec 17 22:47:37 2016 +0900
@@ -3,11 +3,7 @@
 profile: 琉球大学理工学研究科
 lang: Japanese
 code-engine: coderay
-
-[](プロシン発表時間 セッション4 1/7 8:50 - 10:10)
-
-## 研究目的
-
+# 研究目的
 プログラムからデータを分離して扱うデータベースにはデータ構造とRDBの表構造のインピーダンスミスマッチという問題がある。
 
 - ORMapper
@@ -19,7 +15,7 @@
 トランザクションは木のルートをアトミックに入れ替えることで実現する。
 また、木構造のデータの変更を非破壊的、つまり元の木を保存しつつ、新しい木を構築する方法を採る。
 
-## この発表では
+# この発表では
 
 - Jungleデータベースの構造
 - WebServer(BBS)
@@ -29,7 +25,7 @@
 
 Jungleデータベースの構造とこれを用いたアプリケーション、実装時に発生した問題と解決方法について解説する。
 
-## Jungleデータベース
+# Jungleデータベース
 
 JungleデータベースはJavaで実装されている。
 木構造型のデータベースで、プログラム上に直接木構造を構築する。
@@ -54,7 +50,7 @@
 以降はJungleの構造をAPIとともに紹介。
 [](70分あるので入れてもいいかな)
 
-## 木の生成
+# 木の生成
 
 Jungleは複数の木を名前を利用して管理しており、名前により作成・編集・削除を行う。
 Jungleクラスの木の生成、管理を提供するAPIは以下のようになっている。
@@ -67,7 +63,7 @@
 JungleTree getTreeByName(String treeName);
 ```
 
-## 木のノード
+# 木のノード
 
 Jungleの木は、複数のノードの集合でできている。
 ノードは、自身の子のListと属性名と属性値の組でデータをもつ。
@@ -78,6 +74,56 @@
 Attribute getAttribute();
 ```
 
-## Children
+# ノードのChildren
+
+Childrenクラスで提供されているAPIでTreeNodeにアクセスできる。
+
+``` Java
+// Children.java
+int size();
+Either<Error, TreeNode> at(int num);
+```
+
+## Eitherクラス
+
+TreeNodeを取ってくる場合Eitherで比較する。
+
+``` Java
+Either<Error, JungleTreeEditor> either = tree.getRootNode ().getChildren ().at (0);
+if(either.isA()) {
+  // throw  Expection
+}
+TreeNode node = either.b();
+```
+
+# ノードのAttribute
+
+Attributeクラスで提供されているAPIでノードの値にアクセスできる。
 
-ChildrenクラスやAttributeクラスが提供するAPIで
+``` Java
+// Attribute.java
+ByteBuffer get(String key);
+String getString(String key);
+```
+
+# Jungle を用いたアプリケーション
+
+## maTrix
+
+[](そのまま利用しているので書き直す必要あり)
+許認可管理アプリケーション
+maTrixは、人物、役職、役割、権限、組織の木構造のデータとポリシーファイルを持つ。
+ポリシーファイルは、データに対するアクセス要求が許可されるか否認されるかを判断するためのルールを、誰が(Target)、何を(Resource)、どうできるか(Action)の3つの要素で記述されている。
+ポリシーファイルは組織構造中の人や役職をidを用いて参照している。つまり、ポリシーファイルを用いて許認可を下すためには、その人がどこの組織に所属して、その役割がどの権限を持っているかを返す検索が必要になる。
+
+## BBS
+
+Jetty上で動くServletからのデータベースの接続先としてJungle databaseを用いる。
+
+## Rendering Engine
+
+
+
+## Unity
+
+[](プロシン発表時間 セッション4 1/7 8:50 - 10:10)