- 2020-09-28
ARCAD APIの魅力|エンジニアに話を聞きました。
ARCAD APIの魅力について、当社のマーケティング担当者がARCAD APIのエンジニアに話を聞きに行きました。その会話をご紹介します。
マーケティング担当者
ARCAD APIエンジニア
マーケ エンジニアから見て、ARCAD APIの魅力って、ズバリ何ですか?
技術者 コードを書かずにすむので、IBM iを利用するためのAPIがさくさく作れてしまうということですね。社内レビューで「4つのステップでRESTful Webサービスが作れます」と紹介しましたが、コードを書かなくてよいのでミスなくスピーディに作れます。
マーケ 5250画面の操作を記録して、Webサービスを作成し、Webサービスを開始して、アプリからAPIにアクセスする、という4ステップでしたっけ?
ARCAD APIの開発ステップ
技術者 そう。それを言い換えると、APIを作成するのに設計書や手順書はいりません、ということなんです。ARCAD APIは簡単な操作をするだけで、Webサービスが作れてしまいます。イチからWebサービスを開発するのと比べたら、工数や気持ちの負担は雲泥の差ですね。
マーケ というと。
技術者 一般的に、ツールなしでIBM iとWebアプリケーションを連携させるWebサービスを開発しようと思ったら、IBM iアプリケーションの中で利用したい部分を指定するためのプログラムと、Webアプリケーション側でIBM iを呼び出すためのプログラムが必要で、それぞれコーディングが必要です。そして、この開発にはRPGとWebの両方のスキルも必要なんです。
マーケ 何だか大変そう。。。
技術者 この面倒な作業を、数ステップでできるようにしたのがARCAD APIですね。しかも開発の経験がなくても、IBM iの操作ができれば、業務部門のユーザーでもIBM iのAPIが作れてしまいます。
マーケ ARCAD APIでIBM iのAPIを作る方法を教えてもらえますか。
技術者 最初に5250画面への接続を設定します。ARCAD APIを起動すると、画面1が開くので、「5250 Configurations」を押して、開いたプロパティの設定画面に、接続設定と対象のIBM iのIPアドレス、CCSIDを指定します。
画面1 ARCAD APIを起動して開いた画面
マーケ 今は、接続設定名がviolet_5035で、IPアドレス、CCSIDが入力されていますね(画面2)。
画面2 接続設定名、IPアドレス、CCSIDを入力
技術者 入力が終わったら「finish」を押して、シナリオの作成に移ります。左列の「Scenarios」を選択して、任意のシナリオ名を記入し、「Flow Type」は5250で、接続設定名(violet_5035)を設定します(画面3、画面4)。
画面3 左の「Scenarios」を選択
画面4 シナリオ名(任意)、Flow Type、接続設定名を設定
マーケ あ、中央部分に5250のエミュレータ画面が表示されましたね(画面5)。
画面5 中央部に5250エミュレータ画面が表示される
技術者 ここからは、5250画面でふだん行っている操作をしていくだけです。ここでは仮に、IBM iのシリアルナンバーを取得するAPIを開発することにしましょう。サインオンして、いつも通りの操作をすると、ARCAD APIは、操作した内容を自動的に記録していきます。また、操作の時に、表示される画面に1つ1つ名前を付けて画面定義を作っていくのがポイントです。シナリオの作成はこの操作・定義の繰り返しです。
マーケ つまり、1つ1つの画面操作が積み重なってシナリオになるのですね。
画面6-1 記録された画面が1つずつSTEPとして表示される
画面6-2 上の画面の「Step:1」をクリックしてInitial Screen画面を表示
技術者 そうです。すごく簡単でしょう? そしてWebサービスで使用したいシリアルナンバーの画面が表示されたら、その部分をマウスで範囲指定してAPIの出力フィールドとして定義します。作成したシナリオと出力フィールドの定義を結び付け、サービスを開始させれば、RESTful APIの作成は完成です(画面7)。
画面7 Webサービスで使用したい部分をマウスで範囲指定
マーケ RESTful APIのWebサービスにアクセスするとJSON形式で結果が返ってくるのですね。
技術者 こんな感じです(画面8)。
マーケ そのWebサービスにWebやスマホなどのアプリケーションからアクセスすると、Webサービスが5250画面に接続してシリアルナンバーを取得し、JSON形式で返ってきた値をアプリケーションで利用できる。
技術者 はい、そんな感じです。このようにIBM iの操作と定義の作成だけで簡単にAPIを作成することができます。