0 フォロワー · 88 投稿

Representational state transfer (REST) は、Webサービスを作成するために使用される一連の制約を定義するソフトウェアアーキテクチャスタイルです。 RESTful Webサービス(RWS)と呼ばれる、RESTアーキテクチャスタイルに準拠したWebサービスは、インターネット上のコンピュータシステム間の相互運用性を提供します。 REST準拠のWebサービスを使用することで、要求されたシステムは、統一され事前定義されたステートレスな操作のセットを使用して、Webリソースのテキスト表現にアクセスし操作することができます。 SOAP Webサービスなどの他の種類のWebサービスは、独自の任意の操作セットを公開します。 詳細はこちら。

記事 Toshihiko Minamoto · 2021年4月22日 3m read

先日、永続クラスとシリアルクラスからSwagger仕様を生成する必要がありました。そこで、その時のコードを公開することにします(完全なコードではないため、アプリケーション固有の部分を変更する必要がありますが、まずは出発点として使用できます)。 こちらからご利用ください。

次のクラスがあるとしましょう。

クラス

このSwagger定義を自動的に生成できます。

 REST.Test.Person:
   type: "object"
   properties:
     Age:
       type: "integer"
     DOB:
       type: "string"
     FavoriteColors:
       type: "array"
       items:
         type: "string"
     FavoriteNumbers:
       type: "object"
     Home:
       $ref: "#/definitions/REST.Test.Address"
     Name:
       type: "string"
     Office:
       $ref: "#/definitions/REST.Test.Address"
     SSN:
       type: "string"
     Spouse:
       $ref: "#/definitions/REST.Test.Person"
 REST.Test.Address:
   type: "object"
   properties:
     City:
       type: "string"
     State:
       type: "string"
     Street:
       type: "string"
     Zip:
       type: "string"
0
0 202
記事 Toshihiko Minamoto · 2021年4月20日 7m read

開発者の皆さん
こんにちは。

先日、RESTのクラスを使って、PDFなどのファイルをアップロード、ダウンロードするサンプルをお送りしたお客さんからご質問を頂きました。
ダウンロード機能を使ってmp4などの動画を表示させた場合、以下のようにvideoの画面下のスライダーを移動しても、再生を進めたり戻したりができませんでした。

やはり、以下のようにスライダを動かすと、その時点の画像が表示されたほうが良いですね。

そこでgoogleで調べてみると、Http Range requestへの対応が必要ということですのでObjectScriptで作成してみました。

表示用html

ブラウザで動画を表示するための簡単なhtmlファイルは以下の通りです。sourceタグのURLにGETメソッドでアクセスし動画データを受信します。

REST.StreamTransferクラスには以下のURLMapを持っており、ブラウザの表示用HTMLからGETメソッドでのアクセスがあると、/csp/storage配下のRiver.

0
0 2768
記事 Mihoko Iijima · 2021年3月19日 2m read

これは InterSystems FAQ サイトの記事です。

各タイムアウト値の意味は以下の通りです。

(1) [サーバ応答タイムアウト]

この設定時間内に、IRIS/Caché での処理(ルーチンやクエリの実行)が終わらない場合は、ブラウザ側にエラーを返します。

例) この値が60秒の時に、ルーチン/メソッド/クエリ実行に 90秒 かかる場合にはエラーになります。

(2) [キューイングされたリクエストのタイムアウト]

CSP/REST で設定する IRIS/Caché サーバごとに、CSP/REST を同時実行できるプロセス数を制限できます。

たとえば、サーバ接続最大数=3の場合、表示に数十秒かかるページを複数同時に要求した場合、4つ目以降のリクエストは、Web/CSP ゲートウェイ上で「キュー」に入り待ち状態になります。

このキューで待つ最大時間が (2) のタイムアウトになります。

(3) [非活動タイムアウト]

CSP/REST では、IRIS/Caché サーバ上に待ち受けプロセスが複数でき、「サーバ接続最大数」まで待ち受けプロセスが出来る可能性があります。

各プロセスが、次の要求が来るまで待機する時間がこのタイムアウト値になります。

タイムアウト後、プロセスは自動的に消滅します(これらのプロセスはライセンスを消費しません)。

詳細は下記ドキュメントページをご参照ください。

0
0 918
記事 Megumi Kakechi · 2021年3月10日 3m read

これは InterSystems FAQ サイトの記事です。

REST アプリケーションはステートレスであることが想定されています。

しかし、複数の REST 呼び出し間でデータを保持したい場合などの理由で、Webセッションを使用したい場合は、UseSession パラメータを使用することができます。

以下のように、Web アプリケーションのディスパッチクラスとして定義された %CSP.REST のサブクラスでUseSession パラメータを指定することで、CSPと同じようにWebセッションを使用することが可能となります。

Class REST.MyServices Extends %CSP.REST
{
 Parameter UseSession As Integer = 1;


詳細は以下のドキュメントをご覧ください。

REST での Web セッションの使用


以下は、UseSession パラメータを使用した簡単なサンプルになります。最初に、2つのクラスを作成してください。


*  REST.SessionTest.cls

Class REST.SessionTest Extends %CSP.REST
{

Parameter UseSession As Integer = 1;

XData UrlMap
  {
    <Routes>
      <Route Url="/test/" Method="GET" Call="test"/>
    </Routes>
  }

ClassMethod test() As %Status
  {
0
0 1195
記事 Megumi Kakechi · 2020年9月16日 4m read

これはInterSystems FAQ サイトの記事です。

HTMLからRESTを使って画像ファイルをアップロードする方法をご紹介します。

1.はじめに、以下のようなhtmlとクラスを作成してください。

*UploadTest.html

<html lang="ja">
<head>
    <title>Upload</title>
</head>
<body>
    <input id="up" type="file" />
    <button id="btn">Upload</button>
    <div></div>
    <script type="text/javascript">
    const sendfile = function(e) {
        let up = document.getElementById("up");
        let file = up.files[0];
        let fd = new FormData();
        fd.append("imgfile", file);
        let xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function () {
            var result = document.querySelector('div');
            xmlhttp.onload = function () {
                result.innerHTML = xmlhttp.responseText;
            };
        };
        xmlhttp.open("POST", "http://127.0.0.1:52773/csp/user/isjtest/uploadimg", true);
        xmlhttp.send(fd);
    }
    let btn = document.getElementById("btn");
    btn.addEventListener("click", sendfile);    
    </script>
</body>
</html>
3
1 3467
記事 Megumi Kakechi · 2021年2月18日 3m read

jQuery($.getJSON と $.ajax)を使用した InterSystems IRIS データのJSON形式での取得方法をご紹介します。

以下にサンプルをご用意しました。

https://github.com/Intersystems-jp/REST_JSON_sample


サンプルには、次の内容が含まれます。

・REST + JSON
・REST + CORS

※それぞれ、$.getJSON と $.ajax で取得する方法を記載しています。

※サーバ側ではSelect文の実行結果をJSON_OBJECT関数を使用しJSON文字列で出力しています。
 関数については以下のドキュメントをご覧ください。
 JSON_OBJECT関数


使用手順は以下になります。

1. USERネームスペースに json.xml をインポート・コンパイル
 

2. テスト用データの作成(ターミナルで以下のコマンドを実行する)

    USER>do ##class(Sample.Person).Populate(200)


3. 初期設定(REST用)

   管理ポータル > セキュリティ管理 > ウェブ・アプリケーション

   新しいウェブ・アプリケーションを作成ボタンを押す

   名前 /csp/user/rest
   ネームスペース    USER
   ディスパッチ・クラス REST.Person

   保存ボタンを押す

4.

0
0 649
InterSystems公式 Toshihiko Minamoto · 2021年2月18日

InterSystems API Manager(IAM) バージョン1.5がリリースされました

 

以前のバージョンからアップグレードできるIAMコンテナはWRCソフトウェア配布サイトのComponents areaからダウンロードすることができます。

 

ビルド番号はIAM 1.5.0.9-4 です。

 

InterSystems API Manager 1.5 ではAPIトラフィックの管理や、環境とAPI利用者の統合がさらに簡単になりました。新機能は以下の通りです。

 

  • ユーザエクスペリエンスの改善
  • 新たな開発者ポータル
  • Kafka connectivityのサポート
  •  

    このリリースは、Kong Enterprise バージョン 1.5.0.9 をベースにしています。これまでのIAMリリースにはKong Enterpriseのホワイトラベルバージョンが入っていましたが、このリリースではホワイトラベルなしバージョンが入っています。この変更で、より頻繁にリリースすることができ、 Kongの提供するドキュメントやその他の資産を効果的に活用できるようになりました。

     

    IAM 1.5のドキュメントはこちらです。このドキュメントはIAM固有の部分のみカバーしています。

    0
    0 171
    記事 Megumi Kakechi · 2021年1月6日 1m read

    これは InterSystems FAQ サイトの記事です

    Web サービス(SOAP)またはREST で IIS を経由してクライアントにエラー応答する際、既定では IISが生成するデフォルトのエラーページ( HTTP 500 エラー)が返されます。

    SoapFaultなど、サーバ側で出力したエラーの詳細情報は返されません。

    IIS7 以降、WebクライアントがWeb サービスの障害の詳細情報を取得するための設定オプションが追加されました。

    HTTP ステータスコードがエラーの場合に、既存の応答をどうするかを existingResponse 属性で指定することができます。

    こちらの値を、既定の Auto から PassThrough に変更することで、エラーの詳細情報が返されるように変更できます。
    ※設定変更後、IISの再起動が必要です。

    詳細や設定手順については、以下ドキュメントをご参照ください。
    Microsoft IIS 7 以降の設定手順について【IRIS】

    Microsoft IIS 7 以降の設定手順について

    ※web.config ファイルの手動編集よりも、IIS マネージャに組み込まれている構成エディタ を使用する方法がエラーが少なく安全です。

    HTTP エラー について
     

    0
    0 1959
    記事 Mihoko Iijima · 2020年12月15日 2m read

    これはInterSystems FAQ サイトの記事です。

    REST のベース URL を /rest とした場合の IIS と Webゲートウェイの設定内容は以下の通りです。

    IIS の設定内容

    アプリケーション /rest を作成し、ハンドラーマッピングで * = CSPms を定義します。

    ハンドラーマッピングの設定手順は以下の通りです。

    IIS > Default Website > アプリケーション /rest > "ハンドラーマッピング" をダブルクリック > モジュールマップの追加

    • 要求パス :     *
    • モジュール:   CSPms
    • 名前   :   CSPGW    (任意の名前)

    要求の制限 > [要求のマップ先が次の場合のみハンドラーを呼び出す] のチェックはオフにします。
    ※こちらの設定はデフォルトでは「チェックあり」になっていますのでご注意ください。

    この構成により、IIS は /rest アプリケーションを Web ゲートウェイに転送します。

    Webゲートウェイの構成

    Web Gateway のアプリケーションアクセス から /rest を追加します。
    →既存アプリケーションをクリックしてコピーし、アプリケーションパスを /rest に設定しIRISサーバを指定します。

    0
    0 3944
    記事 Shintaro Kaminaka · 2020年11月27日 5m read

    背景

    InterSystems IRIS 2019 では、新たに魅力的な機能が導入される予定です。 ぜひ知っておくべき魅力的な新機能の一つには、API 管理があります。

    OpenAPI Initiative()は、API を定義するための標準仕様()をサポートする組織です。 OpenAPI 仕様(OAS)は、REST API 向けのプログラミング言語に依存しない標準的なインターフェースの記述を定義するもので、人間とコンピューターの両方が、ソースコードへのアクセス、追加ドキュメント、またはネットワークトラフィックの検査を必要とせずに、サービスの機能を検出して理解できるようにしています。 OpenAPI を使用して適切に定義されている場合、消費者は最小限の実装ロジックでリモートサービスを理解して対話できます。 低レベルのプログラミングに対するインターフェース記述と同様に、OpenAPI 仕様によってサービスを呼び出す際の当て推量が排除されます。

    InterSystems は InterSystems IRIS で API 設計優先のアプローチをサポートしており、それによって先に仕様を設計してからサーバーサイドを生成できるようにしています。

    0
    0 343
    記事 Tomohiro Iwamoto · 2020年11月23日 21m read

    この記事では、OData API 標準に基づいて開発された RESTful API サービスを利用するための IRIS クライアントの開発について説明します。

    HTTP リクエストを作成し、JSON ペイロードの読み取りと書き込みを行い、それらを組み合わせて OData 用の汎用クライアントアダプタを構築する方法を確認するため、多数の組み込み IRIS ライブラリを説明します。 また、JSON を永続オブジェクトに逆シリアル化するための新しい JSON アダプタについても説明します。

    RESTful API の操作

    REST は World Wide Web の標準化に関する作業から作成された一連の設計原則です。 これらの原則はあらゆるクライアントサーバー通信に適用でき、HTTP API が RESTful であることを説明するためによく使用されます。

    REST はステートレスなリクエスト、キャッシュ処理、統一した API 設計など、さまざまな原則を網羅しています。 ただし、詳細な実装については網羅していません。また、これらのギャップを埋めるための一般的な API 仕様は存在しません。

    この曖昧さは、RESTful API に幾分かの理解、ツール、より厳密なエコシステムを中心によく構築されるライブラリが不足している原因となっています。

    0
    0 321
    記事 Toshihiko Minamoto · 2020年11月16日 6m read

    InterSystems API Management(IAM)は、IT インフラストラクチャ内の Web ベースの API との間のトラフィックを監視、制御、および管理できる InterSystems IRIS Data Platform の新機能です。 アナウンスを見逃した方は、こちらのリンクを参照してください。 また、IAM の使い方を説明した記事もあります。

    この記事では、InterSystems API Management を使用して API の負荷を分散します。

    この例では、2 つの InterSystems IRIS インスタンスを使用し、クライアントに /api/atelier REST API を公開したいと思います。

    そのようにしたいと思う理由は、次のようにさまざまです。

    • 負荷分散により、サーバー間でワークロードを分散する。
    • ブルーグリーンデプロイの実践。片方を「本番用」、もう片方を「開発用」とする 2 台のサーバーを用意し、それらを切り替えられるようにする。
    • カナリアデプロイの実践。1 台のサーバーでのみ新しいバージョンを公開し、クライアントの 1 %をそこに移動する。
    • 高可用性構成の実現。
    • その他。
    0
    0 287
    記事 Mihoko Iijima · 2020年10月27日 4m read

    皆さん、こんにちは!

    InterSystems IRIS には [Interoperability(相互運用性)]というメニューがあります。

    このメニューには、システム統合を簡単に作成できる仕組み(アダプタ、レコードマップ、BPM、データ変換など)が用意されていて、異なるシステムを簡単に接続することができます。

    例えば、普段繋がっていないシステムを繋げるために相手の仕様に合わせてデータを受信(または送信)したり、データ送信前に別システムから情報を取得して追加したり、データベース(IRIS でもそれ以外でも)から情報を取得したり更新したり、データ中継の流れの中に様々な処理を含むことができます。

    この記事のシリーズでは、Interoperability(相互運用性)でシステム統合を行う際、どのような仕組みで動作するのか、またどのような開発が必要になってくるのか、をご理解いただくためにサンプルコードをご覧いただきながら以下の項目を解説します。

    まずはこのシリーズで使用するテーマをご紹介します。

    ショッピングサイトを運営している会社があり、季節に合わせ商品情報の表示順を変更する作業を行っています。

    0
    2 1531
    記事 Mihoko Iijima · 2020年10月27日 10m read

    この記事はこちらの投稿の続きの内容です。

    前回の記事では、システム統合に必要なコンポーネントの中から、プロダクション内の処理の調整役となるビジネス・プロセスの作成について解説しました。

    今回の記事では、プロダクションの情報入力窓口である、ビジネス・サービスの作成について解説します。

    いよいよ「Interoperability(相互運用性)を使ってみよう!」の最後のコンポーネントです。

    ビジネス・サービスは、IRIS 外部からの送信される情報の入力窓口で、外部 I/F に対してアダプタを使用する/しないを選択できます。

    サンプルでは、3 種類のビジネス・サービスを用意しています(括弧内のリンクはサンプルコードへのリンク)。

    1. ファイルインバウンドアダプタを利用したファイル用ビジネス・サービスStart.FileBS) 
    2. SOAP インバウンドアダプタを利用する Web サービス用ビジネス・サービスStart.WS.WebServiceBS
    3. アダプタを使用せず、ストアドプロシージャや REST で呼び出されるビジネス・サービスStart.NonAdapterBS
    0
    0 967
    記事 Akio Hashimoto · 2020年10月25日 5m read

    Docker環境下でWebアプリのコンテナとIRISのコンテナをRESTfulAPIで連携した時の SSL化方法。
    ちなみにこの方法で管理ポータル等もSSL通信が可能になります。

    参考サイト:

    構成

    ※ Vue.jsはローカル上でホットリロードを利用した開発環境。 ※ IRISはローカル上に構築したDockerコンテナ下で稼働中。

    今回、IRISをDockerコンテナで稼働させる方法は割愛します。

    WebアプリケーションをHTTPSで利用する

    Vue.jsで開発中のアプリケーションをhttpsでホットリロード利用出来るように起動する。

    npm run serve -- --https
    

    これで開発中のデバッグ画面をhttpsで呼び出して利用する事ができるようになるが、このままでは、httpsからhttpにアクセスする事が出来ない為、IRISのRESTを呼び出すことが出来ない。

    2
    0 1429
    質問 Akio Hashimoto · 2020年10月19日

    Vue.jsのホットリロードを使った環境においてWebアプリケーションを開発しています。Webアプリケーションから開発環境と同じローカルPCにあるDocker上のIRISへ%RESTを使用しRESTfulAPI通信をしていますが、Webアプリケーションをhttpsで利用した場合は、httpsからhttpへはAPI通信ができないので、間にプロキシサーバーを立ててリダイレクトしないといけないと思います。しかし上手くいきません。

    ○ npm run serve で起動したWebアプリ http -> httpでIRISの%RESTを呼び出せる。

    × npm run serve -- --https で起動した場合  https -> http は呼び出しできない。

      https -> プロキシサーバ(https-httpへリダイレクト)-> httpでIRISの%RESTが呼びさせるはず。

    環境

    Webアプリ:Vue.js 例)https://localhost:3014/

    IRIS:Docker上のコンテナで稼働 例)http://localhost:9091 -> 57772

    やってみた事

    1. Docker上にnginxのコンテナを作成。openssl にてSAN付きオレオレ証明書の作成

    2. リダイレクトの定義を作成

    現象

    スマホからもPCからも反応が無い。

    7
    0 1355
    記事 Toshihiko Minamoto · 2020年10月22日 7m read

    InterSystems IRIS 2019.1は公開されてからしばらく経ちますが、気づかれていない可能性のある、JSONの処理の強化機能について説明したいと思います。 最新のアプリケーションを構築する際、特にRESTエンドポイントを操作する際は、JSONをシリアル化形式として扱うことが重要です。

    0
    0 666
    お知らせ Mihoko Iijima · 2020年10月12日

    開発者の皆さんこんにちは!

    第6回 InterSystems IRIS プログラミングコンテスト(Full Stackコンテスト) への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

    今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

    🏆 審査員賞 -特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。

    🥇 1位 - $1,500 は npm-iris を開発された Henrique Gonçalves Dias さんに贈られました!

    🥈 2位 - $1,000 は apptools-admin を開発された Sergey Mikhailenk さんに贈られました!

    🥉 3位 - $500は realworld-intersystems-iris を開発された Dmitriy Maslenniko さんに贈られました!

    🏆 開発者コミュニティ賞 - 最も多くの票を獲得したアプリケーションに贈られます。

    🥇 1位 - $1,000 は npm-iris を開発された Henrique Gonçalves Dias さんに贈られました!

    🥈 2位 - $250 は apptools-admin を開発された Sergey Mikhailenk さんに贈られました!

    1
    0 151
    記事 Henrique Dias · 2020年10月8日 2m read

    npm-iris とは何ですか? 

    N.P.Mは "No Project Mess "の略です。

    N.P.M.は、InterSystems IRISとBootstrap 4を使用したプロジェクト&タスク管理アプリです。

    No Project Messは、シンプルで直感的なプロジェクトとタスクの管理ソフトウェアで、開発者や中小企業が日々の複雑な問題を軽減できるように作成されています。 
    スプレッドシート、カンバン、カレンダー、ガントチャートなど、タスクのためのさまざまなビューを提供しています。

    2
    0 213
    お知らせ Mihoko Iijima · 2020年9月13日

    開発者の皆さんこんにちは!IRIS プログラミングコンテストも 6 回目を迎えました!

    今回のコンテストのテーマは

    「InterSystems IRIS をバックエンドとし Web またはモバイル・ソリューションをフロントエンドとして使用する⚡️フル・スタック・アプリケーション⚡️」

    です。日本からのご応募お待ちしております!

    Open Exchange(アプリケーション登録/参考となる開発テンプレート)のページはこちら➡ ⚡️ InterSystems Full Stack Contest ⚡️

    応募期間は 2020年9月21日~10月4日 です!

    (投票期間は 2020年10月5日~11日、勝者発表は 10月12日を予定しています)

    優勝特典

    1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

    🥇 1位 - $2,000 

    🥈 2位 - $1,000 

    🥉 3位 - $500

    2、Developer Community で多く票を集めたソリューションには、以下の賞金が贈られます。

    🥇 1位 - $1,000 

    🥈 2位 - $500 

    複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

    参加資格

    どなたでもご参加いただけます!

    1
    0 361
    お知らせ Mihoko Iijima · 2020年9月15日

    開発者の皆さん、こんにちは!

    Full Stack コンテストについての続報をお伝えします!

    投票期間に追加ポイントを獲得できる「テクノロジーボーナス」について紹介します。

    対象となる技術は、以下の通りです。

    • InterSystems IRIS REST API の使用
    • InterSystems Native API の使用
    • InterSystems JDBC の使用
    • ZPMパッケージによる公開
    • Docker コンテナの使用

    詳細は以下の通りです。

    InterSystems IRIS REST API の使用 - 1 point

    フルスタック・アプリケーションから、REST API 経由で InterSystems IRIS にアクセスるとボーナスポイントを獲得できます。REST API をご自身で開発されるか、組み込みのものを利用したり、ZPM 経由でインストールするなど、選択できます。

    RESTサービス作成方法については、ドキュメントや IRIS で作成する REST サーバの仕組み をご参照ください。

    InterSystems Native API の使用 - 1 point

    InterSystems Native API(.NET、Java、Python、Node.

    0
    0 208
    記事 Toshihiko Minamoto · 2020年8月13日 3m read

    皆さん、こんにちは。

    InterSystems System Alerting and Monitoring (SAM)をご存知でしょうか。InterSystems IRIS 2020.1以降に対応し、IRISやそのアプリケーションの監視を行うソリューションです。といってもシステム監視を行うPrometheus、アラートを管理するAlertManager、ダッシュボードとしてグラフ等を表示させるGrafanaなどを組み合わせたものですが、IRISの利用者に合わせて設定しやすくなっています。

    なお、これらのコンポーネントはDockerコンテナを使用しますので、Docker(19.3.098以降)ならびにDocker compose(1.25以降)をインストールいただく必要があります。

    IRISの監視APIについてはこちらをご覧ください。

    インストール手順

    1. アプリケーションのインストール

    アプリケーション自体はDockerコンテナにて提供されますので、DockerComposeのファイルやシェルスクリプトを以下のGitHubリポジトリからダウンロードします。
    https://github.com/intersystems-community/sam

    以下のgzipファイルをダウンロードし、展開します。
    sam-1.0.0.XXX-unix.tar.gz

    $ tar zpxvf sam-1.0.0.115-unix.tar.gz
    1
    1 377
    お知らせ Mihoko Iijima · 2020年8月6日

    開発者のみなさん、こんにちは!

    InterSystems IRIS Data Platform を使用してオープンソースソリューションを作成するコンテストへようこそ!

    今回のコンテスト用テンプレートはこちら!(8/10 更新) ➡️ IRIS-FHIR-Template ⬅️
    (InterSystems IRIS for Health のプレビューリリース版:2020.3 が利用されている開発テンプレートです)

    テンプレートの日本語 Readme をご用意しています。

    応募期間は 2020年8月10日~23日 です!

    優勝特典

    1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

    🥇 1位 - $2,000 

    🥈 2位 - $1,000 

    🥉 3位 - $500

    2、Developer Community で多く票を集めたソリューションには、以下の賞金が贈られます。

    🥇 1位 - $1,000 

    🥈 2位 - $500 

    複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

    参加資格

    どなたでもご参加いただけます!

    1
    0 473
    お知らせ Mihoko Iijima · 2020年8月3日

    開発者のみなさん、こんにちは!

    インターシステムズは、2020年7月21日(火)に オンラインにて開催された開発者向けイベント「Developers Summit 2020 Summer」(主催:翔泳社)に協賛し、セミナーで IRIS プログラミングコンテストについてご紹介しました。

    ご紹介内容は、コンテストに限らず、コンテナを使用した開発環境の整備にも使えますので、セミナーを見逃された方もぜひご覧ください!

    もくじ

    ※ YouTubeでご覧いただくと目次の秒数にジャンプできます。

    0
    0 174
    記事 Shintaro Kaminaka · 2020年7月30日 11m read

    この記事では、RESTFormsプロジェクト(モダンなWebアプリケーション用の汎用REST APIバックエンド)を紹介します。

    プロジェクトの背後にあるアイデアは単純です。私はいくつかのREST APIを書いた後、REST APIが一般的に次の2つの部分で構成されていることに気付きました。

    • 永続クラスの操作
    • カスタムビジネスロジック

    また、独自のカスタムビジネスロジックを書く必要はありますが、RESTFormsには永続クラスの操作に関連するすべての機能を提供しています。

    使用例

    • Cachéにすでにデータモデルがあり、REST API形式で情報の一部(またはすべて)を公開したい
    • 新しいCachéアプリケーションを開発しており、REST APIを提供したい
    0
    0 399
    記事 Mihoko Iijima · 2020年7月21日 2m read

    IRIS で REST サーバを作成する際に準備する REST ディスパッチクラスを API ファーストの手順で作成する方法を解説します。
    (OpenAPI 2.0に基づいて作成したアプリケーション定義を使用してディスパッチクラスを作成する手順を解説します)

    このビデオには、以下の関連ビデオがあります。

    もくじ

    最初~ 復習ビデオ/関連ビデオについて など

    2:36~  作成するディスパッチクラスの内容

    4:15~ RESTディスパッチクラス:APIファーストで作成する方法(手順説明)

    5:55~ アプリケーションの仕様を定義する (例)

    6:19~ IRISにアプリケーション仕様を登録する(説明)など

    7:40~ POST要求の実行 (例)

    8:24~ 実演

     ↓実演で使用したURL↓
     http://localhost:52773/api/mgmnt/v2/user/crud2

    10:32~ (POST要求の)実行結果

    11:50~ ベースURLの設定(管理ポータルでの設定)+ 実演

    13:23~  curd2.

    0
    0 408
    記事 Mihoko Iijima · 2020年7月20日 1m read

    IRIS で作成する REST サーバの仕組みを解説します。


    このビデオには、以下の関連ビデオがあります。

    もくじ

    0:55~ 今回の説明内容解説と関連ビデオについて

    3:00~  RESTとは?

    3:52~  動作の仕組み

    6:23~ RESTディスパッチクラスとは

    8:04~ RESTディスパッチクラスの実装方法

    8:34~ RESTディスパッチクラス:全て手動で作成する方法 概要

    9:30~ RESTディスパッチクラス:APIファーストで作成する方法 概要

    11:12~ 共通:ベースURLの設定(管理ポータルでの設定)

    11:37~最後まで 確認できたこと

    ※YouTubeでご覧いただくと、もくじの秒数にジャンプできます。

    0
    0 835
    記事 Shintaro Kaminaka · 2020年5月1日 14m read

    この記事では、REST API開発への仕様ファーストアプローチについて説明します。 

    従来のコードファーストREST API開発は次のようになります。 

    • コードを書く 
    • RESTを有効にする  
    • ドキュメント化(REST APIとして) 

    仕様ファーストのアプローチでは同じ手順を行いますが、順序が逆になります。 ドキュメントを兼ねた仕様書を作成し、そこからRESTアプリの定型文を生成して、最後にビジネスロジックを書きます。

    これは、次の理由でメリットがあります。 

    • REST APIを使用したいと思っている外部開発者またはフロントエンド開発者向けの関連性のある有用なドキュメントが常に入手できます。 
    • OAS(Swagger)で作成された仕様をさまざまなツールにインポートして、編集、クライアント生成、API管理、ユニットテスト、その他の多くのタスクの自動化または簡略化を行うことができます。  
    • 改善されたAPIアーキテクチャ。コードファーストアプローチではAPIはメソッドごとに開発されるため、開発者はAPIアーキテクチャ全体を簡単に見落としてしまう可能性があります。これに対し、仕様ファーストの開発者は通常、APIの消費者の立場としてAPIと対話するように強制されます。これは、よりクリーンなAPIアーキテクチャの設計に役立ちます。 
    • 開発の迅速化。
    0
    0 1348