検索
特集/連載

「Oracle JDK」からの移行で賢くJavaを使い続けるには?Oracle JDKからの移行ガイド【前編】

Oracleの「Java SE」のライセンス体系が変わり、他の「OpenJDK」ディストリビューションに移行する選択肢が生じた。どのようにしてJDKを切り替えればよいのか。

Share
Tweet
LINE
Hatena

関連キーワード

Java | Oracle(オラクル)


 Oracleは2023年、プログラミング言語および開発・実行環境「Java」の仕様群である「Java Platform, Standard Edition」(Java SE)のライセンス体系を変更した。これを受けて、Javaアプリケーションを利用している企業は、Java SEやそれに基づく開発・実行環境「Oracle JDK」(Java開発キット)からの移行を検討する機会を迎えた。

 企業が自社の要件を満たしながら、JDKを移行するためには、どのような手順を踏めばよいのか。Javaアプリケーションを問題なく動かし続けるJDKの移行作業の手順を解説する。

JDK移行の賢い方法は?

 移行で達成したい目標に応じて、移行プランや重点は異なる。できるだけ早くJava SEから移行しようとすると、人員や予算を集中させたり、ある程度のリスクを許容したりすることになる。「Java SE 6」や「Java SE 7」などの古いバージョンのJava SEで動作するレガシーアプリケーションを動作させながら、段階的に移行したいのであれば、長期の移行計画となる。

ステップ1.インベントリの作成

 移行の第1段階は、使用しているJava関連ソフトウェアのインベントリ(目録)作成だ。使用しているJDKのバージョンが多岐にわたる場合、これは最も時間のかかる作業になりやすい。新しいJavaアプリケーションをデプロイ(配備)するとき、通常はその時点の最新バージョンであるJDKを使う。その後新しいバージョンのJDKが公開されても、開発時のバージョンのJDKを使用し続けることはよくある。

 Javaアプリケーションが問題なく動作していれば、デプロイ時のJDKをすぐ最新バージョンに更新する必要性は薄い。ただし使用中のバージョンのJDKがサポート終了を迎えれば、JDKの配布元はセキュリティパッチ(修正プログラム)を提供しなくなる。その結果、Javaアプリケーションの実行速度の低下や脆弱(ぜいじゃく)性への対処が必要となり、JDKのバージョンアップが必要となる。

 自社が利用しているJava関連ソフトウェアのインベントリを作成するためには、Javaアプリケーションを実行している全てのマシンを調査しなければならない。これは特に、Javaアプリケーションを稼働させるための環境である「Java仮想マシン」(JVM)で動くアプリケーションが対象になる。ここで活躍するのがIT資産管理(ITAM)ツールだ。ITAMツールを使用することで、どのマシンにどのバージョンのJDKがインストールされているかを一覧にしたレポートを作成できる。Azul Systemsなどのベンダーは、JVMのインベントリを作成できツールを提供している。

ステップ2.問題の精査

 次に、インベントリから分かった事実に基づき、発生し得る問題について検討しよう。企業がアプリケーションを自社で開発せずに購入することは、開発や保守の手間を省けるため、費用対効果が期待できる。Javaを使用する商用アプリケーションは、動作に必要なJDKのバージョンを指定していることがほとんどだ。その要件を満たすためには、指定されたJDKを入手する必要がある。ベンダーはたいていの場合、適切なJDKを使用したときのみアプリケーションの動作を保証する。

 Oracle JDKは広く普及しており、ベンダーの中には、Oracle JDKのみをアプリケーションの動作対象としているところがある。一方、OracleがJava SEのライセンス体系を変更したことで、企業の間では他のJDKで動作するアプリケーションを求める動きも出てきた。同時に一部のベンダーは、JDKのオープンソース実装「OpenJDK」の仕様に沿ったJDKでアプリケーションを実行する場合も、サポートを提供するようになった。こうしたJDKは、OpenJDKの仕様との互換性を検証するテストキット「OpenJDK Community Technology Compatibility Kit」(OpenJDK Community TCK)の認証を受けており、Oracle JDKと同等の機能を持つことが保証されている。

 アプリケーションがOpenJDKのディストリビューション(独自パッケージ)を動作対象にしていても、自社が使用したいディストリビューションではないことがある。この場合、企業はアプリケーションベンダーに連絡して、必要なディストリビューションを動作対象に追加してもらえるよう交渉するのも手だ。OpenJDK Community TCKの認定を受けているJDKなら、ベンダーは受け入れる可能性がある。

 Javaアプリケーションを複数使用している企業では、アプリケーションごとに所有者となっている部門が異なる場合がある。移行には関係者全員、つまり移行後にアプリケーションを使用する全ての所有者と、アプリケーションに関係する全ての人の協力を取り付けることが不可欠だ。


 次回も引き続き、JDKの移行手順を紹介する。

Computer Weekly発 世界に学ぶIT導入・活用術

米国TechTargetが運営する英国Computer Weeklyの豊富な記事の中から、海外企業のIT製品導入事例や業種別のIT活用トレンドを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る