ソースコード生成型の開発ツールでは、設計情報をもとにソースコードが自動生成されたあと、そのソースコードを開発者が直接編集します。
つまり、自動生成されたソースコードに対して独自処理を組み込んで「壊して」しまうこととなります。
データモデリング(データ中心設計によるアプローチ)を行い、データ定義情報を作成した後、データ定義情報から自動生成されたプログラムをWeb画面上で調整するだけで業務システムを開発することができます。しかも部品組み立て型なので仕様変更時も再生成などの面倒な作業が不要です。
お気軽にお問い合わせください
一見複雑な業務処理を行うように見える基幹システムも、実はシンプルな業務機能の組合せで実現できることが紐解けます。例えば、次の2つの業務処理をご覧ください。
楽々Framework3では前述の「従業員情報検索」と「製品情報検索」に対して「検索処理部品」を使用してプログラムを作成します。これらのプログラム部品のことを「プログラムパターン」と呼びます。
上記のとおり、部品は汎用化されており、処理の流れには「従業員No.」や「製品番号」などの固有名詞は登場しません。
業務機能に固有の情報はプログラム開発ツール「RakStudio(ラックスタジオ)」から登録します。
例えば「従業員検索」プログラムを作成する場合、RakStudioから以下の情報を登録します。
楽々Framework3でのプログラム開発の基本は「プログラムパターン」の選択と、固有名詞となるパラメータの登録です。現在数百種類のプログラムパターンが準備されています。標準で準備されたプログラムパターンの画面遷移を、GUI画面から任意で変更し組み替えることも可能です。
なお、上記のRakStudioで登録する「従業員No.」「氏名」「所属」などそれぞれのデータ項目も楽々Framework3では「項目オブジェクト」と呼ばれるデータ項目に部品化して使用します。項目オブジェクトはデータ定義情報から自動生成できます。
楽々Framework3では、上記のプログラムパターンをどのように組み合わせて業務システムを構築するかといった「部品組み立て型開発」を行います。この考え方をさらに進めて、プログラムのプロトタイプを自動生成することで、開発の生産性を飛躍的に高めます。
自動生成のもととなるのが対象業務のデータ構造を表す定義情報です。
(ソフトウェア開発の工業化)
楽々Framework3はデータ定義情報を解析して
に加えて
も自動的に行います。
例えば100を超えるテーブルであっても、その物理定義が完了すれば、ワンクリックで次の瞬間にその全てのテーブルに対して入出力処理を行うプロトタイプができているのです。しかも、テーブルごとの単純な入出力プログラムを定義するのではなく、テーブルの種類やテーブル間の関係を考慮しながら最適な業務処理を行うプログラムパターンを選択します。更に参照ウィンドウも自動的に組み込みます。
あとは、必要に応じて開発者が開発ツール「RakStudio」を使用して編集作業を行えば画面処理は完成します。
さらに固有のビジネスロジックをアクション・コンポーネントで定義してプログラムは完成です。アクション・コンポーネントで定義できないような複雑なビジネスロジックは、Javaによるプラグインを開発することで実現できます。
自動生成されるプロトタイプはそのまま実行可能です。開発者は利用部門にプロトタイプを提示しつつ、その場で編集→再提示を繰り返すことができ、開発プロセスの効率化に役立てます。
一般的にWebベースのプログラム開発の場合、Viewの部分はHTML、JavaScriptを使い、各画面のレイアウトをHTML形式でひとつずつ記述しなければなりませんでした。このことが生産性と保守性を阻害する大きな要因のひとつとなっています。楽々Framework3ではこのViewの部分にHTML、JavaScriptを記述する必要はありません。いちいち各画面をHTMLで記述することはせず、画面出力部品に表示したい項目を指定するだけで、部品が自動的に表示します。これを可能にしているのが、各データ項目のデータ属性・表示属性、およびエラーチェック等の処理内容が定義された項目オブジェクト*1です。
画面出力部品は項目オブジェクトの定義に従ってそれぞれのデータ項目を画面に出力していきます。画面出力部品自身はデータ項 目に関する属性を持たないため再利用性が非常に高いです。例えばデータ1件の内容を表示する画面を出力する部品1つあれば、数百種類のテーブルデータを表示する画面を作成することが可能です。項目オブジェクトは楽々Framework3が自動生成します。*2
例えば、登録ボタンを押下した場合にデータベースへの登録処理を実現したい場合、登録ボタンにロジックを設定します。ロジックは部品化されておりいくつかのロジック部品を組み合わせて設定することで処理を実現します。
この処理の組み合わせをロジックリストといいます。
ロジックリストには、楽々Framework3で標準機能として準備しているロジックと独自ロジックを設定することが可能です。
標準で準備されているロジックとしては、必須チェックや型のチェック、重複チェックなどがあります。
標準外のエラーチェック処理やデータ更新処理などを独自ロジックとして設定することが可能です。独自ロジックでは固有の条件により実行される業務ロジックを作成しますが、「ビジネスロジック・アクション・コンポーネント」と呼ぶ部品を使用してGUI画面から定義可能です。
「ビジネスロジック・アクション・コンポーネント」では下記の3つを定義します。
「アクションを実行するタイミング」でプログラムの処理の流れの中のどのタイミングでアクションを実行させるか指定できます。
アクションを実行するタイミングについては、アクションを設定する対象を選択した時点である程度決定されます。
例えば、表示部品であれば、表示部品を作成する前と後、登録ボタンであれば、ボタンを押した後のエラーチェック、登録処理の前、登録処理の後などが実行タイミングになります。
「アクションを実行する条件」では業務固有の条件を指定できます。入力値同士の比較が設定可能です。
「アクションの種類」も多数用意してあります。
これらの他にJavaScriptやRubyの任意のロジックを呼び出すことも可能です。
さらに複数のデータベースを同時に更新してコミット/ロールバックを同期する2フェーズコミットにも対応しており、異なるシステム間の在庫移動等、データベースをまたがる更新処理に適用可能です。
以下は実際にビジネスロジック・アクション・コンポーネントを使用してエラーチェックを追加した例です。
ここでは製品の出荷情報を登録するプログラムに『出荷するためには必ず受注していることが必要』というビジネスロジックを組み込みます。具体的には『「受注日」よりも「出荷日」の日付が古い場合はエラーにする』という処理を追加します。
こちらがエラーチェック実装対象となる登録画面です。
RakStudioからロジックリストの画面を呼び出します。「登録」ボタンを選ぶと「登録」ボタンクリック時に実行されるロジックのリストを表示する画面を呼び出します。
以上でビジネスロジックの組み込みは完了です。以下は、組み込み後のプログラムを実行したときの画面です。対象日Fromより対象日Toが後の日付で登録しようとすると
楽々Framework3は徹底した部品組み立て型の開発を追及します。
楽々Framework3の構成要素は下図のとおりです。
主要な部品として以下の3つがあります。
どの部品を使用するかはプログラム設定ツール「RakStudio(ラックスタジオ)」で設定します。これらの部品で記述しきれない特殊処理は「プラグイン」としてJavaソースコードで定義することも可能です。
部品組み立て型開発は、仕様変更が発生した際の対応が簡単であることが強みです。例えば既存のプログラムに対し、データの検索機能だけ残して変更や削除ができないようにする場合は、「RakStudio(ラックスタジオ)」で『データ変更』や『データ削除』のプログラムパターンの指定を消去するだけで済みます。データ項目の属性を変更する場合は、対象となるデータに関する項目オブジェクトを変更するだけで済みます。
つまりいずれの場合も、仕様変更となる箇所を局所的に修正するだけで対応できます。プログラム全体の再生成は必要ありません。このためプログラム修正時の品質と生産性を大幅に向上させることが可能です。
(*1)アクション部品=ビジネスロジック・アクションコンポーネント
プログラム開発ツールには、楽々Framework3のような「部品組み立て型」のものとは別に「ソースコード生成型」と呼ばれるものがあります。
ソースコード生成型の開発ツールでは、設計情報をもとにソースコードが自動生成されたあと、そのソースコードを開発者が直接編集します。
つまり、自動生成されたソースコードに対して独自処理を組み込んで「壊して」しまうこととなります。
しかしこの方法の問題は、独自処理を組み込むことでプログラムと設計情報がかい離することです。
プログラムに仕様変更が発生した場合は下記のいずれかの作業が必要です。
いずれの方法をとるにしても、仕様変更に対して無駄な作業工数が発生します。また作業ミスによる品質低下の危険性もはらんでいます。
実現したい機能や画面配置イメージを手順に沿って、選択していくだけで、最適なプログラムパターン(プログラム部品)が自動的に選択され、プログラムが生成されます。
プログラムパターンを知らない入門者でも簡単にプログラムを生成することができます。
楽々Framework3での画面作成は、楽々Framework3に標準で付属のツール「RakStudio(ラックスタジオ)」を使用して、簡単に行うことができます。
RakStudioによる画面作成には大きく、画面遷移の設定・画面構成の設定・画面項目のレイアウトの設定があります。
それぞれを、GUIを利用した直感的な操作で編集可能です。
また、多言語対応しており、オフショア開発にも対応しています。
画面遷移変更画面では、プログラム中の画面や画面遷移を俯瞰することが可能です。
また、パターンと言われる一連の流れを持った画面遷移(処理を含む)を配置したり、ページ単位での画面の追加変更を行うことで画面遷移を編集することが可能です。
画面遷移を決定したら、各画面(ページ)単位に、ページを構成する要素を決定していきます。
画面遷移編集画面でページをクリックすることで画面構成の編集モードになります。
ここでは準備されたグリッドにコンポーネントライブラリと呼ばれるモジュール群の中からボタン・入力フォーム・表示フォーム・タブなどの画面コンポーネントと呼ばれる部品を選択し配置していきます。
配置した画面コンポーネントに対して、それぞれ詳細の設定をしてきます。
メッセージやボタンであれば表示名称などの編集、入力フォーム・表示フォームについては、表示する画面項目やそのレイアウトを設定していきます。
表示する画面項目は、簡単にドラッグ&ドロップで編集できるため、利用部門とやりとりしその場で意見を反映した画面を動作させるプロトタイプ手法に適しています。
変更、動作確認、再修正というサイクルを容易に何度も回すことができ極めて効率よく開発を進められます。
RakStudioの高度で軽快な操作性は、Ajax(エイジャックス)技術を使用することで実現しています。
RakStudioは開発サーバ上で稼動し、操作はすべてブラウザ画面上で行いますので、開発端末側に特別なアプリケーションをインストールする必要はありません。
RakStudioは、日、英、中に対応しています。
英語、中国語で開発することができ、オフショア開発に威力を発揮します。