Asset Publisher

null ビジネスに価値をもたらし続ける開発基盤、2つの視点

デジタルトランスフォーメーション

ビジネスに価値をもたらし続ける開発基盤、2つの視点

開発基盤における、システムのアーキテクチャに注目し、「密結合」を解消する方法として、「継続的デリバリー」と「Headless」の2つを紹介します。


デジタルトランスフォーメーション(DX)に成功するための戦略とは」では、デジタルトランスフォーメーションを成功に導き、継続的に価値を出し続けるための、ユーザー企業とベンダー企業のあるべき姿について触れました。

稼働中システムの安定動作とビジネスの変化への柔軟な対応の両立は、言うほど簡単ではありません。よく聞かれるのは、システムの1部を変更したいのに、その変更が広範囲影響するために開発のスピードが失われてしまう、というケースです。多くの場合においてシステムの「密結合」が大きな原因となっています。

今回の記事ではシステムのアーキテクチャに注目し、「密結合」を解消する方法として、「継続的デリバリー」と「Headless」の2つを紹介します。

継続的デリバリー

継続的デリバリー(CD)は、まさに「ビジネスの変化に対応するために絶えず変化し続けるシステムを、継続的に本番環境に適用していく」という意味になります。継続的デリバリーを可能にするのは以下の要素になります。

  1. ビルドサーバー
  2. 自動化されたテスト(ユニットテスト、インテグレーションテスト、e2eテスト)
  3. 自動化された受入テスト
  4. 継続的デプロイ

このように、テスト自動化と受入テストレベルのテストの自動化などが整備された状況が整うことでシステムの安定性が確実に担保され、場合によっては1日に複数回のリリースなど、従来では考えられなかったスピード感でリリースを行えるようになります。

こうした自動化を実現するには、システムを構成するソフトウェアが適切な粒度と結合度で連携されていることが必要です。そこでポイントとなるのが、次に紹介するHeadlessというキーワードです。

Headless(ヘッドレス)

社内ポータルやディーラーポータルなど、ブラウザを通して利用するシステムの中身をのぞいてみると、多くの場合バックエンド(サーバー側での処理)と、フロントエンド(HTML,CSS, Javascriptを用いた、ブラウザ側での処理)の組み合わせで構成されています。かつてはサーバー側でフロントエンドを生成して表示、というような流れをとるWebシステムが主流でした。

近年はバックエンドではAPIや認証のみを担い、機能毎に独立したデプロイを行い、フロントエンドではバックエンドからのデータを取得し、画面の構成や描画のみを担うという構成が一般的になってきています。これにより、例えばフロントエンド側の技術が陳腐化した場合は、バックエンドに影響を及ぼすことなく置換が容易となり、バックエンドも細かい機能単位で独立したデプロイが可能となります。

こうした手法が取られるようになってきた背景には、次のような理由があります。

  1. フロントエンド側のコードの寿命が短くなってきている。(開発言語や手法の変化。半年から1年で、最新の技術が陳腐化するほどのスピード)その乗り換えの容易さ。
  2. データを利用するフロントエンドが、ブラウザだけでなく、ハードウェアや、複数のデバイス、モバイルアプリと多岐に渡り、増え続けてきている。
  3. バックエンドは変化し続けるビジネス要求に対応するために、分業化されたコードを個々にデプロイできるような環境に向かっている(マイクロサービス)

こうしたビジネスニーズに対応するために、人間がアクセスするためのレイヤー(HTMLやCSS、アプリの画面)を持たず、ビジネスロジックのみを処理するバックエンドを指して、ヘッドレスと呼ばれるようになってきました。

例えばヘッドレス CMSと言えば、CMSはコンテンツ管理システムですが、そのデータの保存、管理のみを司るエンジン部分のみを提供し、それを利用するフロントエンドはユーザーが任意に選べる、もしくは既存のフロントエンドから利用できる、といったものになります。

Liferay DXPではバージョン7.1から本機能がヘッドレスで提供されるようになりました。工場の加工機器と連携させたり、Liferayの強力な認証機能とコンテンツ管理システムをバックエンドとし、全く別システム上のフロントエンドから利用するなど、ヘッドレスの強みを生かした連携が行われる事例も増えてきました。

次の記事では、実際にLiferayのヘッドレス機能を使った場合どのような開発を実現可能かを説明します。

免責事項

当ブログの記事内情報につきましては、可能な限り正確な情報を掲載するよう努めております。しかしながら誤情報、または情報が古くなっている場合もございます。

当ブログに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

導入事例・資料

Asset Publisher

Upgrade - jp common footer contact or demo