記事 Megumi Kakechi · 3月 2, 2021 2m read

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


管理ポータル:システムオペレーション > データベース にあるオプションボタンラジオボタン)「空き容量ビュー」で表示される内容は、システムクラス SYS.Database のFreeSpace クエリで取得可能です。

    

 

次のようなコードでクエリを実行します。

例:
(%SYSネームスペースにて作成、実行します)

 /// ZISJ.mac
 Set stmt=##class(%SQL.Statement).%New()
 Set status=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
 Set rs=stmt.%Execute()
 While rs.%Next() {
   Write !
   For i=1:1:9 {
     Write rs.%GetData(i),","
   }
 } 


もしくは、以下のようにも行えます。

 /// ZISJ.mac
 Set stmt=##class(%SQL.Statement).%New()
 Set status=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
 Set rs=stmt.%Execute()
 Do rs.
0
0 386
記事 Toshihiko Minamoto · 3月 1, 2021 11m read

グローバルをクラスにマッピングする技術 (4/3)

三連載のはずが 4 記事目に突入してしまいました。『銀河ヒッチハイク・ガイド』のファンという方はいませんか?

古くなった MUMPS アプリケーションに新たな生命を吹き込みたいとお考えですか? 以下にご紹介するステップを実行すれば、グローバルをクラスにマッピングし、美しいデータを Object や SQL に公開できます。

上の内容に馴染みが無い方は、以下の記事を初めからお読みください。

グローバルをクラスにマッピングする技術 (1/3)

グローバルをクラスにマッピングする技術 (2/3)

グローバルをクラスにマッピングする技術 (3/3)

この記事は Joel、あなたのために書きます!  前回の例で定義した親子関係を土台に、今度は孫クラスを作成し、^ParentChild グローバルに追加された季節情報を処理したいと思います。

前回と同じ免責事項:  これらの記事を読んでもグローバルがよく理解できないという方は、WRC (Support@InterSystems.com) までメールでお問い合わせください。喜んでサポートさせていただきます。

グローバルをクラスにマッピングするステップ。

  1. グローバルデータが繰り返し使用されるパターンを特定する。
  2. 固有キーの構成を特定する。
  3. プロパティとそれぞれの型を特定する。
0
0 238
記事 Toshihiko Minamoto · 3月 1, 2021 6m read

開発者の皆さん
こんにちは。
Windows共有しているリモートサーバに出力されたファイルでデータ連携する際、セキュリティ上、資格情報が必要となるケースが良くあるかと思います。いままでCachéで連携していた時には%ZSTARTルーチンや常駐プロセスのルーチンにて「net useコマンド」を実行されていたかと思いますが、IRISではInteroperability機能が使用できますので、前回の記事で作成したビジネスサービスクラスを元に、資格情報を使ってWindows共有フォルダにアクセスできる機能を追加したいと思います。

仕組み

ビジネスサービスが起動、停止する際に呼び出されるOnInit()、OnTearDown()メソッドにnet useコマンドを埋め込み、指定されている資格情報を使ってnet useコマンドで共有フォルダへの接続、切断を行います。

認証情報設定パラメータ追加

ビジネスサービスの設定画面で認証情報を選択できるよう、以下のようにCredentialsプロパティ、SETTINGSパラメータをTest.BS.ImportMasterクラスに設定します。

0
0 616
記事 Mihoko Iijima · 2月 26, 2021 2m read

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

%SYS.ProcessQuery クラスの AllFields クエリを使用すると取得できます。

詳細は、ドキュメント「プロセス(ジョブ)について【IRIS】 / プロセス(ジョブ)について」もご参照ください。

ターミナルでの実行例は以下の通りです。

USER>set stmt=##class(%SQL.Statement).%New()
USER>set st=stmt.%PrepareClassQuery("%SYS.ProcessQuery","AllFields")
USER>write st   // 1が戻ったら%Execute()を実行できます
1
USER>set rset=stmt.%Execute()
// Job番号-PID-OSユーザ名-カレントデバイス-ルーチン-状態-ユーザ名 を表示しています。
USER>while rset.%Next() { write rset.%Get("JobNumber"),"-",rset.%Get("Pid"),"-",rset.%Get("OSUserName"),"-",rset.%Get("CurrentDevice"),"-",rset.%Get("Routine"),"-",rset.%Get("State"),"-",rset.
0
0 313
記事 Mihoko Iijima · 2月 25, 2021 2m read

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

復旧を優先される場合を除き 【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。

その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。

ツール使用方法については、PDF または以下ビデオでご紹介しています。

※ InterSystems IRIS / IRIS for Health をご利用の方は、こちらの記事をご参照ください。

ぜひ 1 度、テスト/開発環境で実行をお試しいただき、万が一の場合に備えていただければ思います。

0
0 234
記事 Mihoko Iijima · 2月 25, 2021 1m read

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

復旧を優先される場合を除き 【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。

その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。

ツール使用方法については、PDF または以下ビデオでご紹介しています。

※ Caché/Ensemble/Caché ベースの HealthConnect をご利用の方は、こちらの記事をご参照ください。

ぜひ 1 度、テスト/開発環境で実行をお試しいただき、万が一の場合に備えていただければ思います。

 

ビデオの目次(YouTubeでもご覧いただけます)

0:00~1:40 情報収集ツールを使用する上での大事なポイント

1:41~2:24 ツールの種類について

2:24~3:45 どのツールを実行したらいいか困った時の考え方

3:45~5:04 管理ポータルの診断レポートの例

5:04~6:30 ^SystemCheckの実行例

6:30~7:50 IRISHungスクリプトの実行例(Linuxの例)

7:50~8:50 IRISHungスクリプトの実行例(Windowsの例)

8:50~9:52 ツールから生成されたHTMLのファイル名について

9:52~11:32 ツールから生成されたHTMLの中身について

11:32~ まとめ

0
0 381
記事 Mitsuru Amano · 2月 25, 2021 2m read

はじめまして、皆さん。
windows telnetを使えば、VSCODEの統合ターミナルでIRISターミナルを使うことも出来ますが、ストレス無く使えるとは言い難い状態でした。

色々調べた結果、telnetよりは快適にIRISターミナルをVSCODEで使う設定が出来たので投稿します。

(※大量のキー連打や、大量表示で文字欠落がたまにあるけど、普通に使うなら大丈夫な感じです)

具体的には、powershellターミナルを文字コード:UTF-8に変更しIrisdb.exeを起動する様に設定するだけでOKです。

1.VSCODEの設定を開く

2.setting.jsonを開く

3.setting.jsonの最後に設定を追加する。

追加するテキスト

    "terminal.integrated.shellArgs.windows": [ // powershellの引数
        "-NoExit", // コマンド実行しても終わらないよ的なオプション
        "-Command", // コマンドを実行しますよオプション
        "chcp", // 文字コードを指定するコマンド
        "65001;", // UTF-8
        "C:\\InterSystems\\IRIS\\bin\\irisDb.exe", // irisdb.
2
0 1347
記事 Toshihiko Minamoto · 2月 25, 2021 9m read

古くなった MUMPS アプリケーションに新たな生命を吹き込みたいとお考えですか? 以下にご紹介するステップを実行すれば、グローバルをクラスにマッピングし、美しいデータを Object や SQL に公開できます。

 

上の内容に馴染みが無い方は、以下の記事を初めからお読みください。

 

グローバルをマッピングする技術 1

グローバルをマッピングする技術 2

 

この記事の例では、典型的な親子構造をマッピングする方法をお見せします。

 

前回と同じ免責事項:  これらの記事を読んでもグローバルがよく理解できないという方は、WRC (Support@InterSystems.com) までメールでお問い合わせください。喜んでサポートさせていただきます。

 

グローバルをクラスにマッピングするステップ。

  1. グローバルデータが繰り返し使用されるパターンを特定する。
  2. 固有キーの構成を特定する。
  3. プロパティとそれぞれの型を特定する。
  4. クラス内のプロパティを定義する (変数の添え字をお忘れなく)。
  5. IdKey のインデックスを定義する。
  6. Storage Definition を以下の手順で定義する。
    1. 添え字を IdKey まで (IdKey を含む) 定義する。
    2. Data セクションを定義する。
    3. Row ID セクションには触れない。
0
0 260
記事 Hiroshi Sato · 2月 24, 2021 3m read

以下のドキュメントでご紹介しています通り、ECPは分散キャッシュ用のアプリケーションサーバーを並列に増設することで、処理量に応じてスケールアウトすることを主目的として設計されています。

 

ECP機能紹介

 

従ってインターシステムズデータプラットフォーム上で稼働する複数のアプリケーション間の簡便なデータ交換手段としてECPをご使用いただくことは推奨していません。

以下その理由についてご説明します。

データ量の増加、処理量の増加に伴いスケーラビリティに関する要件も今後益々厳しくなる中、将来にわたってより良いスケーラビリティ性能を得られるようインターシステムズの開発部門は、より良いアルゴリズムの開発や処理のチューニングをECPに対して継続的に行っております。


その成果は順次最新バージョンに反映していきます。


従ってある時点での最高のECP性能を得る方法は、アプリケーションサーバーとデータベースサーバーのバージョンをその時点の最新版に揃えることになります。

一方でインターシステムズは、ECPを上記の用途以外で利用することを明確に非推奨とするなどの勧告を過去に行っていなかったため、複数のアプリケーション間でデータをピアツーピアで参照、更新する手段として使われているケースも多く見受けられます。

0
0 601
記事 Toshihiko Minamoto · 2月 23, 2021 6m read

Java Business Host から PEX への移行

InterSystems IRIS 2020.1 および InterSystems IRIS for Health 2020.1 で PEX がリリースされ、Java Business Host を使うよりも優れたかたちで Java プログラムをプロダクション環境に取り込めるようになりました。 PEX は、相互運用性のコンポーネントを構築するための API をすべて提供するほか、Java と .NET の両方で使用できます。 Java Business Host は非推奨となり、今後のリリースで廃止される予定です。

PEX を使うメリット

  • デベロッパーはプロダクションのすべてのコンポーネントを、Java と .Net のどちらでも構築できる
  • コンポーネント間で一層複雑なメッセージ構造の受け渡しができる
  • シンプルな設定
  • 開発のワークフローがシンプルな上に、ObjectScript を使う必要がない

ここからは、既存の Java Business Host のコードを PEX に移行する方法に注目します。

概要

PEX で使用されるクラスとインターフェースは、Java Business Host (JBH) のものとは異なります。 本記事では、その相違点を要約して解説しますが、詳細は完全なドキュメントをご覧ください。

0
0 226
記事 Toshihiko Minamoto · 2月 22, 2021 4m read

皆さん、こんにちは。
他のシステムとファイル連携を行う場合、Cachéでは、Jobコマンドを使った常駐プロセスやタスクを作成し、特定のディレクトリにあるファイルを定期的に監視、データを取り込むといった機能を手作りされていたかと思います。
これにはファイルの監視や、常駐プロセスの監視、プロセスの制御(起動、停止)を行う機能を用意する必要がありましたが、IRISではInteroperability機能が使えますので、そのようなプログラムを省略することが可能です。

今回は、既にファイル読込処理を行うルーチンが存在し、ルーチン呼出時の引数にファイル名があるという前提で、その処理をInteroperability機能を使ってどのように呼び出すかについて説明したいと思います。

手順

作業手順は以下の通りとなります。

  1. ビジネスサービスクラスの作成
  2. OnProcessInput()メソッドの実装
  3. プロダクションの作成
  4. ビジネスサービスの登録
  5. プロダクションの起動

ビジネスサービスクラスの作成

スタジオを起動し、ファイル読込処理を行うルーチンが存在するネームスペースに接続します。

「ファイル」「新規作成」メニューをクリックします。

以下のダイアログボックスが表示されますので、「プロダクション」カテゴリをクリックし「ビジネスサービス」アイコンをクリック、「OK」ボタンをクリックします。

3
0 513
記事 Megumi Kakechi · 9月 16, 2020 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.
3
1 3427
記事 Mihoko Iijima · 2月 21, 2021 3m read

皆さんこんにちは!

VSCode の SQLTools エクステンションを使うと、VSCode から SQLTools に対応しているデータベースへ接続/クエリ実行が行えるようです。

1 つの IDE で 各種言語を操作でき、さらにクエリも発行できるなんて VSCode って便利ですね!👏👏

実は、まだプレビュー機能ではありますが、InterSystems IRIS も接続できます!🎊🎊

正式リリース前なのですが、どんな感じでご利用いただけるかをご紹介したいと思います。

解説ビデオ(4分ちょっと)もあります。ぜひご参照ください。

 

※ ObjectScript エクステンションの基本的な操作方法については、こちらの記事をぜひご参照ください。

 

手順1:SQLTools エクステンションをインストール

 

(ビデオでは、0:00~0:32 で解説しています)

図の手順でインストールします(右画面の SQLTools の説明文下の方に対応データベースリストがあり、「InterSystems IRIS」の文字も見えます!)。

 

手順2:SQLTools に対応するドライバをインストール(ここでは IRIS 用ドライバのインストール)

 

(ビデオでは、0:32~1:09 で解説しています)

SQLTools のインストールが終わると、VSCode の左端の黒いバーのところに   アイコンが見えるのでクリックします。

2
0 1525
記事 Mihoko Iijima · 2月 19, 2021 4m read

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

VSCode の ObjectScript エクステンションで、プロセスにアタッチしてデバッグする方法についてご紹介します。

ObjectScript エクステンションの基本的な操作方法については、こちらの記事をぜひご参照ください。

解説ビデオ(4分ちょっと)もあります。ぜひご参照ください。

 

手順1:launch.json の用意

VSCode のデバッグ実行に関連する各種の構成情報を記述するための launch.json に ObjectScript エクステンション用の設定を記述します。

(ビデオだと、最初~1:31 で解説しています)

プロセスにアタッチするデバッグ設定例は以下の通りです。

{

    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.
2
0 14554
記事 Mihoko Iijima · 2月 19, 2021 2m read

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

Java のガベージコレクションは、使用しなくなったメモリ上のオブジェクトを自動開放するしくみですが、InterSystems data platform(以下IRISと表記)のガベージコレクションは、意味が異なります。

IRIS では、ディスク上の大量のデータノードを 1 コマンド(killコマンド)で削除する機能があります。

通常、データ容量が増えれば、それに伴い、削除に必要な時間が増加しますが、そうすると、そのkillコマンドを発行したプロセスが、削除が終わるのを待つ時間が増加することになってしまいます。

その様な事象の発生を避けるため、IRIS では、ユーザプロセスが大量のデータを削除する kill コマンドを発行した際に、その場で削除に必要な全ての処理を行うのではなく、削除が必要な開始の場所だけを示して、次の処理に進むようになっています。

その後、ガベージコレクタというシステムプロセスに起動がかかり、その指示されたポイントから大量データの削除に伴う領域の開放処理をバックグラウンドで処理していきます。

つまり、論理的な削除は、一瞬で終わるが、実際の物理的な削除は、遅延して行われる仕組みとなります。

このような仕組みをガベージコレクションと呼んでいます。

0
0 145
記事 Mihoko Iijima · 2月 19, 2021 1m read

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

インターシステムズは、個々の仮想化ソフトウェアに対して、弊社製品の動作検証は行なっておりません。

インターシステムズでは、弊社製品がサポートするプラットフォームをサーバプラットフォームという単位で定義しています。

サーバプラットフォームは、オペレーティングシステムとそのバージョン、およびそのオペレーティングシステムが動作するプロセッサタイプの 3 つの要素で定義されます。

従いまして、ある仮想ソフト上で InterSystems 製品がサポートしているサーバプラットフォームが稼動し、その上で InterSystems 製品が動作している限りにおいて、製品のサポートを提供します。

0
0 112
記事 Megumi Kakechi · 2月 18, 2021 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.

0
0 621
記事 Toshihiko Minamoto · 2月 18, 2021 9m read

 古くなった MUMPS アプリケーションの新たな生命を吹き込みたいとお考えでしたら、以下にご紹介するステップを実行すれば、グローバルをクラスにマッピングし、美しいデータを Object や SQL に公開できます。

今回ご紹介する例には、パート 1 ではカバーしなかった内容を 4 つないし 5 つ程度盛り込んでいます。 

その後は親子マッピングの例を紹介して完結となります。それを修得したらマッピングはもう完璧でしょう。

 

前回と同じ免責事項:  これらの記事を読んでもグローバルがよく理解できないという方は、WRC (Support@InterSystems.com) までメールでお問い合わせください。喜んでサポートさせていただきます。 

 

グローバルをクラスにマッピングするステップ。

  1. グローバルデータが繰り返し使用されるパターンを特定する。
  2. 固有キーの構成を特定する。
  3. プロパティとそれぞれの型を特定する。
  4. クラス内のプロパティを定義する (変数の添え字をお忘れなく)。
  5. IdKey のインデックスを定義する。
  6. Storage Definition を以下の手順で定義する。
    1. 添え字を IdKey まで (IdKey を含む) 定義する。
    2. Data セクションを定義する。
    3. Row ID セクションには触れない。
0
0 319
記事 Tomohiro Iwamoto · 2月 16, 2021 19m read

目的

CloudFormationの記事は、Linux系のものが多いですが、Windowsでも自動化したいという需要がありそうですので、オリジナル記事を元に、CloudFormationを使用してミラークラスターをWindowsサーバにデプロイする例を実装してみました。また、簡単な実行例も追加しました。
ソースコード一式はこちらのGitレポジトリにあります。

更新: 2021年3月1日 ワンライナーで踏み台ホスト経由でWindowsに公開鍵認証する方法を追記しました

更新: 2022年11月29日 QuickStartの形式に合わせて大幅に変更しました。以前の内容はこちらに保存してあります。

更新: 2022年12月21日 踏み台ホストの使用を止め、代わりにAWS System Manager(SSM)を有効化しました。プライベートサブネット上のインスタンスへのアクセスが簡素化されます。以前の内容はこちらに保存してあります。

0
0 795
記事 Megumi Kakechi · 2月 15, 2021 7m read

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

データベースキャッシュおよびルーチンキャッシュをモニターし、最適値を調べる方法をご紹介します。
 

(1) データベースキャッシュ

現状の設定値で問題ないかは、^GLOSTAT ユーティリティ のCache Efficency値(キャッシュ効率)でモニターします。

Cache Efficiency 値は大きければ大きいほど良いですが、目安として100 以上であれば、設定サイズは問題ありません。

実行例)

%SYS>do ^GLOSTAT
Should detailed statistics be displayed for each block type?
0
0 582
記事 Megumi Kakechi · 2月 15, 2021 4m read

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


「特権ルーチンアプリケーション」を使用し、コード中に $system.Security.AddRoles()メソッドを使用してロールを付与する仕組みを利用します。

※ロールベースで必要な特権を付与するため、予め特定の特権を持ったロールを作成する必要があります。

詳細は、以下ドキュメントをご参照ください。
特権ルーチン・アプリケーション【IRIS
特権ルーチン・アプリケーションについて


例えば、特定ルーチン(またはクラスメソッド)実行時のみデータベースの更新を許可するための設定は、以下のとおりです。

(接続するデータベースに対してはREAD許可だけを持ち、あるルーチン実行時のみデータベースに対するREAD/WRITE許可を持つように設定します。)
 

1)  データベース:Aのリソース定義を確認する

 データベース:Aのリソースに %DB_%DEFAULT が設定されている場合は、独自リソースを作成します。

0
0 194
記事 Mihoko Iijima · 2月 12, 2021 3m read

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

以下例のクラスメソッド getLatestID() のように ObjectScript のクラスメソッドを用意します。
返したい値を戻り値に指定し、SQLストアドプロシージャ(SqlProc)キーワードを指定するだけで値が返せます。

ClassMethod getLatestID() As %Integer [ SqlName = getLatestID, SqlProc ]
{
    set latestID=$Order(^ISJ.TestClass1D(""),-1)
    quit latestID
}

 

操作を試す場合は、以下のクラス定義をご準備ください。

Class ISJ.TestClass1 Extends (%Persistent, %Populate)
{
Property name As %String;

ClassMethod getLatestID() As %Integer [ SqlName = getLatestID, SqlProc ]
{
    set latestID=$Order(^ISJ.
0
0 445
記事 Mihoko Iijima · 2月 12, 2021 5m read

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

XMLファイルの内容を格納する永続クラス定義を作成し、%XML.Adaptor を追加で継承します。

例は以下の通りです(右端の %XML.Adaptorクラスを追加で継承します)。

Class ISJ.Class1 Extends (%Persistent, %Populate, %XML.Adaptor)

 

次に、%XML.Reader クラスを使用して格納先のインスタンスへ、タグとクラスの関連付け(Correlate())を行い、reader.Next() でXMLを取り込みます。

set sc=reader.OpenFile(filename)
do reader.Correlate(tag,class)
while reader.Next(.x,.sc) { do x.%Save() } 

 

サンプルコードは以下の通りです。

Class ISJ.Class1 Extends (%Persistent, %Populate, %XML.
0
0 2230
記事 Toshihiko Minamoto · 2月 11, 2021 27m read

InterSystems IRIS デプロイガイド - AWS CloudFormation テンプレート 

  注意: 本ガイド (特に前提条件のセクション) を理解するには、AWS に関する中級から上級レベルの知識が必要になります。 S3 バケット、EC2 インスタンスの IAM ロール、VPC、サブネットを作成する必要があります。 また、InterSystems バイナリへのアクセス (通常は WRC サイトからダウンロード可) および IRIS のライセンスキーも必要になります。
  2020 年 8月 12日
Anton Umnikov

 

テンプレートのソースコードは、こちらから入手していただけます: https://github.

0
0 473
記事 Toshihiko Minamoto · 2月 8, 2021 10m read

これで 3 記事目になります (パート 1パート 2 をご覧ください) が、引き続き Caché データベースの内部構造をご紹介いたします。 今回は、興味深い内容をいくつかご紹介し、私の Caché Blocks Explorer プロジェクトを使って作業の生産性をアップさせる方法について説明します。

0
1 192
記事 Megumi Kakechi · 2月 8, 2021 1m read

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

システムのパフォーマンスが低下した場合、OSやインターシステムズ製品の様々なツールを使用して情報収集を行い
  ”通常時と比較して、どこがどの程度変わっているか”
を確認することで、問題のある箇所を特定できます。
(逆に、通常時の状況が不明な場合、パフォーマンス問題点の切り分けが非常に困難となる場合もあります。)

いざ という時に備え、通常時のパフォーマンスを確認することは、大変重要な情報となります。


収集情報詳細は、以下のドキュメントをご参照ください。

パフォーマンス調査ガイド

ガイド内でご紹介しているサンプルは、https://github.com/Intersystems-jp/performance-sample からダウンロードいただけます。


パフォーマンス低下時の情報収集ツールについては、以下の関連FAQトピックをご参照ください。

【FAQ】パフォーマンス低下時の情報収集ツールについて教えてください。

0
0 179
記事 Mihoko Iijima · 2月 5, 2021 5m read

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

Java ゲートウェイを使用することで、Java クラスのモジュールを InterSystems IRIS から実行できます。

【メモ】Java ゲートウェイは、外部 Java オブジェクトを InterSystems IRIS 内のネイティブ・オブジェクトと同じようにインスタンス化し、Javaオブジェクトを操作するための方法です。

詳細は以下ドキュメントをご参照ください。
Java ゲートウェイについて

 

Java ゲートウェイを使用する手順は以下の通りです。

1) Java ゲートウェイサーバを開始する

2) プロキシオブジェクト(ダイナミック・プロキシ・オブジェクト)を作成して Java オブジェクトを操作する

 


1) Java ゲートウェイサーバを開始する

Java ゲートウェイサーバを開始する方法は 3 種類あります。以下のいずれかの方法で、Java ゲートウェイサーバを開始します。

A) 管理ポータルの「オブジェクトゲートウェイ」を利用する

B) プロダクションにJavaゲートウェイサービスを追加する

C) java コマンドを使用する

 

A)~C) の方法は以下の通りです。

0
0 522
記事 Toshihiko Minamoto · 2月 4, 2021 6m read

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

InterSystems ObjectScript でライブラリやツール、パッケージなどを開発していると、「このパッケージはどうすればターゲットマシンに展開できるのか?」という疑問がよく浮かびます。

また、私たちは、既に別のライブラリがインストールされていることを想定したり、その特定のバージョンのことを考慮したりしながらパッケージを開発しています。

JavaScript や Python などでコーディングを行うと、依存関係を管理しながらパッケージを展開するのに パッケージ管理システム が必要になります。

これを踏まえ、 InterSystems ObjectScript Package Manager のリリースを発表したいと思います!

0
0 362
記事 Megumi Kakechi · 2月 2, 2021 2m read

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


※こちらの方法は、ミラーリング、シャドウイング、またはその他のメカニズムを使用して複製したデーターベースを比較したい場合に利用します。

グローバル変数の比較には、DATACHECKユーティリティを利用できます。以下ドキュメントをご参照ください。
DataCheckの概要【IRIS】

DATACHECK ユーティリティの実行サンプルは、添付のPDFをご覧ください。
 

***

ルーチンの比較は、システムルーチン %RCMP か、管理ポータルを使用します。

以下は、管理ポータルでの使用方法になります。

  例えば、以下ルーチンがUSERネームスペースにあるとします。

test() public{
 quit "hello"
}

以下ルーチンがUSER2ネームスペースにあるとします。

test() public{
 quit "こんにちは"
}

 

以下は、USERネームスペースに接続したターミナルで %RCOM を実行した結果になります。

※ Compare: にルーチン名を記述し、 with: に比較したいルーチン名を記載します。
  別ネームスペースにあるルーチンを指定する場合は |"ネームスペース名"|ルーチン名.MAC で指定します。

USER>do ^%RCMP
 
Compare: comptest.
0
0 430
記事 Toshihiko Minamoto · 2月 2, 2021 9m read

この記事は Caché データベースの内部構造を説明したこちらの記事の続編です。 そちらの記事では、様々なブロックタイプ、それぞれのつながりやグローバルとの関係について説明しました。 純粋に理論を述べた記事でした。 ブロックツリーを視覚化するのに役立つプロジェクトを作成しましたので、この記事ではその仕組みを詳しく説明します。

0
0 331