2 開発物の名称と目的 正式名称 Ruby/Tk On Remote-Frame-Buffered Canvas ( Ruby/Tk On RFB Canvas ) 通称 ( 略称 ) Ruby/TkORCA ルビー ティーケー オルカ 開発目的ローカルのウィンドウシステム上に限られていた GUI

Similar documents
2 Ruby/TkORCA とは 2005 年度下期未踏ソフトウェア創造事業 ネット公開を目的としたマルチウィンドウアプリ用フレームワーク での開発物 正式名称 Ruby/Tk On Remote-Frame-Buffered Canvas ( Ruby/Tk On RFB Canvas ) 通称

延命セキュリティ製品 製品名お客様の想定対象 OS McAfee Embedded Control 特定の業務で利用する物理 PC 仮想 PC や Server 2003 Server 2003 ホワイトリスト型 Trend Micro Safe Lock 特定の業務で利用するスタンドアロン PC

FTPサーバーへのアクセス権限設定

スライド 1

Microsoft Word Proself-guide4STD+Prof.docx

V-Client for Mac ユーザーズガイド

Microsoft Word - CygwinでPython.docx

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

<4D F736F F D C A8DED8F9C8EE88F878F E C5816A2E646F63>

Windows MAC OS 用 VPN クライアントソフトバージョンによる仕様差異

Notesアプリが iPadで動くDomino Mobile Apps ご紹介

Microsoft Word JA_revH.doc

図 2 インストールウイザード画面 図 3 のような画面が表示されるので 使用許諾契約の全項目に同意します (A) にチェックを入れ て 次へ (N)> をクリックしてください 図 3 使用許諾契約の画面 図 4 のような画面が表示されるので 次へ (N) をクリックしてください インストール先を変

6-2- 応ネットワークセキュリティに関する知識 1 独立行政法人情報処理推進機構

Windows2000/XPインストール手順

汎用プロキシ利用案内 汎用プロキシ利用案内 目次 汎用プロキシ利用案内 はじめに 汎用プロキシとは 利用可能なポート 概要 動作環境 インストール Windows <I

REX-USB56 「FAX送信」編 第6.0版

Windowsユーザでも 手軽に作れるiPhoneアプリ

2 SmaSvr SmaSvr システムの概要 テクノベインズでは 業務系周辺機器 業務系周辺機器が操作できる スマート端末 が操作できる スマート端末 が操作できる スマート端末アプリ環境 アプリ環境の提供 提供 を実現できる方法 実現できる方法 実現できる方法について研究してきた 研究してきた

Microsoft PowerPoint - 【Webnner】はじめてのHULFT-WebFT.pptx

REX-C56EX FAX送信 第5.0版

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

目次 1. はじめに WEB インタフェース... 4 アクセス方法... 4 操作方法 FTP クライアント FFFTP(WINDOWS) インストール方法 アクセス方法 操作方法 CYBERD

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

LB メディアロック3 クイックガイド

使用する前に

LEAP を使用して Cisco ワイヤレス クライアントを認証するための Funk RADIUS の設定

目次 はじめに... 2 動作環境... 2 ユーザーサポートについて... 2 セットアップ ( インストール ) 手順... 3 セットアップ手順 1 ソフトウェアのダウンロード... 4 セットアップ手順 2 Firebird データベースのインストール... 5 セットアップ手順 2 Fir

ビジネスサーバ設定マニュアル_ssh_ftp編(VPS・Pro)

目次 1 VirtualBoot for Hyper-V とは バックアップを実行するマシンの設定 確認すべきこと SPX によるバックアップ VirtualBoot for Hyper-V を実行するマシンの設定 確

(Veritas\231 System Recovery 16 Monitor Readme)

ダウンロードページアップデートマニュアル.ppt

2

吉田坂本.pptx

PowerPoint プレゼンテーション

スライド 1

PC にソフトをインストールすることによって OpenVPN でセキュア SAMBA へ接続することができます 注意 OpenVPN 接続は仮想 IP を使用します ローカル環境にて IP 設定が被らない事をご確認下さい 万が一仮想 IP とローカル環境 IP が被るとローカル環境内接続が行えなくな

Microsoft PowerPoint - Skype for business の概要.pptx

MC3000一般ユーザ利用手順書

Microsoft Edge の場合 (1) Mizdori 無料体験版ダウンロード画面の [ 体験版ダウンロード ] ボタンをクリックします (2) Edge の下部に mizdori_taiken_setup.zip について行う操作を選んでください と表示され ますので [ 開く ] をクリッ

「ビジネスサーバ」シリーズ設定マニュアル

IBM i ユーザーの課題 モバイルや IOT に対応した新しい開発案件への対応 RPG COBOL など既存アプリのメンテナンス 要員の確保 属人化しない運用 管理体制 2

home-unit2_quickguide_ras_v1.1

ネットキーの操作手順について

スライド 1

BOM for Windows Ver

6 接続の使用準備ができました 画面が表示されます 閉じる をクリックします 認証に事前共有キーを使う の キー に リモートアクセス接続用シークレットキー を入力後 OK をクリックします 今すぐ接続します はクリックしません. アダプターの設定 (Window 7) コントロールパネル - ネッ

KSforWindowsServerのご紹介

PowerPoint プレゼンテーション

ムの共有アドレス帳 インスタント メッセージングの宛先に活用することも考えられる 統合アカウント管理 認証 認可 ( アクセス制御 ) の機能 サービス機能 サービス定義統合アカウント管理利用者の認証情報 ( ユーザ ID パスワード) と属性情報 ( グループ 所属部門等 ) を一元的に管理する機

WSMGR for Web External V7.2 L50 ご紹介

PowerPoint プレゼンテーション

マイフォルダへのアクセス マイフォルダ をクリックすると マイフォルダの一覧画面へ遷移します 利用の手引き ver.5 フォルダの作成 新規フォルダ をクリックして フォルダ名を入力し 作成 ボタンをクリックする ファイルのアップロード ファイルをアップロードしたいフォルダをクリックして開き アップ

Office365 AL-Mail

ゲームプログラミング講習 第0章 導入

NTMobile LAN NT- Mobile(Network Traversal with Mobility) [1] NTMobile LAN 2. NTMobile NTMobile NTMobile NTM IP DC(Direction Coordinator)

LCV-Net ファイルコンテナ ユーザーマニュアル

Mobile Access簡易設定ガイド

Webアプリケーションでのlog4j利用ガイド

目次 1. Azure Storage をインストールする Azure Storage のインストール Azure Storage のアンインストール Azure Storage を使う ストレージアカウントの登録... 7

Microsoft Word - XOOPS インストールマニュアルv12.doc

TGP ネットワーク クライアント証明書 VPN ソフト導入手順 OS:MacOS X ブラウザ :Safari 2018/11/02 Copyright 2018 環岐阜地区医療介護情報共有協議会 All Right Reserved. 0

Microsoft Office Visioによる 施設管理について

工程’S 9 ヘルプ Excelバーチャート

Microsoft PowerPoint - Skype for business プラン2 .pptx

最終更新日 :2019 年 2 月 26 日 Office365 Office 製品のインストール 茨城キリスト教大学 情報センター 目次 1. Office Pro Plusの概要 1-1 サービスの概要 1-2 利用対象者 1-3 利用可能台数 1-4 インストール可能なソフト 1-5 注意事項

Microsoft Word - JAFZ01)[Office365]OneDrive_for_Business利用手順.docx

Windows PC VPN ユーザー向け手順書 SoftEther VPN (SSL-VPN) を用いた筑波大学 VPN サービスへの接続方法 学術情報メディアセンター VPN ユーザーマニュアルから Windows PC 向けの情報だけを詳細に説明した設定手順書を作成いたしましたのでご利用くださ

Microsoft Word - MyWebMedical40_client_guideIE8.doc

Microsoft Word - Gmail-mailsoft_ docx

CubePDF ユーザーズマニュアル

Microsoft Word - プリンター登録_Windows XP Professional.doc

目次 1. XQuartz インストール PlayOnMac インストール Wine のアップデート ターミナル インストール MT4/MT 既知の問題 ターミナルデータ案内 14 2

Microsoft Word - クライアントのインストールと接続設定

Mobile Access IPSec VPN設定ガイド

目次 1. はじめに 証明書ダウンロード方法 ブラウザの設定 アドオンの設定 証明書のダウンロード サインアップ サービスへのログイン

Windows2000/XPインストール手順

スライド 1

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Vista対応状況_ xls

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

PowerPoint Presentation

ダウンロードしたファイル (ProselfDisk.exe) をダブルクリックして実行してください 図 2 のような画面が表示されるので 次へ (N)> をクリックしてください 図 2 インストールウイザード画面 図 3 のような画面が表示されるので 使用許諾契約の全項目に同意します (A) にチェ


4 自己登録 の画面が表示されたら 送信 をクリックします 5 アクションが完了しました : 成功 が表示されたら 画面を下にスクロールし 画面右下隅の OK をクリックします 6Windows 用または Mac 用のキャンパスクラウドエージェントをクリックしてダウ ンロードしてください 8 ダウン

JACi400のご紹介~RPGとHTMLで簡単Web化~

予約などがうまくいかないとき 次の方法をお試しください ( 大阪市立図書館ホームページ よくある質問 FAQ から抜粋 ) 改訂 目次 Q 予約カート ボタンをクリックしても開かないのだが Q ポップアップがブロックされました という表示がでます Q Windows Media

939061j

7 PIN 番号入力後 以下のアプレットエラーが表示されます 署名検証が失敗しました 署名検証が行なわれませんでした 8 PIN 番号入力後 以下のアプレットエラーが表示されます APPLET-ERROR APPLET-ERROR APPL

情報システム運用・管理規程

日本 Ruby 会議 2007 Inside Ruby/Tk 永井秀利 九州工業大学情報工学部知能情報工学科 2007/06/10

2. FileZilla のインストール 2.1. ダウンロード 次の URL に接続し 最新版の FileZilla をダウンロードします URL: なお バージョンが異なるとファイル名が

intra-mart EX申請システム version.7.2 事前チェック

利用者

メールサーバ仕様変更に伴うメール設定変更方法

Microsoft Word - SSL-VPN接続サービスの使い方

McAfee Application Control ご紹介

目次 第 1 章概要....1 第 2 章インストールの前に... 2 第 3 章 Windows OS でのインストール...2 第 4 章 Windows OS でのアプリケーション設定 TP-LINK USB プリンターコントローラーを起動 / 終了するには

Microsoft Word - ManagerIPChange.doc

Transcription:

1 2005 年度下期未踏ソフトウェア創造事業 ネット公開を目的としたマルチウィンドウアプリ用フレームワーク 成果報告 九州工業大学情報工学部知能情報工学科永井秀利 2006/08/10

2 開発物の名称と目的 正式名称 Ruby/Tk On Remote-Frame-Buffered Canvas ( Ruby/Tk On RFB Canvas ) 通称 ( 略称 ) Ruby/TkORCA ルビー ティーケー オルカ 開発目的ローカルのウィンドウシステム上に限られていた GUI プログラミング技術の対象領域を, 広くネットワークアプリケーションにまで拡張する コンセプト どこでも GUI! ( GUI, Anywhere! )

3 現状でのネット GUI アプリ作成時の問題点 基本傾向として, 能力が高い枠組ほど制約も厳しく, 想定範囲を越えようとすると実現が非常に困難だったり不可能だったりが多い Flash 等の独自フレームワーク 開発者に特有の技量を要求 インストールされたクライアント用プログラムのバージョンに依存するため, 適用可能範囲が狭く, 発展や機能改良も鈍重 Ajax ( Asynchronous JavaScript + XML ) サーバ / クライアントの連携やクライアントの差異への配慮が面倒 機能向上に対し, 開発コストや情報漏洩リスク等が急激に増大 VNC ( Virtual Network Computing ) 接続を許可した相手を信用し過ぎており, 監視や制御ができない 不特定多数をサービス対象とする仕組みが欠落している

4 Ruby/TkORCA の思想 VNC の利点を活かしつつ, その問題点を回避した枠組とする 高度なインタラクティブ性や, プログラムやデータをクライアントに送らないことによる低い情報漏洩リスクなどの利点はそのままに享受 問題の源になる一般的ウィンドウマネージャは動かさず, 相当機能の実装によりウィンドウ操作も監視や制御の対象とする 不特定多数の他者へのサービス提供に利用できるものとする 開発者に対して, 特有で特殊な技量を要求しない ローカル用とネット用とでソース変更をほとんど必要としない 監視や制御の機構をあらかじめ組み込んでいなくても, アプリケーションの監視や制御を可能に ( 改良 強化も容易に ) する 援用する他のソフトには一切手を加えない 導入コスト低減や, 他ソフトの強化 改良からの最大限の受益のため 広く使われているものに 似て異なるもの を開発する愚は避ける

5 Ruby/TkORCA の構造 アプリケーションサービス Ruby/TkORCA プロセス family mother 用設定 mother daughter 用設定 オプション 監視 制御 監視 制御生成 停止 daughter sandbox load application ログ出力 処理代行変換 操作 + daughter load application 監視付ウィンドウマネージャ相当機能 access HOME ディレクトリ ( 固定または一時生成 ) 描画 イベント xauth ファイル RFB 通信 VNCserver (Xvnc) プロセス

6 Ruby/TkORCA サーバの構成概略図 Pod 監視 制御 ログ出力 ログファイル 作業ディレクトリ 接続要求 接続待ち受けサービスデーモン (1) 生成 ランダムな名前で生成 xauth ファイル 監視 制御 (3) fork 参照 不正利用回避のためディレクトリエントリは参照不可に設定 ログ出力 参照 複数サービスの同時提供 (2) fork アプリケーションサービス 実行環境設定ファイル RFB 通信 VNCserver プロセス 描画 Ruby/TkORCA プロセス daughter daughter mother 用スクリプト daughter 用スクリプト 複数アプリの同時実行 Application Application

7 Ruby/TkORCA の特長 インタラクティビティ ローカル GUI と同等のものを獲得可能 ポータビリティ Ruby/Tk (Tcl/Tk) ベースであり, 多くの OS でソース互換 アプリケーションは同じソースでローカルからネットワークまで クライアントは PC から PDA や携帯クラスまで ( 何らかの VNCviewer 相当品が動作すればサービス利用可能 ) スピーディ 開発や公開における低い作業コスト 特殊なクライアントを必要としないことなどによる即応性の高さ スケーラビリティ トイプログラムから大規模アプリケーションまで 1 台への提供から, 巨大バックボーンを持つ大規模サービスまで

8 サービスのスケールアップ Ruby/TkORCAが規定するのはアプリケーションの表層のみ バックエンドを強化することでサービス規模の拡大が可能 Pod Pod Pod Pod

9 Ruby/TkORCA における監視制御機構 マスター スレーブコントロール 各アプリケーションはそれぞれ個別の daughter 上で動作し,mother によって監視や制御がなされる パッシブコントロール ログ出力の内容などに基づき, 受動的に制御機構を起動できる アクティブコントロール アプリケーションの動作状態とは無関係に, サーバ側からサービスプロセス, さらにはアプリケーション内部に直接干渉できる イミディエイトコントロール クライアント側のクリックなどの操作を待つ必要なく, 制御内容の反映やメッセージ表示を即時に適用できる

10 Ruby/TkORCA におけるセキュリティ確保 Ruby/TkORCA のサービス利用許可 デフォルトでは無条件許可 ( 不特定多数へのサービスのため ) 必要なら VNCserver (Xvnc) の認証機構を利用 同一サーバ上のサービス間干渉の回避 読出し不可ディレクトリ上のランダム名称の HOME ディレクトリや xauth ファイルを利用 同一サービス上のアプリケーション間干渉の回避 Ruby および Ruby/Tk の機能を活用した sandbox による分離 監視 制御のためのサーバログイン許可 ローカルホストからの接続のみを許可するパスワード認証 通信経路上のセキュリティ確保は対象外 VNC over SSH のような一般的手法の利用を想定 必要なら Ruby/TkORCA で接続元アドレスでの許可 / 拒否設定は可能

11 公開用アプリケーションの必須要件 GUI の最表層が Ruby/Tk または Tcl/Tk であること 画面表示しないものであれば, どのようなライブラリやプログラムを使っていても構わない 画面表示をするものでも, 何らかの手段で Tk のコンテナウィジェットに埋め込めれば利用可能 (Tk の歴史の長さにより,Tk への埋め込み機能を持つライブラリも多い ) 必要とされる技量 Ruby/Tk または Tcl/Tk でスクリプトが書けること 個人利用に限定しないのなら, 受け取った文字列を無条件に eval しない 程度の分別はあること

12 Ruby/TkORCA での公開アプリ開発 1.5+α ステップの低コストな流れ S=1.0: Ruby/Tk を使ってローカルのウィンドウシステムで動くようにアプリケーションを作る ( または動くものを持ってくる ) S+0.5: アプリケーションを Ruby/TkORCA に読み込んで, ローカルウィンドウの上での実行テストもし動かなければ, 以下を試みる a) daughter のセキュリティ制約を緩める ( デフォルトは厳し過ぎるくらいの設定なので, 妥当な程度に緩める ) b) mother でチェックするように, 動かない部分の wrapper を書く c) 動かない部分のソースに手を入れる S+α: ローカルテストに合格したら, サーバに公開登録して完了

13 Ruby/TkORCA システムの必要物 Ruby/TkORCA 自体は pure Ruby/Tk で構築 コンパイル等の必要なく, 導入可能 最低限必要なもの a) inetd 対応の Xvnc ( 標準入出力を通信に使えるもの ) b) (a) の Xvnc に出力可能な Tcl/Tk c) (b) の Tcl/Tk のライブラリを使う Ruby/Tk ( ただし,Ruby 1.8.5 以降 or それに含まれる Ruby/Tk をバックポートしたもの ) その他, アプリケーションの必要に応じて xfs, kinput2, Mesa, Tk 拡張ライブラリ,... 重要点 : 特殊なバージョン ( パッチ ) は不要 共存問題なし, 利用可能範囲が広い, 必要物の改良を即座に受益, など利点大

14 Unix 系 OS 現状での公式サポート対象 Windows サポート範囲 Windows native の VNCserver は,OS 稼働中の画面をそのまま送り出してしまうため, サポート対象外 Cygwin 版 Xvnc + Cygwin X 用 Tcl/Tk + 同 Tcl/Tk を利用できる Ruby/Tk + Ruby 用の fork 等互換ライブラリ の組合せなら多分利用可能だが,Cygwin 特有の問題の検証 ( と必要なら修正 ) が未完のため, 非公式サポート ( 将来は公式化の予定 ) MacOS X (MacOS 9 以前は Windows native と同様の理由で対象外 ) X window system 用に構築した Xvnc や Tcl/Tk を使えば動くはずだが, 検証未完のため非公式サポート ( 将来は公式化の予定 ) その他,Xvnc 相当と Ruby/Tk が動く環境 無保証だが, 十分に稼働可能と推定

15 デモンストレーション C 言語で作られた外部ライブラリを使用し, コンソール出力もするようなアプリケーション OpenGL (Mesa) を用いているアプリケーション 複数アプリケーションの同時サービス 5 分で作るネットワーク GUI アプリ など, 時間が許す限り ( 間に合わない分は後でデモスペースで実演できれば )

16 まとめ ネットで使える GUI アプリが簡単に作れたらなぁ と少しでも考えたことがあれば, ぜひ Ruby/TkORCA をお試しください 例えば... ちょいちょいと作ったツールを手間をかけずにリモートアプリに 研究室などの GUI を使ったデモアプリを, 特殊なライブラリや機密情報を一切見せることなくそのまま外部公開に マルチウィンドウ上のドラッグ & ドロップでお買物. 臨時ニュースや変動もサーバ側から即座に反映できるショッピングサイトに ゴミと化していた旧式機を復活させる thin client 環境構築に 軽量長時間駆動の店内端末に. お客様を移動させない, 待たせない. もし端末を盗まれても, 情報までは盗まれない... などなど ネットワーク + GUI というキーワードが当てはまる様々な分野にご活用いただけますと幸いです