記事 Megumi Kakechi · 2020年10月29日 1m read InterSystems IRIS で取り扱える変数の最大文字数 これはInterSystems FAQ サイトの記事です。 1変数に最大 3,641,144 文字まで格納できます。 この制限は、InterSystems IRIS上で取り扱う全ての文字列が対象となるため、ローカル変数やメソッドの引数・戻り値も対象となります。 最大文字について詳しくは、以下ドキュメントをご参照ください。 最大文字列長について #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 306
記事 Hiroshi Sato · 2020年10月29日 1m read 起動時に、 CTELNETD startup error: bind(sock) failed エラーが出てスタートアップに失敗する場合の対処法 これはInterSystems FAQ サイトの記事です。 起動時に、 CTELNETD startup error: bind(sock) failed Telnet23ポートは別ソフトでは使用していません。というエラーが発生する場合の対処法です。 現在、InterSystems製品と以下のソフトの組み合わせで、この現象が発生することがわかっています。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 490
記事 Hiroshi Sato · 2020年10月29日 1m read SQLログイン認証の際にログを出力する方法 これはInterSystems FAQ サイトの記事です。 以下のようにユーザ名、パスワードを引数に持ち、認証が成功した場合はユーザ名、失敗したときは""(NULL)を返すルーチン(SecTest^SecTest)を作成し、標準の認証システムを書き換えることができます。 SecTest(user,pass) // user1のパスワードがuser1の場合、認証OKのログを作成 if user="user1",pass="user1" { set ^sqllog($i(^sqllog))="認証OK;"_$horolog_";"_user quit user } // 認証できなかった場合、認証NGのログを作成 set ^sqllog($i(^sqllog))="認証NG;"_$horolog_";"_user quit "" #認証 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 159
記事 Hiroshi Sato · 2020年10月29日 1m read ローカル変数の値がOREFかどうかを判定する方法 これはInterSystems FAQ サイトの記事です。 $IsObject()を使用して判別できます。 調べたい変数をvとすると、 $IsObject(v)=1 // vはOREF$IsObject(v)=0 // vはOREFではない$IsObject(v)=-1 // vはOREFだが、有効なオブジェクトを指していない となります。 vが未定義の場合は、$IsObject(v)はUNDEFINEDエラーとなりますので、ご注意ください。 UNDEFINEDエラーを防止するには、次のように$Getを使用することをお勧めします。 $IsObject($Get(v)) #ObjectScript #Caché #InterSystems IRIS 0 0 0 302
記事 Toshihiko Minamoto · 2020年10月28日 12m read $Sequence 関数について この記事では $Increment 関数と $Sequence 関数を比較します。 まずは、$Increment 関数を聞いたことがないという方のために、その概要を説明いたします。 $Increment は、CachéObjectScript の関数で、引数をアトミックに 1 ずつインクリメントし、結果の値を返します。 $Increment にパラメーターとして渡せるのはグローバル変数ノードとローカル変数ノードのみで、任意の式を渡すことはできません。 $Increment は連続する ID の割り当てに多用されます。 その場合、$Increment のパラメーターにはグローバルノードがよく使用されます。 $Increment を使用するプロセスには確実に任意の ID が割り当てられます。 #ObjectScript #Caché 0 0 0 298
記事 Toshihiko Minamoto · 2020年10月27日 14m read Cachéでの照合 秩序(順序)はだれにとっても必要であるが、皆が同じように秩序(順序)を理解しているわけではない (ファウスト・セルチニャーニ) 免責事項: この記事では、例としてロシア語とキリル文字を使用しますが、英語以外のロケールでCachéを使用するすべての方に関連のある記事です。 この記事は主にNLS照合について言及しており、SQL照合とは異なることに注意してください。 SQL照合(SQLUPPER、SQLSTRING、照合なしを意味するEXACT、TRUCATEなど)は、値に明示的に適用される実際の関数であり、その結果はグローバルサブスクリプトに明示的に格納されることがあります。 サブスクリプトに格納されると、これらの値は当然、有効なNLS照合(「SQLおよびNLS照合」)に従うことになります。 #ObjectScript #SQL #グローバル #Caché 0 0 0 518
記事 Mihoko Iijima · 2020年10月27日 4m read 【はじめてのInterSystems IRIS】Interoperability(相互運用性)を使ってみよう! 皆さん、こんにちは! InterSystems IRIS には [Interoperability(相互運用性)]というメニューがあります。 このメニューには、システム統合を簡単に作成できる仕組み(アダプタ、レコードマップ、BPM、データ変換など)が用意されていて、異なるシステムを簡単に接続することができます。 例えば、普段繋がっていないシステムを繋げるために相手の仕様に合わせてデータを受信(または送信)したり、データ送信前に別システムから情報を取得して追加したり、データベース(IRIS でもそれ以外でも)から情報を取得したり更新したり、データ中継の流れの中に様々な処理を含むことができます。 #REST API #初心者 #相互運用性 #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 2 1.3K
記事 Mihoko Iijima · 2020年10月27日 4m read 【はじめてのInterSystems IRIS】Interoperability(相互運用性):動作の仕組みを知ろう この記事はこちらの投稿の続きの内容です。 この記事では、Interoperability(相互運用性)メニューを利用してシステム統合を行う際、どのような仕組みで動作しているのかについて解説します。 図の左側は、外部システムから送信される情報の受け入れ窓口です。 情報の受信方法としては、ファイルを読むために指定ディレクトリを一定間隔で監視したり、データベースへ定期的に問い合わせを行ったり、入力を待機したり、または他システムのアプリケーションから直接呼び出して渡してもらうなど、様々な方法を用意しています。 #初心者 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 981
記事 Mihoko Iijima · 2020年10月27日 7m read 【はじめてのInterSystems IRIS】Interoperability(相互運用性):プロダクションとは この記事はこちらの投稿の続きの内容です。 前回の記事では、Interoperability(相互運用性)メニューを利用してシステム統合を行う際、どのような仕組みで動作しているのかについて解説しました。 今回の記事では、Interoperability(相互運用性)メニューを利用してでシステム統合を行うためにどのような開発を行うのか、について解説します。 最初に、どんな流れを作りたいのか?を考えながら、以下の内容を作成していきます。 #初心者 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1.1K
記事 Mihoko Iijima · 2020年10月27日 4m read 【はじめてのInterSystems IRIS】Interoperability(相互運用性):メッセージ この記事はこちらの投稿の続きの内容です。 前回の記事では、プロダクションとは?について確認しました。また、サンプルコードを動かしながらプロダクションに流れるメッセージの中身をトレース画面で確認しました。 今回は記事では、システム統合を行うための必要な開発内容の中から、コンポーネント間のデータ送受信に使用される メッセージ について、作成するときの考え方や定義方法を確認していきます。 #初心者 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 585
記事 Mihoko Iijima · 2020年10月27日 12m read 【はじめてのInterSystems IRIS】Interoperability(相互運用性):コンポーネントの作成(ビジネス・オペレーション) この記事はこちらの投稿の続きの内容です。 前回の記事では、コンポーネント間のデータ送受信に使用される メッセージ について、作成するときの考え方や定義方法を確認しました。 今回の記事では、コンポーネントの作成方法の中から、ビジネス・オペレーションの作成について解説します。 #ビジネスオペレーション #初心者 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 894
記事 Mihoko Iijima · 2020年10月27日 8m read 【はじめてのInterSystems IRIS】Interoperability(相互運用性):コンポーネントの作成(ビジネス・プロセス) この記事はこちらの投稿の続きの内容です。 前回の記事では、システム統合に必要なコンポーネントの中から、ビジネス・オペレーションの作成について解説しました。 今回の記事では、確認した2つのビジネス・オペレーションを順番を守って呼び出しを行うビジネス・プロセスの作成について解説します。 #ビジネスプロセス(BPL) #初心者 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 717
記事 Mihoko Iijima · 2020年10月27日 10m read 【はじめてのInterSystems IRIS】Interoperability(相互運用性):コンポーネントの作成(ビジネス・サービス) この記事はこちらの投稿の続きの内容です。 前回の記事では、システム統合に必要なコンポーネントの中から、プロダクション内の処理の調整役となるビジネス・プロセスの作成について解説しました。 今回の記事では、プロダクションの情報入力窓口である、ビジネス・サービスの作成について解説します。 #REST API #ビジネスサービス #初心者 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 859
記事 Akio Hashimoto · 2020年10月25日 5m read Dockerを利用した開発環境下でのIRISへのSSL接続方法 Docker環境下でWebアプリのコンテナとIRISのコンテナをRESTfulAPIで連携した時の SSL化方法。 ちなみにこの方法で管理ポータル等もSSL通信が可能になります。 参考サイト: * https://one-it-thing.com/63/ 構成 Webプリケーション -> Vue.js (http://192.168.10.100:3014) REST ful API -> IRISのDockerコンテナ (http://192.168.10.100:9092) ※ Vue.jsはローカル上でホットリロードを利用した開発環境。 ※ IRISはローカル上に構築したDockerコンテナ下で稼働中。 今回、IRISをDockerコンテナで稼働させる方法は割愛します。 #Docker #REST API #SSL #開発環境 #InterSystems IRIS 2 2 0 1.3K
質問 Akio Hashimoto · 2020年10月19日 httpsから%RESTの利用が上手くいかない Vue.jsのホットリロードを使った環境においてWebアプリケーションを開発しています。Webアプリケーションから開発環境と同じローカルPCにあるDocker上のIRISへ%RESTを使用しRESTfulAPI通信をしていますが、Webアプリケーションをhttpsで利用した場合は、httpsからhttpへはAPI通信ができないので、間にプロキシサーバーを立ててリダイレクトしないといけないと思います。しかし上手くいきません。 ○ npm run serve で起動したWebアプリ http -> httpでIRISの%RESTを呼び出せる。 × npm run serve -- --https で起動した場合 https -> http は呼び出しできない。 https -> プロキシサーバ(https-httpへリダイレクト)-> httpでIRISの%RESTが呼びさせるはず。 環境 Webアプリ:Vue.js 例)https://localhost:3014/ #Docker #REST API #SSL #InterSystems IRIS 0 7 0 1.2K
記事 Megumi Kakechi · 2020年10月25日 2m read InterSystems IRIS が正常に動作していることを Windows から確認する際の監視対象プロセス名 これは、InterSystems FAQサイトの記事です Windowsでは、以下イメージ名のプロセスを監視対象としてください。 [irisdb.exe]重要なシステムプロセスが含まれています。※ 監視対象にすべき重要なシステムプロセスを確認する方法は、添付をご参照ください。 [IRISservice.exe]IRISインスタンスをサービス経由で扱う為のプロセスになります。このプロセスが終了すると、IRISインスタンス自体には直接影響はありませんが、IRIS の停止(サービスの停止)ができなくなります。 #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 2K
記事 Mihoko Iijima · 2020年10月25日 4m read IRIS の開始に失敗し messages.log に ^STURECOV を使用して復旧するように記載されている場合の操作方法 これはInterSystems FAQ サイトの記事です。 IRIS の開始ができず、messages.log に以下のようなエラーが出力された場合の対処方法についてご説明します。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 653
記事 Mihoko Iijima · 2020年10月25日 2m read %Net.HttpRequest クラスを使用して https のアクセスでエラーが発生したときに確認したいこと これはInterSystems FAQ サイトの記事です。 %Net.HttpRequest クラスの SSLConfiguration プロパティに SSL/TLS 構成の「クライアント」構成名が指定されているかご確認ください。 %Net.HttpRequest クラスを使用して、https の url にアクセスするためには、以下のドキュメントに記載されている SSL/TLS 構成 の「クライアント」構成を作成して指定した名前を SSLConfiguration プロパティに指定する必要があります。 SSL/TLS構成のクライアント構成方法 #SSL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 453
InterSystems公式 Toshihiko Minamoto · 2020年10月22日 Object extension for VS codeがバージョン1.0になりました 開発者コミュニティの皆さん、こんにちは。 再度ここでObjectScript extension for Visual Studio Codeについてお話しできること、ならびに今回、バージョン 1.0 のリリースを発表することに興奮しています! 開発者コミュニティはInterSystems と共に前例のない方法でこの製品を提供するために力を合わせてきました。開発者の生産性に非常に重要なツールというものは、初期の段階からコミュニティによるテスト、フィードバック、ソースコードによって構築されるのは当然のことです。 新機能 このリリースのほとんどの機能は 0.9 から存在しており、前のこの投稿でアナウンスされていました。これらの機能はすべて強化され、洗練されました。 #InterSystems公式 Open Exchange app 0 0 0 315
記事 Toshihiko Minamoto · 2020年10月22日 7m read JSONの機能強化 InterSystems IRIS 2019.1は公開されてからしばらく経ちますが、気づかれていない可能性のある、JSONの処理の強化機能について説明したいと思います。 最新のアプリケーションを構築する際、特にRESTエンドポイントを操作する際は、JSONをシリアル化形式として扱うことが重要です。 #JSON #REST API #XML #オブジェクトデータモデル #InterSystems IRIS 0 0 0 531
記事 Tomohiro Iwamoto · 2020年10月22日 12m read VSCodeでのソースコード管理について リモートや在宅での勤務が一般化しつつあります。 そのため、今までの集中型、オンサイトの開発体制を見直し、分散型の開発体制への移行を進めておられるユーザさんも多いのではないかと思います。 VSCodeを使用したIRISアプリケーションの開発が、コミュニティーを中心に広まり始めて久しいですが、Gitとの相性が良いこの開発ツールが今後さらに浸透していくことは間違いありません。あちらこちらで、その使いまわし方が語られていますが、ここでは、ソースコントロールとの関連を中心にご紹介したいと思います。 ObjectScript Extensionの使い方の基本については、こちらやこちらをご覧ください。 VSCode InterSystems ObjectScript Extensionのプロダクションリリース(V1.0.x)の配布が始まりました。 #Git #GitHub #VSCode #スタジオ #変更管理 #相互運用性 #継続的インテグレーション #開発環境 #InterSystems IRIS #InterSystems IRIS for Health 2 0 1 3K
記事 Toshihiko Minamoto · 2020年10月19日 5m read SQL パフォーマンスリソース SQL パフォーマンスリソース SQL のパフォーマンスについて語るとき、最も重要なトピックとして取り上げられるのが「Indices」、「TuneTable」、「Show Plan」の 3 つです。 添付の PDF にはこれらのトピックに関する過去のプレゼン資料が含まれていますので、それぞれの基礎を一度に確認していただけます。 当社のドキュメンテーションでは、これらのトピックの詳細に加え、SQL パフォーマンスの他のトピックについてもカバーしておりますので、下のリンクからお読みください。 eラーニングをご利用いただくと、これらのトピックをもっと深く理解していただけます。 また、開発者コミュニティによる記事の中にも SQL パフォーマンスについて書かれたものが複数ありますので、関連するリンクを下に記載しております。 下に記載する情報には同じ内容が多く含まれています。 SQL パフォーマンスにおける最も重要な要素を以下に紹介します。 利用可能なインデックスの種類 あるインデックスの種類を他の種類の代わりに使用する TuneTable がテーブルに集める情報とそれが Optimizer に対して意味する内容 Show Plan を読んでクエリの善し悪しを深く理解する方法 #SQL #パフォーマンス #InterSystems IRIS 0 0 0 198
記事 Hiroshi Sato · 2020年10月19日 3m read クラス定義に基づき作成されたデータを別システムに移行する方法 これはInterSystems FAQ サイトの記事です。 2つのステップにて作業します。 クラス定義の移行 クラス定義を別システムへ移行するため、XML形式またはUDL形式(拡張子.cls)のファイルにエクスポートします。 スタジオでのエクスポート手順は以下の通りです。 [ツール] > [エクスポート] > [追加]ボタンで移行したいクラスを複数選択 > [ローカルファイルにエクスポート]にチェック > ファイルの種類がXMLであることを確認し、ファイル名を入力し、[OK] この後、別システム上のスタジオで、エクスポートしたXML、UDLファイルをインポートします。 この手順で、クラス定義は移行できます。 スタジオでのインポート手順は以下の通りです。 [ツール] > [ローカルからインポート] > 上記手順で出力したXML、UDLファイルを指定します。 #システム管理 #Caché #Ensemble #InterSystems IRIS 0 0 0 320
記事 Mihoko Iijima · 2020年10月15日 5m read サーバ側ロジック(ObjectScript)で SQL を実行するときの DATE 型や TIME 型カラムの操作方法 これはInterSystems FAQ サイトの記事です。 DATE 型は InterSystems 製品のデータ型の %Date に、TIME 型は %Time に対応しています。 %Date は内部日付(特殊変数 $Horolog のカンマ区切り1番目)、%Time は内部時刻($Horolog のカンマ区切り2番目)を登録するタイプであるため、サーバ側ロジックでは表示モードを切り替えない限り、内部(論理)形式の値が使用されます。サーバ側ロジックで内部日付・時刻の表示形式を変更する方法は、操作方法により異なります。 以降の実行例では、Sample.Person テーブルを使用して解説します。(コマンド実行例は SELECT 文で記載していますが、更新文に対しても同様に記述できます。) #ObjectScript #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 786
記事 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 178
記事 Mihoko Iijima · 2020年10月15日 6m read 誤って削除したグローバルを復旧させる方法 これはInterSystems FAQ サイトの記事です。 この記事では「グローバルを誤って削除してしまった!」という場合の対処方法をご紹介します。 誤って削除してしまった特定のグローバルを復旧するためには、バックアップファイルとジャーナルを使用します。復旧は、^ZJRNFILTユーティリティによるジャーナルリストアで条件を指定してジャーナルレコードをリストアする方法で行います。この方法で、ある時点のデータベースのバックアップに対して、削除が含まれるジャーナルレコードについて特定グローバルを削除するまでのものを適用することができます。 ^ZJRNFILTユーティリティの詳細については、以下のドキュメントをご参照ください。 #ObjectScript #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 474
記事 Toshihiko Minamoto · 2020年10月14日 9m read ObjectScript Class Explorer - UML 記法を使って ObjectScript クラスをみる こんにちは! この記事では、IRIS から Caché、Ensemble、HealthShare など、InterSystems の製品で使用されるクラスやその構造を理解するのに役立つツールの概要を簡単にまとめています。 つまり、そのツールはクラスやパッケージ全体を視覚化し、クラス間の相対関係を示し、ディベロッパーやチームリーダーに必要な情報をすべて提供してくれるので、わざわざ Studio に移動してコードを調べる必要が省けます。 InterSystems の製品について情報を集めている方からたくさんのプロジェクトをレビューしている方、または単純に InterSystems Technology ソリューションの新機能に興味がある方まで、ObjectScript Class Explorer の概要をぜひお読みください! #ObjectScript #オブジェクトデータモデル #ツール #視覚化 #Caché #Ensemble #HealthShare #InterSystems IRIS #Open Exchange Open Exchange app 1 0 0 350
お知らせ Makiko Kokubun · 2020年10月13日 InterSystems Virtual Summit 2020 のお知らせ 開発者のみなさん、こんにちは! インターシステムズは、10/20-11/5 にかけて、年次カンファレンス InterSystems Virtual Summit 2020 をオンラインで開催いたします。 ⚡️ 現在、事前登録受付中です! ⚡️ Virtual Summit では、IT技術に詳しい経営層、技術マネージャ、開発者、システムインテグレータの方など、全ての方にとって価値のある内容をお届けします。 今年はすべてのセッションに無料でご参加いただけます! 時間は日本のタイムゾーンに合わせて開催いたします。 #イベント #その他 4 0 0 111
記事 Megumi Kakechi · 2020年10月13日 4m read Java から InterSystems IRIS のクラスメソッドを呼び出す方法 これはInterSystems FAQ サイトの記事です。InterSystems IRIS Native API for Java のメソッドに、IRIS クラスメソッドを呼び出す classMethod***() があります。ObjectScript メソッドおよび関数の呼び出し こちらを使用することで、InterSystems IRIS Native API for Java から InterSystems IRIS のクラスメソッドを呼び出すことが可能です。以下、使用方法について簡単なサンプルをご紹介します。 *SampleNativeAPI .java #Java #ヒントとコツ #InterSystems IRIS 1 0 0 300
記事 Toshihiko Minamoto · 2020年10月13日 8m read InterSystemsデータプラットフォームのGraphQL GraphQLは、クライアントとサーバー間のミドルウェア層として機能する、データ構造とデータアクセスのメソッドを選択するための標準です。 GraphQLについて聞いたことがない方は、こことこことここにある、有用なオンラインリソースをご覧ください。 この記事では、InterSystemsテクノロジーに基づいて、プロジェクトでGraphQLを使用する方法を説明します。 #API #InterSystems IRIS 0 0 0 346