主に、
についての話です。
solid とは何か
正直に言うと、僕は Solid について、詳しい背景とか思想についてはちょっと把握し切れてない感じなんですが、 大体の所をざっくばらんに言うと、
Web を再び分散化させる
という目標を持ったプロジェクトっぽいです。
それで、その辺りもう少し踏み込んで言うと、実際に solid は Web を再び分散化させる と言うのと、 あと、 自分達のデータの所有権は自分達の元へ置ける様に 、と言う思想と言うか背景が有るっぽく、 solid では、それを実現するための仕組みを W3C の標準規格等に沿いつつ、それらを組み合わせて、 そう言った理想を実現しよう、という取り組みなのかな (?) と僕は思います。
ま、この辺り、
をざっと (読める所を) 読んで把握した感じなんで、要点とかズレてる可能性もないわけでもないですが、 とりあえず、 solid はそういう感じっぽいプロジェクトである、という事を頭に入れて次に行きます。
solid はどの様にデータの自己所有と分散化を実現しているか
実際、これは色々な仕組みで行なっているっぽいのですが、これまたざっくばらんに言うと、 まず、ログインや登録と言った仕組みでは、
- まず、サービス側は利用者側の情報を solid の規定に従った URL から取ってきます
- 次に solid の規定に沿った URL では、TLS のクライアント認証の公開鍵とかをサービスに渡します
- そして、サービスは利用者の認証等を、 TLS のクライアント認証で行います
という感じで、データの保存に関しては、
- 認証とかをキチンと行なった後、利用者側の Endpoint URL に データを REST で投げる
と言う、
なんか凄いシンプル! と言うか、その手が有ったか!
みたいな感じです。
ま、仕組みとしては凄くシンプルで、かつ、セキュリティも結構良い感じなのでは? と思うので、まあこれが流行ると面白いんじゃないかな、と思います。はい。
その他、細かい話
僕は今回取り上げた solid については、確か はてブだったか GitHub の Private Feed か何か を Feedly で見てた時に知って、 今回、と言うか今日に真面目に見てまわった感じなんですが、分散 Web Application 等を実現したい、と思っている人間としては、
おぉ、こういうシンプルな仕組みで分散 Web とか出来るんだな!
という感じで、結構感心する事し切りでした。特に TLS クライアント認証でユーザー認証とか凄いなぁ、とか。
ただし、僕の English の読解力は時々、こう、信頼性とかで怪しいところが有るので、 もしこの記事を読まれた方で、 solid に興味を持たれた方は、
- GitHub - Solid - GitHub の Organization
辺りをよく読んでみると良いかと思います。
あと、これは紹介が最後になっていますが、この Project は、Web の父でもある、
[ティム・バーナーズ・リー ] 氏が監督しているらしいので、
そう言った意味でも、これから注目していく価値のあるプロジェクトだと思います。はい。
以上
とりあえず、僕個人としては solid 内で使用されている、
- WebID
という規格 (現在ドラフトだけども) が凄く魅力的 (サーバサイドで Credential 情報を持たなくて良い的な意味で) に捉えているので、その辺りについて、もうちょっと深追いして、自分が今あると便利だなー系の Web Application を作るのに生かしたいな、と考えています。
また、最近だとこの手の 分散 Web については、 Mastodon と言う、微妙に分散している様で分散してないんじゃ……的なヤツが流行ってますけど、ああ言った Web Application を、より良い方向で分散させられそうな印象を solid に対して受けるので、solid は色々と仕組みとしては面白いなぁ、と僕は思ってます。
ま、実際、商用サービスで solid が流行るか、って言ったら微妙な所も有るんじゃないかとは思いますが、 こう言った意欲的なプロジェクトが流行って、 Web がより良い方向に流れて行けば良いなーと、 今の時点の僕は考えています。はい。