ブログ

生成AI活用によるMuleSoft API超速作成(Vol.104)

  • 公開日:

MuleSoftの3つの特性『API 3層構造』『モデル駆動開発』『フロー指向アーキテクチャ』と生成AIを組み合わせることで、API部品の自動生成が可能になります。これにより、エンジニアはコーディングから解放され、設計に専念できます。3つの特性は以下のとおりです。

  1. API Led Connectivity
    • API 3層構造による領域を横断した部品化
    • ドメインを超えて再利用可能なコンポーネントの実現
  2. モデル駆動型開発
    • RAMLを用いたAPI仕様の定義
    • Scaffoldingによる基盤コードの自動生成
    • 実行エンジンの標準化
  3. フロー指向アーキテクチャ
    • XMLベースのコンポーネント化
    • 機能の細分化と再利用性の向上
    • 「レゴブロック」のような直感的な組み立て

これらの特性を基盤に、私たちは生成AI技術を活用した画期的な進化を実現しました。従来、Anypoint Platformでは基本骨格の自動生成にとどまっていた領域を大きく拡張し、以下の要素を含むAPI部品の自動生成を可能にしました:

  • RAML仕様書
  • XMLベースのヘッダー設定
  • リスナーの構成
  • プロパティ定義
  • データベースアクセス層
  • DataWeaveによるデータ変換

この革新により、API開発の本質が大きく変わろうとしています。エンジニアはコーディング作業から解放され、より創造的な価値を生み出す活動に注力できるようになります。具体的には以下の3点です。

・ユーザーニーズの深い理解と分析
・最適なアーキテクチャ設計
・ビジネス要件の的確なAPI設計への変換

私たちの目標は、エンジニアがより創造的な対話や設計に専念できる世界を実現することです。技術的な実装の負担から解放され、ビジネス価値を生み出すことに集中できるようになります。

API開発を生成AIに任せる効果

私たちは生成AI(Claude3)を活用して、MuleSoft Anypoint Platformの開発プロセスを大幅に効率化することに成功しました。具体的には、以下の3つの革新的なツールを開発・導入しました:

1. RAML自動生成ツール
2. API部品組立支援ツール
3. APIテストデータ自動生成ツール

従来の開発工程の割合は、コーディングを中心とした定型的な作業は50%、顧客との対話や設計を含む思考作業は50%でした。ツール導入後、定型作業は50%から40%減の10%になりました。一方、顧客との対話や設計などの思考作業については、生成AIによる支援により5%効率化されました。結果として、全体の工数は45%の生産性向上を達成しました。この劇的な改善は、生成AIと人間の専門性を最適に組み合わせることで実現された成果といえます。

生成AIを組み込んだツールについて

API-RAML生成支援画面

 

API-RAML生成支援ツールの機能概要
本ツールは、MuleSoft Anypoint PlatformにおけるAPI開発を効率化するために、RAMLファイルとAPI実装に必要な各種コンポーネントを自動生成します。

 

  • 入力項目の構成

1. 基本設定
• API名:開発するAPIの識別名
• TABLE名:使用するSAPIのテーブル名
• TABLE項目定義:テーブルのカラム構成

2. API設定
• メソッド:GET/POST/PUTなどのHTTPメソッド指定
• エンドポイント名:APIリソースへのURLパス定義
• クエリパラメータ:データフィルタリング用パラメータ
• URIパラメータ:URLパス内の可変部分({}で指定)
• タイプフラグメント:再利用可能な共通データ型定義

3. 詳細設定
• エラーハンドリング:想定されるエラーパターンと対処方法
• セキュリティ仕様:OAuth 2.0、JWT、APIキーなどの認証方式
• ページネーション:大量データの分割取得設定
• ソート:データの並び順制御
• レスポンスフォーマット:返却データ形式の指定
• レート制限:単位時間あたりのリクエスト数制限

 

  •  生成物と活用方法

RAML/SQL生成ボタンの実行により、以下の成果物が自動生成されます:

1. Generated RAML
• 設定内容に基づくRAMLファイル
• コピー機能でAnypoint Platform Design Centerに直接ペースト可能
• EXCHANGEへの公開にも対応

2. Generated Type Fragment
• SAPIテーブルアクセス用の汎用データ型定義
• 再利用可能な形式で出力

3. Generated API部品
• Header:APIヘッダー定義
• Config:リスナー設定、ConfigControl
• SQL Queries:テーブル操作用のSQL構文
• Autodiscovery設定を含むxml一式

Mule API部品組立開発ワークスペース

 

本ツールは、MuleSoft APIの開発効率を劇的に向上させる「Mule API部品組立開発ワークスペース」です。RAML生成支援ツールで作成したAPI部品を含め、API 3層アーキテクチャそれぞれに必要となる部品を一覧で管理・編集できる統合開発環境として機能します。

 

  • 事前準備のステップ(本ツールを使用する前に、以下の手順を完了する必要があります)

1. RAML生成支援ツールで作成したRAMLファイルを、Anypoint PlatformのDesign Centerにコピー&ペースト
2. データ型定義(Datatype)をインクルード可能な状態にセットアップ
3. EXCHANGEへのパブリッシュ
4. Anypoint Studioで新規プロジェクトを作成
5. Scaffoldを使用してAPIの基本構造を生成

 

  • ワークスペースの構成

画面は4つの主要セクションで構成されています:

1. API層別ガイド
• 各層に特化した部品組立手順
• 実装のベストプラクティス

2. 基本構成部品
• ヘッダー設定
• リスナープロパティ
• DBマネジメント機能
• 画面間データ連携機能

3. データ変換定義
• 各層特有のTransform設定
• データマッピングルール

4. 設定管理
• config.yaml
• 環境設定パラメータ

 

  • 開発フロー

VSCodeベースの編集環境を提供しており、各コンポーネントのXMLを直接編集可能です。編集内容はAnypoint Studioにリアルタイムで反映され、シームレスな開発体験を実現します。

API部品生成-ロジックフロー/テストデータ作成画面

最後にご紹介するのがAPI部品生成-ロジックフロー/テストデータ作成画面になります。本ツールは、RAMLの範囲を超えたデータ変換ロジックの自動生成と、それに伴うテストデータの作成を支援します。

 

  • 画面構成と主要機能

【上段】DataWeave変換ロジック設定
– 左:Input Datatype(入力データ型定義)
– 中央:Transform(変換ロジック)
– 右:Output Datatype(出力データ型定義)

【下段】プロンプトジェネレーター
– デザインパターンの選択
– 生成AIへの最適化されたプロンプト生成

 

  • データ変換デザインパターン

本ツールは以下3つの主要なデータ変換パターンをサポートしています:

1. データベースレイアウト変換
• 入力データを指定されたDB構造に適合させる変換
• テーブル定義に準拠したデータマッピング

2. ファイルマッチング変換
• メインファイルとサブファイルの結合
• 特定キーに基づくデータマッチング

3. マスター参照変換
• トランザクションデータとマスターデータの連携
• キーに基づく必要情報の抽出と結合

 

  • 生成AIとの連携プロセス

1. デザインパターン選択
• ユースケースに応じたパターンを選択
• 最適化されたプロンプト雛形の自動生成

2. プロンプト編集
• 生成された雛形を目的に応じて調整
• より精度の高い出力を得るための最適化

3. 生成結果の活用
• 詳細な仕様書の自動生成
• API実装用XMLの作成
• テストケース用JSONデータの生成

このツールにより、データ変換ロジックの設計から実装、テストまでの一連の作業を効率化し、高品質なAPI開発を実現します。


 

 

  •  APIの3層アーキテクチャがもたらす再利用性

MuleSoft Anypoint Platformでは、APIを3層(システム層SAPI、プロセス層PAPI、エクスペリエンス層EAPI)で構築することで、特にシステム層(SAPI)の再利用性を最大限に高めることができます。

 

  • 具体的な再利用例:受注システムの拡張

図に示すように、既存の受注システムにECサイトを追加するケースで、その効果が顕著に表れています:

1. 既存の構成
• 受注SAPI(order-system-sapi)が基幹DBとの連携を担当
• 従来のPC入力向けに最適化された受注フローを実現

2. ECサイト追加時の対応
• 既存の受注SAPIを再利用
• 新しいチャネル(ECサイト)に対応するための上位層(PAPI/EAPI)のみを開発
• バックエンドシステムとの連携部分は既存資産を活用

 

  • 戦略的なAPI設計がもたらす効果

1. 開発効率の向上
• 新規チャネル追加時の開発範囲を最小化
• バックエンド連携の実装工数を大幅削減

2. 品質の確保
• 実績のあるSAPIを再利用することで安定性を維持
• テスト工数の削減

3. 将来の拡張性
• 新たなチャネルやサービスの追加に迅速に対応可能
• ビジネスニーズの変化に柔軟に適応

このように、システム層APIを戦略的に設計・実装することで、将来の拡張性を確保しながら、開発効率と品質の両立を実現することができます。

各担当者のメリット

開発者のメリット

  • コーディング作業からの解放
  • API部品の自動生成により、実装工数を大幅削減
  • より創造的な設計業務に注力可能
  • 品質の向上
  • 標準化された部品による安定性の確保
  • テストデータの自動生成によるテスト工数の削減
  • スキル開発の促進
  • ビジネス分析能力の向上
  • 顧客との対話スキルの強化

プロジェクトマネージャーのメリット

  • プロジェクト管理の効率化
  • 開発工数の正確な見積もりが可能
  • リソース配分の最適化
  • リスク低減
  • 標準化による品質の安定
  • 納期遅延リスクの大幅削減
  • アジャイル開発の加速
  • 迅速なプロトタイプ作成
  • 顧客フィードバックの素早い反映

IT部門長のメリット

  • コスト最適化
  • 開発工数の40%削減
  • 保守運用コストの低減
  • 人材活用の最適化
  • 高度な設計業務への人材シフト
  • チーム全体のスキル向上
  • 技術的負債の軽減
  • 標準化されたアーキテクチャの採用
  • 再利用可能なAPI資産の蓄積

経営層のメリット

  • ビジネス俊敏性の向上
  • 新規サービス開発の高速化
  • 市場ニーズへの迅速な対応
  • 投資対効果の最大化
  • IT投資の効率的な活用
  • 開発コストの大幅削減
  • デジタル変革の加速
  • API活用による新規ビジネス創出
  • データ駆動型経営の実現

事業部門のメリット

  •  要件実現の迅速化
  • アイデアから実装までの期間短縮
  • ビジネスニーズの迅速な具現化
  • コスト予測の容易化
  • 開発費用の明確化
  • 投資対効果の見える化
  • ビジネス革新の促進
  • 新規サービス創出の加速
  • デジタル化による競争力強化

これまで説明してきた通り、生成AIを活用することで、APIの開発工数を半減することができます。今回の取組は生成AIのほんの初歩的なレベルですので、深化させればAPI開発の全自動化も視野にはいってきます。これからのエンジニアはコーディングルールなどに囚われることなく、顧客のニーズにあうフロントとバックエンドシステムとのデータのやりとり方法(デザインパターン)の選択に注力すればいい世界になると考えます。

当サイトでは、顧客接点DXソリューションに関するダウンロード資料を多数ご用意しております。ぜひダウンロードいただき、資料をご活用ください。

関連記事

最新記事

全社的なDX推進や顧客接点の最適化、エンゲージメントの強化など
お困りごとやお悩みがございましたら、お気軽にお問い合わせください。

既存システムへの投資を活かしシステム同士をつなぎ合わせることで、新しいビジネス要求に俊敏に対応することができるMuleSoftの機能と使用例を紹介します。 先進のAPI連携基盤の活用で、保有するデータやさまざまなテクノロジーを組み合わせ、自社のユニークなサービスやビジネスを作り出しましょう。
資料ダウンロードはこちら