既存資産を活用したシングルページアプリケーション(SPA)開発方式の考察
2
0
0
全文
(2) 情報処理学会第 79 回全国大会. ① 画面遷移先の決定処理をサーバ側に残す。 ② クライアントとサーバ間のインターフェー スにおけるデータ項目を変更しない。 開発事例では、既存資産は MVC フレームワー クとして Apache Struts 1.2 を使用しており、SPA の 適 用 に は MVC フ レ ー ム ワ ー ク と し て AngularJS 1.4 を使用した(図 3)。 Presentation Layer. 既存資産 ActionForm. JSP. Action チェック編集. 画面レイアウト 業務コンポーネント呼出. 通信インターフェース チェック編集. 画面遷移制御 画面表示制御. 6.3 技術的な実現性の評価 リライトによる技術的な実現性を、リライト作 業中に挙がった問題点(表 3)から評価した。結果 的に未対策となったのは 3 件だけであり、実現 性には概ね問題無いと評価する。未対策の課題 として、画面全体の再描画におけるタイミング の差異や、HTML の部品化に伴う CSS の名称競 合の他、サブウィンドウ制御に関する処理方式 等について、再検討が必要なことが判明した。 また、サービスを跨ぐ箇所での認証情報の引き 渡 し や 二 重 送 信 防 止 用 の 作 り込みに関する、 MSA の全面的な適用に向けた課題が判明した。. Apache Struts. 表 3:リライト作業中の問題点 :リライト作業中の問題点. Web/AP Server. Client. Rewrite. #. SPA適用後 HTML/JavaScript. JavaBeans. 画面レイアウト. 1 2 3 4 6 7 5 8 9. 通信インターフェース. チェック編集. チェック編集. 通信インターフェース. 業務コンポーネント呼出. 画面表示制御. 画面遷移制御. AngularJS. Jersey Web/AP Server. Client. 図 3:SPA 適用におけるリライトのイメージ. 6. 評価 6.1 設計作業の効率化 リライトを前提とした適用方針により、作り直 す場合に比べ、画面制御に関する処理の設計項 目における再設計の対象を削減できた(表 1)。 表 1:画面制御に関する処理 :画面制御に関する処理の再設計要否 制御に関する処理の再設計要否 # 1 2 3 4 5 6 7 8. 設計工程 設計項目 画面基本設計 画面遷移設計 画面レイアウト設計 画面詳細設計 画面項目設計(通信インターフェース設計) イベント処理クラス設計 画面イベント チェック編集処理設計 設計 画面遷移制御ロジック設計 画面イベント 画面表示制御ロジック設計 詳細設計 業務コンポーネント呼出ロジック設計. 再設計要否 不要 不要 不要 不要 不要 要(一部) 要 不要. 6.2 開発規模(SLOC) 既存資産と SPA 適用後におけるリライト対象 の開発規模を比較した(表 2)。#1 は小さくなった が、#5 と#7 は大きくなった。HTML の部品化に より規模が圧縮された反面、通信インターフェ ースの制御処理で規模が膨む結果となった。. 1 2 3 4 5 6 7 8. 処理要素 画面レイアウト チェック編集(クライアント) 通信インターフェース(クライアント) 画面表示制御 通信インターフェース(サーバ) チェック編集(サーバ) 画面遷移制御 計. 既存資産 種別 開発規模 JSP 6.8 JavaScript 2.8 - - Java 3.8 Java 2.0 Java 1.5 Java 7.5 24.3. SPA適用後 種別 開発規模 HTML 2.7 JavaScript 1.4 JavaScript 1.1 JavaScript 3.7 Java 14.9 Java 1.5 Java 13.9 39.1. 画面レイアウト チェック編集(クライアント) 通信インターフェース(クライアント) 画面表示制御 チェック編集(サーバ) 通信インターフェース(サーバ) 画面遷移制御 その他 計. 対策済 7 0 3 5 0 1 9 4 29. 暫定 対策済. 未対策 計 5 0 0 1 0 0 0 0 0. 0 12 0 0 0 3 1 7 0 0 0 1 1 10 1 5 3 38. 7. まとめ サーバサイドベースのモノリシックなアーキテ クチャによる既存資産を活用した SPA 開発方式 の研究の結果、画面制御に関する処理における 再設計の対象項目の削減により、開発工数の削 減に効果が得られた。SPA 開発方式の妥当性を 評価できたことに加えて、残った問題点におけ る技術的な課題を洗い出した。 8. 今後の課題 本稿で抽出した課題に加えて、既存資産の流用 を目的に設定した前提条件に対して、SPA とし てのメリットを活かす観点で改めて検討する。 また、MSA の全面的な適用に向けて、リバー スエンジニアリングを活用したアプリケーショ ン全体の最適化の手法を検討する。 参考文献 [1] [2] [3]. 表 2:プログラム開発規模の比較 :プログラム開発規模の比較( の比較(単位:Kstep) 単位:Kstep) #. 処理要素. [4]. [5]. 1-198. 池添 明宏, 金井 健一, 吉田 徹正. AngularJS リファレ ンス. インプレス, 2014, 166-168p. Sam Newman 著, 木下哲也 訳. マイクロサービスアー キテクチャ. オーム社, 2016, 1p-9p, 93-119p. 米谷 雅樹, 『Visual Basic から J2EE 環境への移行支援ツ ール』, 情報処理学会第 66 回全国大会. 倉持 和彦、他『Struts アプリケーションのパブリッ ククラウド(Google App Engine)への移行に関する考 察』, 情報処理学会第 72 回全国大会. IT モダナイゼーションソリューション, ”IT モダナ イ ゼ ー シ ョ ン と は ”. 日 立 製 作 所 . 2016, (URL:http://www.hitachi.co.jp/Prod/comp/soft1/solution/ search_s/modernization/whats_modernization.html). Copyright 2017 Information Processing Society of Japan. All Rights Reserved..
(3)
図
関連したドキュメント
外声の前述した譜諺的なパセージをより効果的 に表出せんがための考えによるものと解釈でき
処分の違法を主張したとしても、処分の効力あるいは法効果を争うことに
tiSOneと共にcOrtisODeを検出したことは,恰も 血漿中に少なくともこの場合COTtisOIleの即行
タラソテラピーを代表する海水入浴療法(バルネオ セラピー)とボディパックを取り入れた、本格的な
納付日の指定を行った場合は、指定した日の前日までに預貯金口座の残
絡み目を平面に射影し,線が交差しているところに上下 の情報をつけたものを絡み目の 図式 という..
このため、都は2021年度に「都政とICTをつなぎ、課題解決を 図る人材」として新たに ICT職
個別の事情等もあり提出を断念したケースがある。また、提案書を提出はしたものの、ニ