IBM iのIntegrated Web Servicesでは、ILEプログラムやサービスプログラムをREST Webサービスとして展開できます。IBMの公式資料には、ILEプログラムをRESTサービスとして公開する構成と手順が示されています。
これはDjangoとの統合を意味するものではありません。
APIの呼び出し元は、Java、.NET、別のクラウドアプリケーション、モバイルアプリケーションなど、業務要件に応じて選択できます。
新しい業務アプリ
│
│ HTTPS/REST
▼
API管理基盤
│
▼
IBM i Integrated Web Services
│
▼
既存RPGプログラム
IBMも、RPGやILEプログラムをREST Webサービスとしてクラウドアプリケーションと連携させる例を公開しています。
ただし、既存プログラムをそのまま外部公開してはいけません。
API境界で次を実装します。
認証
認可
入力値検証
レート制限
タイムアウト
監査ログ
エラーの変換
二重実行防止
接続元制限
TLS
悪い例:
POST /api/CUSTCHG01
これでは、内部プログラムの都合が外部仕様へ漏れ出します。
良い例:
POST /api/v1/customers/{customer_id}/address-change