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

InterSystems製品のInteroperability(相互運用性機能)を利用する際、REST経由で情報入力を行う場合の作成方法についてサンプルプロダクションを利用しながらご紹介します。

サンプルはこちら👉https://github.com/Intersystems-jp/FAQ-Interop-REST

1 0
0 76

[背景]

InterSystems IRIS 製品には、便利なツール ^SystemPerformance (Caché / Ensemble 時代は ^pButtons と呼ばれていました) があり、データベースのパフォーマンス情報を HTML 形式で出力してくれます。 IRIS for Windows で ^SystemPerformance を実行すると、 InterSystems 独自のパフォーマンスログ mgstat と Windows パフォーマンスログの両方を含んだ HTML が生成されます。

2 0
0 76

インターシステムズは、いくつかの問題を修正するためにリリースを再作成する必要がある場合があります。このプロセスにより、「ポイントリリース」と呼ばれる新しいキットが生成されます。

ポイントリリースは、メンテナンスリリースやメジャーリリースとは異なります。 これは緊急の問題に対して、迅速かつ的確に対応するために行われます。


ポイントリリースの確認方法

InterSystems Data Platform 製品は以下のリリース規則に従います:

<インターシステムズ製品> <年>.<メジャー>.<メンテナンス>.<ビルド#>.<ポイント>

例:InterSystems IRIS 2022.1.4.204.1

ポイントリリースの確認方法は簡単で、製品キットの下1桁が0でなければ、ポイントリリースを使用していることになります。

2 0
0 76

はじめに

InterSystems IRIS 2020.1 には、Java または .NET で記述されたコンポーネントで IRIS 相互運用性プロダクションの開発を容易にする PEX(プロダクション拡張フレームワーク)が含まれています。

この PEX により、Java または .NET の知識を備える統合開発者は、InterSystems IRIS 相互運用性フレームワークの力、スケーラビリティ、および堅牢性を利用し、すぐに生産性を高めることができます。

IRIS 相互運用性フレームワークエキスパートに対し、PEX は既存の Java 言語または .NET 言語の外部コンポーネントとの統合を簡単にリッチ化することができます。

0 0
0 74

ローコードへの挑戦

こんな状況を思い浮かべてください。「ウィジェットダイレクト」というウィジェットとウィジェットアクセサリーを販売する一流のネットショップで楽しく勤務しています。先日、上司から一部の顧客がウィジェット商品にあまり満足していないという残念な話を聞き、苦情を追跡するヘルプデスクアプリケーションが必要となりました。さらに面白いことに、上司はコードのフットプリントを最小限に抑えることを希望しており、InterSystems IRIS を使って 150 行未満のコードでアプリケーションを提供するという課題をあなたに与えました。これは実際に可能なのでしょうか?

免責事項: この記事は、非常に基本的なアプリケーションの構築を記すものであり、簡潔さを維持するために、セキュリティやエラー処理などの重要な部分は省略されています。このアプリケーションは参考としてのみ使用し、本番アプリケーションには使用しないようにしてください。この記事ではデータプラットフォームとして IRIS 2023.1 を使用していますが、それ以前のバージョンでは記載されているすべての機能が提供されているとは限りません。

1 1
0 52

IRIS側の処理は、IRISでREST APIを実装する方法を理解していれば、簡単です。

前回のログイン処理でユーザー認証をIRIS側でどのように実装されているか確認して見ましょう。

まずはディスパッチクラスの定義です。

Shop.Brokerというクラスの中で定義されています。

checkpasswordというメソッドが最後に定義されていて、最終的にShop.Rest.Customer:checkPasswordという(クラス)メソッドが呼ばれているのがわかると思います。

ここで定義しているパラメータは、とりあえずおまじない的に含めておくことをお勧めします。

(説明し出すと少し長くなるので)

Class Shop.Broker Extends %CSP.REST
{

Parameter CONVERTINPUTSTREAM = 1;

Parameter HandleCorsRequest = 1;

0 0
0 70

この記事では、EC2(ubuntu)に IAM をデプロイする手順を説明します。

IAM とは?

IAM は InterSystems API Manager です。
IAM の詳細については、以下のリンクをご覧ください。

https://docs.intersystems.com/components/csp/docbook/Doc.View.cls?KEY=PAGE_apimgr

生成された説明: apimgr description.jpg

0 0
0 68
記事
· 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 65

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

    永続クラス定義(またはテーブル定義)に対してオブジェクト操作でデータの参照・更新を行うとき、オブジェクトオープンで使用する%OpenId()、オブジェクトの削除に使用する%DeleteId()の第2引数を使用して並行処理の制御方法を選択できます。

    ご参考:オブジェクト同時処理のオプション

    既定値は1です。(永続クラスのDEFAULTCONCURRENCYクラスパラメータでデフォルト値を指定できます。特に変更していない場合は 1を使用します)

    並行処理の基本事項は以下の通りです。

    0 0
    0 62

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

    新しいインデックスを定義した後、インデックスの再構築が完了する前にクエリを実行するとデータが存在しているにもかかわらず「検索結果0件」や検索結果数が徐々に増えるような状況が発生します。

    インデックスを永続クラス定義(またはテーブル定義)に追加しコンパイルすることで今まで使用していたクエリ実行経路が削除され、再度同じクエリを実行するタイミングで新しいインデックス定義を含めた実行経路が作成されるためです。(この時にインデックス再構築が完了していないとインデックスデータが存在しない、または不完全であるため0件や徐々に検索結果数が増えるような状況を起こします。)

    これを起こさなために、新しいインデックスの再構築が終了するまでクエリオプティマイザにインデックスを使用させないように指定する方法が用意されています。

    ※インデックスの再構築が完了したら、必ず指定を元に戻してください。

    0 0
    0 62

    インターシステムズは、接続性に関する 2 つの問題を修正しました。これらの不具合とその修正はそれぞれ独立しています。

    この警告は、2つの問題の修正を含む ポイントリリース があるため、両方に対処する内容になります。

    どちらの問題も、以下の製品のバージョン2019.1.42020.1.4のみに影響します:

    1 0
    0 60

    この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「オンラインバックアップ」の仕組みと、バックアップ・リストア手順について解説します。

    オンラインバックアップは、InterSystems製品が用意するバックアップ機能を利用する方法で、バックアップ対象に設定した全データベースの使用済ブロックをバックアップする方法です。

    InterSystems製品のデータベースには、サーバ側で記述したコード、テーブル定義/クラス定義、データ(レコード、永続オブジェクト、グローバル)が格納されていますので、これらすべてが1つのファイルにバックアップされます。

    1 0
    0 59

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

    InterSystems IRIS との通信に SSL/TLS を使用する際のクライアントの構成は、使用する技術によって変わってきます。


    1. ODBCクライアント、IRISクライアントから接続の場合(IRISスタジオやターミナルなど)
    2. .NET クライアントから接続の場合(SSLDefs.iniは要りません)



    ★1.ODBCクライアント、IRISクライアントから接続の場合(IRISスタジオやターミナルなど)

    ODBCやIRISクライアントから接続する場合は、以下の記事にある設定が必要となります。
    具体的には、SSLDefs.iniという設定ファイルを作成し、決められた場所に配置します。

    0 0
    0 58

    最後にCSP機能の中でReactでうまく置き換えできなかった処理について紹介します。

    該当する処理は、サーバー上の商品データに含まれるその商品の画像データ(GIF形式)を取得して、ブラウザにイメージとして描画させるものです。

    CSPにはStreamServer.clsというサーバー側で動作する機能が用意されています。

    この機能を使ってデータベース上に格納されているストリームデータをHTML IMGタグで処理できる形式に変換してくれます。

    StreamServer機能を使って画像を表示する処理

    Reactで同様の機能を実現する方法が見つからなかったため(そもそもReactはサーバーサイドではなくクライアント上の技術なので)、データベース内に格納されているイメージを取得するのではなく、静的なイメージファイルをウェブサーバーが参照可能な場所に置くことで解決しました。

    0 0
    0 56
    記事
    · 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 55
    記事
    · 2024年5月7日 4m read
    VS Code 関連リソース

    VS Code に焦点を当てた 2 つの現地ウェビナー(ヘブライ語による「Intro」および「Beyond Basics」)に続き、フォローアップとして参加者向けに送信した関連リソースのリンクを用意しました。 コミュニティのために、ここでもそれを共有しています。
    便利なリソースをぜひさらに追加してください。

    0 0
    0 54
    記事
    · 2024年4月4日 10m read
    OpenAI と IRIS の統合

    皆さんもご存知のように、人工知能の世界はもう生活の中に存在しており、誰もが利用従っています。

    多数のプラットフォームが、無料、サブスクリプション、または非公開の形式で、人工知能サービスを提供していますが、 コンピューティングの世界で「話題」となったことから、特に注目されているサービスは OpenAI です。最も有名な ChatGPT および DALL-E が主な原因と言えます。

    0 0
    0 54
    記事
    · 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 50

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

    Ens.Directorクラスのクラスメソッドを使用して取得できます。

    プロダクション名(FAQSample.Interop.Production)とホスト名(FAQSample.Interop.FileOperation)を指定して設定リストを取得する方法は以下の通りです。

    0 0
    0 49

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

    クエリパフォーマンスを左右するクエリプランは、テーブルチューニングを行った結果の統計情報を元に生成されます。

    ある環境で期待したプランになったけれど、他の環境では意図したプランにならない場合、(期待したプランとなる)既存環境からテーブル統計情報をエクスポートして別の環境にインポートし、同じ統計情報をもとにしたクエリプランで実行することができます。

    0 0
    0 48

    %Installerという特別なツールを使用すると、目的のIRIS構成を記述するインストールマニフェストを定義できることはご存じでしょうか?
    インストールマニフェストに作成したい IRIS 構成を記述すると、インストール中、またはターミナルやコードからマニフェストを実行した際に、構成設定が適用されます。

    インストールマニフェストについては、以下の記事でご紹介しておりますので是非ご覧ください(Cachéの記事になりますがIRISでも同様です)。
    %InstallerでInterSystems Cachéにアプリケーションをデプロイする


    こちらの記事では、実際にマニフェストで追加できる主な項目について、サンプルコードとあわせてご紹介します。
    今回は、以下の機能の設定例をご紹介します。

    1 0
    0 48

     

    人工知能は、命令によってテキストから画像を生成したり、単純な指示によって物語を差作成したりすることだけに限られていません。

    多様な写真を作成したり、既存の写真に特殊な背景を含めたりすることもできます。

    また、話者の言語や速度に関係なく、音声のトランスクリプションを取得することも可能です。

    では、ファイル管理の仕組みを調べてみましょう。

    0 0
    0 47

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

    ユーザに権限を与えたい場合、「GRANT」コマンドや「GrantPrivilegeメソッド」を使用しますが、ロールに対しても権限を与えることができます。

    例えば、特定スキーマにのみ何でもできるロールを作成し、それを特定のユーザに割り当てるようなことが可能となります。

    こちらの記事では、その方法をご紹介します。


    (1) GrantPrivilegeメソッドを使用して「スキーマXXX に何でもできるロール」を作成し、
    (2) 該当ユーザに (1) のロールを割り当てる



    ★GRANT文を使う場合

    0 0
    0 47
    記事
    · 2024年2月29日 6m read
    Journal File Indexer (JP)

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

    この記事では、私の最新のアプリケーションである Journal File Indexer をご紹介します。 このアプリケーションの開発は、ポータルアイデアの DPI-I-270 に基づいています。

    簡単に言えば、このアプリケーションではデータベースでログファイルを読み込んでインデックス作成できます。

    製作理由

    管理ポータルでログファイルの検索機能を使用したことがあるなら、タイムアウトエラーになったり、ページが空になったりしたことがあるのではないでしょうか。 この問題は通常、大規模なジャーナルファイルを検索する場合に発生します。 Journal File Indexer は、ファイルをデータベースに読み込んで、検索速度を大幅に高めることで、この問題を解決します。

    復元プロセス中にはもう 1 つの問題が発生します。 ログファイルでグローバルエントリを検索し、古い値または新しい値を復元したくても、管理ポータルにはこの特定の機能がありません。 そのため、これを達成するにはルーチンをコーディングする必要があります。 Journal File Indexer を使うと、この復元機能を統合できます!

    1 0
    0 47
    記事
    · 2024年6月6日 2m read
    JSON_Table(SQL)の利用

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

    IRIS/IRIS for Health2024.1以降のバージョンのSQLで、JSON_TABLE関数がサポートされています。
    【ドキュメント】JSON_TABLE(SQL)

    これを使用することにより、JSON形式データを表形式で取得することが出来ます。

    【例】郵便番号情報を外部から取得し、表形式にマッピングする。
    (取得データ(JSON))

    1 0
    0 46
    記事
    · 2024年2月16日 3m read
    IrisApiTester 2.0 の新機能

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

    IrisApiTester の新しいバージョンを公開しました。以下のようないくつかの新機能が含まれています。

    • 外部リポジトリ: コレクションのファイルをウェブページに手動でドラッグする代わりに、リポジトリ(GitHub または Bitbucket)のコレクションを使用できる機能を追加しました。
    • プルして実行: リポジトリの変更を自動的にプルしてテストを実行する新しいエンドポイントを作成しました。
    • ユニットテスト / 統合テスト: ユニットテストと統合テストで IrisApiTester を使用する例を追加しました。
    • CI/CD: GitHub などのワークフローでコミットの完了ごとにコレクションのリポジトリの変更を自動的にプルし、テストを実行して Google Chat に結果を送信するための新しいエンドポイントを追加しました。

    外部リポジトリ:

    1 0
    0 46