記事 Toshihiko Minamoto · 2020年12月4日 5m read SOAP(Web)サービスでの OAuth2 の使用 みなさん、こんにちは。 数日前、SOAP(Web)サービスを使用して、REST に基づく新しいアプリケーション API と同じ認証を使用できるように、既存のレガシーアプリケーションを拡張したい、とお客様から伺いました。 新しいアプリケーションは OAuth2 を使用しているため、課題は明らかでした。SOAP リクエストを含むアクセストークンをどのようにしてサーバーに渡すか、ということです。 Google でしばらく調べてみたところ、SOAP エンベロープにヘッダー要素を追加してから、アクセストークンを検証するために必要なことを Web サービス実装が実行できるようにするのが 1 つの実現方法であることがわかりました。 #SOAP #セキュリティ #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 590
記事 Mihoko Iijima · 2020年10月27日 8m read 【はじめてのInterSystems IRIS】Interoperability(相互運用性):コンポーネントの作成(ビジネス・プロセス) この記事はこちらの投稿の続きの内容です。 前回の記事では、システム統合に必要なコンポーネントの中から、ビジネス・オペレーションの作成について解説しました。 今回の記事では、確認した2つのビジネス・オペレーションを順番を守って呼び出しを行うビジネス・プロセスの作成について解説します。 #ビジネスプロセス(BPL) #初心者 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 590
記事 Mihoko Iijima · 2020年7月6日 14m read Amazon EKSを使用したシンプルなIRISベースのWebアプリケーションのデプロイ 前回はシンプルなIRISアプリケーション をGoogleクラウドにデプロイしました。 今回は、同じプロジェクトを Amazon Web Services(アマゾンウェブサービス) のElastic Kubernetes Service (EKS)を使って、デプロイします。 #AWS #Kubernetes #クラウド #コンテナ化 #デプロイ #InterSystems IRIS #InterSystems IRIS for Health #Open Exchange 0 0 0 590
記事 Toshihiko Minamoto · 2021年7月6日 8m read Web Serviceビジネスオペレーション – 応答タイムアウト時の動作 Webサービスを呼び出す際、ビジネスオペレーションには、規定時間内に応答が返されない場合の動作を制御する設定があります。 #SOAP #ビジネスオペレーション #Ensemble 0 0 0 589
記事 Megumi Kakechi · 2021年8月5日 7m read しばらく(1ヶ月以上)使用していなかった環境にログインする方法 これは InterSystems FAQ サイトの記事です。 あるユーザが「不活動上限」を超える期間にわたって、一度もInterSystems製品にログインしなかった場合、そのユーザは無効になりログインできなくなります。 なお、この設定の初期値は、インストール時の初期セキュリティによって変わります。「通常」以上では既定値は90日間、「最小」では0日に設定されています。ユーザを有効に変更することにより再びログインすることができるようになります。 2007.1以降であれば%Allを持つユーザが最低1つは残っていますので、そのユーザでログインできればそこから設定を変更します。(%Allを持つユーザは、インストール時のセキュリティ設定によって異なります) 使用できるものがわからないときは、InterSystems製品を緊急アクセスモードで起動してログインします。 <緊急アクセスモードからの復元方法> #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 588
記事 Toshihiko Minamoto · 2020年11月3日 123m read Caché における正規表現の使用について 1.本記事の内容 Caché パターンマッチングと同様に、Caché では正規表現を使ってテキストデータのパターンを特定することができますが、後者の場合はより高い表現力を利用できます。 本記事では正規表現を簡単に紹介し、Caché での活用方法について解説します。 本記事の情報は、主に Jeffrey Friedl 氏著作の「Mastering Regular Expressions (詳説 正規表現)」に加え、もちろん Caché のオンラインドキュメンテーションなど、様々なリソースを基に提供しています。 本記事は正規表現のあらゆる可能性や詳細について解説することを意図したものではありません。 更なる詳細にご興味のある方は、チャプター 5 に記載のソースを参照してください。 オフラインで読む場合は、PDF バージョンをダウンロードしていただけます。 #ObjectScript #チュートリアル #Caché #InterSystems IRIS 0 0 1 588
記事 Mihoko Iijima · 2021年3月19日 2m read Webゲートウェイ/CSPゲートウェイ管理のデフォルトパラメータで設定できる各タイムアウト値について これは InterSystems FAQ サイトの記事です。 各タイムアウト値の意味は以下の通りです。 (1) [サーバ応答タイムアウト] この設定時間内に、IRIS/Caché での処理(ルーチンやクエリの実行)が終わらない場合は、ブラウザ側にエラーを返します。 例) この値が60秒の時に、ルーチン/メソッド/クエリ実行に 90秒 かかる場合にはエラーになります。 (2) [キューイングされたリクエストのタイムアウト] CSP/REST で設定する IRIS/Caché サーバごとに、CSP/REST を同時実行できるプロセス数を制限できます。 #CSP #REST API #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 586
記事 Tomohiro Iwamoto · 2020年8月13日 7m read AWS上にて稼働中のInterSystems IRISの管理ポータルとの通信を暗号化(https)する方法 本記事について InterSystems IRISは、管理ポータルへのアクセス方法がデフォルトではhttpとなっており、クライアントが社内、サーバがクラウドという配置の場合、なんらかの方法でトラフィックを暗号化したいと考える方も多いかと思います。そこで、AWS上にて稼働中のIRISの管理ポータル(あるいは各種RESTサービス)との通信を暗号化する方法をいくつかご紹介したいと思います。 本記事では、アクセスにIRIS組み込みのapacheサーバを使用しています。ベンチマーク目的や本番環境のアプリケーションからのアクセス方法としては使用しないでください。短期間・少人数での開発・動作検証・管理目的でのアクセスを暗号化する事を想定しています。 ドメイン名とメジャーな認証局発行のSSLサーバ証明書を用意できればベストなのですが、上記のような用途の場合、コスト面でなかなか難しいと思います。ですので、下記の証明書の使用を想定しています。- 自己署名(いわゆるオレオレ証明書)- 自分で建てた認証局で署名した証明書(いわゆるオレオレ認証局) また、下記のような実行環境を想定しています。 #AWS #セキュリティ #管理ポータル #開発環境 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 586
記事 Toshihiko Minamoto · 2020年7月6日 24m read Microsoft Azure Resource Manager(ARM)向けInterSystemsサンプルリファレンスアーキテクチャ この記事では、InterSystems Technologiesに基づく、堅牢なパフォーマンスと可用性の高いアプリケーションを提供するリファレンスアーキテクチャをサンプルとして提供します。Caché、Ensemble、HealthShare、TrakCare、およびDeepSee、iKnow、Zen、Zen Mojoといった関連する組み込みテクノロジーに適用可能です。 Azureには、リソースを作成して操作するための、Azure ClassicとAzure Resource Managerという2つのデプロイメントモデルがあります。 この記事で説明する情報は、Azure Resource Managerモデル(ARM)に基づきます。 要約 Microsoft Azureクラウドプラットフォームは、InterSystems製品すべてを完全にサポートできるクラウドサービスとして、IaaS(サービスとしてのインフラストラクチャ)向けの機能の豊富な環境を提供しています。 あらゆるプラットフォームやデプロイメントモデルと同様に、パフォーマンス、可用性、運用、管理手順などの環境に関わるすべての側面が正しく機能するように注意を払う必要があります。 この記事では、こういった各分野の詳細について説明しています。 #Azure #Mirroring #クラウド #Caché #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 585
記事 Mihoko Iijima · 2020年7月6日 11m read GitLabを使用したInterSystemsソリューションの継続的デリバリー - パートVII:コンテナを使用したCD この連載記事では、InterSystemsの技術とGitLabを使用したソフトウェア開発に向けて実現可能な複数の手法を紹介し、議論したいと思います。 次のようなトピックについて説明します。 #DevOps #Docker #Git #GitHub #継続的デリバリー #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 585
記事 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 582
記事 Tomoko Furuzono · 2021年6月29日 2m read .NETからInterSystems IRISへ接続する方法 これは、InterSystems FAQサイトの記事です。以下の7つの技術を用いて、VB.NETからInterSystems IRISへ接続し使用することができます。 (A) InterSystems IRIS ADO.NET Managed Provider を利用するInterSystems ADO.NET Managed Provider では、ADO.NET 準拠データベースとして InterSystems IRIS にアクセスでき、データへの簡単なリレーショナル・アクセスを提供します。特に ADO.NET を以前に使用したことのあるユーザにお勧めです。詳細は、以下ドキュメントをご参照ください。InterSystems IRIS ADO.NET Mnaged Providerについて #.NET #InterSystems IRIS 0 0 0 579
記事 Mihoko Iijima · 2021年4月15日 2m read アプリケーションでロックタイムアウトエラーが発生する理由 これは InterSystems FAQ サイトの記事です。 このエラーが発生する原因としては、アプリケーションの中で既に他のプロセスからロック対象リソースがロックされていて、何らかの理由でそのロックが解放されていないケースが考えられます。 他のプロセスがロックしている兆候がない場合は、ロックテーブルの空き領域が不足しているケースが想定されます。その場合は、メッセージログ(コンソールログ)に LOCK TABLE FULL のメッセージが出力されます。 トランザクション処理を行なっている場合には、ロック解放の延期が影響しているケースも考えられます。トランザクションとロック解放の延期については、以下のドキュメントをご参照下さい。 #SQL #システム管理 #データベース #データベースのトランザクション処理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 575
記事 Toshihiko Minamoto · 2021年1月19日 5m read 気象データを取得するセンサーをBME280に変更する 皆さん、こんにちは。寒い日が続きますね。前々回の記事でDHT11とBMP180を使って作成したのですが、実際に外に置いて計測してみると、氷点下の場合、12~13℃となってしまい、正しく計測できませんでした。(先にデータシートを確認しておけばよかったのですが、DHT11、BMP180共に0℃以上になっていました...)そこで代わりのセンサーが無いか探していたところ、BME280というセンサーが見つかりました。-40℃から85℃まで測れ、BMP180と同じBosch製で値段も数百円。 #IoT #InterSystems IRIS 0 0 0 571
記事 Minoru Horita · 2020年6月3日 10m read グローバルはデータを保存するための魔法の剣です パート3 - 疎な配列 #キーバリュー #インデックス付け #グローバル #データモデル #パフォーマンス #リレーショナルテーブル #初心者 #Caché #InterSystems IRIS 0 0 0 570
記事 Tomohiro Iwamoto · 2020年6月5日 18m read InterSystemsデータプラットフォームとパフォーマンス –パート3: CPUに注目 今週は、ハードウェアの主な”食品群” (^_^) の1つであるCPUに注目します。お客様から、次のようなシナリオについてのアドバイスを求められました。お客様の本番サーバーはサポート終了に近づいており、ハードウェアを交換する時期が来ています。 また、仮想化によってサーバーを一元的に管理できるようにし、ベアメタルか仮想化によりキャパシティを適正化したいとも考えています。 今日はCPUに焦点を当てますが、後日の記事では、メモリやIOといったほかの主要食品群を適正化するアプローチについて説明したいと思います。 では、質問を整理しましょう。 #システム管理 #パフォーマンス #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 558
記事 Mihoko Iijima · 2023年6月29日 3m read CSVファイルをテーブルにインポートする方法(LOAD DATA編) これは InterSystems FAQ サイトの記事です。 LOAD DATAは、バージョン2022.1から追加されたSQLコマンドで、CSVファイルやJDBCソースからデータをテーブルにロードするコマンドです。データが存在するテーブルにLOAD DATAを実行した場合、データは追記されます。 ※ バージョン2022.1をご利用いただく場合は、バージョン2022.1.3 をご利用ください。(2022.1.0~2022.1.2は、使用するJARファイルの不備により動作しません。) #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 557
記事 Megumi Kakechi · 2021年9月21日 3m read Windows のシャットダウン時にInterSystems製品を自動停止することはできますか? これは InterSystems FAQ サイトの記事です。 Windowsのグループセキュリティポリシーに停止コマンドを記述したバッチファイルを登録する事により可能です。 手順は以下のとおりです。 1.Windowsのローカルコンピュータ・ポリシーのシャットダウンスクリプトに停止コマンドを登録します。 停止コマンドを含んだbatファイルを作成します。 CacheStop.bat ※InterSystems Caché の場合 c:\intersystems\cache\bin\ccontrol stop CACHE IRISStop.bat ※InterSystems IRIS の場合 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 557
記事 Hiroshi Sato · 2021年12月28日 2m read コンパイルフラグについて これは InterSystems FAQ サイトの記事です。 コンパイル時のフラグや修飾子の記号と意味については、以下ドキュメントをご参照ください。 コンパイルフラグについて【IRIS】 コンパイルフラグについて なお、開発環境のスタジオやVisual Studio Codeでは、開発環境の設定画面でフラグを変更できます。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 555
記事 Hiroshi Sato · 2021年10月27日 1m read ターミナルでSQLを実行する方法 これは、InterSystems FAQサイトの記事です。$system.SQL.Shell() を使用します。 以下にサンプルを示しますので参考にしてください。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 547
記事 Megumi Kakechi · 2021年7月19日 3m read <STORE>エラーが発生する場合の対処法について これは InterSystems FAQ サイトの記事です。 <STORE> エラーは サーバ上のプロセスが使用しているプロセス個別メモリ容量が上限に達した場合に発生します。このメモリはオブジェクトを開いたり、ローカル変数を使用することで消費されるものとなります。このエラーは サーバ上のプロセスでメモリを大量に使用した場合に発生します。Caché バージョン2012.2以降、プロセス個別のメモリ容量の最大値が大幅に拡張されました(約2TB)。 この変更により、ローカル変数の使用領域を大幅に増やすことができるようになったため 特別な状況が発生しない限り(プログラムのバグにより大量のローカル変数を作成し続ける等) エラーを回避できるようになりました。 但し、このためのメモリ領域は、プログラムが動作するハードウェアが提供する資源の一つですので物理的な制限は当然あります。システム全体の資源管理を念頭に置き慎重な使用をお勧めします。 設定値詳細については以下ドキュメントをご参照ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 546
記事 Toshihiko Minamoto · 2020年8月17日 25m read VM Backups and Caché freeze/thaw scripts この記事では、スナップショットを使用したソリューションとの統合の例を使って、外部バックアップによる Caché のバックアップ方法を紹介します。 このところ私が目にするソリューションの大半は、Linux の VMware にデプロイされているため、この記事の大半では、例として、ソリューションが VMware スナップショットテクノロジーをどのように統合しているかを説明しています。 Caché バックアップ - すぐ使えますか? Caché をインストールすると、Caché データベースを中断せずにバックアップできる Caché オンラインバックアップが含まれています。 しかし、システムがスケールアップするにつれ、より効率的なバックアップソリューションを検討する必要があります。 Caché データベースを含み、システムをバックアップするには、スナップショットテクノロジーに統合された外部バックアップをお勧めします。 #Mirroring #ヒントとコツ #インターシステムズビジネスソリューションとアーキテクチャ #システム管理 #デプロイ #バックアップ #Caché #InterSystems IRIS #InterSystems IRIS for Health #ドキュメント 0 0 0 546
記事 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 545
記事 Tomohiro Iwamoto · 2020年6月5日 27m read InterSystemsデータプラットフォームとパフォーマンス-パート4: メモリの確認 この記事では、InterSystemsデータプラットフォームで実行するデータベースアプリケーションにおけるグローバルバッファ、ルーチンバッファ、gmheap、locksizeなどの共有メモリ要件のサイジングアプローチを説明し、サーバー構成時およびCachéアプリケーションの仮想化時に検討すべきパフォーマンスのヒントをいくつか紹介します。 これまでと同じように、Cachéについて話すときは、すべてのデータプラットフォーム(Ensemble、HealthShare、iKnow、Caché)を指しています。 #システム管理 #パフォーマンス #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 538
記事 Minoru Horita · 2020年4月30日 9m read グローバルはデータを保存するための魔法の剣です パート1 #Node.js #グローバル #パフォーマンス #リレーショナルテーブル #初心者 #Caché #InterSystems IRIS 3 0 0 535
記事 Minoru Horita · 2020年6月2日 14m read グローバルはデータを保存するための魔法の剣ですパート2 - ツリー #Node.js #グローバル #データモデル #パフォーマンス #リレーショナルテーブル #初心者 #Caché #InterSystems IRIS 1 0 0 528
記事 Toshihiko Minamoto · 2021年1月26日 7m read InterSystems IRIS における AWS Glue の使用について 2019年 10月 17日 Anton UmnikovInterSystems シニアクラウドソリューションアーキテクトAWS CSAA、GCP CACE AWS Glue は、完全に管理された ETL (抽出、変換、読み込み) サービスです。データの分類、クリーンアップ、強化、そして様々なデータストア間でデータを確実に移動させるという作業を簡単にかつコスト効率の良いかたちで行えるようにするものです。 #AWS #Python #SQL #クラウド #データベース #ビッグデータ #InterSystems IRIS 0 0 0 521
記事 Megumi Kakechi · 2020年11月9日 3m read Linuxでシステム開始/停止時に、インターシステムズ製品を自動起動/停止することはできますか? これはInterSystems FAQ サイトの記事です。 IRISのサービスを /usr/lib/systemd/system/iris.service に作成し systemctl ユーティリティにて設定を行います。 手順は以下になります。 ※ 作業は root ユーザまたは root 権限を持つユーザで行ってください。 1. IRISの自動起動・自動停止のスクリプトファイル「irisstartstop」を作成します。 irisstartstop #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 518
記事 Minoru Horita · 2020年7月28日 2m read Python Gateway パート V:Execute関数 この連載記事では、InterSystemsデータプラットフォーム用のPython Gatewayについて説明します。 また、InterSystems IRISからPythonコードなどを実行します。 このプロジェクトは、InterSystems IRIS環境にPythonの力を与えます。 任意のPythonコードを実行する InterSystems IRISからPythonへのシームレスなデータ転送 Python相互運用アダプタでインテリジェントな相互運用ビジネスプロセスを構築する InterSystems IRISからのPythonコンテキストの保存、調査、変更、復元 その他の記事 現時点での連載計画です(変更される可能性があります)。 #Python #InterSystems IRIS Open Exchange app 0 0 0 517
記事 Tomoko Furuzono · 2020年9月10日 3m read 日付範囲クエリのSQLパフォーマンスを改善する vol2 日付範囲クエリが極端に遅くなっていませんか? SQLのパフォーマンスが低下していませんか? 日付範囲のサブクエリをまだご覧になっていない場合は、前回の投稿をご確認ください。https://jp.community.intersystems.com/post/日付範囲クエリのsqlパフォーマンスを改善する なぜ、こうも日付クエリに注目しているのでしょうか? それは、日付クエリが重要だからです。 それは報告であり、統計であり、自分の素晴らしい仕事を上司に証明するための数字です(もちろん、あなたが実際にそうしていればの話ですが )。では、前回と同じようなテーブルを見てみましょう。ただし、実際には MAXLEN と MINLEN を次のように適切に定義します。 #Code Snippet #SQL #Caché #InterSystems IRIS 1 0 0 515