Knowledgeそこが知りたい:Javaテクノロジー

Javaのポータビリティ

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

OpenJDKの採用

Java JDK,JRE,JVM,ライブラリ
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 Webアプリケーション,バッチアプリケーション
※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