home ≫ study_入門 ≫ Rmenuとは
タイトル Rmenuとは
Rmenuとは | What is Rmenu?
 ソフトウェアフレームワークの一つとしエンジン基礎となる使用言語をRubyで作成されたものであり、日本製のプログラミング言語Rubyを使用したぶん日本初の日本製フレームワークがRmenuである。
 Webベースの業務アプリケーション開発エンジン「Rmenu」では、Web系開発時に懸念される点が改善されており、Rmenuは業務用Webアプリケーションをノンプログラミングで自社開発することを目指した無料のフレームワークです。
 MVCアーキテクチャを取り入れ、並列分散バッチ処理、帳票作成処理も兼ね備えており、開発費用の削減ができるフレームワークです。メインフレームを意識した、フレームワークのため、サーバーの規模によりますが、世界中からの同時アクセスにも耐えうる設計となっています。
 他に類を見ない、下記の機能をかねそなえています。

 新規プロジェクトはもちろんのこと、プロジェクトごとの業務追加に際しても、サブシステムの追加構築が容易に行えるよう、一つのインスタンスで複数プロジェクトに対応可能です。
 プロジェクトごとのデータベース割り当てはもちろん、一つのプロジェクトで複数のデータベースアクセスも可能です。ジョブ管理画面による並列分散バッチの進捗状況の管理が可能です。
 ジョブ管理画面のリスタート機能により、異常終了した分割ジョブの再起動が可能です。
 Rubyで悩む帳票作成工数の軽減・解消のために、同じプログラムで、オンライン帳票・バッチ帳票の二種類に対応が可能です。
 バッチ帳票は、帳票管理画面(スプーラ機能)から出力・再出力・削除等がコントロール可能です。
 Ajaxによる実装で、画面再描画を最小に抑えレスポンスが早いのも特徴日本語によるプログラム開発が可能なため、生産性、保守性、システムの引継ぎ等が飛躍的に向上します。
プロトタイプ利用2012年より実装
開発発明者:下地 忠史
提供会社:日本オフィスクリエイション株式会社

開発環境 | Development environmen
RmenuではrubyのWEBrickというwebサーバーを使用することにより、ローカル環境でのシステム開発を可能にしています。
また、メインラック・ログインラック・ダウンロードラックといった機能ごとの(ラック)プログラムをwebサーバー直下に常駐プログラムとしてインスタントしています。
それにより大幅な処理時間の短縮が可能となり、かつリクエストが何度きてもすぐに対応できる仕組みとなっています。
WEBアプリとは

Rmenuのしくみ【1】 | How Rmenu works 【1】
Rmenuよりデータはこのように流れ方ています。これらのデータを処理していくガイドを作成できます。
Rmenuとは日本語フレームワーク
以下に、Rmenu構造を紹介していきます。
Rmenuのしくみ【2】 | How Rmenu works 【2】
Rmenuのプログラムはwebサーバーを挟んで2つに分れます
左側がクライアント側、右側がサーバー側です

dRuby(分散オブジェクト通信機能)とMVCアーキテクチャを組み合わせ設計されています。
これにより役割の明確化を図り、また通常ひとくくりとして考えられているアプリケーションサーバーを別プロセスとして立ち上げることにより負荷分散を可能にしています。
またRmenuのもうひとつの特徴は、ブラウザアプリ側にappspecというプログラム構造の定義場所を設けていることです。
Appspecには、トランザクションの種類や発生イベント、画面遷移の受け渡しデータ等を定義します。
各プログラムはそれらの定義情報に基づき実行されるので、appspecを確認すれば容易にプログラム仕様を把握することができます。
クライアント側・サーバー側とは
フレームワークの存在により、必要とするコーディングはクライアントJS・Jsonファイル・サーバーrubyの3項目です。
RmenuではProgramConvert.rbという変換ツールを使用し、3項目すべてのプロジェクト名・プログラム名・DB名の書き換えを行うことで大幅な作業時間の短縮を可能にしています。
データ一覧機能・メンテナンス機能等、同じ機能をもつプログラムを作成したいといった場合には、Index.htmlとjson/rubyの項目名や読み込むDB名の変更のみで、簡単に新しいプログラムを作成することができます。
またjsonlintやRmenu専用のログツールを使用することで、さらに作業時間を短縮することができます。

JSONとは(主なJSONの流れ) | What is JSON (main JSON flow)
Rmenuが操作される【1】と、【2】〜【8】の順にプログラムが動き、データを処理して画面が更新【9】されます。
各処理はJSONでデータを流しています

RmenuではJson(JavaScript Object Notation)を利用することでプログラムの簡略化を可能としています。
Jsonは軽量のデータ交換フォーマットで、完全にプログラムから独立したテキスト形式のファイルです。
キーとなる項目名に対する値をDBから取得・変更・削除するという作業を画面の操作で行います。
JSONとは
RmenuではJson(JavaScript Object Notation)を使用することでプログラムの簡略化を可能としています。
Jsonは軽量のデータ交換フォーマットで、完全にプログラムから独立したテキスト形式のファイルです。
ブラウザ側であるindex.htmlとサーバー側であるJsonに同じ項目名(キー)を記述するだけでDBから自動的にデータ移送が行われ、複雑なコーディングは必要としません。
また動的SQLを使用する際には、サーバー側でrubyプログラムを併用しています。
項目名を日本語で記述しますので、誰でも直感的に意味が理解でき、簡単に作成することができます。

プログラムファイル構造 | Program file structure
Rmenuのファイル構造です。主に初心者がよく使うファイルをピックアップしたツリーです。基本の形になるのでここをしっかり抑えておけば応用編へスムーズに進めます。
プログラムファイル構造
※画像クリックで拡大します

page top