Amazon Web Services ブログ

AI-DLC(AI 駆動開発ライフサイクル)による SAP ABAP アプリケーション開発

Kiro と ABAP Accelerator を使い、AI-Driven Development Lifecycle(AI-DLC)の手法を適用して S/4HANA 上で SAP ABAP アプリケーションを構築する方法を学びます。ビジネス上の意図から、数週間ではなく数時間で動作するコードへと到達します。

はじめに

SAP を運用する組織は、重要なビジネスプロセスを支える数千ものカスタム ABAP プログラムを保守しています。SAP S/4HANA 上で新しいアプリケーションを構築する場合でも、レガシーコードをモダナイゼーションする場合でも、あるいは RESTful ABAP Programming Model(RAP)のようなクリーンコア開発プラクティスを採用する場合でも、課題は同じです。すなわち、従来の開発サイクルは遅く、ドキュメントは乏しく、ビジネス上の意図と実際に動作するソフトウェアとの間のギャップは依然として大きいままです。

SAP 開発における現在の AI アプローチは、2 つの極端に分かれます。AI アシスト開発は、コード補完やドキュメント作成といった個別のタスクを支援するヘルパーとして AI を扱いますが、プロセス全体は依然として人間が主導します。AI 自律開発は AI に完全な制御を委ねますが、エンタープライズ SAP システムの複雑さに直面すると破綻します。どちらのアプローチも、SAP チームが必要とするスピードと品質を実現できていません。

本ブログでは、AI-Driven Development Lifecycle(AI-DLC)の手法を、KiroABAP Accelerator とともに用いて、SAP S/4HANA 上にフライト予約アプリケーションを構築する手順を解説します。ビジネス上の意図を捉える Inception フェーズ、ABAP コードを生成する Construction フェーズ、そしてサービスを構成する Operations フェーズまで、AI がプロセスを主導し、各ステップであなたが監督するという AI-DLC ワークフロー全体を通して進めます。

ソリューションの概要

次の図は、AI-DLC の手法と、それが SAP ABAP 開発にどのように適用されるかを示しています。

AI-DLC lifecycle flowchart: Inception, Construction, Operation

AI-DLC は、AI をすべての開発活動の中心に据えながら、あなたが主導権を握り続けることを可能にする手法です。AI は詳細な計画を生成し、不確かな点があれば質問を投げかけ、先に進む前にあなたの承認を待ちます。

あなたが AI にタスクの完了を指示するのではなく、AI がワークフローを開始し、ソリューションを提案し、重要な意思決定ポイントであなたの検証を求めます。

この手法は 3 つのフェーズで構成されます。

  • Inception – AI は、Mob Elaboration と呼ばれる協働プロセスを通じて、あなたのビジネス上の意図を詳細化された要件、ユーザーストーリー、作業単位(Units of Work)へと変換します。
  • Construction – AI がアーキテクチャ、ドメインモデル、コードを提案し、あなたは Mob Construction を通じて技術選定やアーキテクチャ上の意思決定について方向性を示します。
  • Operations – AI があなたの監督のもとでデプロイとサービス構成を管理します。

各フェーズは前のフェーズで生成されたコンテキストの上に積み重なり、プロジェクトが進むにつれて AI がより的確な提案を行えるようになります。

AI-DLC の手法、その原則、メンタルモデルをより深く理解するには、AI-DLC ホワイトペーパーおよび AI-DLC のブログ記事を参照してください。

AI-DLC が SAP でどのように機能するか

AI-DLC は手法であり、構造化されたワークフローとシステム連携をサポートする AI 対応の IDE であればどれでも適用できます。本ウォークスルーでは、Kiro を使って SAP 開発向けに AI-DLC を実装します。

  • KiroAI-DLC ワークフロー – AI-DLC の各フェーズをオーケストレーションし、セッションをまたいでコンテキストを管理し、すべての意思決定の監査証跡を保持する、構造化ワークフローを備えた AI 駆動の IDE です。
  • ABAP Accelerator – IDE と SAP システムを橋渡しする Model Context Protocol(MCP)サーバーで、AI による コード生成、SAP ABAP Test Cockpit(ATC)を通じた構文検証、オブジェクトのアクティベーション、そして S/4HANA 環境への直接デプロイを可能にします。

これらのツールを組み合わせることで、あなたが自然言語で構築したいものを記述し、AI がそれを要件とコードに分解し、ABAP Accelerator がライブの SAP システムに対してコードをデプロイ・検証し、あなたが各ステップを承認してから次に進む、というワークフローが生まれます。開発ワークステーションでは、ABAP Accelerator を MCP サーバーとして構成した Kiro を実行し、ABAP Development Tools(ADT)API を介して HTTPS 経由で SAP S/4HANA システムに接続します。このワークフローは、開発者権限を持つ非本番の SAP 環境に対して適用できます。

前提条件

始める前に、次の点を確認してください。

  • SAP HANA データベースを備えた SAP S/4HANA システム
  • 開発者権限を持つ SAP ユーザー(トランザクション SICF(Internet Communication Framework のサービス構成)へのアクセス権、および $TMP パッケージにオブジェクトを作成できる権限を含む)
  • ABAP Accelerator を MCP サーバーとして構成し、ワークスペースに AI-DLC のステアリングファイルをセットアップした状態の Kiro
  • Operations フェーズ中の手動構成ステップのための SAP GUI または SAP Web GUI へのアクセス

ABAP Accelerator のインストールとセットアップについては、ABAP Accelerator リポジトリの手順に従ってください。

ウォークスルー: AI-DLC でフライト予約アプリケーションを構築する

本ウォークスルーでは、AI-DLC の手法を適用して SAP S/4HANA 上にフライト予約アプリケーションを構築します。このアプリケーションは、フライト検索、キャンセルおよび払い戻し機能を備えた予約管理、乗客情報の取得、e チケットの生成をサポートし、そのすべてがオブジェクト指向 ABAP(ABAP OO)のバックエンドクラス、HTTP ハンドラー経由の REST API、データアクセス用の CDS ビュー、および JSON ヘルパーユーティリティクラスで構築されています。

ステップ 1: ワークフローを開始する

まず Kiro を開き、ビジネス上の意図を自然言語の記述として貼り付けます。意図ステートメントには、構築したいもの、機能スコープ、技術要件、そして明示的にスコープ外とするものを記述します。以下は意図ステートメントの例です。あなたの具体的な要件と SAP 環境に合わせて調整してください。

A modern airline seeks to develop a flight booking platform for online
reservations and passenger management. The system must support:
- Flight search by origin, destination, date, passengers, and class
- Payment processing via credit/debit cards
- Booking management with cancellation and refund capabilities
- Passenger information capture (name, contact, passport, preferences)
- Static pricing from database
- E-ticket generation

Technical Requirements:
- SAP HANA database
- ABAP OO backend with business logic classes
- REST APIs via HTTP handlers
- JSON helper utility class
- CDS views for data access

Out of Scope:
- Multi-user roles, booking modifications, external integrations
- Dynamic pricing, multi-language/currency, advanced security
HTML

意図を送信すると、Kiro はこれを新しいアプリケーション開発リクエストとして認識し、次のステップである要件分析を提案します。この時点で、Kiro で好みのモデルとコーディングモードを選択して進めます。AI-DLC ワークフローは、各フェーズを通して一貫したパターンに従います。

  • Kiro が、要件、アーキテクチャ、実装の詳細を明確化するための戦略的な質問を投げかけます。
  • 回答を記入するための Answer: タグ付きのファイルを作成します。
  • Kiro があなたの回答に基づいてソリューションを提案します。
  • あなたは Kiro が先に進む前にレビューし、承認または修正します。

このサイクルは各フェーズが完了するまで繰り返されます。Kiro はまた、意思決定を記録し永続的な記録を提供する audit.md ファイルも作成します。

AI-DLC welcome screen screenshot

ステップ 2: Inception フェーズ — 意図から要件へ

Inception フェーズは、Mob Elaboration を通じてビジネス上の意図を明確に定義された要件へと変換することに重点を置きます。実際のシナリオでは、チーム全体がこのセッションに参加します。プロダクトオーナー、開発者、アーキテクトがリアルタイムで集まり、Kiro の提案を検証します。

Kiro はまず、意図ステートメントの曖昧さを明確化するための一連の要件確認質問を生成します。これらの質問は、機能スコープ、ビジネスルール、エッジケース、技術的制約を対象としています。あなたは生成されたファイル内の Answer: タグを使って各質問に回答し、保存します。回答をレビューした後、Kiro は合意されたスコープを捉えた要件サマリを作成します。

要件を承認すると、Kiro は意図を作業単位(Units of Work)、すなわちフライト検索、予約管理、決済処理、乗客管理といった、まとまりがあり独立して構築可能な機能ブロックへと分解します。各ユニットには受け入れ基準を伴うユーザーストーリーが含まれます。Kiro はまた、ビジネス上の意図と期待される効果のサマリも生成します。あなたはこれらの成果物をレビューし、必要に応じて調整し、承認して Construction フェーズへ進みます。Requirements Analysis workflow screenshot

注: スクリーンショットは説明のためのものです。実際の出力は、ワークフロー全体を通じたあなたの具体的な意図ステートメント、回答、意思決定によって異なります。

ステップ 3: Construction フェーズ — 要件からコードへ

Construction フェーズは、検証済みの要件を、構造化された設計と生成のステップの連なりを通じて、動作する ABAP コードへと変換します。

アプリケーション設計

Kiro はまず、あなたの要件を技術設計へと変換します。ドメイン駆動設計の原則を用いてコアなビジネスロジックをモデリングし、エンティティ、それらの関係、そして非機能要件を満たすために必要なアーキテクチャパターンを特定します。あなたは設計の出力を注意深くレビューします。ここは、コードが生成される前に、Kiro があなたのビジネスロジックを正しく解釈しているかを検証する場所です。

ユニット生成とコード生成

設計が承認されると、Kiro は作業単位(Units of Work)を生成し、基盤となるユニットから始めて依存するユニットへと進みながらコード生成を開始します。ここで ABAP Accelerator が重要な役割を果たします。SAP システムに直接 ABAP オブジェクトを作成し、構文チェックを実行し、カスタムバリアントに対して ATC 検証を実行し、オブジェクトのアクティベーションを自動的に処理します。ATC が生成コードに問題を検出した場合、ABAP Accelerator はコードを修正し、チェックが通るまで複数のサイクルを繰り返します。

AI-DLC Code Generation Complete summary screenshot

注: スクリーンショットは説明のためのものです。実際の出力は、ワークフロー全体を通じたあなたの具体的な意図ステートメント、回答、意思決定によって異なります。

このプロセス全体を通じて、あなたは生成されたコードとテストシナリオをレビューします。AI-DLC は Inception フェーズにおけるあなたの具体的な回答と意思決定に基づいて手順とアプローチを調整するため、参加者ごとにワークフローは異なります。Construction フェーズは、SAP システムにデプロイ・アクティベートされた生成成果物 – ABAP クラス、HTTP ハンドラー、CDS ビュー、テストケース – のサマリで締めくくられます。

Two MCP tool calls interacting with SAP ABAP system screenshot

注: スクリーンショットは説明のためのものです。実際の出力は、ワークフロー全体を通じたあなたの具体的な意図ステートメント、回答、意思決定によって異なります。

ステップ 4: Operations フェーズ — コードから稼働するサービスへ

Operations フェーズは、動作するアプリケーションを稼働するシステムへと変換します。SAP のデプロイは、一般的なクラウドネイティブのワークフローとは異なります。継続的インテグレーションと継続的デリバリー(CI/CD)のパイプラインではなく、ABAP トランスポートシステム、オブジェクトのアクティベーション順序、そして Internet Communication Framework(ICF)のサービス構成に依存します。

ICF サービス構成

ABAP の HTTP ハンドラーを REST API として公開するには、SAP で ICF サービスノードを構成します。ABAP Accelerator がコード生成とアクティベーションを処理する一方で、ICF サービスノードの作成には SAP トランザクション SICF での手動ステップが必要です。Kiro は、作成が必要な各サービスについて、サービス名とハンドラークラスの割り当てを含む詳細な手順を提供します。Kiro が提供するガイダンスに従って、各 ICF サービスを作成、構成、アクティベートしてください。ICF サービスを構成・アクティベートした後、サービスの準備が整ったことを Kiro に伝えます。Kiro は構成を検証し、Operations フェーズを完了としてマークします。

ステップ 5: アプリケーションをテストする

ICF サービスがアクティベートされたら、アプリケーションをエンドツーエンドでテストできます。Kiro に、API をテストするためのシンプルなフロントエンドの生成を依頼します。ベース URL が SAP システムと一致していること、そして ICF サービスパスが SICF 構成と整合していることを確認してください。各 API を順番にテストします。読み取りと検索の操作から始め、次に作成操作、続いて依存する操作、最後にキャンセルと削除の操作をテストします。

Test results and generated files screenshot

注: スクリーンショットは説明のためのものです。実際の出力は、ワークフロー全体を通じたあなたの具体的な意図ステートメント、回答、意思決定によって異なります。

実証された主要な機能

本ウォークスルーは、AI-DLC を従来の SAP 開発アプローチと差別化するいくつかの機能を示しています。

あなたがコードを書いて AI に助けを求めるのではなく、AI が計画を提案し、明確化のための質問を投げかけ、あなたが検証した後にのみソリューションを実装します。このパターンは、要件の詳細化からコード生成、テストに至るまで、あらゆる活動で繰り返され、一貫性のある監査可能なワークフローを生み出します。

ABAP Accelerator は、SAP 環境に直接接続することでシステムを認識したコード生成を提供します。構文チェックを実行し、ATC 検証を実行し、オブジェクトのアクティベーションを自動的に処理します。AI がライブシステムに対してコードを検証するため、生成されるコードは SAP の標準とお客様の組織のガイドラインの両方を満たす可能性が高まります。

あらゆる意思決定、回答、承認は、プロジェクトリポジトリ内の構造化されたファイルに記録されます。これにより、AI が各フェーズをまたいで参照する永続的なコンテキストと、チームがいつでもレビューできる恒久的な監査証跡が生まれます。

フェーズをまたいだコンテキストの蓄積も、もう一つの重要な利点です。各フェーズが前のフェーズの成果物の上に積み重なるため、プロジェクトが進むにつれて AI の提案はますます的確になります。コード生成に到達する頃には、AI はあなたの要件、設計上の意思決定、アーキテクチャ上の選択のコンテキストを把握しています。

メリット

AI-DLC を SAP 開発に適用することで、開発のスピードを加速できます。AI が定型的な計画立案、設計の骨組み作成、コード生成を担う一方で、あなたは検証と意思決定に集中できます。これにより、あなたの時間は繰り返しのコーディング作業から、重要な問題解決とビジネスロジックの洗練へとシフトします。

AI が ABAP Accelerator の ATC 連携を通じて、お客様の組織のコーディング標準、設計パターン、セキュリティ要件を一貫して適用するため、品質が向上します。ワークフロー全体を通じた継続的な明確化により、要件の抽象的な AI 解釈ではなく、あなたが意図したものを確実に構築できます。生成されたテストスイートは、アプリケーションライフサイクル全体にわたる回帰テストのための恒久的な資産となります。

このアプローチは、モダンな SAP 開発プラクティスの学習曲線も緩やかにします。RAP を採用する場合でも、S/4HANA へ移行する場合でも、新しいアプリケーションを構築する場合でも、AI-DLC は各実装ステップの背後にある意思決定を説明しながらプロセスをガイドします。

AI-DLC を SAP で活用するためのベストプラクティス

意図ステートメントを書く際は、機能要件、技術的制約、そして明示的にスコープ外とするものについて具体的に記述してください。意図が正確であるほど、AI が必要とする明確化のサイクルは少なくなり、生成される成果物はより正確になります。対象とする SAP 環境、優先するプログラミングモデル、組織のコーディング標準に関する詳細を含めてください。

Inception フェーズでは、AI の明確化のための質問に丁寧に回答することに時間を投資してください。これらの回答は、後続の要件、設計、コードのすべての基礎となります。Answer: タグは、AI がプロジェクト全体を通じて参照する恒久的な記録を作成するため、じっくりと記入してください。

Construction フェーズでは、承認する前に生成された各成果物をレビューしてください。特にドメインモデルとアーキテクチャ上の意思決定に注意を払ってください。これらはコードベース全体を形作るものです。AI の提案があなたの期待と一致しない場合は、一般的な修正ではなく具体的なフィードバックを提供してください。フィードバックが的確であるほど、AI はより速く正しいソリューションに収束します。

Operations フェーズでは、Construction フェーズ中に Kiro が生成するビルド手順を参照してください。これらの手順には、ICF 構成に必要なサービス名とハンドラークラスの割り当てが記載されています。SICF でサービスをアクティベートする前に、各エントリを生成コードと照合して確認してください。

AI-DLC を SAP ランドスケープ全体にスケールさせる際は、まずパイロットアプリケーションから始めて、あなたとチームがワークフローに慣れるようにしてください。学んだ教訓を記録し、一般的なアプリケーションパターン向けに意図ステートメントのテンプレートを洗練させます。経験を積むにつれて、新しいアプリケーション開発からレガシーのモダナイゼーション、S/4HANA 移行まで、ますます複雑なシナリオに AI-DLC を適用できます。

クリーンアップ

ウォークスルーの完了後、不要になった場合はトランザクション SICF で作成した ICF サービスを非アクティブ化してください。SAP システムを通じて、ローカルパッケージ($TMP)から ABAP オブジェクトを削除します。

まとめ

本ブログでは、Kiro と ABAP Accelerator を用いて AI-DLC の手法を適用し、ビジネス上の意図ステートメントから完全な SAP ABAP アプリケーションを構築する方法を学びました。このワークフローでは、AI が要件を詳細化する Inception フェーズ、AI がシステムを認識した検証とともに ABAP コードを生成・デプロイする Construction フェーズ、そしてあなたが ICF サービスを構成してアプリケーションを REST API として公開する Operations フェーズを通過しました。

AI がワークフローを主導し、あなたは監督を行い重要な意思決定を下します。ABAP Accelerator の SAP システムとの直接連携と組み合わせることで、このアプローチは継続的な ATC 検証と自動テストを通じてコード品質を維持しながら、開発時間を大幅に短縮できます。

本ブログで示したアプローチは、新しいアプリケーション開発にとどまりません。同じ AI-DLC ワークフローと ABAP Accelerator を、SAP ECC から S/4HANA へのコード変換、レガシー ABAP のモダナイゼーション、RAP の採用、そしてクリーンコアな S/4HANA 上でのカスタム開発にも利用できます。原則は一貫しています。すなわち、AI 駆動の計画立案、人間による検証、システムを認識したコード生成、そして継続的な品質チェックです。以下のリソースから始めてみてください。

次のステップ

SAP 開発向けの AI-DLC を始めるには、以下のリソースをご確認ください。

AI-DLC をお客様の組織の SAP 開発ニーズに合わせてどのように調整できるか、AWS アカウントチームにご相談ください。

本ブログの翻訳は Amazon Quick による自動翻訳を行い、パートナー SA 松本がレビューしました。原文はこちらです。