記事
· 2021年2月24日 3m read
ECPはどのように使うのが正しい?

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

ECP機能紹介

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

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

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


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

0 0
0 302
InterSystems 開発者コミュニティは 17,760 名の優秀な開発者が参加しているコミュニティです
InterSystems IRIS のプログラマーが学習や知識の共有を行い、最新情報を入手し、共に楽しく成長できる場所です!

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 を使うメリット

0 0
0 165

弊社では、Cacheの時からExcel(VBA)を使用して、Cache側のクラス定義を抽出して画面に表示する、という開発サポートツールを作成して使用していました。

今回、IRISベースでの開発に移行するにあたって、このExcel(VBA)の動作確認をしました。

実施したことは、VBAのエディタ画面にあるメニューから「ツール」→「参照設定」へと進み、表示される選択リストの「CacheActiveX3.0[IRIS] Type Library」を選択しなおすことで、VBAのコードを変更することなく動作する事が確認できました。

このようなExcel(VBA)への対応はカットされたのではないかと不安がありましたが、流石ですね、ちゃんとカバーされていました。

なお、Type Libraryの名称が「CacheActiveX」で始まっていたのはご愛嬌でしょうか?Cache経験者であれば、問題ないと思いましたが、IRISから使い始めた方にとっては、少々困惑されるかも、と感じました。

Excel(VBA)でIRISに接続する事例がどの程度存在するのかは不明ですが、Excel(VBA)でIRISに接続できると便利だと感じています。今時ですから、ODBC を使った方が分かりやすいかも知れませんね。

1 8
0 594

本件、すでに改修済みである場合にはご容赦願います。

IRIS2020.1のテストをしています。

新規ネームスペース画面に「相互運用プロダクション用にネームスペースを有効化」というチェックボックスがあります。デフォルトでチェックされていましたので、試しにチェックを外してみました。下記のようなメッセージが表示されるのですが、日本語のメッセージになると有り難いなぁ、と感じました。

(メッセージ)

Are you sure you do not want this to be 運用相互プロダクションのために有効?

0 2
0 145
ディスカッション
· 2021年2月22日
IRISで困ること(是非、ご教授下さい)

今思えば、製品名に「M」が付いている時代は説明が楽でした。私が記憶している製品は、DTM(Data Tree Mumps:MS-DOS上で巨大なシステムを構築できていましたね)、DSM(Dec Standard Mumps)、MSM(マイクロネティック Standard Mumps あってますか?)、ISM(Intersystems Standard Mumps)、U-MUMPS(?)その他もあったかも知れませんが、M(Mumps)の実装環境です、という説明で何とかなっていました。すると、「へぇ~、MUMPSってまだあったんだね」という答えを頂くこともありました。これらの製品が統合されて「OpenM」となりましたが、まだ「M」の文字が入っており、MUMPSもSQL対応できるようになりました、などと説明していました。

ところが、製品名がCacheになり、趣が大きく変わり、製品の説明が難しくなりました。「データベースです。」→「RDBなの?」→「RDBとしても動作しますがKey-Value的で多次元データ管理もできます」→「OLAP用なの?」→「OLAP処理もできますが、基本はトランザクション処理用です」→「で、結局、何なの」という禅問答のような状況にはまって行きました。

0 7
0 337

皆さん、こんにちは。

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

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

手順

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

0 3
0 326

皆さんこんにちは!

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

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

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

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

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

1 2
0 1.1K

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

スペシャリストレベル以上の方へ、グローバルマスターズの新たな🎁賞品が加わりました!

➡️ Raspberry Pi 4 8GB + InterSystems IRIS Community Image セットの予約注文

このセットには、Ubuntu 18.04 64 bit + Docker + InterSystems IRIS Community Editionが入った64GB MicroSD カードと Raspberry Pi 4 8GB、 紅白ケースが入っています。

0 0
0 59

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

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

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

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

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

0 0
0 83

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

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

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

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

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

0 0
0 69

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

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

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

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

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

2 2
0 11.7K

jQuery($.getJSON と $.ajax)を使用した InterSystems IRIS データのJSON形式での取得方法をご紹介します。

以下にサンプルをご用意しました。

https://github.com/Intersystems-jp/REST_JSON_sample


サンプルには、次の内容が含まれます。

・REST + JSON
・REST + CORS

※それぞれ、$.getJSON と $.ajax で取得する方法を記載しています。

1 0
0 421

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

2/16-2/18に開催しましたインターシステムズの年次カンファレンス「InterSystems Japan Virtual Summit 2021」のオンデマンド配信を開始しました。3/19(金)までご視聴いただけます。

⚡️ ご視聴はこちらから ⚡️

テーマは「データプラットフォーム最前線 ニューノーマル時代に求められるアジリティとレジリエンス」です。
InterSystems IRIS 、IRIS for Health の最新技術情報を多くのセッションを通してお届け致します。ぜひご視聴ください。*本セミナーは日本語での開催となります。

0 0
0 104

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

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

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

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

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

1 0
0 192

皆さん、こんにちは!

InterSystems のグローバルマスターズ・アドボケート・ハブがディベロッパーコミュニティ (DC) と緊密につながっていることは、皆さんご存知ではないでしょうか。 DC に何らかの貢献をされると、グローバルマスターズのポイントを獲得できます。

そこで、 グローバルマスターズでポイントを獲得するベストな方法について簡単なガイドを作成しました。

2021/3/19: 投稿や翻訳に関するポイントが改定されましたので、修正しています。記事の投稿で得られるポイントはローンチ期間限定です。

グローバルマスターズでポイントを獲得する方法

開発者コミュニティへの記事の投稿

400

最初のコメント
コメントごと

300
30

最初に受け入れられた回答
受け入れられた回答ごと
5 / 10 / 25 / 50 回目の受け入れられた回答

1000
150
4,000 / 8,000 / 20,000 / 40,000

開発者コミュニティの記事を翻訳

100

1 / 5 / 10 / 25 / 50 回目の記事を投稿

1,500 / 7,500 / 15,000 / 40 000 / 75 000

1 / 5 / 10 / 25 / 50 回目の質問を投稿

500 / 2,000 / 5,000 / 15,000 / 30,000

OpenExhangeにアプリケーションを登録
ZPMアプリのボーナスポイント
1 / 5 / 10 / 25回目のアプリ登録

800
400
1,000 / 10,000 / 25,000 / 75,000

投稿した記事の閲覧数が 750以上 / 2,000 以上 / 5,000 以上 / 15,000 以上

600 / 2,500 / 7,000 / 20,000

開発者コミュニティの記事を読む
ビデオを見る
SNSで記事やビデオを共有

10
20
40

ベストプラクティスタグの付与された記事が1 / 2 / 3 / 4 / 5 件

1,000 / 3,000 / 7,000 / 10,000 / 15,000

Open Exchangeに登録したアプリが 50 / 100 / 250 / 500 / 1,000 回ダウンロード

2,500 / 5,000 / 7,500 / 12,500 / 25,000

InterSystems や InterSystems 製品 に関するレビュー記事を投稿

2,000 ~ 3,000

同僚を開発者コミュニティに招待する

600

Open Exchange に公開したアプリに関するビデオを作成する

3,000

*グローバルマスターズ・アドボケート・ハブへの登録後に掲載された記事・コメントのみ。

0 0
0 130

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

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

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

本記事を含む合計 3 回の連載を通じてご紹介する簡単なステップを使えば、すべてのグローバル (特殊なものは除く) を Caché のクラスにマッピングできるようになります。 特殊なものについては、私が長年に渡って集めた様々な種類のマッピングを zip ファイルにまとめて提供いたします。 これは新しいデータを対象としたステップではありません。グローバルがないという方は、デフォルトのストレージをお使いください。

3 1
0 284

目的

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

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

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

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

0 0
0 634

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

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

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

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

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

実行例)

0 0
0 342

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


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

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

0 0
0 126

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

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

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

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

0 0
0 228

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

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

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

Class ISJ.Class1 Extends (%Persistent, %Populate, %XML.Adaptor)
2 0
0 1.6K

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

InterSystems 開発者コミュニティでは、初めてIRIS を使われる方向けに、IRIS の概要をご紹介するウェビナーを開催致しました。そのウェビナーのアーカイブを公開致しました。

インターシステムズのデータプラットフォーム製品をご覧になるソフトウェアエンジニアの方向けに、弊社のエンジニアが 約 30分でその特徴をご紹介します。ぜひご覧ください。

アーカイブ配信はこちらから

ウェビナー(アーカイブ配信)「InterSystems IRIS データプラットフォーム 概要」

0 0
0 72

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

1 0
1 122

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

第10回のグランプリ・プログラミングコンテスト続報 📣 のテクノロジーボーナスについてご紹介します。

今回のコンテストでは、チームで開発した作品もご応募いただけます!ぜひコンテスト詳細ページもご確認ください!

0 0
0 70

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

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

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


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

0 0
0 120

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

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

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

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

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

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

0 0
0 341

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

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

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

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

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

0 0
0 246

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


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

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

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

***

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

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

0 0
0 260