質問 Mitsuru Amano · 2021年3月3日 VSCODEのCSPの編集について こんにちは、皆さま IRISとVSCODE環境を日頃から愛用しています。 普段は使用しませんが、実験的にCSPファイル(*.CSP)をVSCODEで編集してみようと思い試みましたが上手く行きませんでした。 VSCODEの拡張は、「InterSystems ObjectScript Extension Pack」を使用しています。 具体的は2つの方法を試しました。 1.DBからworkspaceにExportして編集+Import&Compile ObjectScriptのソースTree-コンテキストメニューにExportが無いため動作を確認できず。 clsのExprot cspのExportが…ない #CSP #VSCode #InterSystems IRIS #Open Exchange 0 4 0 428
記事 Megumi Kakechi · 2020年9月16日 4m read HTMLからRESTを使って画像ファイルをアップロードする方法 これはInterSystems FAQ サイトの記事です。 HTMLからRESTを使って画像ファイルをアップロードする方法をご紹介します。 1.はじめに、以下のようなhtmlとクラスを作成してください。 *UploadTest.html #CSP #REST API #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 3 1 3.1K
記事 Henrique Dias · 2020年10月8日 2m read 概要 npm-iris npm-iris とは何ですか? N.P.Mは "No Project Mess "の略です。 N.P.M.は、InterSystems IRISとBootstrap 4を使用したプロジェクト&タスク管理アプリです。 No Project Messは、シンプルで直感的なプロジェクトとタスクの管理ソフトウェアで、開発者や中小企業が日々の複雑な問題を軽減できるように作成されています。 スプレッドシート、カンバン、カレンダー、ガントチャートなど、タスクのためのさまざまなビューを提供しています。 #CSP #Docker #JavaScript #ObjectScript #REST API #オープンソース #フロントエンド #Caché #InterSystems IRIS #Open Exchange Open Exchange app 0 2 0 131
お知らせ Mihoko Iijima · 2020年9月13日 第6回 InterSystems IRIS プログラミングコンテスト(Full Stackコンテスト) 開発者の皆さんこんにちは!IRIS プログラミングコンテストも 6 回目を迎えました! 今回のコンテストのテーマは 「InterSystems IRIS をバックエンドとし Web またはモバイル・ソリューションをフロントエンドとして使用する⚡️フル・スタック・アプリケーション⚡️」 です。日本からのご応募お待ちしております! Open Exchange(アプリケーション登録/参考となる開発テンプレート)のページはこちら➡ ⚡️ InterSystems Full Stack Contest ⚡️ #CSP #IntegratedML #JDBC #REST API #イベント #コンテスト #コンテナ化 #InterSystems IRIS #InterSystems IRIS for Health #IRIS contest 0 1 0 280
記事 Hiroshi Sato · 2023年11月13日 2m read CSPアプリケーションをReactを使って書き換えるその1 CSPは非推奨機能となり、今後の新規アプリケーションの開発には使用しないことが推奨されています。 代わりに昨今のウェブアプリケーション開発に広く利用されているモダンなフレームワークの使用が推奨されています。 Webアプリケーション開発用のJava scriptフレームワークはたくさんあり、そのどれを選択するかは開発者の好みの問題です。 その中で比較的人気の高いReactを使って、CSPアプリケーションを書き換えた例について紹介します。ちなみにCSPは機能的には2つの側面があり、今回非推奨となったのは、HTMLをサーバー側で生成するための拡張機能を使ったプログラミングに関連する部分です(.cspファイルを使用したHTMLとサーバーサイドプログラミング、Javascriptプログラミングによる開発)。 HTTP通信のインフラの部分(リクエストオブジェクトやセッション管理など)は引き続きIRISの根幹を支える機能として残ります。 実際、現在のIRISのREST関連機能は、このインフラ上で実装されています。 #CSP #React #InterSystems IRIS #InterSystems IRIS for Health 5 1 1 236
InterSystems公式 Yoichi Miyashita · 2021年6月18日 勧告: 非推奨および廃止されたテクノロジーと機能について InterSystems は、より新しく優れたオプションが利用可能になったときに従来のテクノロジーの開発を中止することがあります。ただし、それら機能は最小サポートバージョン以後の製品であれば他の機能と同等にサポートします。 #CSP #ZEN #Caché #Ensemble #InterSystems公式 0 1 0 306
InterSystems公式 Yoichi Miyashita · 2021年12月1日 勧告: InterSystems キットで提供される Apache Web サーバ InterSystems 製品のキットには Apache Web サーバが含まれています。これにより、お客様が外部Webサーバをインストールせずに Caché/IRIS 管理ポータルを動作させる為の便利な方法を提供しています。ただし、このWebサーバを実稼働インスタンスに使用しないでください。お客様は、システムに応じたニーズとセキュリティ/リスク要件に適合するWebサーバを別途インストールする必要があります。 #CSP #Web Gateway #セキュリティ #管理ポータル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health #InterSystems公式 0 0 0 132
記事 Hiroshi Sato · 2021年12月20日 1m read <EXTERNAL INTERRUPT>エラーの原因と対処法 これは、InterSystems FAQサイトの記事です。 CSPアプリケーションでは、リクエスト処理時間がサーバー応答タイムアウト値(CSPゲートウェイ管理ページで設定、既定値60 sec)を経過すると、CSPゲートウェイからクライアントブラウザにタイムアウトを通知し、処理を続けているデータプラットフォームサーバプロセスにエラーを発生させます。 エラーが発生している処理を確認して頂き、処理遅延の改善、例えばタイムアウトが発生しないように処理内容を見直して応答時間を短くすることや必要に応じてサーバ応答タイムアウト値を大きくすることで対処可能です。 #CSP #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 330
記事 Toshihiko Minamoto · 2022年6月28日 5m read ダッシュボードの IRIS 履歴モニター 皆さん、こんにちは! 職場で持ち上がった単純なリクエストで始めた個人プロジェクトを紹介したいと思います。 使用している Caché ライセンス数を調べることはできますか? コミュニティに掲載されている他の記事を読んでみたところ、David Loveluck が投稿したぴったりの記事が見つかりました。 APM - Using the Caché History Monitor(APM - Caché 履歴モニターを使用する) https://community.intersystems.com/post/apm-using-cach%C3%A9-history-monitor #CSP #Docker #コンテナ化 #システム管理 #ダッシュボード #監視 #Caché #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 162
記事 Toshihiko Minamoto · 2022年7月8日 8m read カスタムのビルトイン REST API /api/monitor/metrics による IRIS 履歴モニター 皆さん、こんにちは。 IRIS 履歴モニタープロジェクトが更新されました。ZPM とビルトインの REST API /api/monitor/metrics を使用します。 #CSP #ダッシュボード #監視 #InterSystems IRIS Open Exchange app 0 0 0 141
記事 Megumi Kakechi · 2022年9月5日 2m read Web経由でイメージファイルを IRIS にアップロード/ダウンロードする方法 これは InterSystems FAQ サイトの記事です。 Web 経由でのイメージファイルのアップロード/ダウンロードを行うサンプルをご紹介します。サンプルでは、以下の手順でファイルの「アップロード/ダウンロード」を行っています。 Stream型のプロパティをもったクラスを用意する upload ボタン押下でイメージファイルをIRISサーバにアップロードする アップロードされたデータを %request.MimeData で受け取り CopyFromAndSave メソッドを使ってコピー&1 のクラスに保存する アップロードされたファイルを画面に表示する download ボタンを押下し、1 のクラスに保存したファイルをローカルにダウンロードする。 サンプルプログラムの使い方は次のとおりです。 #CSP #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 201
記事 Henrique Dias · 2020年12月25日 2m read 実行中のiris-analytics-package 皆さん、こんにちは。 iris-analytics-パッケージには、「企業が自社のソフトウェアで InterSystems Analytics の サポートをいかに簡単、そしてシンプルに利用できるかを示す」意図があります。 新しいシンプルなソリューションを作成したり、OpenExchange を使用して既存のソリューションを改善したりすることもできます。 InterSystems IRISにアップグレードしている企業のほとんどは、ツールが提供するすべての機能を活用しています。 このコンテストでの私のもう一つのターゲットは、インターシステムズを長く利用していても、自分たちがアクセスしている可能性をフルに活用していない企業です。 #CSP #キューブ #アナライザ #コンテスト #ダッシュボード #分析 #Caché #InterSystems IRIS #InterSystems Reports (DeepSee, BI) Open Exchange app 1 0 0 358
記事 Megumi Kakechi · 2023年2月27日 2m read Webゲートウェイをインストール後、503エラーでサイトにアクセスできません Question: Windows環境にて、新規サーバにWebゲートウェイ(Web Gateway)をインストールしたところ「HTTP Error 503. The service is unavailable.」エラーで接続ができません。対処法を教えてください。 Answer: IRIS2022.1以降のバージョンでは、Visual Studio 2015 Visual C++ 再頒布可能パッケージ(64bit) のインストールが必須となりました。IRISをインストールされているお客様は、IRISのインストール時に VC++ 2015 再頒布可能パッケージもインストールされるため気にする必要はありませんが、Webゲートウェイのみインストールされる場合は別途インストールする必要があります。 #CSP #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 225
記事 Megumi Kakechi · 2021年2月1日 1m read Webゲートウェイのエラーメッセージをカスタマイズする方法 これは InterSystems FAQ サイトの記事です。 下記のWebゲートウェイのエラーメッセージ/システム応答に対して、個別のエラーページを設定することができます。 サーバエラー サーバビジー サーバが利用可能ではありません サーバタイムアウト 接続が閉じられました 設定は、Webゲートウェイ管理画面( [管理ポータル] > [システム管理] > [構成] > [Webゲートウェイ管理] )で行います。 [デフォルトパラメータ] メニュー内の [エラーページ] セクションで、各エラー発生時に表示させるhtmlページのファイル名またはリダイレクトさせるURLを設定します。 #CSP #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 222
記事 Megumi Kakechi · 2023年9月4日 3m read Webアプリケーションのトラブルシュート方法(ログの取得方法) こちらの記事では、RESTやCSPなどの「Webアプリケーションのトラブルシューティング」のヒントをご紹介します。 何かしらのトラブルと思われる事象が発生した場合、確認したいのがログファイルになります。各コンポーネント間のやり取りで、どこでどのようなトラブルが発生しているかを、それぞれログを取得して確認することができます。 ① クライアント ⇔ Webサーバ間では、「Webサーバログ(IISやApacheのアクセスログなど)」、② Webサーバ ⇔ Webゲートウェイ間では、「イベントログ」・「HTTPトレース」、③ Webゲートウェイ ⇔ IRISサーバ間では、「ISCLOG」・「監査ログ」・「messages.log」などがあります。 #CSP #REST API #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 3 0 0 198
記事 Megumi Kakechi · 2023年9月6日 1m read WindowsにWebゲートウェイのみインストールすると503エラーになる場合の対処方法 Windows環境にWebGatewayのみをインストールした場合に、「Service Unavailable / HTTP Error 503. The service is unavailable.」エラーとなりWebアプリケーションに接続できない場合があります。 こちらは、Visual C++ 再頒布可能パッケージ がインストールされていない環境に、Webゲートウェイをインストールした場合に見られる事象です。 Microsoft社のホームページより、Visual C++ 再頒布可能パッケージ(X64)をダウンロードしてインストールしてください。 インストール後IISを再起動し、以下のリンクよりWebゲートウェイ管理ページに接続できることをご確認ください。 #CSP #REST API #Web Gateway #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 125
記事 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 628
記事 Mihoko Iijima · 2021年4月22日 4m read ソースプログラムを隠蔽化する方法 これは InterSystems FAQ サイトの記事です。 ルーチン(*.mac)の場合 ソースプログラムのコンパイル後に生成される *.obj のみをエクスポート/インポートすることでソースの隠蔽化を実現できます。 コマンド実行例は、EX1Sample.mac と EX2Sample.mac のコンパイルで生成される EX1Sample.obj と EX2Sample.obj をエクスポート対象に指定し、第2引数のファイルにエクスポートしています。 別ネームスペースに移動したあと、エクスポートした XML ファイルを利用してインポートを実行しています。 #CSP #デプロイ #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 232
記事 Hiroshi Sato · 2023年12月26日 4m read CSPアプリケーションをReactを使って書き換えるその2 CSPを使って作成したアプリケーションをReactを使用して書き換える2回目の記事です。 前回の記事で紹介したショップデモの書き換えについてもう少し詳しく説明します。 まずReactについて、インターネット上に様々な情報が提供されていますので、それらを利用しながら学習するということも可能だとは思いますが、一方で学習時間を短縮するには、やはりReactについて説明した本を一通り読む方が速いのではないかと思います。 実際Reactに関する本はたくさんあるので、その中から自分に合いそうなものを選ぶのが良いかと思います。 ちなみに参考までに私が学習に使ったものは、以下です。 #CSP #React #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 105
記事 Hiroshi Sato · 2023年12月26日 7m read CSPアプリケーションをReactを使って書き換えるその3 それでは、今回はより具体的にReact開発方法について解説します。ショップデモのリポジトリの配下にreactというディレクトリがあります。 この下にReactのコードがあります。 ここのreact-setup.mdに記載されている通り、前準備としてreactのテンプレートを作ります。 npx create-react-app shopdemo --template typescript あとはこのReactプロジェクトを動かすためのライブラリのインストールを行います。 詳細は、react-setup.mdに書いてあります。 まず3つのディレクトリがあって、これは絶対こうしなければならないというものでもないのですが、基本的なお作法として用意するのが一般的なようです。 #CSP #React #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 133
記事 Toshihiko Minamoto · 2021年6月29日 5m read RESTサービスでのリクエストの転送 RESTフレームワークの有用な機能の1つに、ディスパッチクラスがリクエストのプレフィックスを識別して別のディスパッチクラスに転送するという機能があります。 URLマップをモジュール化するこの手法により、コードの可読性が向上し、インターフェースの個別のバージョンが管理しやすくなります。また、特定のユーザーのみがアクセスできるように、API呼び出しを保護する手段も得ることができます。 概要 CachéインスタンスにRESTサービスをセットアップするには、専用のSCPアプリケーションを定義して、それに関連付けられた、受信リクエストを処理するディスパッチクラスを作成する必要があります。 ディスパッチクラスは、%CSP.RESTを拡張し、URLマップを含むXDataブロックを含めます。 こうすることで、システムに、特定のリクエストを受信したときにどのメソッドを呼び出すのかを指示します。 以下に、例を示します。 #CSP #JSON #REST API #XML #ベストプラクティス #Caché #InterSystems IRIS 0 0 0 341
記事 Hiroshi Sato · 2023年12月26日 3m read CSPアプリケーションをReactを使って書き換えるその4 IRIS側の処理は、IRISでREST APIを実装する方法を理解していれば、簡単です。 前回のログイン処理でユーザー認証をIRIS側でどのように実装されているか確認して見ましょう。 まずはディスパッチクラスの定義です。 Shop.Brokerというクラスの中で定義されています。 checkpasswordというメソッドが最後に定義されていて、最終的にShop.Rest.Customer:checkPasswordという(クラス)メソッドが呼ばれているのがわかると思います。 ここで定義しているパラメータは、とりあえずおまじない的に含めておくことをお勧めします。 (説明し出すと少し長くなるので) Class Shop.Broker Extends %CSP.REST{ Parameter CONVERTINPUTSTREAM = 1; Parameter HandleCorsRequest = 1; #CSP #React #REST API #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 80
記事 Megumi Kakechi · 2021年6月30日 2m read 管理ポータルのライセンス消費に関する仕様変更について(2012.1以降) これは InterSystems FAQ サイトの記事です。 2012.1以降管理ポータルの使用もライセンスを消費する様にシステムを変更しました。 これはインターシステムズが定める製品のライセンスポリシーとシステムの動作をできるだけ合わせる一連の措置の1つとして行われました。 この変更に伴いライセンス使用に関わる思わぬトラブルが発生する可能性がありますので注意が必要です。 特にライセンスの解放が管理ポータルページの操作法によって異なるため、その違いを十分認識して対処する必要があります。 管理ポータルのライセンスの解放はページの切断の仕方により以下の様に変わります。 a) ポータルを開き何らかの操作を行った後にログアウトを行うとライセンスは即時解放されます。 b) ポータルのページを開いた後、他に何も操作せずにログアウトを行うと一定の待ち時間の後にライセンスの解放が行われます。 #CSP #システム管理 #ヒントとコツ #管理ポータル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 318
記事 Hiroshi Sato · 2024年1月9日 1m read CSPアプリケーションをReactを使って書き換えるその5 最後にCSP機能の中でReactでうまく置き換えできなかった処理について紹介します。 該当する処理は、サーバー上の商品データに含まれるその商品の画像データ(GIF形式)を取得して、ブラウザにイメージとして描画させるものです。 CSPにはStreamServer.clsというサーバー側で動作する機能が用意されています。 この機能を使ってデータベース上に格納されているストリームデータをHTML IMGタグで処理できる形式に変換してくれます。 StreamServer機能を使って画像を表示する処理 Reactで同様の機能を実現する方法が見つからなかったため(そもそもReactはサーバーサイドではなくクライアント上の技術なので)、データベース内に格納されているイメージを取得するのではなく、静的なイメージファイルをウェブサーバーが参照可能な場所に置くことで解決しました。 #CSP #React #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 67
記事 Toshihiko Minamoto · 2021年8月25日 7m read Webをデバッグする この記事では、Caché Webアプリケーション(主にREST)のテストとデバッグを外部ツールを用いて行うことについて説明します。 パート2では、Cachéツールの使用について説明します。 サーバー側のコードを作成したのでクライアントからテストしたい、またはすでにWebアプリケーションが存在するが機能していない― そういったときに使用できるのがデバッグです。 この記事では、最も使いやすいツール(ブラウザ)から最も包括的なツール(パケットアナライザー)までを説明しますが、まずは、最も一般的なエラーとその解決方法について少し説明します。 #CSP #REST API #SOAP #デバッグ #フロントエンド #Caché 0 0 0 1.4K
記事 Hiroshi Sato · 2021年10月5日 2m read Webゲートウェイ/CSPゲートウェイの設定管理ページにどのクライアントからもアクセスできるようにする これは InterSystems FAQ サイトの記事です。Web/CSPゲートウェイ管理ページは、通常クライアントマシンからアクセスできないように構成されています。 クライアントからその管理ページにアクセスすると、以下の様なメッセージが返ってきます。 システム管理 このシステムを使用する権限がありません。 Not authorized to use this facility. You are not authorized to use this facility. 任意のクライアントからアクセスするためには以下の操作を行います。 Web/CSPゲートウェイ管理ページにアクセス可能なシステムからブラウザを起動し、管理ポータルにアクセスします。 管理ポータル>システム管理>構成>の所でCSPゲートウェイ管理をクリックします。 #CSP #システム管理 #ヒントとコツ #Ensemble #InterSystems IRIS #InterSystems IRIS for Health #Caché 0 0 0 354
記事 Hiroshi Sato · 2021年10月26日 1m read %付きWebページを開くとエラーになる場合の対処法。 これは、InterSystems FAQサイトの記事です。InterSystems 製品の管理ツールやWebページのセキュリティ強化のため、%付きのWebページ(例:管理ポータル上のユニットテストポータル、Webサービスクラスのテスト画面)に対するアクセスがより効率的に制御できるよう、新しいルールが追加されました。 これによりデフォルトで参照可能なページ以外については、明示的に参照許可を設定する必要があり、設定しない場合参照エラーとなります。 以下のドキュメントをご参照いただき、必要に応じて参照許可を設定するようにしてください。 %CSP ページへのアプリケーション・アクセスの制御について Webサービスクラスのテスト画面の場合は、以下をご覧ください。 #CSP #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 122