最高のサービス概念図
#dev #最高のサービス概要 #supreme-tsugu-chan
code:サービス概念図(plantuml)
@startuml
actor 利用者A
actor 利用者B
agent "ブラウザA"
agent "ブラウザB"
agent "最高のサービス"
利用者A --> ブラウザA : アクセス
利用者A <. ブラウザA : 画像
利用者A <. ブラウザA : 動画
利用者A <. ブラウザA : 音楽
利用者A <. ブラウザA : 機能イベント情報
利用者B --> ブラウザB : アクセス
利用者B <. ブラウザB : 画像
利用者B <. ブラウザB : 動画
利用者B <. ブラウザB : 音楽
利用者B <. ブラウザB : 機能イベント情報
ブラウザA -> 最高のサービス : ページ要求
ブラウザA <. 最高のサービス : ページ応答
ブラウザA <..> 最高のサービス : 機能イベント情報
ブラウザB -> 最高のサービス : ページ要求
ブラウザB <. 最高のサービス : ページ応答
ブラウザB <..> 最高のサービス : 機能イベント情報
@enduml
code:ハードウェア構成図(plantuml)
@startuml
agent "ブラウザ"
cloud "chimata.org" {
node "VPS"
}
ブラウザ <-> VPS
@enduml
code:ネットワーク構成図(plantuml)
@startuml
agent "ブラウザ"
cloud "chimata.org" {
node "VPS" {
frame "Docker" {
component "Nginx"
component "最高のサービス"
}
}
}
cloud "tumblr.com" {
component "最高のタンブラー"
}
ブラウザ ---> Nginx : HTTPS
ブラウザ <... Nginx : HTTPS
ブラウザ <...> Nginx : WSS
Nginx -> 最高のサービス : HTTP
Nginx <. 最高のサービス : HTTP
Nginx <.> 最高のサービス : WebSocket
最高のサービス --> 最高のタンブラー : HTTPS
最高のサービス <.. 最高のタンブラー : HTTPS
@enduml
code:ソフトウェア構成図(plantuml)
@startuml
frame "FrontEnd" {
component "UserAgent"
artifact "SPA & PWA" {
artifact "index" {
component "TypeScript"
component "Stylus"
artifact "Vue.js "
artifact "Create.js "
artifact "A-FRAME "
}
package "HTML5 & Web API" {
component "Canvas API"
component "WebGL"
component "Web Audio API"
component "IndexedDB"
component "Web Workers"
component "Progress Events"
component "WebSocket API"
component "Network Information API"
component "WebVR API"
component "Server-Sent Events (Opt)"
component "Cross-Origin Resource Sharing (Opt)"
}
}
}
frame "BackEnd" {
cloud "chimata.org" {
package "BEAM(Erlang)" {
artifact "Elixir / Phoenix " {
component "HTTP Listen"
component "HTTP Client"
component "WebSocket"
}
}
}
cloud "tumblr.com" {
package "Tumblr API" {
artifact "Auth / OAuth"
artifact "Posts / Photo"
artifact "Posts / Audio"
artifact "Posts / Video"
}
}
}
UserAgent ----> HTTP Listen : ページリクエスト
UserAgent <.... HTTP Listen : ページレスポンス(SPA&PWA)
WebSocket API <....> WebSocket : 各種要素・イベント
HTTP Client --> Auth / OAuth : 認証要求
HTTP Client --> Posts / Photo : 画像要求
HTTP Client --> Posts / Audio : BGM要求
HTTP Client --> Posts / Video : 動画要求
@enduml