記事 Hiroshi Sato · 2020年10月15日 1m read カウンタとして時間経過を正確に計測する方法 これはInterSystems FAQ サイトの記事です。 $ZHorologを使用します。 $ZHorologシステム変数はInterSystems製品を起動してからの経過時間(秒)を保持しています。 2点間の$ZHorolog値の差を取るだけで正確な経過時間を取得する事が出来ます。 詳しくは以下、ドキュメントをご参照ください。 $ZHorologについて【IRIS】 $ZHorologについて この他、秒の小数部を含む時間の日付と時間の取得には $NOW, $ZTimeStamp が使用できます。 #ObjectScript #Caché #Ensemble #InterSystems IRIS 1 0 0 197
記事 Hiroshi Sato · 2020年10月5日 9m read Caché .Net BindingアプリケーションをIRISの.Net Native APIを利用して書き換える方法(その3) ここで紹介するサンプルは、以下のGitHubから入手可能です。 IRIS .Netサンプル jpegファイルを読んで、IRISデータベースに格納するサンプル 上記GitHub上のinsertbinary\insertbinary\binread.csというファイル名です。 処理内容は、ファイルシステム上のjpeg形式のファイルを読み込んで、BLOB形式でIRISデータベースに格納します。 Caché ではADO.NET Managed Providerを使用して実装していましたが、それをIRISのInterSystems Managed Provider for .NETを使用して書き換えました。(名前が変わっていますが、ADO.NETに関しては、機能はほとんど同じです) 従って、厳密に言うと.Net Native APIを使用していませんが、コネクションオブジェクトの使用方法は共通なので、この部分は、Native APIを使用していると言うこともできます。 #InterSystems IRIS 0 0 0 428
記事 Hiroshi Sato · 2020年9月28日 1m read ルーチン一覧をプログラミングで取得する方法 これはInterSystems FAQ サイトの記事です。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 392
記事 Hiroshi Sato · 2020年9月28日 1m read クライアントのIPやマシン名を取得する方法 これは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になります。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 684
質問 Hiroshi Sato · 2020年8月26日 InterSystems製品のIsolation レベルについて教えてください。 #Caché #InterSystems IRIS 0 1 0 331
質問 Hiroshi Sato · 2020年8月26日 InterSystems IRIS Data Platformに関する本はありますか? #InterSystems IRIS 0 4 0 482
記事 Hiroshi Sato · 2020年8月26日 4m read Caché .Net BindingアプリケーションをIRISの.Net Native APIを利用して書き換える方法(その2) ここで紹介するサンプルは、以下のGitHubから入手可能です。 .NETサンプル Powershellから.NETインタフェースを呼び出すサンプル1 callclassmethod.ps1というファイル名です。 処理内容は、Caché (IRIS)のバージョン情報を表示するという非常に単純なものです。 Caché では.Net Bindingを使用していましたが、IRIS用に.Net Native APIで書き換えてみます。 以前のCaché のコードは以下の通りです。 #InterSystems IRIS 1 0 0 570
記事 Hiroshi Sato · 2020年8月18日 8m read Caché .Net BindingアプリケーションをIRISの.Net Native APIを利用して書き換える方法(その1) IRISでは.Net Bindingは非推奨機能となりました。 .Net Bindingを使ったアプリケーションは、IRISで提供されている.Net Native APIを利用して書き換えることができます。 ここでは、実際に書き換えをおこなったサンプルコードを示しながら、具体的な方法を説明していきます。 CacheDirect(VisM)エミュレーター OpenExchangeに登録しているVisMエミュレーターは、元々Cachéの.Net Bindingを使用して作成されました。 それをIRISの標準機能で動作可能にするために、.Net Native APIを使用して書き換えをおこないました。 以下にどのように書き換えを行ったかを順を追って説明します。 参照の変更 まず以前の参照を削除します。 Visual Studioのソリューションエクスプローラーの所で参照をクリックします。 #.NET #InterSystems IRIS Open Exchange app 0 0 0 602
記事 Hiroshi Sato · 2020年7月27日 13m read Cache Active X Bindingを利用したシステムをIRISに移行する方法 初めに Caché ActiveX Bindingは、Visual Basicでクライアント・サーバー型のアプリケーション開発を支援するためにInterSystemsが提供してきたツールです。 CacheActiveX.dllとCacheObject.dllの2種類のバージョンが存在します。 IRISでは、CacheActiveX.dllは動作可能です。 CacheObject.dllはサポートしていません。 いずれにしろ誕生から既に20年以上が経過した非常に古いテクノロジーでマイクロソフト社も非推奨の古い規格ですので、今後も使い続けるのは得策ではありません。 Caché ActiveX Bindingの機能はIRISに用意されている.Net Native APIと.Net Managed Providerの機能を使って書き換え可能です。 ここでは、Caché ActiveX Bindingを使って書かれていたサンプルアプリケーションをIRISで動作するように移植した作業内容について解説します。 このサンプルは、以下のgithubサイトから入手可能です。 #.NET #InterSystems IRIS 0 0 0 568
記事 Hiroshi Sato · 2020年7月2日 21m read VisM.OCX(Caché Direct)を利用したアプリケーションをIRISに移行する方法 初めに VisM.OCXはVisual Basicでクライアント・サーバー型のアプリケーション開発を支援するためにInterSystemsが提供してきたツールです。 誕生から既に20年以上が経過した非常に古いテクノロジーです。 OCX規格(ActiveXコンポーネント)は、マイクロソフト社が推進してきた規格ですが、やがてマイクロソフト社が後継となる.Net Frameworkをリリースし、その新しいフレームワークへの移行を強力に推進すると同時に、OCX規格は非推奨機能となっています。 一方で下位互換性のため、.Net Framework配下でOCXを動作可能とする仕組みが用意されており、結果としてOCXは、.Net Framework環境下で動作可能です。 従って、VisM.OCXも.Net対応のプログラミング言語C#やVB.NETからそのまま利用することができます。 しかしながら.Net Framework上で動作するとは言え、.Net Frameworkが用意する安全性の高い資源管理や強固なセキュリティ機能の恩恵を受けることができず、いわゆるマネージドコードとして動作できないという制約を抱えています。 #.NET #InterSystems IRIS #Open Exchange Open Exchange app 1 1 0 1.5K
記事 Hiroshi Sato · 2020年6月30日 17m read icmを利用してIRISクラスターを構成する方法 1. 初めに IRISでは、複数ノードでクラスターを構成し、ワークロードのスケールアウト、データボリュームのスケールアウトやトランザクション処理と分析処理を異なるノードで処理するマルチワークロードを実現しています。しかし、クラスターを構成するための設定は、ノード数が増えるにつれ煩雑になり、それらを人手の作業に全て委ねると設定ミス等を招きやすいといえます。また、クラスタの構成を処理負荷の増加に基づいて拡張する、または逆に縮小する、あるいは、データ冗長性を追加するためにミラーリングの構成を追加するなど構成変更は、想定するより多いかもしれません。しかもクラスタ毎に同様の設定を毎回行うとなると、人手による作業では、煩雑性だけでなく俊敏性に欠けると言わざるを得ません。 そこで、IRISには、クラスター構成作業を自動化する新しいツールICM(InterSystems Cloud Manager)が用意されました。 ここでは、ICMを使用したクラウド上でのIRIS構成の自動化の手順について説明します。 2. 事前に準備するもの #Artificial Intelligence (AI) #DevOps #Docker #クラウド #シャーディング #継続的インテグレーション #継続的デリバリー #InterSystems IRIS 0 0 0 308
お知らせ Hiroshi Sato · 2020年6月29日 製品サポート対応について 現時点のサポートバージョンについては、以下のドキュメントをご参照ください。 ミニマム・サポートバージョンについてこのリストに記述されていないバージョンに関しては、該当システムの保守契約があるという前提で、 メール、お電話等の通常のお問い合わせは受け付けます。 出来うる限りの対応を努力しますが、そのバージョンでの対応が出来ず、最新バージョンへのバージョンアップによる問題解決をご提案させていただく場合がございます。 インターシステムズは、以下の理由により、出来うる限り、最新バージョンへバージョンアップしていただくことをお勧めしております。 0 0 0 140
お知らせ Hiroshi Sato · 2020年6月29日 障害対応などの製品修正の提供方法について お客様のシステムで発生した障害に対処するための製品修正や社内のコードレビューで新たに発見された潜在的な問題に対応するための修正などは、問題の重要度(運用に支障をきたす、アプリケーションの動作に影響があるなど)に応じて、順次新しいメジャーバージョン、メンテナンスバージョンに取り込まれていきます。 一方で、新しいバージョンのリリースには所定の時間が必要ですので、そのリリース前に該当する修正だけを適用したいというご要望にお応えするためにInterSystemsではアドホックと呼んでいる応急パッチを提供することも可能です。 しかしながら、この対応はあくまでも個別の応急処置であり、その問題が対処されたバージョンがリリースされた後には、そのバージョンをご使用いただくことを推奨致します。 この様な個別対応を繰り返し行うと、システムの構成管理が複雑化し、管理上のコストが上昇し、思わぬシステムトラブルの遠因になることもあります。 特に複数のエンドユーザー様に同じソリューションを提供する様なケースでは、システムの提供時期等によりシステム構成が変わり、適用可能なオペレーティングシステム等が変化することに伴い、全ての適用パッチを見直す必要が出てくることも想定されます。 0 0 0 97
お知らせ Hiroshi Sato · 2020年6月29日 セキュリティ脆弱性に関する対応について InterSystemsは、新たなセキュリティの脆弱性が製品に見つかった場合、出来得る限り速やかにその脆弱性に対処するための修正を製品に行い、対応バージョンを出荷します。 また、InterSystemsは、セキュリティ脆弱性対応に関して、製品を修正して出荷するだけでは十分ではなく、InterSystemsの製品をお使いいただいている全てのお客様が、セキュリティ脆弱性に対応したバージョンをお使いいただくことによって、初めてそのセキュリティ脆弱性に起因するリスクを完全に排除できると考えています。 もちろん対処しなければ、必ずそのリスクが顕在化するというものでもありませんが、対処せずとも、問題がないということを100%保証することは極めて困難です。 また、セキュリティ脆弱性に対応したバージョンのご利用を推進するため、セキュリティ脆弱性への対策が施されていないバージョンに対する製品サポートはベストエフォートとなり、サポートバージョンと同等のサポート保証を得ることができない点、ご注意お願い致します。 以上のことをご理解いただき、新しいセキュリティ脆弱性に対応した製品バージョンがリリースされた際には、出来得る限り速やかにそのバージョンを導入することを推奨致します。 以下の関連情報もぜひご参照ください。 0 0 0 219
記事 Hiroshi Sato · 2020年6月29日 2m read ターミナルやAPIを使用してネームスペースやデータベースを作成する方法 Config.Configurationクラス、SYS.Databaseクラスのメソッドを使用して、ネームスペース・データベースの作成及び登録をターミナルから実行することができます。以下はデータベースファル/CacheDB/AAA/cache.datを作成し、構成ファイル(cache.cpf)にデータベース AAA、及び、ネームスペースAAAの登録を行う一連の実行例です。 *実行は、%SYSネームスペースで行って下さい。* #API #ObjectScript #システム管理 #ターミナル #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 3 0 704