1 フォロワー · 372 投稿

InterSystems Ensembleはユーザー、プロセス、およびアプリケーションを記録的な速さで接続する使いやすい総合的な統合プラットフォームです。

詳細はこちらをご覧ください

ドキュメント

記事 Toshihiko Minamoto · 10月 14, 2020 9m read


こんにちは!

この記事では、IRIS から Caché、Ensemble、HealthShare など、InterSystems の製品で使用されるクラスやその構造を理解するのに役立つツールの概要を簡単にまとめています。

つまり、そのツールはクラスやパッケージ全体を視覚化し、クラス間の相対関係を示し、ディベロッパーやチームリーダーに必要な情報をすべて提供してくれるので、わざわざ Studio に移動してコードを調べる必要が省けます。

InterSystems の製品について情報を集めている方からたくさんのプロジェクトをレビューしている方、または単純に InterSystems Technology ソリューションの新機能に興味がある方まで、ObjectScript Class Explorer の概要をぜひお読みください!

0
0 411
記事 Megumi Kakechi · 9月 30, 2020 2m read

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

DBLatency の Warning メッセージは、ヘルス・モニタプロセスが定期的にデータベースからのランダム読み取りが完了するまでに要した時間(ミリ秒)を計測していて、設定されている閾値(1000 msec)を超えた場合に出力されます。

mm/dd/yy-18:31:15:060 (2932) 1 [SYSTEM MONITOR] DBLatency(c:\xxx\) Warning: DBLatency = 1510 ( Warnvalue is 1000).


上記例では、C:\xxx\IRIS.DAT(または C:\xxx\CACHE.DAT)へのディスク読み取り I/O に 1510 msec かかったことを示していて、メッセージ出力時のディスク I/O 応答速度が遅いことが考えられます。

ディスク I/O 応答速度が遅い原因としては、ディスク I/O 負荷が高いことが考えられます。

  • 大量のデータ登録や変更を行う処理が実施されていた。
  • 弊社製品以外のソフト(アンチウイルスソフト、バックアップソフト)が動作していた。
  • 弊社製品以外のアプリケーションによるディスク負荷など。
  • 仮想環境の場合に、他の仮想マシン(VM)で上記のような負荷の高い処理が行われ、その影響を受けていた。

その他、RAID構成のメンバディスクで障

0
0 473
記事 Hiroshi Sato · 9月 28, 2020 1m read

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

%Library.Routine (以降、%Routine)クラスのRoutineListクエリを使用して、プログラムからルーチンの日付やサイズを取得できます。

RoutineListクエリには、引数があり、検索対象となるルーチン名を前方一致や中間一致で指定できます。
(ワイルドカードには、* か ? を指定します。)

以下の例では、*.MAC を引数に指定して、検索をしています。

 SET tStatement ##class(%SQL.Statement).%New()
 DO tStatement.%PrepareClassQuery("%Routine","RoutineList")
 SET rs tStatement.%Execute("*.MAC",,0)
 DO rs.%Display()


ルーチン一覧の他に、クラス定義一覧も取得できます。

0
0 443
記事 Hiroshi Sato · 9月 28, 2020 1m read

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

言語バインディングなどのサーバクライアント型で接続した場合、クライアントのマシン名は以下の処理で取得できます。

set client=##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientNodeName

クライアントのIPアドレスは以下の処理で取得できます。

set ip=##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientIPAddress

* サーバーとクライアントが同一マシンの場合、上記で取得できるIPアドレスは、127.0.0.1になります。

0
0 761
記事 Megumi Kakechi · 9月 27, 2020 2m read

これはInterSystems FAQ サイトの記事です。
コンソールログ(message.log/cconsole.log)に、以下のようなログが出力される場合があります。

MM/DD/YY-hh:mm:ss:sss (pid) 2 CP: Pausing users because the Write Daemon has not shown
   signs of activity for xxx seconds. Users will resume if Write Daemon completes a
   pass or writes to disk (wdpass=yyyy).


このメッセージは、コントロールプロセスが出力しています。
このプロセスは、ライトデーモン(WriteDaemon)等の主要なシステムプロセスを監視しています。

この監視にて、ディスクI/O 負荷が上がったことなどにより、ライトデーモンの書き込み処理が一定期間(xxx秒間)進んでいない場合、データベースキャッシュ上にダーティなバッファが増えるのを抑制する為に、ユーザプロセスのデータベースへの書き込みアクセスをサスペンドします。
このメッセージ出力後、ライトデーモンの活動が復帰するまでユーザプロセスの書き込みアクセスは待ち状態になります(ハング状態になります)。
その際、アプリケーションの応答時間への影響が発生しま

0
0 439
記事 Hiroshi Sato · 6月 29, 2020 2m read

Config.Configurationクラス、SYS.Databaseクラスのメソッドを使用して、ネームスペース・データベースの作成及び登録をターミナルから実行することができます。
以下はデータベースファル/CacheDB/AAA/cache.datを作成し、構成ファイル(cache.cpf)にデータベース AAA、及び、ネームスペースAAAの登録を行う一連の実行例です。 *実行は、%SYSネームスペースで行って下さい。*
 

Set Directory="/CacheDB/AAA/"Setx=$ZF(-100, "/shell", "mkdir", Directory)
 Set db=##Class(SYS.Database).%New()
 Set db.Directory=Directory
 Set status=db.%Save()
 Set DBName="AAA"Set status=##class(Config.Configuration).AddDatabase(DBName,Directory)
 Set NSName=DBName
 Set status=##class(Config.Configuration).AddNamespace(NSName,DBName)


リモートデータベースからネームスペースを作成する場合は、以下のデータ

3
0 797
記事 Mihoko Iijima · 9月 16, 2020 2m read

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

InterSystemsでは、パフォーマンスの影響や動作不調を避けるために、データベースファイルを含む主要なコンポーネントをウイルススキャンの対象から除外していただくことを推奨しております。

具体的には、アンチウイルスソフトのスキャン対象から、以下のファイルを除外してください。

  • データベースファイル(IRIS.DAT/CACHE.DAT)
  • <インストールディレクトリ>/bin 内の実行可能ファイル(EXE) 
  • ライトイメージジャーナル(WIJ)
  • ジャーナルディレクトリ内のジャーナルファイル

上記ファイルが、アンチウイルスソフトで除外設定されていない場合、「SERIOUS DISK WRITE ERROR...」のようなエラーが発生する場合があります。

このエラーは、実際にハード的なディスク障害が原因であることもありますが、それ以外にアンチウィルスソフトのウィルスチェックなどによって、ディスクへの書き込みが阻止された場合にも起こります。

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

インターシステムズ製品と連係して動作するようにサードパーティ・ソフトウェアを構成する方法【IRIS】
インターシステムズ製品と連係して動作するようにサードパーティ・ソフトウェアを構成する方法

0
0 449
記事 Mihoko Iijima · 9月 16, 2020 1m read

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

サーバ側ロジックの記載に使用する ObjectScript でのエラーが発生した場合の対処方法については「ObjectScriptでエラーが発生したら」にまとめています。

ぜひご参照ください!
 

0
0 272
記事 Shintaro Kaminaka · 8月 26, 2020 23m read

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

パート 3. 付録

InterSystems IRIS OAUTH クラスの説明

この連載の前のパートでは、InterSystems IRIS を OAUTH クライアントおよび認可/認証サーバー(OpenID Connect を使用)として機能するように構成する方法について学びました。 この連載の最後のパートでは、InterSystems IRIS OAuth 2.0 フレームワークを実装するクラスについて説明します。 また、一部の API クラスのメソッドの使用例についても説明します。

OAuth 2.0 を実装する API クラスは、目的に応じて 3 種類のグループに分けることができます。 すべてのクラスは %SYS ネームスペースで実装されています。 これらの一部は(% package 経由で)公開されていますが、一部は非公開になっており、開発者が直接呼び出すことはできません。

0
0 402
記事 Shintaro Kaminaka · 8月 20, 2020 23m read

作成者:Daniel Kutac(InterSystems セールスエンジニア) 注意: 使用されている URL に戸惑っている方のために。*元の連載記事では、dk-gs2016 と呼ばれるマシンの画面を使用していました。 新しいスクリーンショットは別のマシンから取得されています。 *WIN-U9J96QBJSAG という URL は dk-gs2016 であると見なしても構いません。

パート2. 認可サーバー、OpenID Connect サーバー

この短い連載の前のパートでは、OAUTH[1] クライアントとして機能する単純な使用事例について学びました。 今回は私たちの経験をまったく新しいレベルに引き上げましょう。 InterSystems IRIS がすべての OAUTH の役割を果たす、より複雑な環境を構築します。 クライアントの作成方法はすでに分かっていますので、認可サーバーだけでなく、OpenID Connect[2] プロバイダーにも注意を向けましょう。 前のパートと同様に、環境を準備する必要があります。 今回はより多くの変動要素があるため、より注意を要します。

具体例を見る前に、OpenID Connect について少し説明する必要があります。

0
0 472
記事 Mihoko Iijima · 7月 6, 2020 18m read

InterSystemsのテクノロジースタックを使用して独自のアプリを開発し、顧客側で複数のデプロイを実行したいとします。 開発プロセスでは、クラスをインポートするだけでなく、必要に応じて環境を微調整する必要があるため、アプリケーションの詳細なインストールガイドを作成しました。この特定のタスクに対処するために、インターシステムズは、%Installer(Caché/Ensemble)という特別なツールを作成しました 。 続きを読んでその使用方法を学んでください。

%Installer

このツールを使用すると、インストール手順ではなく、目的のCaché構成を記述するインストールマニフェストを定義できます。作成したい Caché 構成を記述します。必要な内容を記述するだけで、環境を変更するために必要なコードが自動的に生成されます。
したがって、マニフェストのみを配布する必要がありますが、インストール・コードはすべてコンパイル時に特定の Caché サーバ用に生成されます。

マニフェストを定義するには、ターゲット構成の詳細な説明を含む新しいXDataブロックを作成してから、このXDataブロックのCaché ObjectScriptコードを生成するメソッドを実装します(このコードは常に同じです)。

0
0 585
記事 Toshihiko Minamoto · 4月 21, 2020 28m read

Mirroring 101 

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

ただし、Cachéミラーの展開にはかなり大がかりな計画が必要であり、さまざまな手順が要求されます。 また、他の重要なインフラストラクチャコンポーネントと同様に、運用中のミラーには継続的な監視とメンテナンスが必要とされます。 

この記事はよくある質問のリスト、あるいはミラーリングの理解と評価ミラーの計画ミラーの設定ミラーの管理という簡単な一連のガイドとして利用することができます。 それぞれの回答には、各トピックの詳細なディスカッションへのリンクと各タスクの段階的手順へのリンクが含まれています。 

ミラーを導入する計画を始める準備ができたら、まずはCaché高可用性ガイドの「ミラーリング」の章のミラーリングのアーキテクチャと計画セクションから必ず読み始めるようにしてください。 

よくある

0
0 1065