記事 Hiroshi Sato · 8月 26, 2020 4m read

ここで紹介するサンプルは、以下のGitHubから入手可能です。

 

.NETサンプル

 

Powershellから.NETインタフェースを呼び出すサンプル1

 

callclassmethod.ps1というファイル名です。

 

処理内容は、Caché (IRIS)のバージョン情報を表示するという非常に単純なものです。

 

Caché では.Net Bindingを使用していましたが、IRIS用に.Net Native APIで書き換えてみます。

 

以前のCaché のコードは以下の通りです。

 

Add-Type -Path 'C:\InterSystems\Ensemble\dev\dotnet\bin\v4.0.30319\InterSystems.Data.CacheClient.dll'
$cc = New-Object InterSystems.Data.CacheClient.CacheConnection("localhost",1972,"USER","_SYSTEM","SYS")
$cc.Open()
$ms = New-Object InterSystems.Data.CacheTypes.CacheMethodSignature
$ms.Clear()
$ms.SetReturnType($cc,[InterSystems.Data.CacheTypes.
0
0 642
記事 Hiroshi Sato · 8月 18, 2020 8m read

IRISでは.Net Bindingは非推奨機能となりました。


.Net Bindingを使ったアプリケーションは、IRISで提供されている.Net Native APIを利用して書き換えることができます。

 

ここでは、実際に書き換えをおこなったサンプルコードを示しながら、具体的な方法を説明していきます。

 

CacheDirect(VisM)エミュレーター

 

OpenExchangeに登録しているVisMエミュレーターは、元々Cachéの.Net Bindingを使用して作成されました。


それをIRISの標準機能で動作可能にするために、.Net Native APIを使用して書き換えをおこないました。

 

以下にどのように書き換えを行ったかを順を追って説明します。

 

参照の変更

 

まず以前の参照を削除します。

 

Visual Studioのソリューションエクスプローラーの所で参照をクリックします。

 

表示されるInterSystems.Data.CacheClientを削除します。
(右クリックして削除を選ぶ)

 

次にプロジェクトメニューから参照の追加をクリックして、以下の2つのファイルを選択します。
(プロジェクトの.Net Frameworkバージョンに合わせて、それに対応するファイルを選択する
以下の例は、v4.5を選択)

 

c:\InterSystems\IRIS\dev\dotnet\bin\v4
0
0 664
記事 Hiroshi Sato · 7月 27, 2020 13m read

初めに

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サイトから入手可能です。

ADBKサンプル
 

ADBKアプリケーション

このサンプルアプリケーションは、20年以上も前にVB6サンプルとして作成されました。
 

VB6プロジェクトを.Netプロジェクトに変換
 

この作業は、VisM.

0
0 657
記事 Hiroshi Sato · 7月 2, 2020 21m read

初めに

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が用意する安全性の高い資源管理や強固なセキュリティ機能の恩恵を受けることができず、いわゆるマネージドコードとして動作できないという制約を抱えています。

上記の状況を整理した結果、InterSystems社は、IRISをリリースするに際し、VisM.

1
0 1653
記事 Hiroshi Sato · 6月 30, 2020 17m read

 

1. 初めに

 

IRISでは、複数ノードでクラスターを構成し、ワークロードのスケールアウト、データボリュームのスケールアウトやトランザクション処理と分析処理を異なるノードで処理するマルチワークロードを実現しています。
しかし、クラスターを構成するための設定は、ノード数が増えるにつれ煩雑になり、それらを人手の作業に全て委ねると設定ミス等を招きやすいといえます。
また、クラスタの構成を処理負荷の増加に基づいて拡張する、または逆に縮小する、あるいは、データ冗長性を追加するためにミラーリングの構成を追加するなど構成変更は、想定するより多いかもしれません。
しかもクラスタ毎に同様の設定を毎回行うとなると、人手による作業では、煩雑性だけでなく俊敏性に欠けると言わざるを得ません。

そこで、IRISには、クラスター構成作業を自動化する新しいツールICM(InterSystems Cloud Manager)が用意されました。

ここでは、ICMを使用したクラウド上でのIRIS構成の自動化の手順について説明します。

 

2. 事前に準備するもの

 

以下の作業を行うためには、InterSystemsが用意している2つのDocker Imageを事前に取得する必要があります。

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

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

 Set Directory="/CacheDB/AAA/"
 Set x=$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).
3
0 801