記事 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 580
記事 Shintaro Kaminaka · 2020年8月12日 6m read RESTForms - 永続クラスにREST APIをアドオンする パート2: クエリ 最初の記事では、RESTForms(永続クラス用のREST API)について説明をしました。 基本的な機能についてはすでに説明しましたが、ここではクエリ機能を中心とする高度な機能について説明します。 基本クエリ クエリ引数 カスタムクエリ クエリ クエリを使用すると、任意の条件に基づいてデータの一部を取得できます。 RESTFormsには、2種類のクエリがあります。 #SOAP #フロントエンド #Caché 0 0 0 111
記事 Toshihiko Minamoto · 2020年8月11日 44m read Google Cloud Platform (GCP)向けのIRISサンプルアーキテクチャ Google Cloud Platform(GCP)は、IaaS(サービスとしてのインフラストラクチャ)向けの機能性豊かな環境をクラウドとして提供しています。最新の InterSystems IRIS データプラットフォームなど、InterSystems の全製品に完全に対応していますが、 あらゆるプラットフォームやデプロイメントモデルと同様に、パフォーマンス、可用性、運用、管理手順などの環境に関わるすべての側面が正しく機能するように注意を払う必要があります。 この記事では、こういった各分野の詳細について説明しています。 #GCP #IRIS Analytics Architect #インターシステムズビジネスソリューションとアーキテクチャ #クラウド #コンテナ化 #システム管理 #プラットフォーム #高可用性 #InterSystems IRIS 0 0 0 1.2K
記事 Tomohiro Iwamoto · 2020年8月25日 6m read CloudFormationを使ってAWSにICMをデプロイする 本稿について ICM(InterSystems Cloud Manager)のセットアップは難しいものではありませんが、様々な理由でそもそもDockerが使いづらいという状況があり得ます。また、セキュリティ的に堅固な環境を得るために、既存VPC内のプライベートサブネット上にIRISクラスタをデプロイする方法のひとつに、同VPC内でICM実行する方法があります。本稿では、ICMをAWSにデプロイする作業を、CloudFormationで自動化する方法をご紹介します。ICMに関しては、こちらの記事をご覧ください。 更新: 2020年11月24日 デフォルトVPC以外でも動作するよう変更しました。 #AWS #クラウド #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 775
お知らせ 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 263
記事 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 338
記事 Toshihiko Minamoto · 2020年11月12日 15m read Prometheus で InterSystems Caché を監視する Prometheus は時系列データの収集に適した監視システムです。 #システム管理 #監視 #視覚化 #Caché 0 3 0 534
記事 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 193
記事 Toshihiko Minamoto · 2021年1月5日 9m read データ変更の追跡 - 監査ログ(1/2) はじめに 多くのアプリケーションに共通する要件は、データベース内のデータ変更のログ記録です。どのデータが変更されたか、誰がいつ変更したかをログに記録する必要があります(監査ログ)。 このような質問について書かれた記事は多く存在し、Caché で行う方法の切り口もさまざまです。 そこで、データ変更を追跡して記録するためのフレームワークを実装しやすくする仕組みを説明することにします。 これは、永続クラスが「監査抽象クラス」(Sample.AuditBase)から継承すると「objectgenarator」メソッドを介してトリガーを作成する仕組みです。 永続クラスは Sample.AuditBase から継承されるため、永続クラスをコンパイルすると、変更を監査するためのトリガーが自動的に生成されます。 監査クラス 次は、変更が記録されるクラスです。 #ObjectScript #オブジェクトデータモデル #ベストプラクティス #Caché 0 0 0 160
記事 Hiroshi Sato · 2020年11月23日 1m read 変数等命名規約について これはInterSystems FAQ サイトの記事です。 変数等命名規約に関して、InterSystems自体が定めている規則の様なものはありません。 しかし、チームで開発を行う際には、何らかの命名規約を作ることをお勧めします。 一般的には、変数名から使用目的が容易に想像できる様な名前付けが好ましいです。 名前の長短で、実行性能には有意な差はないと考えて結構ですので、一目見て内容が理解しやすく、他の名前と明確な区別ができるよう、ある程度の長さを持った命名を心がけることをお勧めします。 また、先頭のアルファベットを大文字にする、単語の先頭は大文字にするというのが一般的です。しかし、昨今は、Javaで良く使われる、先頭は小文字で初めて、途中の単語の始まりを大文字にするという命名規約を使う開発者も増えてきました。 さらに変数のタイプ(一時変数、パラメータなど)がわかるように、先頭の文字で表現する方法もよく使われます。(例: tSC,pLengthなど) #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 131
記事 Megumi Kakechi · 2020年11月24日 2m read サーバー仮想化ソフトウェア上でInterSystems製品を稼働する場合、物理サーバー上での稼働とライセンス上の条件等での違いについて これはInterSystems FAQ サイトの記事です。InterSystemsの製品には同時ユーザー数でライセンスの容量を決定する製品とサーバーのCPUコア数で容量を決定する製品の2種類があります。 同時ユーザー数ライセンスタイプの場合、CPUコア数により使用可能なライセンスのグレードに制限があります。 物理サーバーの場合には、そのサーバーが保持しているCPUコア数の総数をカウントします。 そして、その総数が該当グレードの最大CPUコア数を超えている場合には、その上位グレードを使用しなければなりません。 サーバー仮想化ソフトウェア(VMWare、Hyper-Vなど)を利用する場合には、その仮想サーバーに割り当てられたCPUコア数をカウントします。 同様にその総数が該当グレードの最大CPUコア数を超えている場合には、その上位グレードを使用しなければなりません。 CPUコア数ライセンスタイプの場合、コア数によりライセンスの容量が決まります。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 238
記事 Megumi Kakechi · 2020年12月17日 1m read 選択性の数値について これはInterSystems FAQ サイトの記事です。 選択性(または Selectivity)の数値とは、カラムに対するユニークデータの割合を示す数値です。 例) Person テーブルの個別値である PID カラム、住所のうち都道府県名が入る Pref カラム Pref カラムの選択性 = 約 2% PID カラム(ユニーク属性のカラム)の選択性 = 1 InterSystems製品のクエリオプティマイザは、クエリ実行経路(プラン)とインデックスの選択を決定するため、エクステントサイズ(テーブル内のレコード数)と選択性の数値を使用します。 詳細は下記ドキュメントページをご参照ください。 テーブルの最適化【IRIS】 #SQL #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 252
記事 Hiroshi Sato · 2021年2月1日 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を使用することをお勧めします。 #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 154
記事 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 563
記事 Megumi Kakechi · 2021年2月8日 1m read 平常時のシステムパフォーマンスを収集する方法 これは InterSystems FAQ サイトの記事です。 システムのパフォーマンスが低下した場合、OSやインターシステムズ製品の様々なツールを使用して情報収集を行い ”通常時と比較して、どこがどの程度変わっているか”を確認することで、問題のある箇所を特定できます。(逆に、通常時の状況が不明な場合、パフォーマンス問題点の切り分けが非常に困難となる場合もあります。) いざ という時に備え、通常時のパフォーマンスを確認することは、大変重要な情報となります。 収集情報詳細は、以下のドキュメントをご参照ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 122
記事 Mihoko Iijima · 2021年3月5日 1m read ID を指定してインデックスを再構築する方法 これは InterSystems FAQ サイトの記事です。 永続クラス(=テーブル)定義に提供される %BuildIndices() メソッドの引数に、インデックスを再構築したい ID の開始値と終了値を指定することにより、その範囲内のインデックスのみが再構築できます。 例えば、Sample.Person クラスにある NameIDX インデックスと ZipCode インデックスを ID=10~20 のみ再構築する場合は、以下のように実行します(ID の範囲は、第5引数、第6引数に指定してます)。 #SQL #インデックス付け #オブジェクトデータモデル #ヒントとコツ #リレーショナルテーブル #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 263
お知らせ Toshihiko Minamoto · 2021年3月13日 開発者コミュニティに貢献するには 開発者の皆さん、こんにちは。 最近、インターシステムズ開発者コミュニティにより貢献したいという要望が多く寄せられます。 やり方は簡単です。 1. 質問に答える 開発者コミュニティには多くの 回答のない質問や ベストアンサーのない質問 があります。ぜひ、あなたの知識をシェアして他のメンバーを助けてあげてください。 2. 記事の投稿に貢献する インターシステムズの技術を使ったあなたの経験をぜひ記事に書いてください。ソリューションや開発時のノウハウ、デバッグ時のTipsやトリック、システム構築、その他、健全な開発をするためのその他のアプローチなど、何でも構いません。 こちらには、コミュニティにとって有益となる記事の例がたくさんあり、各国の言語に翻訳されています。 3. Open Exchangeのアプリケーションに貢献する あなたのライブラリやソリューション、ツールをGithubやGitlabのリポジトリを使って Open Exchange でシェアしてください。 #開発者コミュニティ公式 0 0 0 147
記事 Toshihiko Minamoto · 2021年4月5日 11m read WebSocketのチュートリアル はじめに Webで行われるサーバーとクライアント間のほとんどの通信は、リクエストとレスポンスの構造に基づいており、 クライアントがサーバーにリクエストを送信すると、サーバーがそのリクエストに対するレスポンスを送信します。 WebSocketプロトコルは、サーバーとクライアント間の双方向通信チャンネルを提供するプロトコルで、サーバーがリクエストを受信しなくても、クライアントにメッセージを送信することができます。 WebSocketプロトコルと、InterSystems IRISでの実装についての詳細は、以下のリンクをご覧ください。 WebSocketプロトコル InterSystems IRISでのWebSocketsに関するドキュメント #JavaScript #Node.js #ObjectScript #チュートリアル #フロントエンド #ベストプラクティス #Caché #InterSystems IRIS #Open Exchange 0 0 0 3.2K
お知らせ Mihoko Iijima · 2021年3月29日 テクノロジーボーナス詳細:第11回 InterSystems IRIS プログラミングコンテスト(開発者ツール編) 開発者の皆さん、こんにちは! 第11回 IRIS プログラミングコンテスト - 開発者ツール編 の 続報 📣 の「テクノロジーボーナス」についてご紹介します。 今回のコンテストも、チームで開発した作品もご応募いただけます!ぜひコンテスト詳細ページもご確認ください! #コンテスト #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 73
記事 Shintaro Kaminaka · 2021年4月15日 7m read IRIS for Health上でFHIRリポジトリ+OAuth2認可サーバ/リソースサーバ構成を構築するパート3(OAuth2スコープ編) 開発者の皆さん、こんにちは。 以前の記事でIRIS for Health上でFHIRリポジトリを構築し、OAuth2認証を構成する方法をご紹介しました。 IRIS for Health 2020.4がリリースされ、FHIRリポジトリのアクセストークンをチェックする機能が追加になりました。 ドキュメントはAccess Token Scopesです。 この記事ではドキュメントの記載も抜粋しながらこの機能を紹介していきます。 #FHIR #OAuth2 #セキュリティ #InterSystems IRIS for Health 0 0 0 422
記事 Toshihiko Minamoto · 2021年5月20日 9m read DeepSee: データベース、ネームスペース、マッピング(5/5) 以下の記事は、この連載の締めくくりとして、完全に柔軟なアーキテクチャの例で確認されたすべてのデータベースのリストを掲載しています。 #マッピング #チュートリアル #デプロイ #データベース #分析 #初心者 #InterSystems IRIS BI (DeepSee) 0 0 0 90
お知らせ Mihoko Iijima · 2021年5月20日 バグフィックス対応について これは InterSystems FAQ サイトの記事です。 お客様のシステムで発生した障害に対処するための製品修正や社内のコードレビューで新たに発見された潜在的な問題に対応するための修正などは、問題の重要度(運用に支障をきたす、アプリケーションの動作に影響があるなど)に応じて、順次新しいメジャーバージョン、メンテナンスバージョンに取り込まれていきます。 しかしながら、新しいバージョンのリリースには所定の時間が必要ですので、そのリリース前に該当する修正だけを適用したいというご要望にお応えするために InterSystemsではアドホックと呼んでいる応急パッチを提供することも可能です。 しかしながら、この対応はあくまでも応急処置であり、その問題が対処されたバージョンがリリースされた後には、そのバージョンをご使用いただくことを推奨致します。 以下の関連情報もぜひご参照ください。 0 0 0 104
お知らせ Mihoko Iijima · 2021年6月1日 ★ 6/3 から投票開始!★第12回 InterSystems IRIS プログラミングコンテスト(FHIR Accelerator) 開発者の皆さん、こんにちは! いよいよ、第12回 InterSystems IRIS プログラミングコンテスト(FHIR Accelerator)の投票が、6月3日(木)US時間 から開始されます! 当初、5月31日(US時間)から投票開始予定でしたが、応募期間を延長し 6月3日が投票開始日となりました。 テーマは、InterSystems IRIS FHIR Accelerator Service (FHIRaaS) on AWS を使用して構築されたソリューションです。関連記事にご利用を開始するための手順を掲載しています。ぜひご参照ください。 #AWS #FHIR #コンテスト #InterSystems IRIS for Health #Open Exchange 0 0 0 55
記事 Tomoko Furuzono · 2021年6月15日 2m read IISでRESTを動かす場合の設定方法 これは、InterSystems FAQサイトの記事です。 IISおよびWebゲートウェイの設定方法は以下のとおりです。 (1) IIS構成で以下の設定を行いますアプリケーション /rest を作成し、ハンドラーマッピングで * = CSPms のみ定義します。 IIS構成 > Default Website > アプリケーション /rest > "ハンドラーマッピング" をダブルクリック 要求パス: * モジュール: CSPms 名前: CSPGW (任意の名前) 要求の制限 > [要求のマップ先が次の場合のみハンドラーを呼び出す] のチェックはオフにします。※こちらの設定はデフォルトでは「チェックあり」になっていますのでご注意ください。 この構成により、IIS は /rest アプリケーションをWebゲートウェイに転送します。 #REST API #InterSystems IRIS 0 0 0 861
記事 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 273
記事 Hiroshi Sato · 2021年7月27日 1m read ODBCドライバーの単独入手 これは InterSystems FAQ サイトの記事です。 ご希望の場合は、カスタマーサポートセンターまでお問い合わせください。 #ODBC #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 248
お知らせ Shintaro Kaminaka · 2021年7月8日 HL7v2データをFHIRに変換する "HealthShareメッセージ変換サービス" 早期アクセス・プレビュー・プログラムのご案内 開発者の皆さん、こんにちは! HL7v2メッセージをFHIR(Fast Healthcare Interoperability Resources)に変換するニーズがあり、その変換プロセスが複雑で分かりにくいと感じたことはありませんか?インターシステムズは、HL7v2メッセージをFHIR(Fast Healthcare Interoperability Resources)に変換するプロセスを簡単にする、HealthShareメッセージ変換サービス(HealthShare Message Transformation Services)と呼ばれる新しいクラウドベースのSaaSサービスを展開しています。 この新しいサービスの早期アクセス・プレビュー・プログラムを発表できることを嬉しく思います。 必要なのは、無料のAWSアカウントと、HL7v2メッセージをドロップするためのS3バケット、そしてFHIR出力を得るための別のS3バケットだけです。 この機能の簡単なデモをご覧ください。 #AWS #Early Access Program (EAP) #FHIR #HL7 #クラウド #チュートリアル #ツール # データのインポートとエクスポート #相互運用性 #InterSystems IRIS for Health 0 0 0 398
記事 Toshihiko Minamoto · 2021年8月25日 7m read Webをデバッグする この記事では、Caché Webアプリケーション(主にREST)のテストとデバッグを外部ツールを用いて行うことについて説明します。 パート2では、Cachéツールの使用について説明します。 サーバー側のコードを作成したのでクライアントからテストしたい、またはすでにWebアプリケーションが存在するが機能していない― そういったときに使用できるのがデバッグです。 この記事では、最も使いやすいツール(ブラウザ)から最も包括的なツール(パケットアナライザー)までを説明しますが、まずは、最も一般的なエラーとその解決方法について少し説明します。 #CSP #REST API #SOAP #デバッグ #フロントエンド #Caché 0 0 0 1.3K
記事 Megumi Kakechi · 2021年9月27日 1m read Windows Serverのリリースの違いは、サポートバージョンに影響しますか? これは InterSystems FAQ サイトの記事です。 インターシステムズは、特定のオペレーティングシステムのバージョンの特定リリースに対して、製品の検証は実施しておりません。 特定リリースとは、例えば、Windows Server 2003 R2やWindows Server 2008 R2などを指します。 これらの保証については、オペレーティングシステムベンダーが互換性を保証する限りにおいて、提供されます。 特別な状況の詳細は、下記弊社ホームページのサポート情報に明記しています。 最新プラットフォーム情報とリリースノート 明記されていない場合には、オペレーティングシステムベンダーが互換性を保証する限りにおいて、特定リリースもサポート対象となります。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 174
記事 Mihoko Iijima · 2021年9月7日 3m read Windowsで InterSystems 製品をアンインストールするときの注意点 これは InterSystems FAQ サイトの記事です。 Windows システムにインストールされた InterSystems 製品を削除するには、コントロールパネルにあるプログラムの追加と削除(Windows 10の場合は、Windows の設定からアプリを選択)を使用します。 システムに変更を加えますので、管理者権限を持ったユーザでログインして作業を行う必要があります。 1) 管理者(Administrator)でシステムにログインします。 2) システムトレイから、アンインストールを行う InterSystems 製品インスタンスのランチャーを終了します(ランチャークリック → 終了)。 3)コントロールパネルにある プログラムの追加と削除 (Windows 10の場合は、Windows の設定からアプリを選択)で <InterSystems製品> instance [xxxx] ( xxxx にはインスタンス名が表示されています) を削除します。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 382