記事
· 2023年9月28日 22m read
OpenAPI Suite - パート 1

コミュニティの皆さん、こんにちは。

私が作成した OpenAPI-Suite という最新のパッケージをご紹介します。これは、OpenAPI 仕様バージョン 3.0 から ObjectScript コードを生成するツールセットです。 簡単に言うと、これらのパッケージでは以下を行うことができます。

  • サーバーサイドクラスの生成。 ^%REST による生成コードに非常に似ていますが、バージョン 3.0 がサポートされていることに付加価値があります。
  • HTTP クライアントクラスの生成。
  • クライアントプロダクション(ビジネスサービス、ビジネスオペレーション、ビジネスプロセス、Ens.Request、Ens.Response)クラスの生成。
  • コードの生成とダウンロードまたはサーバーでの直接コンパイルを行う Web インターフェース。
  • バージョン 1.x からバージョン 3.0 への仕様の変換。
  • 0 0
    0 118
    記事
    · 2024年1月31日 3m read
    IRIS Api Tester (JP)

    コミュニティの皆さん、こんにちは!!

    Open Exchange に最新の「IRIS Api Tester」アプリケーションをアップロードしました。

    InterSystems IRIS と Newman を使用した Docker プロジェクトで、素早く簡単に Postman コレクションをテストできます。

    リポジトリをクローンするだけで、初期状態で使用できるようになっています: https://github.com/daniel-aguilar-garcia/irisapitester

    docker-compose ファイルを実行します。

    この URL をブラウザで開きます。

    2 0
    0 90

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

    Teams ワークフロー Webhook を用意すると、curl コマンドや REST クライアントを利用して Teams チャネルに任意メッセージを簡単に送信できるので、IRIS や IRIS の Interoperability を使って自動的に何か情報を入手+必要なときだけ Teams チャネル通知ができたら面白いな、と思い試してみた内容をご紹介します。

    以下、Teamsワークフローの作成例です。

    4 0
    0 73

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

    messages.logまたはcconsole.log内に記録されるCSPGatewayLatencyのメッセージは、サーバが、パフォーマンス測定のため定期的に「CSPゲートウェイにリクエストを送信して応答をもらう」ことを行っており、応答を受け取るまで一定時間以上かかったときに出る警告(応答時間の閾値)です。

    その既定値は1000ミリ秒です。

    WebGateway(CSPGateway)が稼働する Web サーバの負荷が高い場合に出力する場合がありますが、実際のCSPアプリケーションやREST APIの動作や応答速度に影響が見られなければ、特に問題はありません。

    またこのメッセージの出力頻度を下げるためにこの閾値を変更する方法もあります。

    変更方法は以下を参照ください

    1 0
    0 71
    記事
    · 2023年10月18日 7m read
    OpenAPI Suite - パート 2

    コミュニティの皆さん、こんにちは。

    パート 1 では、すべてのパッケージ、使用されているライブラリ、および REST サービスについて説明しました。

    次は、コンバーターサービスとバリデーターサービスについて詳しく説明したいと思います。

    OpenAPI-Suite はデフォルトで、仕様バージョンが 3.0 未満である場合に HTTP リクエストを converter.swagger.io に送信し、別の HTTP リクエストを validator.swagger.io に送信して仕様ドキュメントの構造を単純化します。

    オンラインユーティリティの使用は便利ではありますが、場合によっては独自のコンバーターとバリデーターのインスタンスを使用する方が便利な場合もあります。 たとえば、OpenAPI-Suite が ObjectScript 開発者向けに組織のサーバーに提供されている場合、外部サービスへのリクエストを回避する方が好ましいことがあります(プライバシーやリクエストレートの制限を回避するため)。

    以下を実行してください。

    docker run -d -p 8085:8080 --name swagger-converter swaggerapi/swagger-converter:latest
    docker run -d -p 8086:8080 --name swagger-validator-v2 swaggerapi/swagger-validator-v2:latest

    0 0
    0 71

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


    ISCLOG を有効にすることにより、CSP(REST)アクセスに関連するログ情報を収集できます。これを使用して CSP(REST)でのトラブル時の調査を行うことが可能です。

    ◎このツールをトラブルシューティングに使用する場合は、基本的に、エラーを(意図的に)再現できる状況で使用します。
     他のウェブアクセス等がない状態で、単体実行してエラーを発生させ、このログを取得して調査します。

    手順は以下のとおりです。

    ① ログをクリアします。

    0 0
    1 37

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

    以下の様なCurl コマンドで送信したファイルを受け取るRESTサービスを作成する方法を紹介します。

    curl -X POST "http://localhost/api/upload?a=123&b=999" -F file=@"C:/temp/a.csv"

    クライアントからPOSTされたファイルを受け取ってサーバーに保存するRESTサービスは以下の様に作成します。

    0 0
    0 33
    記事
    · 2025年2月20日 4m read
    WSGI サポートの概要

    wsgi_logo

    コンテキスト

    ウェブサーバーゲートウェイインターフェース(WSGI)は、ウェブサーバーがリクエストを Python プログラミング言語で記述されたウェブアプリケーションまたはフレームワークに転送するための単純な呼び出し規則です。 WSGI は PEP 3333 で詳しく説明された Python 規格です。

    🤔 定義は良いとして、IRIS との関連性は何でしょうか?

    IRIS 2024.2+ の新機能により、直接 IRIS で WSGI アプリケーションを実行できます。 この機能は、IRIS を他の Python フレームワークとライブラリに統合する優れた方法です。

    0 0
    0 31

    django_logo

    説明

    これは、ネイティブウェブアプリケーションとして IRIS にデプロイできる Django アプリケーションのテンプレートです。

    インストール

    1. リポジトリをクローンする
    2. 仮想環境を作成する
    3. 要件をインストールする
    4. docker-compose ファイルを実行する
    git clone
    cd iris-django-template
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    docker-compose up
    

    使用法

    ベース URL は http://localhost:53795/django/ です。

    0 0
    0 23

    次回の Python コンテストでは、Python を使用して IRIS をデータベースとして使用する簡単な REST アプリケーションを作成する方法についての小さなデモを作成しようと思います。 以下のツールを使用します。

    • FastAPI フレームワーク: 高パフォーマンス、学習しやすい、高速コーディング、プロダクション対応
    • SQLAlchemy: Python SQL ツールキットで、アプリケーション開発者が SQL の全性能と柔軟性を活用できるオブジェクトリレーションマッパーです。
    • Alembic: Python 用の SQLAlchemy データベースツールキットと使用する軽量のデータベース移行ツール。
    • Uvicorn: Python の ASGI ウェブサーバー実装。

    1 0
    0 21