Amazon Web Services ブログ
Amazon Q Developer を使用して SAP アプリケーションの開発を加速
はじめに
企業は、開発者の生産性向上、アプリケーションの高速開発、レガシーコードの保守負担軽減を支援する方法を模索しています。Amazon Q Developer は、企業がカスタマイズされた SAP 環境に関連する技術的負債を解消し、新機能をより迅速に提供できるように支援する生成 AI サービスです。このブログでは、Amazon Q Developer が SAP 開発者の生産性向上とイノベーションの加速にどのように役立つかについて説明します。
SAP は、世界中の数千の企業のビジネスを支えるミッションクリティカルな基幹業務システムです。長年にわたり、多くの企業は自社固有の要件を満たすために SAP をカスタマイズしてきました。これらのカスタマイゼーションを実現するために、SAP の ABAP プログラミング言語を利用して、必要なビジネス機能のプログラムを追加開発してきました。
ABAP プログラムは企業が SAP をビジネスに適応させるために作成されましたが、これにより SAP 環境の運用やアップグレードの難易度が高くなります。また、数十年前に書かれた複雑な ABAP コードについて、ドキュメントが不足していたり、元の開発者が退職していたりするという事はよくあることです。現在、これらの企業がクラウドへの移行、S/4HANA へのアップグレード、SAP 推奨するクリーンコア戦略(コア SAP アプリケーションで変更をせず要件を満たすために SAP の機能拡張する)の採用を検討する中で、レガシーコードは多くの課題を抱えています。
Amazon Q Developer による SAP モダナイゼーションの簡素化
Amazon Q Developer は、企業がレガシーコードの課題を克服し、より高速で低コストな SAP アップグレードを可能にします。これにより、規制遵守、セキュリティパッチ適用、新しいソフトウェア機能の採用が簡素化されます。Amazon Q Developer は、レガシー ABAP コードの機能仕様と技術仕様の両方のドキュメントが生成でき、貴重な時間を節約できます。
Amazon Q Developer は、従来の SAP ABAP、SAP ABAP RESTful Application Programming Model (RAP)、SAP Cloud Application Programming Model (CAP) を含む、SAP プログラミングフレームワーク全体で使用可能です。Amazon Q Developer は VS Code、Eclipse、その他複数の IDE 拡張で利用できます。Amazon Q developer の Eclipse バージョンは、近い将来、すべての ABAP オブジェクトタイプに対して完全に機能するようになる予定です。
他のプログラミング言語 (Java、Python) で Amazon Q Developer を使用しているお客様から、開発者の生産性が最大 40% 向上し、さまざまな開発タスクが最大80%加速されたとの報告がありました。ABAP 開発に関して、既に SAP のお客様 (およびパートナー様) から同様のベネフィットを得られているという声を聞き始めています。
Zappos.com のエンタープライズシステム担当シニアディレクターである Saul Dave 氏は次のように述べています。
Amazon Q Developer will be a game-changer for our ABAP development and application support teams.
この後、Amazon Q Developer が SAP 開発者の生産性をどのように向上させるかを示す4つのユースケースについて詳しく説明します。
- ABAP コードの生成
- BTP および Fiori アプリケーションの生成
- テストケースの生成
- レガシー ABAP コードのドキュメント生成
ユースケース #1:ABAP コードの生成
Amazon Q Developer は、自然言語プロンプトを解釈してコードを作成できます。この例では、注文番号と顧客番号でフィルタリングする機能を含む、オープン中の販売注文を表示する ABAP コードが生成されます。開発者は、Amazon Q Developer に次のプロンプトを入力してコードを作成しました。
“Generate an ABAP report named zhprp_sales_order_overview, showing list of open sales orders, filter either by order number or customer number (sold-to-party). Include: Sales order number, Sold-to-party, Order Creation date, Line Item number, Material Number, Ordered quantity, Confirmed Quantity. Order the records by sales order number. Display the output in ALV format.”
以下の短いビデオは、プロンプトの入力と生成されたコードの出力を示しています。Amazon Q Developer チャットウィンドウは画面の右側にあります。生成されたコードが SAP 内で正常に実行されることも確認できました。
ユースケース #2:Fiori および BTP のコード生成
Amazon Q Developer を使用して完全な Fiori アプリケーションを開発することを説明します。この例では、単一のプロンプトを使用して、CDS ビュー、OData インターフェース、UI を含むフロントエンドとバックエンドコンポーネントを作成するプロセスのステップを進めます。使用されるプロンプトは次のとおりです。
“Provide me with all the things I need to do to create a fiori application for the sales order(create, update, delete) and then you can handhold me while I am creating each step. In addition to that I want to have a class to insert dummy data and test classes for my cds view for TDD.
Amazon Q Developer は階層化されたアプローチに従い、必要なテーブル構造が作成されるデータベース層から始まります。その後、 CDS 層に移り、基盤となるデータベーステーブルを抽象化しながらデータのビジネスに使うためのビューを提供するルート CDS ビューが定義されます。ビジネス層では、Amazon Q Developer はビヘイビア実装とテストクラスを含む CDS ビューのビヘイビア定義の生成を支援します。サービス層では、OData V2 公開のためのサービス定義とバインディングの作成が含まれ、Fiori アプリケーションとバックエンドとのコミュニケーションが可能になります。UI 層では、Amazon Q Developer はメタデータ拡張を使用した UI アノテーションを支援します。その後、開発の次のロードマップが提案され、manifest.json、サービスバインディング、アクティベーション、パブリッシングの作成が含まれます。最終ステップでは、カスタムコントローラーアクションと HTML UI5 コンポーネントが作成され、完全な Fiori アプリケーションを生成します。
ユースケース #3:単体テストケースの生成
Amazon Q Developer は、ドキュメント不足や元の開発者が居なくなった場合に、既存のコードのテストクラスを作成することを支援します。ユーザーは単純にコードを Q のインラインチャットに貼り付けるだけで、包括的なテストシナリオが自動的に分析・生成されます。生成されたコードの構文エラーは、Q のインラインチャット機能を通じてワンクリック実装で迅速に修正できます。生成されたテストクラスは SAP システムですぐに利用でき、必要に応じて微調整できます。
“Generate unit test class for public methods ”Provide the your class logic/details here”
この機能により、開発者は複数の反復後でもビジネスロジックを簡単にテストでき、手動テストにかかる工数を節約できます。
ユースケース #4:レガシーABAPコードのドキュメント生成
次の例では、Amazon Q Developer が ABAP コードを分析し、チャットウィンドウのカスタムテンプレートに基づいてドキュメントを自動生成します。このユースケースは既存のコードと新しく作成されたコードの両方に適切できます。生成後に、ドキュメントは PDF やWord ドキュメントに簡単に変換できます。Amazon Q Developer は、重要な情報を理解し、一貫したフォーマット標準を維持しながらドキュメント作成プロセスを行います。この例では、次のプロンプトを使用しました。
“Generate a technical documentation of the above ABAP code. Make sure to provide highly detailed documentation, clearly explaining the action performed each of the components using following pointers as template:
1. Class/Program name
2. Class/Program Overview
3. Technical Specifications
3.1 Data Structure
3.2 Selection Screen (If provided)
4. Main Components
4.1 Subroutines/Methods
5. Test Implementation (If provided)
5.1 Test Methods
5.2 Test Setup
6. Technical Dependencies
7. Error Handling
8. Performance Considerations
このユースケースは、企業はカスタムオブジェクトから影響を受けるビジネスプロセスを簡単に理解し、文書化できます。これにより移行とカレッジトランスファーのプロセスに役立ちます。
上記のユースケースからわかるように、Amazon Q Developer は SAP 開発者の手作業を削減する強力な機能を提供し、顧客がビジネスプロセスをより迅速にモダナイズできるように支援します。私たちは、お客様がこれらの機能を活用し続けることを期待しております。
料金体系
Amazon Q Developer 無料ティアから始めることができます。これは月 50 回のチャットインタラクション、月 5 回のソフトウェア開発支援、月最大 1,000 行のコード変換を提供します。Pro プランは無料プランのすべての機能に加えて、ユーザーとポリシーを管理するエンタープライズアクセス制御機能、提案を改善するために Amazon Q Developer で独自のコードをベースにしたカスタマイズ機能、高度な機能のために高い使用リミットを提供します。詳細な価格プランはこちらをクリックしてご確認ください。
今すぐレガシー SAP コードをモダナイズしましょう
Amazon Q Developer のセットアップに関するステップバイステップの手順については、このワークショップをご参考ください。今後、これらやその他の SAP での活用シナリオのデモや詳細な解説をするビデオをYoutubeに公開する予定なので、ご確認ください。Amazon Q Developer の詳細については、ドキュメント でご確認ください。レガシー SAP コードのモダナイゼーションに関する相談は、私たちのチームにお問い合わせください。
翻訳は Specialist SA トゥアンが担当しました。原文はこちらです。