サービスについて上部に戻る
- Qトランスウェアではどのようなサービスが提供可能ですか?
- A
「トランスウェアのサービス」や「メインフレームの対応状況一覧」、「ミッドレンジの対応状況一覧」をご覧ください。
また、各サービスの説明ページもあわせてご覧ください。
- Qマイグレーションの費用は大体いくらぐらいですか?
- A
費用につきましては、プロジェクトの規模と複雑さによって大きく異なります。概算費用であればサーベイシートに必要事項をご記入いただき、算出可能です。
- Qどの時点で、実現しなければならないタスクとそのコストを正確に知ることができますか? その情報はプロジェクト開始前に入手可能ですか?契約前に、何らかの分析が必要ですか?
- A
お見積りの前提としてご記入いただくサーベイシートには、変換の複雑さを決定する可能性がある項目が反映されています。プロジェクトを開始する前に、各プロジェクトの複雑さ、つまりリソースの内容、必要な期間およびコストを評価し、お見積りいたします。
このお見積りは、既に成功裏に完了した多数のマイグレーションプロジェクトに基づいています。これらのプロジェクトは、非常に多様なサイズ、アーキテクチャ、および特定のレガシーテクノロジーを網羅しています。
お見積りを各フェーズごと(PoC、分析・計画、プログラム変換、データ変換)に分けて、各フェーズごとにお見積りをご提示することも可能です。
- Q変換に用いるツールのダウンロード可能な試用版はありますか?
- A
Caravel™は移行・変換サービスであり、ツール単体の試用版はありません。
移行の可能性を判断するためのテストが必要な場合には、既存システム資産の一部を用いてPoC(Proof of Concept)を行うことをお勧めしています。
PoCの一般的な流れは次のとおりです。
• お客様のシステムの完全に機能するサブセット(プログラムとデータ)を搬出(当社へ提供)します。(別途機密保持契約が必要)
• お客様からお預かりしたリソース(プログラム)の確認・分析を行い、分析結果をお客様にご確認いただきます。
• お客様からお預かりしたリソース(プログラムとデータ)を当社にて新環境で動作する形に変換します。その後、当社マシンにて稼働確認を実施した後に、お客様環境にデプロイします。
• お客様環境にデプロイ後、お客様にて動作確認をしていただきます。
PoCでは、より重要と思われるシステムの一部を選択することをお勧めします。
- QCaravel™は変換ツールとしてライセンス購入できますか?
- A
Caravel™は移行・変換サービスであり、変換ツールを第三者に販売することはございません。
- Qマイグレーション後に何らかの追加ライセンス要件はありますか。また、Java変換後のシステムは、何か特別なツールを使用する必要がありますか。
- A
変換プロセス後の資産は、お客様の資産です。移行されたプログラムは100%Javaですので、特別なツールは必要ありません。当社の移行サービスは、お客様に完全な独立性を提供します。変換後、いかなるライセンス費用も発生いたしません。
各費用については、ご提案段階で詳細な情報を提供いたします。
Caravel™ Express変換の場合、Caravel™ Frameworkのメンテナンスアップデートとメンテナンスサービスをオプションとして契約することが可能です。Caravel™ Converterの場合、オープンでメジャーなフレームワークのお客様指定のバージョンを利用しますので、メンテナンスは各オープンシステムに依存します。どちらも変換プロジェクト後の最初の1年間は、変換費用に瑕疵対応が含まれています。
- Qマイグレーションの各フェーズ(分析・変換・テスト・本稼働後の保守)について、サポートはありますか?
- A
分析・変換・テスト工程においては、当社技術者による技術支援サポートが含まれます。当社の標準的なサービス範囲外の課題への対応(移行先で個別のツール開発が必要になった場合など)やテストの実施、本稼働後の保守につきましては、当社技術者のご支援を別途契約することが可能です。
- Qモダナイゼーションに関して、どの程度の事が可能ですか?
- A
「モダナイゼーション」としては、既存のレガシーシステムを最新の技術やトレンドの業界標準に合わせた最適化、および将来の変更ニーズに対応可能な部品構造にすることまで対応が可能です。
UIを最新の技術やトレンドに合わせる対応としては、画面のWebブラウザ対応(既存のCLIに合わせたものや、Web準拠のGUI化)、端末印刷物のPDF化、ブラウザ経由での表示・印刷などが標準で可能です。
データアクセスに関しては、階層型DB・ネットワーク型DB・関係型DB・VSAM・ISAMなどをSQL系のリレーショナルDBへ変換することが可能です。また、最新の技術やトレンドに合わせたDAOの実装も可能です。
Caravel™ Insightでは、システム内の重複したコードを洗い出す機能が提供され、これにより重要なビジネスロジックの共通部品化も検討可能です。
当社が提供する変換サービスでは、UI、データアクセス、ビジネスロジックを3層に分離して変換を行いますが、ビジネスロジックに関してはお客様の業務内容に依存しておりますので、現状のままの機能が変換されます。
将来のDX推進に向けて、保守がしやすい構造への変換と、技術者を集めやすいJava言語への変換を行っています。
移行先の稼働環境上部に戻る
- Q現在のメインフレーム※1や、AS/400※2データベースサーバーおよびアプリケーションサーバーとして維持することは可能ですか?※1:メインフレームは、IBM(z/OS)、富士通(MSP)、日立(VOS3)、NEC(ACOS4)等も含んでいます。※2: AS/400には、S/36、S/38、iSeries、System iも含んでいます。
- A
メインフレームやAS/400を、データベースサーバーおよびアプリケーションサーバーとして使用することが可能です。
現状のマシンをデータベースサーバーとして利用したい場合、JDBCドライバを用いたクライアントとして、LinuxやWindowsの新環境で動作するJavaからアクセスできます。
メインフレームやAS/400を、Javaを動かすアプリケーションサーバーとして利用するには、いくつかの方法があります。既存のOS直下でJavaが実行可能なAPサーバーを動かす方法、既存のOSのLinuxサービス配下でJVMを動かす方法、既存のマシンの論理区画を増設してLinux環境を構築する方法などが考えられます。このような選択をされた場合、新たなマシンの増設は不要です(現在のマシンの負荷状況に依存します)。
- Q情報システムの一部だけをマイグレーションすることは可能ですか?新しく変換されたJavaのプログラムと共存できますか?
- A
システムの一部のみを移行することは可能です。この場合、Caravel™テクノロジ側で吸収され、Javaのプログラムと共存できます。
このような場合、DBは通常元のプラットフォームに残し、新プラットフォームのJavaから元のDBにアクセスする形となります。
※IBM zシリーズのDB2や、IBM iシリーズのDB(PF、LF)で対応実績がございます。
- Q移行先のマシン環境はどのようになりますか?
- A
移行先には、Javaを実行可能なマシンが要求されます。Linuxサーバー(RHEL系が多い)、Windowsサーバー、既存ホストを論理区画分割したLinuxサーバー、Amazon、Google、Microsoftのクラウド環境など、Javaを実行可能なマシンはオンプレ・クラウドを問いません。
バッチジョブ系は、JVM上でフレームワークとJavaアプリケーションを実行します。
端末処理(オンラインやタイムシェアリング系)は、WEBブラウザ(Microsoft Edge、Google Chrome、Apple Safari、ブラウザ組み込みデバイス等)でアクセスでき、Javaアプリケーションサーバー(WAS LibertyやTomcatなど)上でJavaアプリケーションを実行します。
- QCaravel™で移行・変換する際に、3層アプリケーションとするにはどうすればいいですか?
- A
Caravel™で変換されたアプリケーションは、ユーザーインターフェイスコンポーネントとアプリケーションの動作を分離します。また、アプリケーションのデータアクセスも分離します。
この結果として得られる3層アプリケーションは、ユーザーインターフェイス画面を作成または変更することで非常に簡単にカスタマイズできます。
一部のプログラムロジックは、すぐにJava Webサービス(SOAPまたはREST)に変換できます。
アクセスするDBサーバーは、アプリケーションを修正することなくデータアクセスコンポーネントを変更できます。
Caravel™変換サービスで作成されたJavaアプリケーションは、Javaアプリケーションサーバーに配置できます。変換されたプログラムはJakarta EE(J2EE)の規則に従い「3層アーキテクチャ」の要件を満たします。新しいクライアント層は、一連のクライアントJavaコンポーネント(Caravel™変換プロセスによって提供されるJava JSP、TypeScript(JavaScript)、および画面用のHTMLとCSS(スタイルシート)などのクライアントコンポーネント)で構成され、変換されたJavaクラスは業務ロジック層の一部となります。最後にデータ層は、サーバーとデータ、及び可能なストアドプロシージャに対応します。データ層に対応したDAOを用いることも可能です。DBに関しては、新環境のSQL系DBサーバーの使用に加えて、元のメインフレームやAS/400のDBを併用することも可能です。
- Q変換後のアプリケーションを実行するためには、特別なアプリケーションサーバが必要ですか?
- A
バッチジョブ系は、JVM(Java Virtual Machine)上でフレームワークとJavaアプリケーションが動作します。
端末系の処理は、特定のアプリケーションサーバーに依存しません。現時点で、変換後のアプリケーションは、例えば下記に示す最も一般的なアプリケーションサーバーの最新バージョンと互換性を持っています。
• WebSphere(WAS Liberty)
• Tomcat
• Apache/TomEE
• WebLogic
• JBoss など
アプリケーションサーバー単体で動かすことや、フロントエンドのWebサーバーと連動させたり、ロードバランサで負荷分散するような構成も可能です。
- QCaravel™はシステムのセキュリティや元のプラットフォームのユーザーID、端末IDを移行しますか?
- A
セキュリティ面は移行に含まれておりません。アプリケーションが新しい環境に移行された場合、そのプラットフォーム用のセキュリティ管理アプリケーション(オペレーティングシステムやデータベース管理システムなど)を実行する必要があります。
オンライン系のアプリケーションにおいては、業務システム内で端末IDやユーザーID/パスワードを使用して処理を行っている場合が多々あります。このような場合には、新しいWebブラウザ環境下で、現状に合わせた端末ID(LU名)やユーザーID/パスワードを使用する処理を、新環境に合わせた仕組みで提供することが可能です。
- QどのWebブラウザがサポートされていますか?
- A
Microsoft Edge、Google Chrome、Mozilla Firefox、Apple Safariに標準対応しています。専用端末や組み込みデバイスに内蔵されたブラウザに合わせたカスタム対応の実績もございます。
事前準備上部に戻る
- Q既存のアプリケーションシステムをJavaへ変換するには何が必要ですか?
- A
現行プラットフォームで正しく機能するシステムが必要です。
ジョブの実行に関するソースとして、JCL、カタログプロシージャ、CLIST、CLのソースコード。
高級言語としては、COBOL、PL/I、RPGのソースコードと、それらが利用するCOPY、INCLUDE、MACROのソースコード。
※COBOLソースのジェネレータを用いて開発していた場合には、ジェネレータ実行後のソースコード。
第4世代言語(4GL)としては、Easytrieve、Natural、COBOL/S、IDL IIのソースコードと4GLで省略されている正しいファイルレイアウト情報など。
※上記以外の4GLについては、市場性や規模をもとに対応の検討が可能です。
機械語相当言語としては、MVS系Assemblerのみサポートしています。AssemblerソースコードとMACROのソースコード。
オンライン系の資源定義情報(プログラムとトランザクションの対応表)としては、IMS STAGE1やCSD(PPTとPCT)等のソースコード。
画面定義としては、MFS、BMS、PSAM、MED、MFD、PSAM等のソースコード(※印刷端末用も含む)。
帳票定義でオーバレイしているものについては、OGL、PSAM等のソースコード。
DBレイアウト情報としては、DB2 DDL、DBD、PSB、CICS CSD(FCT)、PED、AS/400のPFやLF情報などのDBに関するDDL情報のソースコードや、DBとプログラムとの対応付け情報のソースコード。
フラットファイルに関しては、そのファイルレイアウトが明確になるもの(プログラムやCOPY句等でフィールドが省略されていないもの)が必要です。プログラムやCOPY句でフィールドが省略されている場合には、別途ファイルレイアウトをご提示いただく必要があります。
※上記以外のソースに関してもご相談可能です。Caravel™ InsightやConverterは、機能拡張が可能なツールで、市場性や規模を検討して開発ロードマップに組み込むことができる場合があります。
- Q新環境での動作確認には、何が必要ですか?
- A
変換ターゲットの環境は、多くの場合、当社内のテスト用マシン(Windowsサーバー、Linuxサーバー、IBM iシリーズ(AS/400)、IBM zシリーズ(z/OS))と、お客様内のテスト用マシンの両方を用いて動作確認・検証を行います。
当社内のテスト用マシンでは、少量のテストデータを用いて、お客様作成のテストシナリオに基づいて動作確認を行います。
そのため、テストデータは処理の実行前と実行後の断面で取得した少量のデータと、当社向けのテストシナリオをご提供いただくようお願いしています。ご提供いただいたデータは、動作テストでの利用と、新環境へデータを変換して搬入するための手順の確立に利用します。
お客様内のテスト用マシンには、変換結果のプログラムとデータをデプロイ(当社の技術者によるサポートあり)した後に、お客様による各種データを用いた動作検証を実施していただきます。
動作検証には、適切なテストデータと、そのデータに基づいたテストシナリオが必要です。
テストデータの変換については、データ変換サービスを提供しています。
- QCaravel™ Insightへの各種ソースのインポートが実施されると、どのような内容(ソースの欠落、変換の課題など)が提供されますか?
- A
Caravel™ Insightを実施すると、分析結果をDiscovery Viewerで確認でき、各オブジェクト(各ソース)をさまざまな視点で確認できます。
※Discovery Viewerは、PoCではお客様への提供はありませんが、本変換プロジェクトではお客様へ提供いたします。
• 未解決オブジェクト:必要なソースの欠落、OS提供のユーティリティやプログラムなど、未解決のオブジェクトリスト → 必要なソースの追加インポートや、新環境に存在しない機能の代替策の検討に
• 各ソースの品質情報のリスト(複雑さやデッドコード、変換上の課題のレポート) → 移行時の計画や代替策の検討に
• 各オブジェクト間の依存関係(各オブジェクトを起点とした、プログラムやファイル・DB・画面・ジョブ等の依存関係)を、オブジェクト単体やネットワーク図で確認
• 複数のソースで重複しているコード → 共通部品化の検討に
• COBOLとPL/IとRPGは、フローチャートとJava疑似コードも表示可能 → 変換サービスを用いない部品化等の参考にDiscovery Viewerを用いた移行計画の策定
Discovery Viewerを用いて、特定のオブジェクトをグループ化する定義を行い(例えばサブシステムごとなど)、その複数のグループを用いたファンクション分析やウェーブ分析を行うことにより、以下のレポートを生成できます。
• グループ間の共通オブジェクトを明確に洗い出したリスト → 移行スケジュールの立案に活用
• 各グループごとの規模の確認 → 移行スケジュールの立案に活用
変換プロセス上部に戻る
- Q元のプログラムの何パーセントがJavaに変換できますか?
- A
Caravel™ Converterはソースコードの100%を変換します。
変換プロセスは、ツールによる自動変換と、その変換結果をもとにした変換ツールへの追加変換仕様(パラメータ)の設定の繰り返しで100%に達します。
高級言語(COBOL、PL/I、RPG)は、多くの場合、初回の変換で98%程度の変換率となり、追加のパラメータで100%に達します。
4GLの場合には、各言語で省略された(未記載の)情報が多く発生するため、多くの場合、初回の変換で50%程度の変換率となり、追加のパラメータで100%に達します。
Assemblerの場合、高級言語では実現不可能なOS依存のコードが多く見られるため、多くの場合、初回の変換で50%程度の変換率となり、追加のパラメータでも100%に達しないケースが多々発生します。この場合、代替策が明確な場合には技術者が手作業で変換を完了させます。代替策が見いだせない場合は、変換についてお客様とご相談させていただくことがあります。
ジョブの処理制御言語(JCL、カタログプロシージャ、CLIST、CL)は、多くの場合、初回の変換で98%程度の変換率となり、追加のパラメータで100%に達します。
画面や帳票のソース(MFS、BMS、PSAM、OGLなど)の場合には、変換が100%に達するまでツールの改修とパラメータの追加で対応します。
一部のOSユーティリティ機能(SORT、IDCAMS、IEFBR14、CPYF、OVRDBF、OVRPRTF、WRKSBMJOBなど)は、標準でその機能に相当するJavaクラスが提供されます。
Caravel™ Converterサービスは、変換元のアプリケーションと同じ機能で実行される100%純粋なJavaアプリケーションを提供します。
- QIBM iシリーズ AS/400(OS/400)上のどのバージョンのRPGおよびCOBOLをサポートしていますか?
- A
RPG言語:すべてのバージョン(RPG II、RPG III、RPG/400、およびILE RPG)
COBOL言語:COBOL/400
埋め込みSQLは、RPGとCOBOLの両方でサポートされています。
サイクルRPGプログラムの変換は、Caravel™フレームワークがJavaのクラスやメソッドを使ってサイクルプログラムのすべての機能を実装しているため、その動作を非常に効果的に保つことができます。
- QIBMメインフレーム zシリーズ環境の場合、どのCOBOL、PL/Iバージョンが変換できますか?
- A
COBOL言語:ANSI COBOL 85レベル、OS/VS COBOLおよびVS COBOL II、COBOL MVS、COBOL 390、Enterprise COBOLなど
PL/I言語:OS PL/I、PL/I MVS、Enterprise PL/I など
COBOL、PL/Iともに、下記のプリプロセッサがサポートされます。
• CICSプリプロセッサ(EXEC CICSレベルのソースコードサポート)
• DB2プリプロセッサ(EXEC SQLレベルのソースコードサポート)
- Qプログラムの変換は個別に行われていますか?つまり、元のソースの命令ごとに、Java命令に変換されていますか?
- A
各ソースの命令を、元のものと同じ機能を保持するメソッドに変換します。変換は命令ごとに行われます。
複数行の命令が1つのメソッドになる場合や、1つの命令が複数の命令になる場合もございます。
変換の目的の1つに、現在の技術チームが読みやすいソースを作成する目的もあり、Javaソース上に既存のコメント行も含めて変換します。
一方で、Javaプログラマーにとっては100%ピュアなJavaシステムであり、通常通り扱うことが可能です。
変換されたシステムの機能は、RESTサービスメカニズムを介して呼び出すこともできます。
- Qプログラムが変換されたら、どのような開発環境と互換性がありますか?
- A
変換されたプログラムは100%ピュアなJavaコードですので、あらゆる標準的な開発環境が使用できます。当社のお客様は、Eclipse、NetBeans、JBuilderなどともうまく連携しています。
- QOSの各種ユーティリティや、OSのコマンド(JCL、CLIST、CL)は実装されていますか?
- A
IBM zシリーズのメインフレームでは、SORT、IEFBR14、IDCAMS、IEBCOPY、IEBGENERなどが実装されています。
IBM iシリーズのAS/400(OS/400)では、CPYF、CRTPFM、ADDLIBLE、MONMSG、OVRDBF、OVRPRT、OVRDSPF、WRKSBMJOB、WRKSPLFなどが実装されています。
Caravel™の変換サービスにおいて、存在しない機能が必要となる場合は、今後さらに開発を進め、それをフレームワークに含める対応を行っていますので、ご相談ください。
- QCaravel™ Converterでのマイグレーション後、何が得られますか?
- A
移行元のシステムと同等の機能を備えた、移行先プラットフォームおよび環境で実行するJavaアプリケーションを提供します。
※ハードウェア依存、通信制御、UIの制御(画面や帳票印刷)については、移行先の環境に合わせた機能になります。
• 変換結果のJavaソースクラスとオブジェクトクラス
• データ定義ファイル構造の変換から生成されるXMLファイルやDAOクラス
• 一連のユーザーインターフェースコンポーネント(JSP、CSS、HTML、TypeScript(JavaScript)など)
• アプリケーションによって使用される一連の標準Javaライブラリ(jarファイル)および個別の環境をサポートするためのコアクラスライブラリ(jarファイル)
• データベース移行コピーバックアップ(データ移行の場合)
上記に加えて、Javadoc等の関連文書と、Caravel™フレームワークを使用したJavaプログラミング環境でのトレーニングも提供します。
- QプログラムをJavaに変換すると、アプリケーションのパフォーマンスは速くなりますか?遅くなりますか?
- A
メインフレームやiシリーズミッドレンジは、非常に信頼性が高く、高性能なプラットフォームです。そのため、新しく変換されたシステムを設置するサーバー(LinuxやWindowsのIAサーバー)で同じパフォーマンスレベルを維持するには、技術とノウハウを結集する必要があります。
10年以上にわたり、メーカーのテクニカルチームは信頼性と性能の観点から多くのアプリケーションの特性を分析してきました。現代のオープンシステムは、レガシーシステムと同じレベルの信頼性を提供しますが、パフォーマンスは常に考慮すべき課題です。
特にコストとの関連で考えた場合、オープンシステムプラットフォームの急速な進化によりパフォーマンスは向上しました。この事実とCaravel™テクノロジの急速な進化により、数年前に見られたパフォーマンスギャップは解消されつつあります。さらに、パフォーマンスを向上させるためにリエンジニアリングも可能です。Caravel™テクノロジは、多くのパフォーマンスを大幅に向上させる戦略を開発してきました。
ただし、実際のハードウェアの仕様やネットワークの速度によっては、現行の性能を保証できない場合もあります。
画面の変換上部に戻る
- Q画面のユーザーインターフェースはCaravel™によって自動的に変換されますか、それとも手動でセットアップする必要がありますか?
- A
画面ユーザーインターフェースのカスタマイズは次のように行います。
アプリケーションを変換するときに、ユーザーの要望に応じてユーザーインターフェースを自動的に生成するか、単一の画面をカスタマイズするかを選択できます。前者の場合、画面の外観は、Caravel™が提供し、画面の各フィールドに対して同等のHTMLコードを生成できるようにする特定の変換規則に基づいています。結果は、元のものと同じフィールド、サイズ、および位置を生成するHTMLコードになります。機能に影響しない色の属性、ソース、背景色などをカスタマイズして、生成されたすべての画面に自動的に適用することができます。
後者の場合、お客様がカスタマイズしたい各画面用のJSPテンプレートを作成できます。このテンプレートは任意の画面とすることができ、オリジナルと同じである必要はありません。画面の準備を容易にする目的で、Caravel™は標準のJSPメカニズムを提供し、アプリケーションからの情報(レコード、サブファイル、フィールド、属性)の使用を容易にする「JSP TagLib」を使用します。
Caravel™はこれらのフィールドを管理し、情報をアプリケーションに送り返すためのJavaScript関数も提供しています(例えばファンクションキー)。このソリューションは、設計者が望む通りの見た目を実現するためのあらゆる柔軟性を提供します。
これら2つの解決策は互換性がありません。アプリケーションの一部の画面のみをカスタマイズすることは可能です。このプロセスは漸進的に行うことも、あるいはお客様のニーズに応じて行うこともできます。アプリケーションは最初にカスタマイズされた画面を検索し、それが見つからない場合は、選択されたユーザーインターフェースのパラメータに従って動的に画面を作成します。
カスタマイズプロセスは、お客様側で実行することも、プロジェクトの一部として組み込むことも可能です。上記最後のケースでは、お客様は希望するルール、標準、およびスタイルを定義できます。アプリケーションの見た目はJSPテンプレート群によって定義されているため、任意のグラフィック要素をいつでも変更できます。
- Q画面を多言語対応に変換できますか?日本語の画面を多言語化(例えば日本語と英語対応)にできますか?
- A
オリジナルが多言語対応ではない場合、変換プロセス中に言語に固有のリテラルを抽出し、それらを外部ファイルにエクスポートするように構成できます。そのファイルを編集して翻訳することによって、アプリケーションを多言語対応に変換することができます。
- QラジオボタンやプルダウンのようなHTML形式に変更することは可能ですか?可能な場合、画面定義ファイルにはどのように記述しますか?頻繁に使用されるいくつかの機能を変更したいと思います。
- A
Caravel™によって変換されたアプリケーションは、インターフェース構造からロジックが分離されています。
そのため、変換されたプログラムに影響を与えずにインターフェースをカスタマイズすることが可能です。したがって、ボタン、ラジオボタン、プルダウンなどのグラフィック標準コンポーネントを含めることが可能です。
変換されたプログラムは、JSPやTypeScriptを使用してユーザーとのデータ交換を管理します。このJSPやTypeScriptはユーザーに情報を表現する役割を担います。
画面のカスタマイズは、グループまたは1つずつ行うことができます。画面のグループで使用される共有部品を使うか、または画面ごとに個別の部品(JSPやTypeScript+HTML+CSS)を使用します。
変換中に、CSS(スタイルシート)はデフォルトで全ての画面に対して生成され、いつでも変更することができます。
さらに、Caravel™アーキテクチャでは、変換されたアプリケーションをRESTサービスアーキテクチャで使用することができます。この場合、変換されたアプリケーションへのRESTサービスによってHTML + CSS + (JavaScriptまたはAngular TypeScript)を使用することが可能です。
- Q上記質問に関連して、使用できない機能はありますか。また、同じアーキテクチャで新しいスクリーンを開発する際の制約について知りたいです。
- A
画面のカスタマイズに大きな制限はありません。ただし、唯一の制約は、プログラムが画面データをどのように使用するかに関連します。
具体的には、変換されたプログラムがカーソル位置や、すでに押されたファンクションキーを考慮する必要がある場合があり、カスタマイズではこの動作を考慮し、尊重する必要があります。
Caravel™変換では、これらの状況を管理するためのデフォルト実装が用意されています。
さらに、画面間のナビゲーションロジックを考慮する必要があります。この動作によって、スクリーンのカスタマイズの柔軟性が左右されることがあります。
- Q膨大な数の列があるため、現在、画面を複数の画面に分割しています。しかし、将来的にはそれらを1つの画面に統合したいと考えています。 そのため、24×80以上の画面を表示することや、行と列について制限はありますか?
- A
1つの画面に複数の画面を統合して画面サイズを変更することは可能です。
画面のカスタマイズにはさまざまなレベルがあります。影響の少ないカスタマイズ(例:CSSの変更のみ)から、ロジックの変更が必要となる影響の大きいカスタマイズまであります。
いずれの場合でも、アプリケーションの機能が維持されるようにするために、ロジックの変更が必要になることがあります。(例:1画面に表示する件数に関するロジック変更や、画面レイアウト変更に対応する変更)
- QJavaScriptは利用可能ですか?可能な場合、画面定義ファイルでどのように定義しますか?新しい機能、例えばTABがシフトしたときに値をチェックする、といったものを追加したいと思います。また、jQueryなどのJavaScriptを使用した画面コンポーネントを使用して、同じアーキテクチャで新しい画面を開発したいと思います。
- A
JavaScriptは利用可能です。
JavaScriptやjQueryのようなフレームワークを使用することは可能です。JSPを使用している場合、アプリケーションがHTML + JavaScriptを使用している場合、またはAngularを使用している場合でも、これが可能です。
Caravel™の標準実装では、お客様の要望に応じてJSP、HTML+JavaScript、HTML+Angular+TypeScriptの選択が可能です。
- QCSSは利用可能ですか?もし可能なら、どのように定義しますか?
— CSSファイルの定義方法、および各タグのクラス属性について。将来、新しい画面を開発するときは、CSSデザインを統合したいと思います。 - A
CSSは100%標準的な方法で使用できます。すべてのJSPまたはHTMLに目的のCSSを含めることができます。
Caravel™の標準的な実装では、画面にはデフォルトでCSSが含まれています。
端末印刷上部に戻る
- Qプリンタ端末に印刷する仕組みは変換できますか?
- A
多くの場合、端末印刷は現在利用している画面端末に紐づいた印刷端末に対して、TPモニター(CICSやIMS DC等)を経由して印刷データが送信され、印刷されています。
移行先のWebアプリケーションサーバーにはこのような機能がないため、代替策を構築する必要があります。
代替策の事例としては、以下のような対応が考えられます。
• アプリケーションから、現状の印刷端末ID用のディレクトリに印刷データを出力する(例:印刷イメージテキストや印刷イメージPDF)。
• 端末印刷用のWeb機能として、画面端末に対応する印刷端末ID用のディレクトリ内のファイル一覧を表示できる機能を提供する。
• 端末印刷用のWeb機能として、ファイル一覧からファイルの表示や削除を選択する。
• 表示された印刷データを、Windows PCの機能を使ってプリンタへ印刷する。
印刷機能の変換上部に戻る
- Q高度な印刷機能はどのように実装されていますか?フォームオーバーレイの変換は可能ですか?
- A
Caravel™は、AFP/400、AFP for z/OS、PSF for z/OSモジュールのほとんどの機能(画像印刷、テキスト、テンプレート、バーコードなど)に対応するJava互換の拡張機能を、印刷ファイル(PRTF)用にいくつか実装しています。
OGLなどのフォームオーバーレイの利用については、現時点で実装済みのものと未実装のものがあります。未実装のものに関しては、新たな実装が可能ですので、ご相談ください。
- Q大量の紙の印刷の際、アプリケーションの動作はどのようになりますか?印刷用の仕組みは提供されますか?
- A
移行したアプリケーションは、印刷キューに帳票データを出力し、移行環境下の印刷装置で印刷する場合には、印刷タスクのシステムを新たに実装することが検討されます。
この新しい印刷タスクには、さまざまな形式の電子文書の利用を可能にする機能を含めることができ、ペーパーレス化を促進できます。複数の開発実績があるため、ご相談ください。既存のマシン環境に接続された印刷装置を従来通り利用したい場合には、移行したアプリケーションが従来と同じファイルレイアウトと文字コードで印刷ファイルを作成することも可能です。この場合、移行先で作成したファイルを既存マシンにファイル転送し、従来通り印刷する方式も可能です。
データベース変換上部に戻る
- QCaravel™は既存のデータを任意のRDBに移行できますか?それとも、移行先RDBのサポートに何らかの制限がありますか?
- A
Caravel™は、市場で最も一般的に使用されているSQLをサポートするRDBへの移行が可能です。例として、DB2、Oracle、PostgreSQL、Microsoft SQL Serverなどがあります。すべての場合において、JDBCドライバが必要です。
- QDBMS、ファイルはどのように実装されていますか?
- A
RDBだけでなく、階層型DB、ネットワーク型DB、関係型DB、VSAM、ISAMは、SQLをサポートするRDBに変換して実装します。
移行先のRDBの文字コードは、Linux系ではUTF-8、Windows系ではSJISを推奨しています。シーケンシャルファイルは、LinuxやWindowsのTEXTファイルやデータファイル(バイナリデータも可)として実装されます。
既存のEBCDIC+シフトコード付き漢字コードのファイルを、UTF-8やSJISを基本としたファイルに変換する場合、データ長が変わることへの対応が必須です。
移行元のシステムでは、数値データがPACK10進や2進数で保存されている場合もあるため、データ変換には注意が必要です。
シーケンシャルファイルは、移行先でフィールドデータ長が拡大されるものの、固定長のファイルレイアウトを基本とした変換ルールを決定して実装します。
Java テクノロジー上部に戻る
- QJavaのクラスとは何ですか?
- A
オブジェクト指向言語におけるクラスとは、特定の種類のオブジェクトに関連する機能を実装するプログラムです。クラスは、メソッドとプロパティから構成されます。
- QJavaのメソッドとは何ですか?
- A
オブジェクト指向言語におけるメソッドは、オブジェクトクラスの機能の一種です。
- QCaravel™がサポートするJVMのバージョンは?
- A
Caravel™はJava 8以降のJVMバージョンをサポートしています。
- QCaravel™がサポートする、ServletおよびJSPのバージョンは?
- A
Caravel™はServlet 2.3以降、およびJSP 1.1以降の仕様をサポートしています。
- QJakarta EE(J2EE)標準とは何ですか?
- A
Jakarta EE、J2EE(Java 2 Platform Enterprise Edition)は、コンポーネントベースの多層エンタープライズアプリケーションを開発するための標準を定義しています。Web用のスケーラブルなアプリケーションの開発と展開に最適な設定を作成するツールがあります。これらのツールには以下の特徴があります。
• 異なるプラットフォームでの互換性アプリケーションをWindowsまたはLinuxで作成するだけで、Java Virtual Machine(JVM)を搭載したすべてのプラットフォームで利用できます。
• スケーラブル性
ビジネスが成長すると、Webアプリケーションに新しいJ2EEコンポーネントを追加するだけで、その成長を支えることができます。コードを書き直す必要はありません。
• 充実したサポート
IBM(WebSphere Application Server Liberty、通称WAS Liberty)、Oracle(WebLogic Server)、Apache(Tomcat、Apache TomEE)、Adobe(JRun)などの大規模ソフトウェア企業は、Jakarta EE(J2EE)と互換性のあるWebコンポーネントコンテナ(またはアプリケーションサーバー)を提供しています。
• セキュリティの向上
他のビジネスアプリケーションモデルでは、各アプリケーションに特定のセキュリティ対策が必要ですが、Jakarta EE(J2EE)プラットフォームのセキュリティ環境では、アプリケーションのデプロイ時にセキュリティ制限を定義できます。これにより、セキュリティ実装の複雑さが分離され、移植可能なセキュリティを実現します。
- Q変換後のシステムをアプリケーションサーバ、特にWAS Libertyにデプロイすることは可能ですか?
- A
Caravel™は、標準のJ2EEアーキテクチャのガイドラインに則ってJavaに変換します。そのため、変換されたシステムは、この規格に準拠している任意のアプリケーションサーバーにデプロイできます。
IBM(WebSphere Application Server Liberty、通称WAS Liberty)、Oracle(WebLogic Server)、Apache(Tomcat、Apache TomEE)など、変換されたアプリケーションを変更することなくデプロイできます。
- QSwingアプリケーションを使用するには、ハードウェアおよびソフトウェアにどのような変更が必要ですか?
- A
SwingインターフェースのJavaアプリケーションを使用するには、Java仮想マシン(JVM)を備えたクライアントPCが必要です。アプリケーションは、このクライアントPCからアクセス可能でなければなりません。データは、このサーバー上、OS/400上、メインフレーム上、または他の任意のサーバー上に存在します。
Caravel™の標準変換はWebアプリケーションですが、ご要望に応じてSwingアプリケーションへの変換も対応可能です。
- QWebアプリケーションを使用するには、どのような変更が必要ですか?
- A
Java Application Serverを含むインターネット/イントラネットにアクセスできるサーバーが必要です。サーバーは、WAS LibertyなどのJakarta EE(J2EE)標準を満たす任意のサーバーでも構いません。クライアントPCにはインターネットブラウザが必要です。Microsoft Edge、Google Chrome、Firefoxなどがサポートされています。
- Q移行が完了したら、他のJavaアプリケーションを統合することは可能ですか?
- A
変換されたシステムは、100%Javaアプリケーションの標準に準拠していますので、統合可能です。
移行後の保守上部に戻る
- QCaravel™ Converterによって開発されたメソッドやクラスに関して、特別な訓練が必要ですか?
- A
Caravel™によって使用されるクラスは、100%純粋なJavaで明確に構造化されており、他に特別なJavaの知識は必要ありません。このクラスは、COBOLやRPGの経験が豊富なプログラマーにも容易に理解できます。
すべての変換プロジェクトには、COBOL/RPGとJavaの両方の技術者向けのトレーニングセクションが含まれています。
- QCaravel™の移行で提供されるカスタマイズを除き、アプリケーションをさらにカスタマイズするために他に必要なツールはありますか?
- A
変換後のプログラム資産は、Java、JSP、JavaScript(TypeScript)、HTML、CSS、XMLなどのソースを保守する必要があります。Eclipse(エクリプス)などのIDE(統合開発環境)を使用すると、ソースコードの編集、コンパイル、デバッグ、テスト、パッケージ化などの機能を1つの環境で行うことができます(各ソース用のプラグインが用意されています)。このようなIDEの利用は生産性の向上に寄与するだけでなく、バージョン管理のプラグインを活用することで、プロジェクト内での複数人による開発にも対応でき、DB関連のプラグインを利用することでデータの確認も可能です。
IDEとしてはEclipse(エクリプス)が最も多く利用されていますが、従来からNetBeansやJBuilderを利用していたお客様は引き続きそれらを使用することがあります。ソースの確認や変更を簡単に行いたい場合には、テキストエディタやMS Visual Studio Code(通称VS Code)を併用することもあります。Webフロントエンドの詳細なデバッグには、ChromeやEdgeの開発者ツールを併用することがあります。
- QConverterで移行したSQL系DBを保守する必要があります。このさまざまなオブジェクトタイプの変換後の処理の例を教えてください。例えば、DBに新しいフィールド(列:カラム)を追加するなど。
- A
Converterで移行したSQL系DBの場合、変換に利用するDAO(MyBatisやHibernateなど)の仕様に基づいた変換を行います。この場合、データベーステーブルとデータベースインデックスへの展開に加えて、DAOのJavaソース内にデータベース定義だけでは表現できない補完情報も含まれた形で変換されます。テーブルの列(カラム)は元のデータ型に応じて最も適切なものになります。(このプロセスは、データベースサーバーによって異なります。)
また、変換元がSQL系DB以外(例えばIMS DBやVSAMなど)の場合には、ユニークキーを保証するための列やテーブル間の関連を保証するための列が自動的に追加され、これらはプログラム変換やデータ変換にも反映されます。さらに、AS/400データファイルは、他の属性(パック/ゾーン/バイナリ数値フォーマット、小数点以下の桁数、フォーマット、デフォルト値、編集マスクなど)を定義できます。論理ファイルは、例えばSELECT / OMIT条件を定義できます。この情報の大部分は標準SQL属性とは対応していないため、補完情報としてDAOに記述され、データアクセスが行われます。
そのため、変換されたデータベーステーブルを変更した場合には、次の作業を行う必要があります。
1.対応するALTER TABLE命令を実行してデータベーステーブル構造を変更します。
2.対応するDAOクラス(Javaソース)を変更します。(例えば、新しいフィールド変数を宣言してアクセスパターンを記述)
3.それに応じて、新しいフィールドを使用するプログラムも変更します。(新しいフィールド変数を利用した処理を記載)
- QExpressで移行したSQL系DBを保守する必要があります。このさまざまなオブジェクトタイプの変換後の処理例を教えてください。例えば、DBに新しいフィールド(列:カラム)を追加する場合など。
- A
AS/400の物理ファイル(PF)はSQL系データベースのテーブルに移行され、AS/400の論理ファイル(LF)はデータベースインデックスに変換されます。各フィールドはテーブルの列に変換され、列の種類は元のデータ型に応じて最適なものになります。(このプロセスはデータベースサーバーによって異なります。)
さらに、AS/400のデータファイルは、パック/ゾーン/バイナリ数値フォーマット、小数点以下の桁数、フォーマット、デフォルト値、編集マスクなどの属性を定義できます。論理ファイルは、SELECT/OMIT条件を定義することができます。これらの情報の多くは標準SQL属性とは対応していません。そのため、Caravel™は、すべてのオリジナルのDDSソース情報(PF/LF、DSPF、およびPRTF用)を含むXMLファイルも生成します。
同様に、メインフレームのデータベース(DB2、IMS DB、VSAMなど)から移行されたSQL系データベースも、データベーステーブルとそのテーブルに対するインデックスに変換されます。各フィールドはテーブルの列に変換され、列の種類は元のデータ型に応じて最適なものになります。変換元の属性で移行先のSQL系データベースを補完する情報として、XMLファイルが生成されます。
実行時に、変換されたプログラムはこの情報を使用して特定のSQLステートメントを生成するか、またはSQLデータを予想される形式に変換します。そのため、変換されたデータベーステーブルを変更した場合、次の作業を行う必要があります。
1.対応するALTER TABLE命令を実行してデータベーステーブル構造を変更します。
2.プログラムのデータファイルを表すXMLファイルにこの変更を追加します。
3.新しいフィールドを使用するプログラムを変更します(例:新しいフィールドレコード変数を宣言して処理を追加する)。