Chinese | English

03-3510-1616 受付時間 9:00〜17:00(土日除く)

お問い合わせ 資料請求

 

  • HOME
  • コラム
  • 第3回 『XA FrameManager Platformの開発フレームワーク(1)』

コラム

XA FrameManager編

第3回 『XA FrameManager Platformの開発フレームワーク(1)』

XA FrameManager編

今回は「XA FrameManager Platform」の「開発フレームワーク」を中心にご説明したいと思います。

前回のコラムでは「開発フレームワーク」を目的別のアプリケーション構造を提供する「プログラムのひな型」と説明しました。その目的は、業務アプリケーションの開発工数を削減し、プログラムの品質を均質化して、開発生産性を向上させることにあります。例えば、開発フレームワークには「クライアントフレームワーク」と呼ぶものが用意されておりますが、これはクライアント画面に必須となる様々な共通的な処理(ユーザのログイン、ログアウト、権限制御、画面構造や表示データのキャッシュ、通信処理など)を提供します。

もし、これらの処理が全く存在しない状態から業務アプリケーション(画面)の開発を行おうとすると、全てを一から設計・開発しなければなりません。頑張って一から設計・開発を行ったとしても、人手でプログラムを開発する以上は、開発者によって微妙に異なるプログラム記述差異による不具合発生リスクが生じるため、それを軽減・回避するための措置を取る必要があります。いずれにしても、「クライアントフレームワーク」に相当する機能の設計・開発に時間と費用がかかることになります。

つまり、開発フレームワークの狙いは、業務アプリケーション共通で利用される標準的機能はシステム基盤(XA FrameManager Platform)が提供し、それらを開発者に利用してもらうことで、開発者(人手)によるプログラム開発範囲を小さくして、業務機能の開発に集中してもらうことなのです。ソフトウェア開発におけるQCD(Quality:品質、Cost:価格、Delivery:納期)の要求レベルが益々高まっている現在においては、もはや、開発フレームワーク無くしての業務アプリケーション開発は成り立たないと言えます。

開発フレームワークは、MCFrame XA独自の詳細設計書である「設計文書」に記述する内容(機能)に応じて、開発ツール(XA FrameManager Developer)が自動的に開発フレームワークの利用有無を判断して、Javaプログラムへ組み込まれるという仕組みになっています。例えば、クライアント画面を開発する場合には、上述の「クライアントフレームワーク」が画面のプログラムに必ず組み込まれることになります。

それでは、次にXA FrameManager Platformが提供する開発フレームワークの種類についてご説明致します。

開発フレームワークの種類

XA FrameManager Platformには様々な機能とそれらを使いこなすための開発フレームワークを用意しています。主なものについて、その目的と概要を以下の表にまとめました。

XA FrameManager Platform 開発フレームワークの種類

XA FrameManager編

MCFrame XAの前身であるMCFrame iSeriesの時代より、MCFrameを利用した業務システム開発プロジェクトからのフィードバックを行い、様々な機能を開発してきた結果、このようないくつもの開発フレームワークが生まれることとなりました。従って、これら開発フレームワークには、MCFrameのシステム基盤としてのノウハウが凝縮されているとも言えます。

これからもMCFrameユーザ(開発者・システム利用者)のご意見・ご要望を取り入れつつ、開発フレームワークの機能強化を行ってゆく予定です。開発フレームワークの内容については、今回と次回のコラムでご説明したいと思います。 

開発部品(GUI部品)

開発フレームワークの解説に入る前に、開発フレームワーク(特にクライアントフレームワーク)を構成する要素となっている「開発部品」をご説明致します。

開発部品は、開発フレームワークよりも提供する機能の粒度が小さいもので、MCFrame XA上で開発されるアプリケーションの仕様に応じて取捨選択して利用されるものです。最も代表的なものとしては画面を構成する「GUI部品」があります。これも開発フレームワークと同様に、開発者(人手)によるプログラム開発範囲を小さくして、業務機能の開発に集中してもらうことを目的としています。

MCFrame XAのGUI部品はJavaのGUI構築ツールキットである「Swing」をベースに作られており、Swingで準備されている部品のほとんどが機能強化されMCFrame XAの画面で使用できるようになっています。これにより、Swingの最大の特長であるプラットフォームに依存しないルックアンドフィールは保証され、業務アプリケーションに求められる機能を持ったGUI部品が提供できるわけです。

多数のGUI部品が用意されていても、Java SEの仕様に精通した開発者でないと、それらを人手でJavaプログラムに組み込んで自由に使いこなすことは難しいのでは?と感じた読者も多いかもしれません。そこで、MCFrame XAでは、そういった不安を解消し、Java開発の敷居を下げるために、Java SEの仕様に精通していなくても、Javaプログラムを書かずに開発部品を自由に利用して画面を自動作成できる仕組みを提供しています。

MCFrame XAの製品には、その開発に使われた「設計文書」と呼ぶ所定のフォーマットで作られた多数のEXCELファイルが添付されており、画面の開発を行う場合には、設計文書の一つである「画面実装仕様書」を使います。この中に、開発しようとする画面の仕様・構成に応じてGUI部品の利用有無を定義し、開発ツール(XA FrameManager Developer)で「自動生成」の処理を行うと、定義されたGUI部品で構成される画面(Javaプログラム)が自動的に出来上がるというものです。(開発ツールの内容については、次回以降のコラムで改めてご説明致します。)

XA FrameManager編

<図 MCFrame XAの画面で使用できるGUI部品>

MCFrame XAのGUI部品は画面ごとに生成・保持されるデータモデルと関連付けられており、画面上でのデータ操作やサーバとのデータのやりとりといった取り扱いが分かりやすくなるよう工夫されています。また、GUI部品のレイアウト情報(幅・高さ・座標位置)や表示文字列がXMLファイルとして管理される仕組みを取っているので、Javaの画面プログラムを変更することなくレイアウトや表示文字列を自由に変更することができるようになっています。

MCFrame XAのGUI部品のうち、特に機能が豊富なのが複数のレコード情報を表示する「一覧部品」です。項目数の多いデータを画面表示する場合、画面の表示幅が限られるために、どうしても一覧部品を横スクロールして必要な項目を確認しなくてはなりませんが、データのID項目のような常に見えるようにしておきたい特定の項目(通常、一覧部品の左の方のカラムになっていると思います)は、「固定カラム」として横スクロールしないように設定したり、参照の必要のないカラムは「非表示」に設定したりすることができます。

また、確認・編集頻度の高い項目が一覧部品の右の方に位置する場合には、そのカラムをマウスでドラッグして見やすい左の方の位置へ自由に移動することも可能で、ユーザの操作によって、見やすい・編集しやすい一覧表示が設定できます。さらに、画面の一覧部品に表示されているデータに対して、カラム別にソートをしてレコードの並べ替えを行ったり、個々のセルの情報を検索してレコードを探したりする機能もあるので、ユーザの操作で用途に応じたデータの検索・レコードの検索も行うこともできます。

並べ替えや検索のようなデータの見方を変える機能以外にも、一覧部品の表示範囲を切り替える機能があります。MCFrame XA標準で用意されている個々の画面では半分かそれ以下のサイズで配置されている一覧部品を画面いっぱいに表示させたり、テーブルズーム機能によってフォントサイズを大小に変更したりすることによって、一覧性を高める・一覧の表示文字を大きくして見やすくする、といったことも自由に行えます。これらの機能は、MCFrame XAが提供する開発部品を使った全ての画面で利用可能になりますので、業務アプリケーション開発者はこれら機能の開発は一切不要になるわけです。


XA FrameManager編

<図 一覧部品の機能>

クライアントフレームワーク(パーソナライズ)

それでは、ここからは開発フレームワークのご説明に入ります。今回は「クライアントフレームワーク」が提供する機能の一つである「パーソナライズ」をご説明致します。

「GUI部品」を使って作られたMCFrame XAの画面は、前回の「XA FrameManager Platformの実行基盤」でご説明した「クライアント実行基盤」上で動作することによって、フォントサイズや一覧部品の表示といった標準の画面設定をユーザの操作で自由に変更することができます。ユーザ毎に個々の画面で設定を細かく行うことで、担当業務に最適化された画面環境を作りあげることができるわけですが、この環境を、MCFrameを起動するたびにいちいち設定していたのでは手間がかかりすぎ魅力が半減してしまいます。

そこで、ユーザや業務に合わせて変更された画面の設定を「パーソナライズ情報」として保存する機能を用意しました。パーソナライズ情報はユーザ毎にサーバ側へ記録されるため、同じユーザが異なるPC端末でMCFrameを起動しても、そのユーザのパーソナライズ情報が反映されるようになっていますので、何度も設定し直す手間はかかりません。パーソナライズ可能な情報は以下のものとなります。

XA FrameManager Platform パーソナライズ可能な情報
XA FrameManager編

パーソナライズの機能は、XA FrameManager Platform上で稼働する全ての画面で利用できますので、開発者にとっては、この機能の開発・保守が一切不要になるだけでなく、ユーザによって微妙に異なる画面表示の細かい要望に対して、画面プログラムに手を加えずに応えることが可能になります。

今回は「XA FrameManager Platform」の「開発フレームワークの概要」と「開発部品」についてご説明しました。画面に関する話題が多くなりましたが、MCFrame XAが提供する開発部品(GUI部品)と開発フレームワーク(クライアントフレームワーク)を利用することで、業務アプリケーション開発で煩雑になりがちな画面開発が大幅に効率化され、業務機能の開発に集中し易くなることがご理解頂けましたでしょうか。

次回は引き続き「開発フレームワーク」の代表的なものについてご説明したいと思います。

第4回コラム 『XA FrameManager Platformの開発フレームワーク(2)』 に続く

新規CTA
樋口 亮平
樋口 亮平
プロダクト事業本部 コンサルティングサービス部 部長。 システム好きのプラントエンジニアが、インターネット黎明期のネットワーク技術に夢中になり、勢いでITの世界へ転身。これまでに、TRADEX、Oracle EBS、MCFrameなどのシステム導入プロジェクトに従事。最近はXA FrameManagerの伝道師になりつつある。
猪上太
猪上 太
新商品開発本部 商品開発本部 商品開発1部 システムスペシャリスト。malltalkがやりたくてBENG分社前のTECに入社して、MCFrame に触ってから早10年。今はJavaエンジニアですが、いつかは"Smalltalker"に戻る日を夢見て頑張ってます。 「健全なコードは健全な肉体に宿る」を信じて、毎日昼休みは会社の近所をジョギングしてます。