Ｗｅｂロボパターン別概要書

いい仕事をするには、いい道具が必要！

●Ｊａｖａソースを自動生成●ＪＳＰ、アプレット、ｐｄｆ作表パターン●高い生産性と保守性
会計開発をユーチューブに動画掲載中
https://www.youtube.com/watch?v=SOXCGQ-bQe4（株）ユーサイドシステム
http://www.webrobo.jp

１：はじめに多くのシステム開発がＷｅｂベースにシフトしています。
しかしながらその技術変遷も激しく、どのような言語、環境で開発すべきか、開発ポリシーを確定することが困難です。言語ひとつとっても、Ｐｅｒｌ、ＰＨＰ、Ｒｕｂｙ、Ｊａｖａ、．ＮＥＴ等種々存在します。更に、ＪａｖａｓｃｒｉｐｔもＡｊａｘ、Ｎｏｄｅ．Ｊｓ等々新たなものが出てきて、何を選択すべきか混乱します。又、Ｊａｖａと言ってもｊｓｐなのか、アプレット、アプリケーションかで全く様相が異なるのですが、Ｊａｖａ言語としてひとくくりで語られています。基本的にはｈｔｍｌベースのサーバーサイド言語か、クライアント言語で大きな違いがあるのですが。
また、オープンな環境が大手独自のフレームワークによりクローズドになり、一層複雑さを増しています。更に追い討ちをかけているのが、際限のないセキリィー対策での格闘、まさに受難と言わざるを得ません。
その上で、開発ツールの良し悪しを評価をするなんて、いい加減にして欲しいという声が聞こえてきそうです。しかし、ＩＴ業はグローバル化し、エンドレスに技術進歩する宿命を背負っておることを覚悟し、現在のコピー、ペースト作業での開発から脱却し、ルーチンワーク的な作業はコンピューターに任せて、新しい課題に挑戦できる余裕を確保しなくてはなりません。日本が物作りで成功を収めるロボット技術を、ソフトウエア開発にも適用すべきです。生産性の向上、高品質、高い保守性を担保し、社会の期待に応え、夢ある産業として生まれ変わるには、ソフトウエアにおけるロボット化への取り組みは欠かせません。社会的インフラとして益々重要な役割を担わなければならないＩＴですが、開発以上にシステムの保守が重要になってきておりますが、一方では部品化が進んでおります。こうした流れを考える時、今のような人手に依存する開発手法では限界になってきています。開発における自動化とそれに伴う部品のデータベース化されたシステム管理は必須です。
弊社では１０年来「Ｗｅｂロボ」の開発に取り組んでおり、どうにか期待を裏切らないレベルの自動生成システムが出来上がって参りました。それをご理解いただくことは紙面では極めて困難なことですが、実際のトライに踏み込む判断の一助になるよう当説明書を用意しました。少しのご辛抱をいただいてお読みいただくことをお願いいたします。必ずや「Ｗｅｂロボ」での開発が、極めて効果的手法であることの認識と、次のステップとして用意している入門編トライへの動機付けをすると確信します。

２：Ｗｅｂロボの特徴①Ｓｔｒｕｔｓフレームワークでの開発②データベースとしてＰｏｓｔｇｒｅｓ 、Ｏｒａｃｌｅ、、Ｍｙｓｑｌ③２８パターンに及ぶプログラムソースを生成④Ｊｓｐ、アプレット、アプリケーション、ｐｄｆ作表のＪａｖａ生成⑤メインプログラムは自動生成ないしＪＡＲファイルで提供され、プログラ
ム上の個人差が生じにくく、保守性が極めて高い⑥最小限のプログラ定義作業にとどめ、極力推論でのプログラム自動生成⑦テーブルの変更等仕様の変更があっても、プログラム生成により関係部品はすべてメンテされ、後戻り作業が発生しない⑧クラウド上に「ｗｅｂロボ」を配置し、利用者はクライアントプログラムをダウンロードするだけで、複雑な開発．実行環境構築をせずに即開発には入ることが可能。一週間程度の試用サイトを用意
開発者が互いに遠隔でも問題ない開発が可能⑨開発ボリュームの過多に合わせて増減が可能な低額な月額使用料による利用方式で、買取の場合のリスクを回避が可能⑩Ｗｅｂロボは開発ツールとしての役割だけでなく、自動生成したソースの学習により教育ツールとして機能⑪ＩｏＴを想定する時、センサー等端末とのインターフェイスがとることとＷｅｂ連携できることが条件になるが、Ｗｅｂロボはこれらが可能２：Ｗｅｂロボの機能
１：メニュー①プロジェクト環境の設定②テーブル定義とテーブル関係部品の生成③プログラムの定義とプログラム生成④ＳＴＲＵＴＳ関係部品生成⑤各種仕様書作成

２：テーブル定義①以下画面でテーブル項目を定義

②テーブル仕様書の作成③テーブルクリエートＳＱＬ文を生成
当ＳＱＬ文を実行することで、データベースのテーブルを容易に生成④テーブルビーンの生成
以下のようにテーブルビーンを自動生成⑤テーブルアクセスメソッドの生成
テーブルとのアクセスに必要な全てのメソッドクラスを自動生成

⑥テーブル定義での項目チェック指定
テーブル項目定義で項目チェック指定があり、下記のようなチェック指定ができます。この指定により、テーブルへのインサート、アップデートするプログラム生成時に自動的に指定の項目チェックルーチンを挿入する機能があります。

テーブル定義時に以下の項目チェック指定が可能⑦暗号化項目指定
情報漏洩についての対応は極めて大きな課題になってきています。
情報が外部に出ても重要な特に個人情報等の項目は、暗号化処理が施されておれば最悪の事態は回避されます。項目単位の暗号化、復号化の処理をプログラム単位に施すことには、大きな開発負荷が伴います。
しかし、Ｗｅｂロボではテーブル定義で暗号化したい項目にフラグを立てるだけで、その項目にアクセスするプログラムに暗号化、復号化の処理を施す機能があります。

⑧アプレットによるマスタメンテプログラムの自動生成

Ｗｅｂロボの大きな機能として、テーブル定義のみからアプレットでマスタメンテプログラムを自動生成します。
アプレットないしアプリケーションの場合、画面作成には座標値が要求されますが、座標値を自動計算します。
登録、修正、削除、レコード前進、後退、ＣＳＶ出力の機能を有し更に、テーブル項目で項目チェックをした内容で、項目チェックルーチンが施されたプログラムが生成されます。
又、複数のキーがあった場合、どのキーによりレコード前進、後退させるかのそのキーを指定すれば、自動的にそのキーによるレコード読み込みのＳＱＬ文を生成します。

３：表題定義プログラムタイトル、プログラムＩＤ、プログラムパターン等プログラム作成
全体定義をします。
定義に当たって以下の画面でパターンを選択します。

①表題定義登録

Ｗｅｂロボの際立った特徴は、Ｗｅｂ開発で使われる各種プログラムのロジックをパターン化し、プログラムのメインロジックは自動生成ないしＪＡＲファイルとして提供します。パターンの指定のみで検証ずみのメインロジックが取り込まれ、信頼性の高いプログラムが生成できます。また、メインロジックをプログラマーに任せることで生じる、プログラム保守性の低下を回避します。
アプレット、Ｐｄｆのプログラムでは絶対座標値が要求されますので、デザインツールなしでプログラム作成をすることは極めて大きな負担になりますが、Ｗｅｂロボでは画面、帳票定義定義より定義を取り込み、簡単に難度の高いプログラムを作成します。特に、項目数の多いデータ入力プログラムでは、カーソル制御された細やかに項目移動されるアプレット、アプリケーション開発に威力を発揮します。
また、例えば多くの商品マスタから商品コードを選択してコード入力するプログラ
ムの場合、別画面で複数の条件指定して該当データを一覧表示して選択入力をするプログラムは厄介ですが、Ｗｅｂロボは極めて容易に実現できます。
Ｗｅｂロボはｈｔｍｌベースのパターンはもとより、開発負担の大きいアプレット、アプリケーション、Ｐｄｆでの作表パターンでの自動生成により、操作性の良いエントリープログラムと見やすい罫線入り作表プログラム作成を容易にしております。
更に、最近とみにＩｏＴが叫ばれていますが、ＩｏＴを考える時、ｈｔｍｌベースプログラムではセンサー等のデータとのインターフェイスをとることはできません。
Ｗｅｂロボでは、Ｃソースを読んでＪａｖａアプリケーションへのＪＮＡによるインターフェイスプログラムを自動生成する機能を用意しました。
Ｗｅｂロボは、ＩｏＴ開発をも視野においた各種自動生成を志向しています。
②表題定義仕様書の作成③プログラムパターン
プログラムパターンとして２９に及ぶパターンがあり、パターンに対応した定義プログラムと自動生成プログラムを用意しております。

1.ｊｓｐ登録

ｊｓｐパターンの場合、基本的に上図の行番号の１０１、１０２、２０１のように画面項目の行列番号を指定することで、ｊｓｐによるｈｔｍｌ画面を生成するとともにテーブルへのインサートロジックを生成します。

2.ｊｓｐ保守⑦の検索画面による保守レコード指定により、レコードを表示するとともにレコードの削除ないしアップデートの処理ロジックを生成します。

3.ｊｓｐメニュー
ｊｓｐによるｈｔｍｌのメニュー画面とリンク先を生成します。

4.ｊｓｐ一覧閲覧
7ないし21の検索画面の条件指定より、ｊｓｐによるｈｔｍｌでのレコード一覧表示画面を生成します。画面内レコード数の設定により、前頁、次頁のボタンを自動生成します。また、リンク先を指定した場合、詳細レコード表示等のプログラムへ容易にリンクします。

5.ｊｓｐ明細表示
ｊｓｐによるｈｔｍｌの１レコード詳細画面を表示を生成します。

6.ｊｓｐログイン
ｊｓｐによるｈｔｍｌのログイン画面を生成します。

7.ｊｓｐ検索画面
ｊｓｐによるｈｔｍｌの条件検索画面を生成します。

8.ｊｓｐ座標登録
ｊｓｐによるｈｔｍｌのマップ画像の座標値登録プログラムを生成します。
利用画像を下敷きにして、２点をクリックして座標登録をさせます。

9.ｊｓｐマップリンク
ｊｓｐによるｈｔｍｌのマップ画像からのリンクプログラムを生成します。
閲覧したい画像周辺をクリックすることで、該当ｈｔｍｌへリンクします。

10.ｊｓｐアップロード
ｊｓｐによるｈｔｍｌのアップロードプログラムを生成します。
下図画面より、画像、ＣＳＶファイル等をアップロードします。
アップロード前に、画像を表示確認することができます。
画像容量、画像タイプ、画像のリサイズしてが可能です。

11.メール送信
ｊｓｐによるメール送信プログラムを生成します。

12.ｊｓｐインポート
ｊｓｐによるテキスト、ＣＳＶファイルのデータベースへのインポートプログラムを生成します。

13.ｊｓｐエクスポート
ｊｓｐによるデータベースからテキスト、ＣＳＶファイルへのエクスポートプログラムを生成します。
エクスポートファイルの指定、追加．上書きの指定、テーブル定義で指定した項目のチェック、ユニークチェック、テーブルのレコード存在チェック等をするプログラムを極めて簡単に生成します。

14.ｐｄｆ一覧表印刷
下図のように、Ｐｄｆ作表ではＷｅｂロボが利用するＭＲＤＢのデザインツールで帳票定義し、その座標を取り込んでいます。

ｐｄｆによる一覧表印刷のプログラムを生成します。
合計処理を施したい項目へのフラグセットとキーブレイクの指定で、合計処理のロジックも容易に生成します。
Ｐｄｆｌｉｂなるツールを使用することで、通常サーバーに生成されるＰｄｆファイルを直接クライアントに生成します。また、プログラム生成時Ｐｄｆへのパスワード設定指示により、容易にＰｄｆにクライアントパスワードが設定されます。セキュリティーの高い文書システム構築が可能です。

15.ｐｄｆ詳細印刷
ｐｄｆによる１レコードの詳細印刷プログラムを生成します。

16.アプレット（アプリケーション）マスター登録保守
上記テーブル定義で説明したように、テーブル定義さえすればアプレットでのカーソル制御された操作性の高い、マスタ登録保守プログラムが完全に自動生成されます。

17.アプレット（アプリケーション）一覧表示
Ｗｅｂロボならではの機能として、アプレットプログラムで別ウインドウに参照プログラムを開いて、コード検索をするプログラムを極めて容易に作成するが出来ます。画面定義もせずに条件指定を行番号で指定し、条件指定でのＳＱＬ文のみを関数定義するだけでアプレット画面での前頁、次頁制御し、該当レコードをクリックすることでコードをメインプログラムに渡す機能の下図のようなプログラムを自動生成します。

18.アプレット（アプリケーション）登録
下図のように、アプレットではＷｅｂロボが利用するＭＲＤＢのデザインツールで画面定義し、その座標を取り込んでいます。

取り込んだ座標、文字ポイント等よりアプレット画面と詳細項目定義で定義した処理ロジックよりアプレットによる登録プログラムを生成します。

19.アプレット（アプリケーション）保守
ＭＲＤＢによる画面定義と詳細項目定義より、アプレットでのデータ保守プログラムを生成します。

20.アプレット（アプリケーション）登録保守
ＭＲＤＢによる画面定義と詳細項目定義より、アプレットでのデータ登録保守併用プログラムを生成します。

21.アプレット（アプリケーション）メニュー
ＭＲＤＢによる画面定義と詳細項目定義より、アプレットでのメニュープログラムを生成します。

22．アプレット（アプリケーション）検索ＭＲＤＢによる画面定義と詳細項目定義より、アプレットでの検索条件指定プログラムを生成します。
想定される検索条件指定の次のプログラムは、閲覧プログラムか印刷プログラムかＣＳＶ主力プログラムです。
当検索条件指定によるＳＱＬ文により、閲覧、印刷、ＣＳＶ出力プログラムが実行されます。尚、ＣＳＶ出力プログラムはプログラム定義なしで作成することができます。

23．アプレット（アプリケーション）伝票登録
ヘッダー部、名細部、フッター部で構成される伝票形式での入力プログラム
をＭＲＤＢによる画面定義と詳細項目定義より生成します。

24.アプレット（アプリケーション）伝票保守
ヘッダー部、名細部、フッター部で構成される伝票形式での保守プログラムをＭＲＤＢによる画面定義と詳細項目定義より生成します。

25.アプレット（アプリケーション）レコード閲覧
ＭＲＤＢによる画面定義と詳細項目定義より、アプレットでのレコード閲覧プログラムを生成します。

26.アプレット伝票閲覧
ＭＲＤＢによる画面定義と詳細項目定義より、アプレットでの伝票閲覧プログラムを生成します。

27．アプレットログイン
ＭＲＤＢによる画面定義と詳細項目定義より、アプレットでのログインプログラムを生成します。

28.直打詳細印刷
ＭＲＤＢによる帳票定義と詳細項目定義より、Ｐｄｆによらないアプリケーションでのレコード詳細印刷プログラムを生成します。

29.直打一覧表印刷
ＭＲＤＢによる帳票定義と詳細項目定義より、Ｐｄｆによらないアプリケーションでの一覧表印刷プログラムを生成します。

４：詳細項目定義①詳細項目定義

入出力項目でどのような制御をするかを定義します。
Ｊａｖａ言語とＷｅｂロボの規約にのっとて記述した、関数と呼んでいる制御文を差込します。
プログラムパターンごとに登録内容がことなりますので、それに対応した項目定義
プログラムを用意しています。

②詳細項目定義仕様書

４：関数定義①関数登録

Ｗｅｂロボでの開発作業の多くは、上記画面での入出力項目の制御文を記述することです。
なるべく共通関数を作ることで、重複作業を回避できます。
関数として登録した部品はデータベース化され、どのプログラムでどの関数が、どの関数がどのプログラムで使用されているか瞬時にわかります。

②関数表登録した関数を印刷します。

③関数別プログラム一覧表④プログラム別関数別一覧表⑤プログラム使用関数明細

５：その他①Ｆｏｒｍ．ｘｍｌの自動生成②Ａｃｔｉｏｎ．ｘｍｌの自動生成③Ｖａｌｉｄ．ｘｍｌの自動作成

④メッセージの自動作成⑤プログラム一覧表⑥担当別プログラム一覧表

⑦他プロジェトからの取り込み
他のプロジェクトのテーブル定義、関数を取り込み、新たなプロジェクトで再利用できます。
以下がその操作メニューです。

６：プログラムパターン単価と項目単価による見積の提案
人月工数による見積が一般的ですが、要員の能力によって工数は大きく異なり、より客観的な基準による見積をすべきです。
Ｗｅｂロボは、プログラムパターンと項目数による見積によるべきと考え、プログラムパターンの本数単価と項目数単価を登録すれば、定義データより自動的に見積書を印刷するプログラムを用意しています。
予めユーザーとこれらの単価を決めておけば、仕様変更に伴う見積変更でのユーザーとのトラブルを回避することが可能です。
又、開発後提出見積と実績を比較評価することで、社内基準の確立と要員の能力評価が可能になります。

７：パッケージ開発用システムの提供
弊社ではすでに、会計システム、販売管理システムをＷｅｂロボで開発しており、現在給与システムを開発中です。
これらの基本パッケージシステムを低価格でソース提供し、一からシステム開発するコストの低減をはかることができます。
以下よりＰＤＦ資料をご覧いただくことが可能です。
会計システムhttp://www.webrobo.jp/siryou/gkkaikei.pdf

合併漁協用に開発された会計システムですが、一般企業でも十分利用可能です。科目レベルが５階層で、本店、支店及び部門損益が必要なそれなりの規模企業には、大いに利用価値が高いシステムです。
販売管理システム

http://www.webrobo.jp/siryou/gkkoubai.pdf

当システムも漁協用購買管理システムとして開発しています。
十分、一般企業用システムへの転用は可能です。

最後に最後までご辛抱いただき、お読みいただきましてありがとうございます。
当説明書をお読みいただいて、少しいじってみたいとお思いになられた方への入門編コースを用意しています。Ｗｅｂロボの主なパターンのプログラム１１本を、テキストに沿って実際プログラムを作ってもらい、Ｗｅｂロボの機能と開発効率を体験していただき、Ｗｅｂロボでの開発が貴社にとって有効化どうかの判断をしていただきます。