記事
· 2021年3月10日 3m read
RESTでセッション共有化する方法

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

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

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

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

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


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

1 0
0 977

キーワード: PyODBC、unixODBC、IRIS、IntegratedML、Jupyterノートブック、Python 3

目的

数か月前、私は「IRISデータベースへのPython JDBC接続」という簡易メモを書きました。以来、PCの奥深くに埋められたスクラッチパッドよりも、その記事を頻繁に参照しています。 そこで今回は、もう一つの簡易メモで「IRISデータベースへのPython ODBC接続」を作成する方法を説明します。

ODBCとPyODCBをWindowsクライアントでセットアップするのは非常に簡単なようですが、Linux/Unix系サーバーでunixODBCとPyODBCクライアントをセットアップする際には毎回、どこかで躓いてしまいます。

バニラLinuxクライアントで、IRISをインストールせずに、リモートIRISサーバーに対してPyODBC/unixODBCの配管をうまく行うための単純で一貫したアプローチがあるのでしょうか。

0 0
0 955

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

前回の記事では、Interoperability(相互運用性)メニューを利用してシステム統合を行う際、どのような仕組みで動作しているのかについて解説しました。

今回の記事では、Interoperability(相互運用性)メニューを利用してでシステム統合を行うためにどのような開発を行うのか、について解説します。

最初に、どんな流れを作りたいのか?を考えながら、以下の内容を作成していきます。

0 0
0 948

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

IISおよびWebゲートウェイの設定方法は以下のとおりです。

(1) IIS構成で以下の設定を行います
アプリケーション /rest を作成し、ハンドラーマッピングで * = CSPms のみ定義します。

IIS構成 > Default Website > アプリケーション /rest > "ハンドラーマッピング" をダブルクリック
要求パス: *
モジュール: CSPms
名前: CSPGW (任意の名前)

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

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

0 0
0 932

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

※データベースファイルとは、IRIS.DAT、および、CACHE.DATのことを指します。

Caché/Ensemble 2018.1.4、IRIS 2019.1.2/2020.1.0 以降のバージョンより、データベースファイル のサイズの縮小に、データベースの「圧縮」と「未使用領域の削除」機能をあわせて使用できます。

1 0
0 931

この連載記事では、InterSystems IRIS をはじめて操作される方を対象に、IRIS のインストールから、開発環境作成、各種言語からのアクセス方法についてご紹介していきます。

以下3つのビデオは、基本操作をご紹介するビデオです。既にご存知の内容が多い場合は、各種アクセス方法をご紹介するビデオからぜひご参照ください。

基本操作編ビデオシリーズ

1 0
1 864

IRIS でのクラス定義の作成、ObjectScript でインスタンスの生成と永続化(保存)の方法について解説します。

https://www.youtube.com/embed/kWJCzn9bndQ
[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。]

もくじ

最初~1:55 前回のビデオの学習

1:55~2:45 今回の説明内容解説

2:45~5:15 クラスの種類について

5:15~13:20 作成するクラスの説明、定義説明

13:20~18:44 スタジオでの作成実演

18:44~22:35 VS Codeでの作成実演

22:35~27:40 ObjectScriptでインスタンス生成

27:40~29:38 インスタンス生成~永続化の実演

29:38~34:54 データの確認

0 0
0 864

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

この記事では、Interoperability(相互運用性)メニューを利用してシステム統合を行う際、どのような仕組みで動作しているのかについて解説します。

図の左側は、外部システムから送信される情報の受け入れ窓口です。

情報の受信方法としては、ファイルを読むために指定ディレクトリを一定間隔で監視したり、データベースへ定期的に問い合わせを行ったり、入力を待機したり、または他システムのアプリケーションから直接呼び出して渡してもらうなど、様々な方法を用意しています。

1 0
0 851

Mirroring 101

Cachéミラーリングは、CachéおよびEnsembleベースのアプリケーションに適した信頼性が高く、安価で実装しやすい高可用性および災害復旧ソリューションです。 ミラーリングは幅広い計画停止シナリオや計画外停止シナリオで自動フェイルオーバーを提供するもので、通常はアプリケーションの回復時間を数秒に抑制します。 論理的にデータが複製されるため、単一障害点およびデータ破損の原因となるストレージが排除されます。 ほとんど、またはダウンタイムなしでアップグレードを実行できます。

2 0
0 839

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

システムユーティリティクラスを利用したプログラムを作成することで出力できます。

【注意1】出力データの区切り文字がカンマではなくタブで出力されます点、ご注意ください。

【注意2】エクセルでタブ区切りのファイルを開くため、エクセルの開くメニューから出力したファイルを開いてください。

処理概要は以下の通りです。

1) %SYSTEM.SQL クラス(※)の Execute() メソッドを使用します。

第1引数:SQL文を指定します。

第2引数:内部日付が格納されている場合 yyyy-mm-dd で出力されるように表示モードを切り替えます。(1:odbcモード)

詳細は下記ドキュメントページおよびクラスリファレンスをご参照ください。

0 0
0 834

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

2023/2/20追記

チュートリアルページが新しくなり「Developer Hub」に変わりました!

チュートリアルの種類や使い方については、「InterSystems Developer Hub:クリック1回で開始できるチュートリアル(4種)のご紹介」をご参照ください。


以下にご紹介しているチュートリアルページは、現在非公開となりますので、Developer Hub をご利用ください!

0 0
0 831

本稿について

ICM(InterSystems Cloud Manager)のセットアップは難しいものではありませんが、様々な理由でそもそもDockerが使いづらいという状況があり得ます。
また、セキュリティ的に堅固な環境を得るために、既存VPC内のプライベートサブネット上にIRISクラスタをデプロイする方法のひとつに、同VPC内でICM実行する方法があります。
本稿では、ICMをAWSにデプロイする作業を、CloudFormationで自動化する方法をご紹介します。ICMに関しては、こちらの記事をご覧ください。

更新: 2020年11月24日 デフォルトVPC以外でも動作するよう変更しました。

0 0
0 815

キーワード: Python、JDBC、SQL、IRIS、Jupyterノートブック、Pandas、Numpy、および機械学習

1. 目的

これは、デモの目的で、Jupyterノートブック内でPython 3によってIRIS JDBCドライバーを呼び出し、SQL構文でIRISデータベースインスタンスにデータを読み書きする、5分程度の簡単なメモです。

昨年、私はCacheデータベースへのPythonバインディング(セクション4.7)について簡単に触れました。 そこで、Pythonを使ってIRISデータベースに接続し、そのデータをPandasデータフレームとNumPy配列に読み込んで通常の分析を行ってから、事前処理済みまたは正規化されたデータをML/DLパイプラインに通すためにIRISに書き込む作業においてのオプションと議論について要約しましょう。

すぐに思い浮かぶ簡単なオプションがいくつかあります。

2 0
0 800

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


LAST_IDENTITY() SQL関数を使用すると取得できます。
※ この関数は、埋め込み SQL または ODBC 利用時に使用できます。ダイナミック SQL、SQL シェル、または管理ポータルの SQL インタフェースによる値には設定されません。

簡単な埋め込み SQL での例をご紹介します。

0 0
0 792

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

AWSのcodebuildを利用して、
IRIS環境をビルドされた経験がある方がいらっしゃたら
情報共有いただきたいです。

ただいま取り組んでいるプロジェクトでは、
IRISのclsファイルをaws codecommitのgitリポジトリで管理しております。
※Dockerコンテナではない。

ここで作成されたソースコードをaws Codebuildの仕組みを利用して
自動でコンパイルチェックをする仕組みを構築したいと考えております。
コンパイルを実行する環境としては、AWS ECRに自作したDockerコンテナを利用しております。
※コンテナはstore/intersystems/iris-community:2020.1.0.215.0を基底に、簡単なネームスペースを作成しただけのもの。
 ローカルPC上ではIRIS環境として利用できることを確認済み。

ビルドはbuildspec.ymlにて、以下のような命令で行おうと考えております。

0 5
0 790

NoSQLデータベースという言葉を聞かれたことがあると思います。色々な定義がありますが、簡単に言えば、文字通りSQLを使わない、つまりリレーショナルデータベース(RDB)以外のデータベースのことを指すのが一般的です。

InterSystems IRIS Data Platformでは、テーブルを定義してSQLでデータにアクセスできます。ですから、InterSystems IRIS Data Platformは厳密にNoSQLデータベースというわけではありません。しかし、InterSystems IRISの高パフォーマンスを支える「グローバル」は、40年も前からInterSystemsのコア技術として、現代で言うNoSQLデータベースを提供してきました。本稿では、InterSystems IRISの「グローバル」でグラフ構造を作り、それをPythonでアクセスする方法を紹介します。

本稿で説明する内容は動画でも公開しています。ぜひご覧ください。

1 0
0 780
記事
· 2021年5月23日 2m read
VDOC (仮想ドキュメント)とは?

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

仮想ドキュメント(以降VDOC)とは複雑な構造のドキュメント(メッセージ)を効率良く高速に処理するために考えられたメッセージ処理の仕組みです。

HL7に代表される EDI 標準は電子データ交換のための汎用的なかなり複雑なメッセージ形式を含んでいます。

また、メッセージの種類を増やすと運用が複雑になってしまうため、1 つのメッセージに様々なデータを詰め込む傾向があります。

その結果 1 つのメッセージは複雑かつデータ量が多いものになりがちです。

一方、実際のメッセージ交換では、メッセージの全てのデータを処理することはまれで一部のデータのみが必要となるケースがほとんどです。

0 0
0 776

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

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

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

1 0
0 757

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

$ZSTRIP() 関数を使用します。

この関数を使用すると、指定文字列から、文字のタイプと文字を削除できます。

下記の例のように、第2引数で、"<"、">"、"<>"を指定することにより、SQLのLTRIM、RTRIM、TRIM関数と同等の処理が可能になります。

0 0
0 755

みなさん、こんにちは。

前回の記事では1個のBME280で気象データを取得したのですが、気温のブレが大きかったので基板から
ただ、基板につけたBME280のはんだを外すのが大変なので、別のBME280を外付けすることにしました。
当初、ESP8266の別のIO端子と接続することを考えていたのですが、Wire.hが複数のバスに対応していない
ため、以下の配線図のようにカスケード接続することにしました。

0 0
0 754

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

前回の記事では、コンポーネント間のデータ送受信に使用される メッセージ について、作成するときの考え方や定義方法を確認しました。

今回の記事では、コンポーネントの作成方法の中から、ビジネス・オペレーションの作成について解説します。

0 0
0 748

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

InterSystems製品を停止しないバックアップ方法は、3種類あります。


① 外部バックアップ
② オンライバックアップ
③ レガシー並行外部バックアップ

各詳細については、以下ドキュメントをご参照ください。

0 0
0 734

Python から InterSystems IRIS へ接続する方法の1つである「PyODBC」(※)の利用方法をご説明します。

※ Python からのアクセスは、PyODBCの他に、Native API を利用した接続方法もあります。Native APIを利用してIRISのグローバル変数にアクセスする方法については、別の記事でご説明します。

0 4
0 728

InterSystems IRIS では、情報を格納する「グローバル」というユニークなデータ構造をサポートしています。 基本的に、グローバルとは、マルチレベルのインデックスを持つ永続配列であり、トランザクションの実行やツリー構造のスピーディなトラバーサルといった機能が備えられているほか、ObjectScript として知られるプログラミング言語にも対応しています。

ここから先、少なくともコードサンプルについては、グローバルの基礎を理解されているという想定のもとに話しを進めていきます。

グローバルはデータを保存するための魔法の剣です パート1
グローバルはデータを保存するための魔法の剣ですパート2 - ツリー
グローバルはデータを保存するための魔法の剣です パート3 - 疎な配列

0 0
0 722

皆さん、こんにちは!

@Henrique.GonçalvesDias と私は、MessageViewer の最近のアップデートにおいて、IRIS Interoperability でメッセージを可視化する新しい方法を提案しました。 そのアップデートでは、UML シーケンス図に基づく可視化を提供しようとしました。 詳細は、の記事をご覧ください。

2 0
0 720

この記事と後続の2つの連載記事は、InterSystems製品ベースのアプリケーションでOAuth 2.0フレームワーク(簡略化のためにOAUTHとも呼ばれます)を使用する必要のある開発者またはシステム管理者向けのユーザーガイドを対象としています。

作成者:Daniel Kutac(InterSystemsシニアセールスエンジニア)

0 0
0 698

$LIST のフォーマットと%DynamicArray、%DynamicObject クラス

IRIS には、様々なデータ値を含むシーケンスを作成する方法がいくつかあります (以前は Cache にもありました)。 長年に渡り使用されているデータシーケンスの 1 つに $LIST の文字列があります。 より最近のデータシーケンスには %DynamicArray クラスと %DynamicObject クラスがあり、両者ともに JSON の文字列表現に対応する IRIS サポートの一部となっています。 これら 2 つのシーケンスにはそれぞれ非常に異なるトレードオフがあります。

$LIST の文字列形式

$LIST 形式は、かつてメモリアドレスのスペースが小さいだけでなく、ディスクドライブも小さく、読み取り速度が遅かった時代に考案されました。 $LIST の形式は、複数の異なるデータ型で構成されるシーケンスをバイト数を可能な限り抑えながら 8 ビットの一般的な文字列にパッキングするためにデザインされました。

$LIST のシーケンスは、ObjectScript の $LISTBUILD 関数を使って作成します。

0 0
0 692

前回は GKE サービスを使用して IRIS アプリケーションを Google Cloud 上で起動しました。

また、クラスターを手動で(または gcloud を介して)作成するのは簡単ですが、最新の Infrastructure-as-Code(IaC)手法では、Kubernetesクラスターの説明もコードとしてリポジトリに格納する必要があります。 このコードの記述方法は、IaC に使用されるツールによって決まります。

Google Cloud の場合は複数のオプションが存在し、その中には Deployment ManagerTerraform があります。 どちらが優れているかにつては意見が分かれています。詳細を知りたい場合は、この Reddit のスレッド「Opinions on Terraform vs. Deployment Manager?」と Medium の記事「Comparing GCP Deployment Manager and Terraform」を参照してください。

0 0
0 690