Liferay図鑑は非公式の情報サイトです。Liferay, Inc.・日本ライフレイ株式会社とは関係ありません。

Liferay 開発入門(Client Extensions・Objects・REST Builder)

Liferay の開発では、Client Extensions により、Liferay の外で動かして API で連携する方式が使えます。このページでは、開発の入口となる概念を整理します。本サイトは Liferay Inc. とは無関係の非公式ガイドです。

ここがポイント
迷ったら、まず Objects でデータを作り、Client Extensions で見た目やロジックを足す、という順で考えるのが入りやすいです。提供形態(SaaS / PaaS / Self-Hosted)で使える手段が変わる点に注意してください。

Client Extensions の 4 種

Client Extensions は、Liferay の外で動き、API を通じて連携する拡張の仕組みです。種類は 4 つあります。

種類ざっくりした役割(一般的な説明)
frontend画面側の拡張(UI の追加など)
configuration設定を成果物として管理・配備する
microservice外部で動くサービス側の処理
batchデータの一括登録などの処理

各種類の細かい仕様は公式の Client Extensions のページで確認してください。

Objects から REST が自動生成される

Objects を公開(Publish)すると、REST エンドポイントが自動生成されます。独自の Java コードを書かずに、データの登録・取得 API が手に入ります。簡単な業務データならこれで足りる場合があります。

ここがポイント
API の細かな仕様(パス、認証)はバージョンや環境で変わり得ます。実際の確認は、自分の環境の API エクスプローラー等や公式ドキュメントで行ってください。

REST Builder と SaaS の制限

REST Builder は、独自の REST API を作るための仕組みです。ただし OSGi モジュールとして配備する必要があり、SaaS では使えません。

注意
SaaS で独自 API が必要な場合は、Client Extensions(microservice など)や Objects の自動生成 API で組み立てる方向になります。ロードマップには「API Builder」が Next として載っています。

SaaS / PaaS / Self-Hosted の違い

形態運用の範囲拡張方法
SaaSLiferay が全スタック、アップグレード、パッチを運用Client Extensions 前提。OSGi カスタマイズ不可。マルチテナント
PaaSLiferay が Web サーバー、DB、検索、バックアップ、CI/CD を用意。DXP のアップグレードとパッチは利用者の責任Client Extensions と OSGi
Self-Hosted利用者が自前で運用Client Extensions と OSGi
  • SaaS では Groovy スクリプトやサーバー管理ができません。
  • SaaS の Remote Staging は使えず、Publications で代替します。
  • SaaS の API は、1ユーザーあたり1時間5,000回の上限があります。

Jakarta 移行

Jakarta EE 10 への移行(javax から jakarta)は 2026.Q1 で完了したとされています。OSGi モジュールを自作している Self-Hosted / PaaS の開発者は、依存ライブラリやインポートの見直しが必要になる場合があります。

  • Blade CLI のツールで大半を自動化できるという第三者情報があります(公式では未確認)。
  • 2026.Q3 では Metal-CLI と Soy の Gradle プラグインが削除されました。
  • JDK は 21 が基準で、17 は deprecated です。詳細は動作要件を参照してください。

2026.Q3 の Fragment API 変更

2026.Q3 では Fragment API が抽象型になり、BasicFragment と FormFragment に分かれました。破壊的変更として案内されています。

注意
自作の Fragment 関連コードがある場合は、アップグレード前に公式の 2026.Q3 Breaking Changes で影響を確認してください。ほかにも、FreeMarker / Velocity で propsUtil や portletConfig が既定で制限されるなどの変更があります。

最初の一歩

  1. Dockerで手元に環境を用意する。
  2. Objects で簡単なデータ構造を作り、生成された REST を呼ぶ。
  3. 必要に応じて Client Extensions を追加する。
  4. 自分の提供形態で使える手段を、公式で確認する。

出典

最終確認日: 2026年10月15日(内容は変わる可能性があります。必ず公式情報も確認してください)