NRI OSSソリューションマガジン  2024.01.24発行 Vol.205

===================================
※配信停止方法や配信対象等については、このメールの末尾をご覧ください。


───────────────────────────────────
◆◇ NRI OSSソリューションマガジン  2024.1.24発行   Vol.205
───────────────────────────────────
目次
1.Spring Boot 3 で何が変わったか?
2.【更新10件】OSS最新アップデート
3.【TOP10】OSS紹介サイトアクセスランキング
4.【今月注目のバグ&セキュリティ情報】

■□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□■
1.Spring Boot 3 で何が変わったか?
■□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□■

いつもOpenStandiaのメールマガジンをご購読いただき、誠にありがとう
ございます。

昨年、2023年の11月24日、Javaコミュニティを牽引するOSSフレームワークの
一つである Spring Bootのバージョン2.7が、コミュニティのサポート期間の
終了を迎えました。
このバージョンは「Spring Boot 2系」の最終リリースバージョンであるため、
「Spring Boot 3系」へのマイグレーションについて関心が高まっています。

そこで今回は、Spring Bootの2系から3系で何が変わったか、
また3系からどのような機能が新しく追加されたのかについて、
それぞれ主要なものをピックアップして紹介します。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
●Spring Bootとは?
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Spring Bootとは、Spring Frameworkをベースとしたアプリケーションを、
必要最小限の設定を行うだけで簡単に開発できるようになるフレームワーク
です。

○アプリケーションを簡単に開発できる仕組み
Spring Bootは、標準的な設定や依存ライブラリを定義した「スターター」と
呼ばれるライブラリの形で提供されており、この仕組みによって、
アプリケーションのビルドや構成に関する設定の大部分を省略することが
できます。

○Webアプリケーションサーバの準備は不要
TomcatやJetty、Undertowといった Webアプリケーションサーバは、通常
アプリケーションの実行環境上にインストールされセットアップを終えておく
必要があります。
しかしSpring Bootでは、それらのWebアプリケーションサーバの組み込み版
(Jar形式で配布されているもの)をサポートしており、アプリ内部にサーバ
を組み込むことができます。

このSpring Bootの仕組みによって、ビルドされたアプリケーションのJarは
単独でWebアプリとして起動できる「実行可能Jar」となります。
Java環境上で動作する全てのリソースが単一のJarに含まれるという非常に
シンプルな構成は、コンテナ環境で運用するアプリの開発と相性が良い点が
特徴です。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
●Spring Boot 3の主要なトピック
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
まずは、Spring Boot 3で登場した新しい機能、特徴について取り上げます。

○GraalVMネイティブイメージのサポート
少ないメモリで高速に動作するJavaの実行環境「GraalVM」向けのアプリを
ビルドする機能が取り込まれ、正式にサポートされました。

○MicrometerとMicrometer Tracingによる可観測性(Observability)の向上
MicrometerとMicrometer Tracingによる可観測性を強力にサポートし様々な
機能の観測情報を、デフォルト構成と設定で取得できるようになりました。

○HTTP通信を抽象化する「HTTPインターフェース」の追加
従来のRestTemplateやWebClientといったHTTP通信を行う具体的な機能を、
業務処理と簡単に分離できるインターフェースの仕組みが提供されました。

○HTTP APIの詳細なエラー応答を実現する新しいRFCのサポート
HTTP APIのエラーレスポンスに、エラー内容の詳細な情報を持たせるための
新しい仕様「RFC7807:Problem Details for HTTP APIs」を
フレームワークとしてサポートしました。

○Testcontainersによるコンテナテストの連携強化(v3.1~)
コンテナに関係するテストをJUnit環境で実行できるOSSプロダクト
「Testcontainers」との連携を強化し、よりCI/CDサイクルを効率化
できるようになりました。

○Javaの仮想スレッドのサポート(v3.2~)
Java21で正式機能として採用された、仮想スレッド(JEP444)の仕組みを
フレームワークとして正式にサポートしました。

○新しいサーバとの通信のサポート
いくつかのサーバとの通信を、フレームワークとして正式にサポートしました。
 ・Apache Pulsar
 ・KafkaおよびRabbitMQとのSSL通信

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
●Spring Boot 2.7からの主要な変更点
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
次に、Spring Boot 2.7からの主要な変更点を紹介します。

○前提となるJavaのベースバージョンが 17 にアップ
開発・実行のために、バージョン17以上のJava環境が必要になります。

○JakartaEEのベースバージョンが 8 から 9 にアップ
前提となるJavaエンタープライズプラットフォーム(旧JavaEE)の仕様が、
JavaEE8と互換性のあったJakartaEE8からJakartaEE9にバージョンアップ
しました。
これに伴い、JavaEEに仕様が含まれていたサーブレットなどの機能で、
クラスパッケージなどのAPIがJakartaに置き換わるなどの変更が入っています。

○周辺プロジェクトのメジャーバージョンアップ
 ・Spring Security のサポートバージョンが 6 に上がりました。
 ・Spring Batch のサポートバージョンが 5 に上がりました。

○URLマッチングルールの改定
「/」で終わるURL宛てのリクエストを、自動的に「/」無しのURLへ変換する
機能がデフォルト無効になるなど、変更が入っています。

○いくつかのレガシーなクラス・APIの廃止
詳細は公式ページのリリースノートを参照してください。

 ▼Spring Boot 3.x Release Notes(外部サイト)
 - https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes
 - https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.1-Release-Notes
 - https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2-Release-Notes


Spring Boot 2系から3系へマイグレーションする際には、前提となるJavaと
JakartaEEのバージョンなどが、どちらもメジャーバージョンアップします。
そのため、コミュニティからも詳細な内容のマイグレーションガイドが
公開されています。

その中では、OpenRewriteといった有用なOSSのマイグレーションツールも
紹介されています。

▼Spring Boot 3.0 Migration Guide(外部サイト)
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide


また、OpenStandiaでは、Spring Bootのマイグレーションのご支援だけでなく、
コミュニティサポートが終了したバージョンのSpring Bootに対しても
技術サポートをご提供しています。

Spring Bootの採用をご検討中の方も、既にご利用しているシステムの
マイグレーションをご検討の方も、お気軽に OpenStandiaサポートに
ご相談ください。
今後ともOpenStandiaをよろしくお願いいたします。


OpenStandiaではOSSの技術サポートを提供しています。
現在のサポート対象OSSは下記OpenStandiaサイトから確認できます。

◆OpenStandiaサポート対象OSS一覧
https://openstandia.jp/services/

■□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2.OSS紹介ページ 今月のアップデート(更新:10件)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□■
(更新)
Angular (https://openstandia.jp/oss_info/angularjs/)
Flask (https://openstandia.jp/oss_info/flask/)
Jersey (https://openstandia.jp/oss_info/jersey/)
Keras (https://openstandia.jp/oss_info/keras/)
Kotlin (https://openstandia.jp/oss_info/kotlin/)
Liferay (https://openstandia.jp/oss_info/liferay/)
MyBatis (https://openstandia.jp/oss_info/mybatis/)
Nginx (https://openstandia.jp/oss_info/nginx/)
Ruby (https://openstandia.jp/oss_info/ruby/)
TensorFlow (https://openstandia.jp/oss_info/tensorflow/)

■□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□■
3.今月のOSS紹介サイト アクセスランキング TOP10
■□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□■
オープンソース情報サイト「OpenStandia OSS紹介サイト」のアクセスTOP10を紹介

↑	1位 (2位)	Keycloak	(https://openstandia.jp/oss_info/keycloak/)
↓	2位 (1位)	Apache Tomcat	(https://openstandia.jp/oss_info/tomcat/)
↑	3位 (5位)	PostgreSQL	(https://openstandia.jp/oss_info/postgresql/)
↑	4位 (6位)	MySQL	(https://openstandia.jp/oss_info/mysql/)
↓	5位 (4位)	PHP	(https://openstandia.jp/oss_info/php/)
↓	6位 (3位)	Apache HTTP Server	(https://openstandia.jp/oss_info/apache/)
→	7位 (7位)	OpenShift	(https://openstandia.jp/oss_info/openshift/)
↑	8位 (ランク外)	Red Hat Enterprise Linux	(https://openstandia.jp/oss_info/redhatenterpriselinux/)
↑	9位 (ランク外)	MinIO	(https://openstandia.jp/oss_info/minio/)
↑	10位 (ランク外)	Ruby on Rails	(https://openstandia.jp/oss_info/rubyonrails/)

※( )内は前月の順位


◆OSS総合情報サイト「OpenStandia OSS紹介」サイトはこちら
https://openstandia.jp/oss_info/


■□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4.今月注目のバグ&セキュリティ情報
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□■
【.NET】 X509 証明書 - Azure における検証バイパス

.NET は、さまざまな種類のアプリケーションを構築するために Microsoft
によって作成されたオープンソースの開発者プラットフォームです。

Microsoft .NET Framework ベースのアプリケーションが X.509 チェーン構築
API を使用しているにもかかわらず、ロジックの欠陥により X.509 証明書が
完全に検証されない場合、セキュリティ機能バイパスの脆弱性が存在します。

攻撃者は、不正な署名を持つ任意の信頼できない証明書を提示し、
フレームワークのバグを誘発する可能性があります。

フレームワークは、X.509 チェーンの構築に失敗したことを正しく
報告しますが、失敗の理由コードは正しく返されません。

この理由コードを利用して独自のチェーン構築の信頼判断を行う
アプリケーションは、このシナリオを誤ってチェーン構築が成功したもの
として扱う可能性があります。

これにより、攻撃者がアプリの一般的な認証ロジックを破壊する可能性が
あります。

詳細は下記関連情報の GitHub の Security Advisories のページをご参照
ください。

本脆弱性の影響を受ける .NET のバージョンは下記となります。

 ・Red Hat Enterprise Linux 8 / CentOS 8
  .NET6.0-0:6.0.126-1.el8_9
  .NET7.0-0:7.0.115-1.el8_9
  .NET8.0-0:8.0.101-1.el8_9

 ・Red Hat Enterprise Linux 9
  .NET6.0-0:6.0.126-1.el9_3
  .NET7.0-0:7.0.115-1.el9_3
  .NET8.0-0:8.0.101-1.el9_3

関連情報
 ・Microsoft Security Response Center
  https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-0057


OpenStandia年間サポートサービスでは毎週、セキュリティアラートに
関する情報、及びバグFIXに関する情報を提供しています。

◆OpenStandiaオープンソース年間サポートサービスのご紹介
https://openstandia.jp/services/


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NRI OpenStandiaのWebページからセミナー申込やお問い合わせ頂いたお客様、
NRIから委託されたOpenStandia営業と名刺交換をさせて頂いたお客様、
NRIが主催、共催、協賛するセミナー、イベントにご参加して頂いたお客様に
送付しております。
◆商品・サービスに関するお問合せはこちら
https://openstandia.jp/site/contact.html
※注意事項は以下のURLをご確認ください。
https://openstandia.jp/mm/mailmag.html
※配信先メールアドレス変更はこちら
https://openstandia.jp/mm/mmchange.html
※配信停止はこちら
https://openstandia.jp/mm/mmstop.html
OSSソリューションマガジンに関するお問合せ:magazine-ossc-ext@nri.co.jp
発信元:株式会社野村総合研究所
https://openstandia.jp/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                
  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO