Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2025/07/30 JakartaOne Japan 2025 JakartaEE移行戦略
Search
kaido207
August 14, 2025
Technology
310
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2025/07/30 JakartaOne Japan 2025 JakartaEE移行戦略
2025/07/30に品川で行われたJakartaOne Japan 2025で使用したスライドです。
kaido207
August 14, 2025
Other Decks in Technology
See All in Technology
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
310
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
210
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
150
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
160
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
210
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
420
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
670
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
5
2.1k
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
410
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
490
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
110
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
What's in a price? How to price your products and services
michaelherold
247
13k
It's Worth the Effort
3n
188
29k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
450
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Statistics for Hackers
jakevdp
799
230k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
320
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Mind Mapping
helmedeiros
1
390
Product Roadmaps are Hard
iamctodd
55
13k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Transcript
1 © 2025 Fujitsu Limited © 2025 Fujitsu Limited Jakarta
EE 移行戦略 主要ツール比較と検証 2025年7月30日 富士通株式会社 皆藤 広樹 JakartaOne Japan 2025
2 © 2025 Fujitsu Limited Who am I? 皆藤 広樹
–Hiroki Kaido- @kaido0203 Eclipse GlassFish コミッター Jakarta EE Engineer Java Application Server Product Developer Fujitsu Limited
3 © 2025 Fujitsu Limited Agenda •INTRODUCTION •本セッションのスコープ •Jakarta移行に必要な作業 •移行のためのツールについて
•主要ツールの紹介 •変換ツールの比較 •ユースケース別検討
4 © 2025 Fujitsu Limited 4 © 2025 Fujitsu Limited
INTRODUCTION
5 © 2025 Fujitsu Limited 本セッションでの関心事 オンプレから クラウドへ CentOS から
AlmaLinux へ システムのモダナイを進めたいけど… Java EE 8 から Jakarta EE 9 へ (APIの更新) モノリスから マイクロサービスへ
6 © 2025 Fujitsu Limited モダン システム (Jakarta EE 9)
レガシー システム (Java EE 8) 移行作業のプロセス 分析 設計 変換 それ以外にも、 実移行や テストなど
7 © 2025 Fujitsu Limited モダン システム (Jakarta EE 9)
レガシー システム (Java EE 8) 本セッションでの範囲 分析 設計 変換 本セッションでは 主に変換を効率化するツールを紹介する。 ※主要ツールに は分析機能があ るものもある。 それ以外にも、 実移行や テストなど
8 © 2025 Fujitsu Limited 移行時の作業①:Jakartaパッケージの変換 .javaファイル import javax.enterprise… pom.xml
<artifactId>javaee-api… .javaファイル import jakarta.enterprise… pom.xml <artifactId>…jakartaee-api… ソースコード: ビルド定義:
9 © 2025 Fujitsu Limited 単純変換できない例 パッケージの変換を行う際、全てのjavaxパッケージを jakartaパッケージに置き換えればよいというわけではない。 Java EE
8 Java SE 8 レガシー javax.transaction.Status Jakarta EE 9 Java SE 11 モダン FQCNから変換すべきパッケージ名なのか判定が必要。 javax.transaction.xa.Xid jakarta.transaction.Status javax.transaction.xa.Xid
10 © 2025 Fujitsu Limited 移行時の作業②:スキーマの更新 デプロイメント記述子: web.xml <web-app version="4.0"
xmlns="http://java.sun.com/xm l/ns/javaee" <web-app version="5.0" xmlns="https://jakarta.ee/xml/ ns/jakartaee" web.xml
11 © 2025 Fujitsu Limited スキーマの更新時の注意 Java EE 8 Jakarta
EE 9 web.xml 4.0 5.0 beans.xml 2.0 3.0 application.xml 8.0 9.0 ejb-jar.xml 3.2 4.0 …… デプロイメント記述子は様々な種類があり、 Jakarta移行後のバージョンも多様。
12 © 2025 Fujitsu Limited INTRODUCTION:まとめ •Jakarta移行に必要な作業はパッケージ変換とスキーマの更新 •パッケージ変換はまとめて置換ができず、FQCNで判断が必要 •スキーマの更新は置換のバリエーションが多い 変換ツールを活用
13 © 2025 Fujitsu Limited 13 © 2025 Fujitsu Limited
移行のためのツールについて
14 © 2025 Fujitsu Limited Konveyor メジャーな移行ツールの関係 分析機能を持つ 変換機能を持つ Eclipse
Transformer Apache Tomcat MT IBM TA Red Hat MTA IntelliJ MT ※緑枠はOSS IDEのプラ グイン化 商用版 OpenRewrite 機能 流用 Oracle WebLogic KT
15 © 2025 Fujitsu Limited Apache Tomcat MT Apache Tomcat
MT Apache Tomcat MT Konveyor メジャーな移行ツールの関係 分析機能を持つ 変換機能を持つ Eclipse Transformer Apache Tomcat MT IBM TA Red Hat MTA IntelliJ MT ※緑枠はOSS IDEのプラ グイン化 商用版 OpenRewrite 機能 流用 Oracle WebLogic KT 変換処理の基礎となっている この3ツールについて比較検証する。
16 © 2025 Fujitsu Limited Apache Tomcat migration tool •ApacheがTomcatの移行用にサポートしている変換ツール。
•Webプロファイル、Jakarta EEプラットフォーム両方に対応 した変換も可能。 •置換対象の文字列を検出し置換。 •ビルド済みのバイナリ資材も変換ができる。 変換 プロファイル 指定 .javaファイル等 .jarファイル等 .javaファイル等 .jarファイル等
17 © 2025 Fujitsu Limited Eclipse Transformer •JakartaEEと同じEclipseがホストする変換ツール。 •置換対象の文字列を検出し置換。 •ビルド済みのバイナリ資材も変換ができる。
•変換時に置換対象の文字列を追加できる。 変換 標準ルール カスタムルール .javaファイル等 .jarファイル等 .javaファイル等 .jarファイル等
18 © 2025 Fujitsu Limited OpenRewrite •Jakarta以外のAPIも変換可能な汎用変換ツール。 •「レシピ」と呼ばれるリソースを用いて変換対象を指定する。 •ソースコードを構文木に変換し、構文に従ったまま変換する。 .javaファイル等
構文木 構文木 .javaファイル等 変換 レシピ 構文木化 フォーマットを 維持したまま復元
19 © 2025 Fujitsu Limited 各種変換ツールの定性評価 構文解析 汎用性 導入コスト バイナリ変換
Apache Tomcat MT × △ 低 可 Eclipse Transformer × △ 低 可 OpenRewrite 〇 〇 高 不可
20 © 2025 Fujitsu Limited 各種変換ツールの定性評価:構文解析 構文解析 汎用性 導入コスト バイナリ変換
Apache Tomcat MT × △ 低 可 Eclipse Transformer × △ 低 可 OpenRewrite 〇 〇 高 不可 文字列変換では構文の正しさは保証されない。 Jakarta移行の観点では構文の正しさは不要。
21 © 2025 Fujitsu Limited 各種変換ツールの定性評価:汎用性 構文解析 汎用性 導入コスト バイナリ変換
Apache Tomcat MT × △ 低 可 Eclipse Transformer × △ 低 可 OpenRewrite 〇 〇 高 不可 他のツールは移行後のバージョンは9固定だが、 OpenRewriteはレシピの変更により10や11にもでき、 また、Jakarta移行以外の変換もできる
22 © 2025 Fujitsu Limited 各種変換ツールの定性評価:導入コスト 構文解析 汎用性 導入コスト バイナリ変換
Apache Tomcat MT × △ 低 可 Eclipse Transformer × △ 低 可 OpenRewrite 〇 〇 高 不可 「低」となっている2ツールはJDKのみで実行可。 OpenRewriteはmavenやgradleなどのビルド環境が必要。
23 © 2025 Fujitsu Limited 各種変換ツールの定性評価:バイナリ変換 構文解析 汎用性 導入コスト バイナリ変換
Apache Tomcat MT × △ 低 可 Eclipse Transformer × △ 低 可 OpenRewrite 〇 〇 高 不可 OpenRewrite以外はビルド済みのバイナリ資材を変換可。 ソースコードがなくても変換できる。
24 © 2025 Fujitsu Limited 実機検証 以下のプロジェクトを変換し、精度を確認する。 対象プロジェクト:javaee/tutorial-examples(tag:8.0) https://github.com/javaee/tutorial-examples/tree/8.0 ①Apache
Tomcat MT(EE mode): 1.0.9 ②Eclipse Transformer: 1.0.0 ③OpenRewrite: 6.12.1 - rewrite-migrate-java: 3.12.0 - recipe: JavaxMigrationToJakarta 変換ツールのバージョン
25 © 2025 Fujitsu Limited 検証結果(1/2):パッケージ名の変換 変換数 コンパイル成功 Apache Tomcat
MT 100 100 Eclipse Transformer 100 100 OpenRewrite 92 100 総プロジェクト数:100に対して
26 © 2025 Fujitsu Limited 検証結果(1/2):パッケージ名の変換 変換数 コンパイル成功 Apache Tomcat
MT 100 100 Eclipse Transformer 100 100 OpenRewrite 92 100 総プロジェクト数:100に対して 変換されなかった内容は、 コメントや文字列リテラルなどビルドに関係ないコードであった。
27 © 2025 Fujitsu Limited 検証結果(1/2):パッケージ名の変換 変換数 コンパイル成功 Apache Tomcat
MT 100 100 Eclipse Transformer 100 100 OpenRewrite 92 100 総プロジェクト数:100に対して どのツールもすべてのプロジェクトでコンパイルに成功しており、 ツールによる優劣はない。
28 © 2025 Fujitsu Limited 検証結果(2/2):スキーマの更新 更新数 Apache Tomcat MT
-(変換非サポート) Eclipse Transformer 92 OpenRewrite 85 総プロジェクト数:100に対して
29 © 2025 Fujitsu Limited 検証結果(2/2):スキーマの更新 更新数 Apache Tomcat MT
-(変換非サポート) Eclipse Transformer 92→100(※) OpenRewrite 85 総プロジェクト数:100に対して 古いバージョンのスキーマが未対応(92) →OSSを修正し、更新数が増加予定(100※) ※OSSに フィードバック中
30 © 2025 Fujitsu Limited 検証結果(2/2):スキーマの更新 更新数 Apache Tomcat MT
-(変換非サポート) Eclipse Transformer 92→100(※) OpenRewrite 85→91 総プロジェクト数:100に対して 一部のスキーマが非対応(85) →Jakarta EE 10用のレシピを使用すると更新数が増加(91) ※OSSに フィードバック中
31 © 2025 Fujitsu Limited 検証結果(2/2):スキーマの更新 更新数 Apache Tomcat MT
-(変換非サポート) Eclipse Transformer 92→100(※) OpenRewrite 85→91 総プロジェクト数:100に対して スキーマの更新においてはEclipse Transformerが優位。 ※OSSに フィードバック中
32 © 2025 Fujitsu Limited どのツールを導入すべきか(1/2) •例1:ソースコードが存在しないアプリを移行する •アプリケーションによってはソースコードが存在せず、ビルド 済みの資材しか存在しない •(例:古い3rd
party ライブラリを使用している)
33 © 2025 Fujitsu Limited どのツールを導入すべきか(1/2) •例1:ソースコードが存在しないアプリを移行する •アプリケーションによってはソースコードが存在せず、ビルド 済みの資材しか存在しない •(例:古い3rd
party ライブラリを使用している) バイナリ変換ができる Eclipse Transformer がよさそう ※Apache Tomcat MTでもよい
34 © 2025 Fujitsu Limited どのツールを導入すべきか(2/2) •例2:過去のビルド環境をJakarta EEに移行する •ソースコードが存在する •Jakarta移行だけでなく、Javaのアップデートに伴う関連ライ
ブラリの移行も必要
35 © 2025 Fujitsu Limited どのツールを導入すべきか(2/2) •例2:過去のビルド環境をJakarta EEに移行する •ソースコードが存在する •Jakarta移行だけでなく、Javaのアップデートに伴う関連ライ
ブラリの移行も必要 Jakarta移行以外にも対応可能な OpenRewriteがよさそう
36 © 2025 Fujitsu Limited まとめ •Jakarta移行に必要な作業はパッケージ変換とスキーマの更新 •Jakarta移行の観点ではどのツールも高い精度で変換ができる •ただしツールによって対応範囲が異なる •変換ツールはシチュエーションによって適切なツールが変わる
•バイナリ変換をしたいならEclipse Transformerか Apache Tomcat MT •より手広く変換させたいならOpenRewrite (ソースコードが必要) •分析もしたいならKonveyor、 または各ベンダーの分析ツールを検討
37 © 2025 Fujitsu Limited © 2025 Fujitsu Limited Thank
you