LANSAユーザーとして
フレームワークの必要性を痛感
ソリューション・ラボ・ジャパン(SLJ)は、LANSAのWebアプリケーション開発に向けたフレームワーク製品である「SLJフレームワーク for LANSA Web」をリリースした。
クライアント/サーバーやWeb、スマートデバイス向けアプリケーションなど、LANSAによる開発はアプリケーションの種類を問わず、統合開発環境である「Visual LANSA」に集約されている。SLJフレームワーク for LA
NSA Webは、「LANSA for the Web」で実行するWebアプリケーション開発を狙いに、Visual LANSAに取り込む形で利用が可能になる。
同社がこのフレームワークを開発したのは、自らがLANSAユーザーとして、顧客向けにWebアプリケーションを開発する際の生産性を高めたいと考えたからだ。
「LANSAのWebアプリケーション開発機能は年々高度化しており、それに伴って開発者に求められるスキルレベルも上がっています。LANSAの特性とWebアプリケーションの特徴の双方を理解する必要があり、一度研修を受けたぐらいでは、開発手法を理解できずに悩むことも少なくありません」と指摘するのは、ソリューション・ラボ・ジャパンでLANSA案件を多く手掛ける高橋昌宏氏(ソリューション事業統括 西日本支店 支店長)である。
同社ではこの5年あまり、LANSAでWebアプリケーションを開発してきたが、フレームワークという概念をもたないまま臨んだ開発作業には苦労も多く、試行錯誤を繰り返してきた。
そこで2020年ごろから社内にプロジェクトを立ち上げ、LANSA for the Web向けのフレームワーク作成を開始した。
実際のLANSA開発プロジェクトにこのフレームワークを利用して生産性の向上を確認する一方、LANSAを利用するエンドユーザーやパートナーへの導入も決まり、利用が少しずつ拡大してきた。
そこでより多くのLANSAユーザーやパートナーにこのフレームワークを提供しようと、今年に入って正式なリリースを決定したという。
頻繁に使用される
汎用的な機能を提供する
同社が採用するWebアプリケーションの開発手法は、図表1のようになる。
まず画面の動きや構成などをタイプ別にパターン化しておき、画面設計時はこれらのパターンに沿って設計する(個々の画面ごとの独自設計は行わない)。
次に、画面パターンごとのモックを作成する。紙ベースでは伝わらない画面イメージを伝えることが目的で、実際に使用するモニターに表示して、レイアウトや文字サイズなどを確認する。
通常の開発では実際の画面を確認するのはテストフェーズになるので、モックを作成することで、テストフェーズからの手戻りを事前に回避できる。
そして、画面パターンごとにスケルトン(骨組み)を作成する。プログラムはこのスケルトンをベースに作成し、プログラム独自部分のコードを実装していく。
これらの開発ステップの前段階に位置するのが、SLJフレームワーク for LANSA Webである。
SLJフレームワーク for LANSA Webは一般的なフレームワークと同様、頻繁に使用される汎用的な機能をあらかじめ提供し、各機能の処理を簡素化する(図表2)。
開発者が共通の振る舞いや各種制御を個別に考慮する必要がなくなることで、開発生産性や保守性の向上、操作性の統一といったメリットをもたらす。
たとえば共通部分をフレームワーク化することで、各機能の処理を簡素化する。検索→データ表示→登録処理などの流れや、エラーメッセージの表示内容などを各画面で統一できる。
またフレームワークの機能を利用することで、単体テストの工数を短縮化できる効果もある。
さらにルールに基づき作成するので、処理の理解が容易になる。開発者はSLJフレームワーク for LANSA Webのルールに沿って開発を進めることで、誰が見ても容易に理解できる標準的なプログラムを作成できる。その結果、保守の生産性を高められるわけだ。
SLJフレームワーク for LANSA Webには、説明会という形での操作トレーニングと、動きを確認できるサンプルスケルトンの提供が含まれている。
またユーザー独自のカスタマイズも可能。すでに導入したパートナーでは、自社の開発業務に沿ったフレームワークとして育てているという。
このほかフレームワーク改修支援、画面パターン作成支援、スケルトン作成支援などのサービスを別途に有料で提供している。
同社ではLANSAユーザーが効率的にWebアプリケーションを開発できるように、SLJフレームワーク for LANSA Webによって支援していきたいとしている。
ソリューション・ラボ・ジャパン株式会社
https://www.slj-net.co.jp/
[i Magazine 2022 Summer(2022年7月)掲載]