Knowledgeそこが知りたい:画面の変換

Webブラウザ対応前提知識

既存のCUI画面をWebブラウザ対応のGUI画面にする場合の、Web標準技術であるJavaScript,TypeScript,HTML,CSS,Frameworkについてご説明します。

JavaScriptとTypeScript

・JavaScript:
 - Webページのクライアント側で動作するプログラミング言語(Java言語ではありません、JavaScript言語です)
 - クライアント端末(PC、タブレット、スマートフォン)上で実行されるため、サーバー負荷を軽減
 - HTMLファイル内の<script>タグや、外部JavaScriptファイルとして記述可能
 - フレームワークを利用して、効率的に機能を構築
・TypeScript:
 - JavaScriptのスーパーセットで、静的型付けとオブジェクト指向機能を追加
 - 大規模開発に向いており、エラー検出や保守性が向上
JavaScriptの歴史

JavaScript, TypeScriptの用途
1.HTMLドキュメントの操作: DOM(Document Object Model)を通じて、動的なコンテンツ変更が可能
2.データの送受信: REST APIを利用してサーバーとデータをやり取りし、動的なアプリケーションを構築
3.UIの構築: Angular、Reactなどのフレームワークを利用して、開発効率と標準化を向上
4.非同期処理: AjaxやFetch APIを利用して、ページの再読み込みなしでデータの取得・送信が可能
5.並列処理: Web Workerを利用して、複数スレッドによる並列処理を実現

HTML

・Webページの構造(画面レイアウトのベース)を定義するマークアップ言語
・最新仕様はWHATWGによるHTML Living Standard
・主要ブラウザ(Google Chrome、Microsoft Edgeなど)は、最新仕様に対応
・JavaScript,TypeScriptからDOM APIでHTMLを操作(ID名、クラス名、要素名、name属性などを用いて該当箇所を操作)
HTMLの歴史

CSS

・Webページの画面レイアウトや、フィールド属性を制御
・最新仕様はW3CによるCSS5(level3~5)で主要ブラウザが最新仕様に対応
・Media Queryを利用して、1つのHTMLをPC、タブレット、スマートフォン対応にする事も可能
・HTML要素のクラス名に対してスタイルを指定(外部CSSファイルとして取り込みしたり、HTMLタグ内にstyleで個別に指定)
CSSの歴史

UIフレームワーク

JavaのAPサーバーと連携した大規模なシステム開発では、UIフレームワークを用いるのが標準となっています。下記に人気のフレームワークの特徴を記載します。

Angular
Angular.JSを得てAngular2(現在のAngular)となった。Angular.JSはJavaScriptを利用、AngularはTypeScriptを利用します。
JavaScriptには、依存性注入(DI)の概念はありません。
 ・特徴: 大規模なエンタープライズ向けシステムに適し、ルーティング他の必要な機能を一通り揃える
 ・記法: JavaScript,TypeScript,HTML,CSSは別ファイルとして保持
 ・データバインディング: 単一方向と双方向が可能
 ・依存性注入(DI): SpringやJakartaEEを利用するJavaエンジニアに馴染みやすい
 ・開発: GoogleのAngularチームとコミュニティによって開発されているOSS
 ・採用: 富士通,日立,NECなどのフレームワークや、大規模システムで幅広く採用

React
 ・特徴: シンプルで軽量な設計、コンポーネントの再利用性が高い
 ・記法: JSXを利用し、JavaScript内にHTMLを記述、CSSは別ファイルとして保持
 ・データバインディング: 単一方向のみ
 ・ルーティング: Next.jsと組み合わせて利用する等の考慮が必要
 ・開発: Facebook(現在はMeta)によって開発されているOSS
 ・採用: シンプルな機能で済む場合に、中・小規模システムで幅広く採用

Caravel™ 変換サービスの概要

レガシーシステムのCUI画面(IBM環境の例として、CICSであればBMS画面、IMS TM(DC)であればMFS画面、TSOであればISPF PANEL、AS/400であればDSPF、富士通,日立,NEC環境も対応)を、WebブラウザI/FでGUI化します。

UI層の変換プロセス

 ・Caravel™ Express: 独自のBASE100フレームワークを使用。ストレート変換を基本とし、既存の操作性を維持
 ・Caravel™ Converter: お客様がAngularやReactなど、メジャーなフレームワークを選択可能

レガシー画面の変換方式

 ・方式1: 従来の操作性(PFキー、Enterキー)を維持したブラウザ対応
 ・方式2: マウス操作を追加し、HTMLとCSSでカスタマイズ可能なWebフォームに変換

変換の利点

 ・操作性の向上: 従来の操作に加え、マウス操作やキーボードショートカットが利用可能
 ・多デバイス対応: CSSを用いて、PC、タブレット、スマートフォンなどで最適表示が可能
 ・エミュレータ(IBM3270やIBM5250など)不要: ブラウザで直接動作するため端末エミュレータソフトウェアが不要

Angularの実装イメージ

 ・アプリケーション技術者が保守するUI部分は、主にTypeScript(JavaScript)、HTML、CSSの部分です。
 ・Web標準のコードで保守できるので、技術者不足のリスクを低減できます。
 ・バックエンドのAPサーバー間は、RESTで通信します。
フロントエンドAngularの実装イメージとJava APサーバ

詳細については、お問い合わせください。

画面の変換:FAQ