Javaのポータビリティ
Javaは**JVM(Java Virtual Machine)**を使用して、プラットフォームに依存せず動作します。コンパイルされた業務プログラム(Classファイル)は、Windows、LinuxなどJVMが動作する任意の環境でそのまま実行可能です。Javaの利点:環境移行の容易性
・オンプレミスからクラウド、またはその逆の移行が簡単、業務プログラム修正を必要とせず移行可能
(利用するAPサーバーやDBサーバーの接続情報の変更だけで、移行できる)
OpenJDKの採用

Javaはオープンなライセンスで無料利用可能なOpenJDKを推奨しています。特にLTS(Long Term Support)対象バージョンを選ぶことで、長期的な安定稼働を確保します。
LTSバージョンのサポート期限
・ v21(2029年12月終了)
・ v17(2027年10月終了)
・ v11(2024年10月終了)
・ v8(2026年11月終了)
フレームワークの重要性
中規模以上のJavaプログラム開発では、フレームワークの利用が標準です。フレームワークの利点
1.生産性: フレームワークの標準APIを活用し、効率的に開発
2.安定性: メジャーなフレームワークを採用することで、信頼性を確保
3.保守性: メジャーなフレームワーク利用で要員確保も容易
オンラインとバッチの分類
・オンライン用: Java APサーバー配下でマルチスレッド動作(例: Spring Boot)
・バッチ用: 一括処理を実行するフレームワーク(例: Spring Batch)

※JavaのフレームワークやJavaの業務プログラムは、どのJava APサーバーを選択しても、構成ファイルの変更だけで動作します。(前述のポータビリティと同じです。)
※上図のSpringに相当する部分を、オンラインではJakartaEE、バッチではJakarta Batchで構成する事も可能です。SpringやJakartaはOSSです。
※Caravel™ Conveterでは、Spring,JakartaEEに加えて,StrutsやPlay他の対応実績がございます。これらのフレームワークにDAOやUI系のフレームワークを加えてPureJavaに変換します。
国産の有償・無償の各種フレームワーク(TERASOLUNA(Spring),Interstage(JakartaEE),他)に関しましても内部的にSpringやJakartaEEをベースとしているケースが多いので、対応についてはご相談ください。
※Caravel™ Expressでは、Caravel独自のBASE100フレームワークを用います。
Java APサーバーの選択
Java APサーバーには、有償製品とオープンソース(OSS)が存在します。実運用や製品サポートを含めて選択する必要があります。OSS製品
・Apache Tomcat: 世界的に最も利用されているOSS、Springとの組み合わせで高い汎用性、運用ノウハウは得やすい
・Apache TomEE: TomcatへJakartaEEを実装したもの
・Open Liberty: IBM WebSphere Liberty(WAS Liberty)のコミュニティ版で、SpringやJakartaEEとの組み合わせで高い汎用性
・WildFly: RedHat JBoss EAPのコミュニティ版で、JakartaEEが実装されている
有償製品
・IBM WebSphere Liberty(WAS Liberty): SpringやJakartaEEとの組み合わせで高い汎用性と信頼性
・RedHat JBoss EAP: JakartaEEが基本、高い汎用性と信頼性
・Oracle WebLogic: JakartaEEが基本、Springも利用可能、高い汎用性と信頼性
特殊なマイグレーションの事例
お客様独自のACP(アプリケーション制御プログラム)システムをJavaにマイグレーションする場合に、独自のトランザクション制御・プロセス制御やメモリ共有などの理由から、単純な移行が困難なケースがあります。例えば複数の独立したプロセス間でのOSメモリ共有域の操作や、流動制御、並列処理、特殊なアプリケーションルーティングが行われており、このような制御を行わないと業務プログラムを動かせないケースがあります。
解決策: 新環境で動かすための設計~開発工程を得て、業務プログラムを動かす環境を構築
費用: 標準Caravel™変換サービスに含まれないため、別途お見積り
詳細については、お問い合わせください。
Javaテクノロジー:FAQ