Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[OutSystems] O11 が中で生成したソースを取り出す話 ~ LifeTime AP...

[OutSystems] O11 が中で生成したソースを取り出す話 ~ LifeTime API で oml の向こう側を見る ~

2026-07-15(水) に開催された OutSystems Users Group Meetup のセッション発表で使用したスライドです。

イベント情報:
【OSUG Meetup】あつまれ OutSystems Developer! 開発者超会議 Summer 2026
https://usergroups.outsystems.com/events/details/outsystems-inc-nagoya-presents-atsumareoutsystems-developerkai-fa-zhe-chao-hui-yi-summer-2026/

Avatar for moriya.takasi

moriya.takasi

July 22, 2026

More Decks by moriya.takasi

Other Decks in Programming

Transcript

  1. O11 が中で生成したソースを取り出す話 ~ LifeTime API で oml の向こう側を見る ~ [あつまれOutSystems

    Developer! 開発者超会議 Summer 2026] 2026-07-15 Wed 守谷 崇(OutSystems MVP) @伊藤忠テクノソリューションズ
  2. AI 時代の前提と O11 の壁 既存ソースを丸ごと AI で解析 → 今や現実的 O11

    のソースは独自形式 oml → そのままではテキスト AI に食わせられない
  3. SAST 用 API と直接抽出の差 Excel インポート Entity を Scaffolding した一覧・詳細

    2 画面の住所録アプリで確認 266 346 SAST 用 API 直接抽出 共通したファイルは内容完全一致(API 抽出は直接抽出の真部分集合) API 抽出には含まれないもの: Resources 内ファイル / Images / カスタムハンドラー / Web.config / 各種 SQL
  4. AI 解析に使えるのか? 前ページの電話帳アプリから API 抽出したソースから事前情報なしで 仕様を起こさせた。↓は画面遷移仕様部 [Login] --(DoLogin: Users.User_Login)--> [Contacts]

    (ホーム, Registered必須) | | | (統合ログイン/SSO URL) |--(Add Contact)------> [ContactDetail] (New) |--(行クリック)---------> [ContactDetail] (Edit, ContactId) | [ContactDetail] --(Save: ContactCreateOrUpdate)--> 検証OK→保存→[Contacts]へ戻る / 検証NG→EntityException |--(Back)-----------------------------------> [Contacts] [UserInfo Block] --(Logout: DoLogout)--> RedirectURL (統合ログアウト or 通常ログアウト+統合ログインURL)
  5. 含まれていない情報 AI 解析・仕様理解には API 抽出が使える。 ただし API 抽出だけでは取れない情報もある 今回の検証範囲で API

    抽出で欠落する 直接抽出で確認できた場所 DB 列長・制約の実値 テーブル定義 SQL Timer のスケジュール設定 スケジューラー設定用 SQL 初期データ Excel の中身 生 Excel ファイル
  6. 開発と本番の差 ファイル数:dev 266 / prod 266 差分有 17 + 各環境固有

    2 →アプリの構造・処理内容の差: 0 件 差の内訳: 全てビルドメタ(コンパイル時刻等)か 環境設定・状態(日付書式・環境名・接続先等)
  7. SAST 用 LifeTime API の使い方 Service Account を使って6つの Lifetime API

    を呼ぶだけ。 2. 対象アプリ/モ ジュールのキー取得 1. 環境キー取得 GET 4. ステータス確認 (Done まで繰り返し) GET GET 5. ダウンロード URL 取得 3. パッケージ(zip) 作成リクエスト POST 6. zip ダウンロード GET https://success.outsystems.com/documentation/11/reference/outsystems_apis/lifetime_api_v2/lifetime_api_examples/dow nload_source_code/ GET
  8. zip ダウンロード API の注意点 ダウンロード URL にも Service Account Token

    必須 Consume REST zip バイナリ 全量がメモリ に載る ブラウザ JS で取得 ただし非推奨デス!!
  9. まとめ • O11 が内部で生成したソースの抽出に使える LifeTime API がある • API 抽出ソースには含まれない情報もある

    • AI 解析でアプリ仕様を確認するのには使える! • ダウンロード API を Consume REST で呼ばない 楽しい開発を!