InterSystems公式 Toshihiko Minamoto · 2月 18, 2021

InterSystems API Manager(IAM) バージョン1.5がリリースされました

 

以前のバージョンからアップグレードできるIAMコンテナはWRCソフトウェア配布サイトのComponents areaからダウンロードすることができます。

 

ビルド番号はIAM 1.5.0.9-4 です。

 

InterSystems API Manager 1.5 ではAPIトラフィックの管理や、環境とAPI利用者の統合がさらに簡単になりました。新機能は以下の通りです。

 

  • ユーザエクスペリエンスの改善
  • 新たな開発者ポータル
  • Kafka connectivityのサポート
  •  

    このリリースは、Kong Enterprise バージョン 1.5.0.9 をベースにしています。これまでのIAMリリースにはKong Enterpriseのホワイトラベルバージョンが入っていましたが、このリリースではホワイトラベルなしバージョンが入っています。この変更で、より頻繁にリリースすることができ、 Kongの提供するドキュメントやその他の資産を効果的に活用できるようになりました。

     

    IAM 1.5のドキュメントはこちらです。このドキュメントはIAM固有の部分のみカバーしています。

    0
    0 164
    記事 Toshihiko Minamoto · 2月 18, 2021 9m read

     古くなった MUMPS アプリケーションの新たな生命を吹き込みたいとお考えでしたら、以下にご紹介するステップを実行すれば、グローバルをクラスにマッピングし、美しいデータを Object や SQL に公開できます。

    今回ご紹介する例には、パート 1 ではカバーしなかった内容を 4 つないし 5 つ程度盛り込んでいます。 

    その後は親子マッピングの例を紹介して完結となります。それを修得したらマッピングはもう完璧でしょう。

     

    前回と同じ免責事項:  これらの記事を読んでもグローバルがよく理解できないという方は、WRC (Support@InterSystems.com) までメールでお問い合わせください。喜んでサポートさせていただきます。 

     

    グローバルをクラスにマッピングするステップ。

    1. グローバルデータが繰り返し使用されるパターンを特定する。
    2. 固有キーの構成を特定する。
    3. プロパティとそれぞれの型を特定する。
    4. クラス内のプロパティを定義する (変数の添え字をお忘れなく)。
    5. IdKey のインデックスを定義する。
    6. Storage Definition を以下の手順で定義する。
      1. 添え字を IdKey まで (IdKey を含む) 定義する。
      2. Data セクションを定義する。
      3. Row ID セクションには触れない。
    0
    0 320
    お知らせ Toshihiko Minamoto · 2月 17, 2021

    皆さん、こんにちは!

    InterSystems のグローバルマスターズ・アドボケート・ハブがディベロッパーコミュニティ (DC) と緊密につながっていることは、皆さんご存知ではないでしょうか。 DC に何らかの貢献をされると、グローバルマスターズのポイントを獲得できます。 

    そこで、 グローバルマスターズでポイントを獲得するベストな方法について簡単なガイドを作成しました。

    2021/3/19: 投稿や翻訳に関するポイントが改定されましたので、修正しています。記事の投稿で得られるポイントはローンチ期間限定です。

    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        開発者コミュニティへの記事の投稿
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px"><strong>400<sup>※</sup></strong></p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
        最初のコメント<br />コメントごと
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
        <p style="text-align:right; margin-right:14px">300<br />30</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        最初に受け入れられた回答<br />受け入れられた回答ごと<br />5 / 10 / 25 / 50 回目の受け入れられた回答
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px">1000<br />150<br />4,000 / 8,000 / 20,000 / 40,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
        開発者コミュニティの記事を翻訳
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
        <p style="text-align:right; margin-right:14px"><strong>100</strong></p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        1 / 5 / 10 / 25 / 50 回目の記事を投稿
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px">1,500 / 7,500 / 15,000 / 40 000 / 75 000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
         1 / 5 / 10 / 25 / 50 回目の質問を投稿
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
       <p style="text-align:right; margin-right:14px">500 / 2,000 / 5,000 / 15,000 / 30,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        OpenExhangeにアプリケーションを登録<br />ZPMアプリのボーナスポイント<br />1 / 5 / 10 / 25回目のアプリ登録
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px">800<br />400<br />1,000 / 10,000 / 25,000 / 75,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
        投稿した記事の閲覧数が 750以上 / 2,000 以上 / 5,000 以上 / 15,000 以上
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
        <p style="text-align:right; margin-right:14px">600 / 2,500 / 7,000 / 20,000 </p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        開発者コミュニティの記事を読む<br />ビデオを見る<br />SNSで記事やビデオを共有
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
       <p style="text-align:right; margin-right:14px"> 10<br />20<br />40</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
       ベストプラクティスタグの付与された記事が1 / 2 / 3 / 4 / 5 件
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
       <p style="text-align:right; margin-right:14px"> 1,000 / 3,000 / 7,000 / 10,000 / 15,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        Open Exchangeに登録したアプリが 50 / 100 / 250 / 500 / 1,000 回ダウンロード
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px">2,500 / 5,000 / 7,500 / 12,500 / 25,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
        InterSystems や InterSystems 製品 に関するレビュー記事を投稿
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
        <p style="text-align:right; margin-right:14px">2,000 ~ 3,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        同僚を開発者コミュニティに招待する
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; padding:1pt; height:19.85pt" width="366">
        <p style="text-align:right; margin-right:14px">600</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td style="border:1.5pt double #a5a5a5; width:323.05pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="431">
        Open Exchange に公開したアプリに関するビデオを作成する
      </td>
      
      <td style="border:1.5pt double #a5a5a5; width:274.15pt; background-color:#cfe2f3; padding:1pt; height:19.85pt; background-position:initial initial; background-repeat:initial initial" width="366">
        <p style="text-align:right; margin-right:14px">3,000</p>
      </td>
    </tr>
    
    <tr style="height:19.85pt">
      <td colspan="2" style="border:1.5pt double #a5a5a5; width:323.05pt; padding:1pt; height:19.85pt" width="431">
        <p style="text-align:right;font-size:8pt">*グローバルマスターズ・アドボケート・ハブへの登録後に掲載された記事・コメントのみ。</a>
      </td>
    </tr>
    

    グローバルマスターズでポイントを獲得する方法

    0
    0 181
    記事 Tomohiro Iwamoto · 2月 16, 2021 19m read

    目的

    CloudFormationの記事は、Linux系のものが多いですが、Windowsでも自動化したいという需要がありそうですので、オリジナル記事を元に、CloudFormationを使用してミラークラスターをWindowsサーバにデプロイする例を実装してみました。また、簡単な実行例も追加しました。
    ソースコード一式はこちらのGitレポジトリにあります。

    更新: 2021年3月1日 ワンライナーで踏み台ホスト経由でWindowsに公開鍵認証する方法を追記しました

    更新: 2022年11月29日 QuickStartの形式に合わせて大幅に変更しました。以前の内容はこちらに保存してあります。

    更新: 2022年12月21日 踏み台ホストの使用を止め、代わりにAWS System Manager(SSM)を有効化しました。プライベートサブネット上のインスタンスへのアクセスが簡素化されます。以前の内容はこちらに保存してあります。

    0
    0 800
    記事 Megumi Kakechi · 2月 15, 2021 7m read

    これは InterSystems FAQ サイトの記事です。
     

    データベースキャッシュおよびルーチンキャッシュをモニターし、最適値を調べる方法をご紹介します。
     

    (1) データベースキャッシュ

    現状の設定値で問題ないかは、^GLOSTAT ユーティリティ のCache Efficency値(キャッシュ効率)でモニターします。

    Cache Efficiency 値は大きければ大きいほど良いですが、目安として100 以上であれば、設定サイズは問題ありません。

    実行例)

    %SYS>do ^GLOSTAT
    Should detailed statistics be displayed for each block type?
    0
    0 583
    記事 Megumi Kakechi · 2月 15, 2021 4m read

    これは InterSystems FAQ サイトの記事です。


    「特権ルーチンアプリケーション」を使用し、コード中に $system.Security.AddRoles()メソッドを使用してロールを付与する仕組みを利用します。

    ※ロールベースで必要な特権を付与するため、予め特定の特権を持ったロールを作成する必要があります。

    詳細は、以下ドキュメントをご参照ください。
    特権ルーチン・アプリケーション【IRIS
    特権ルーチン・アプリケーションについて


    例えば、特定ルーチン(またはクラスメソッド)実行時のみデータベースの更新を許可するための設定は、以下のとおりです。

    (接続するデータベースに対してはREAD許可だけを持ち、あるルーチン実行時のみデータベースに対するREAD/WRITE許可を持つように設定します。)
     

    1)  データベース:Aのリソース定義を確認する

     データベース:Aのリソースに %DB_%DEFAULT が設定されている場合は、独自リソースを作成します。

    0
    0 194
    記事 Mihoko Iijima · 2月 12, 2021 3m read

    これは InterSystems FAQ サイトの記事です。

    以下例のクラスメソッド getLatestID() のように ObjectScript のクラスメソッドを用意します。
    返したい値を戻り値に指定し、SQLストアドプロシージャ(SqlProc)キーワードを指定するだけで値が返せます。

    ClassMethod getLatestID() As %Integer [ SqlName = getLatestID, SqlProc ]
    {
        set latestID=$Order(^ISJ.TestClass1D(""),-1)
        quit latestID
    }

     

    操作を試す場合は、以下のクラス定義をご準備ください。

    Class ISJ.TestClass1 Extends (%Persistent, %Populate)
    {
    Property name As %String;
    
    ClassMethod getLatestID() As %Integer [ SqlName = getLatestID, SqlProc ]
    {
        set latestID=$Order(^ISJ.
    0
    0 445
    記事 Mihoko Iijima · 2月 12, 2021 5m read

    これは InterSystems FAQ サイトの記事です。

    XMLファイルの内容を格納する永続クラス定義を作成し、%XML.Adaptor を追加で継承します。

    例は以下の通りです(右端の %XML.Adaptorクラスを追加で継承します)。

    Class ISJ.Class1 Extends (%Persistent, %Populate, %XML.Adaptor)

     

    次に、%XML.Reader クラスを使用して格納先のインスタンスへ、タグとクラスの関連付け(Correlate())を行い、reader.Next() でXMLを取り込みます。

    set sc=reader.OpenFile(filename)
    do reader.Correlate(tag,class)
    while reader.Next(.x,.sc) { do x.%Save() } 

     

    サンプルコードは以下の通りです。

    Class ISJ.Class1 Extends (%Persistent, %Populate, %XML.
    0
    0 2231
    記事 Toshihiko Minamoto · 2月 11, 2021 27m read

    InterSystems IRIS デプロイガイド - AWS CloudFormation テンプレート 

      注意: 本ガイド (特に前提条件のセクション) を理解するには、AWS に関する中級から上級レベルの知識が必要になります。 S3 バケット、EC2 インスタンスの IAM ロール、VPC、サブネットを作成する必要があります。 また、InterSystems バイナリへのアクセス (通常は WRC サイトからダウンロード可) および IRIS のライセンスキーも必要になります。
      2020 年 8月 12日
    Anton Umnikov

     

    テンプレートのソースコードは、こちらから入手していただけます: https://github.

    0
    0 475
    お知らせ Makiko Kokubun · 2月 9, 2021

    開発者の皆さん、こんにちは!

    InterSystems 開発者コミュニティでは、初めてIRIS を使われる方向けに、IRIS の概要をご紹介するウェビナーを開催致しました。そのウェビナーのアーカイブを公開致しました。

    インターシステムズのデータプラットフォーム製品をご覧になるソフトウェアエンジニアの方向けに、弊社のエンジニアが 約 30分でその特徴をご紹介します。ぜひご覧ください。

    アーカイブ配信はこちらから

     

     

    ウェビナー(アーカイブ配信)「InterSystems IRIS データプラットフォーム 概要」

    • 配信時間:23分
    • 無料でご視聴頂けます。

    アーカイブはこちら(ON24を使用しています)
    https://event.on24.com/wcc/r/2982378/17DE6BE0C44C34513F10A8D7C7B68FB0

     

    以下のような開発者の方におすすめです。

    • 初めてインターシステムズのデータプラットフォーム製品をお使いになる方、ご興味のある方
    • 新しいデータプラットフォームを試してみたい方
    • Caché から IRIS への移行をご検討中の方

     

    ぜひご視聴ください!

     

    0
    0 113
    記事 Toshihiko Minamoto · 2月 8, 2021 10m read

    これで 3 記事目になります (パート 1パート 2 をご覧ください) が、引き続き Caché データベースの内部構造をご紹介いたします。 今回は、興味深い内容をいくつかご紹介し、私の Caché Blocks Explorer プロジェクトを使って作業の生産性をアップさせる方法について説明します。

    0
    1 194
    お知らせ Mihoko Iijima · 2月 8, 2021

    開発者の皆さん、こんにちは!

    第10回のグランプリ・プログラミングコンテストの 続報 📣 のテクノロジーボーナスについてご紹介します。

    今回のコンテストでは、チームで開発した作品もご応募いただけます!ぜひコンテスト詳細ページもご確認ください!







    Group Bonus Points
    General Docker 2
    ZPM 2
    Unit Testing 2
    API REST API 2
    ODBC/JDBC 2
    Native API in Java, Python, .NET, node.
    0
    0 104
    記事 Megumi Kakechi · 2月 8, 2021 1m read

    これは InterSystems FAQ サイトの記事です。
     

    システムのパフォーマンスが低下した場合、OSやインターシステムズ製品の様々なツールを使用して情報収集を行い
      ”通常時と比較して、どこがどの程度変わっているか”
    を確認することで、問題のある箇所を特定できます。
    (逆に、通常時の状況が不明な場合、パフォーマンス問題点の切り分けが非常に困難となる場合もあります。)

    いざ という時に備え、通常時のパフォーマンスを確認することは、大変重要な情報となります。


    収集情報詳細は、以下のドキュメントをご参照ください。

    パフォーマンス調査ガイド

    ガイド内でご紹介しているサンプルは、https://github.com/Intersystems-jp/performance-sample からダウンロードいただけます。


    パフォーマンス低下時の情報収集ツールについては、以下の関連FAQトピックをご参照ください。

    【FAQ】パフォーマンス低下時の情報収集ツールについて教えてください。

    0
    0 179
    記事 Mihoko Iijima · 2月 5, 2021 5m read

    これは InterSystems FAQ サイトの記事です。

    Java ゲートウェイを使用することで、Java クラスのモジュールを InterSystems IRIS から実行できます。

    【メモ】Java ゲートウェイは、外部 Java オブジェクトを InterSystems IRIS 内のネイティブ・オブジェクトと同じようにインスタンス化し、Javaオブジェクトを操作するための方法です。

    詳細は以下ドキュメントをご参照ください。
    Java ゲートウェイについて

     

    Java ゲートウェイを使用する手順は以下の通りです。

    1) Java ゲートウェイサーバを開始する

    2) プロキシオブジェクト(ダイナミック・プロキシ・オブジェクト)を作成して Java オブジェクトを操作する

     


    1) Java ゲートウェイサーバを開始する

    Java ゲートウェイサーバを開始する方法は 3 種類あります。以下のいずれかの方法で、Java ゲートウェイサーバを開始します。

    A) 管理ポータルの「オブジェクトゲートウェイ」を利用する

    B) プロダクションにJavaゲートウェイサービスを追加する

    C) java コマンドを使用する

     

    A)~C) の方法は以下の通りです。

    0
    0 522
    お知らせ Mihoko Iijima · 2月 1, 2021

    開発者の皆さん、こんにちは!第10回目のコンテストが発表されました👏👏

    今回は 🏆 InterSystems グランプリ・プログラミングコンテスト 🏆 です!

    今回は、いつものコンテストと賞金が異なり 賞金総額:16,000ドル です( ゚Д゚)

    応募期間は 2021年2月8日~2月28日 (投票期間は 2021年3月1日~7日、勝者発表は 3月8日)です。

    優勝特典

    1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

    🥇 1位 - $6,000   

    🥈 2位 - $3,000  

    🥉 3位 - $2,000

     

    2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。

    🥇 1位 - $3,000 

    🥈 2位 - $1,500 

    🥉 3位 - $500

    複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

     

     

    参加資格

    どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます)

     

    コンテストのスケジュール

    2月8日~28日 応募期間(Open Exchange へ作成されたアプリケーションをアップロードいただける期間=2週間です。この期間内であればアップロード後も自由に編集できます。

    1
    0 220
    記事 Toshihiko Minamoto · 2月 4, 2021 6m read

    開発者の皆さん、こんにちは!

    InterSystems ObjectScript でライブラリやツール、パッケージなどを開発していると、「このパッケージはどうすればターゲットマシンに展開できるのか?」という疑問がよく浮かびます。

    また、私たちは、既に別のライブラリがインストールされていることを想定したり、その特定のバージョンのことを考慮したりしながらパッケージを開発しています。

    JavaScript や Python などでコーディングを行うと、依存関係を管理しながらパッケージを展開するのに パッケージ管理システム が必要になります。

    これを踏まえ、 InterSystems ObjectScript Package Manager のリリースを発表したいと思います!

    0
    0 362
    記事 Megumi Kakechi · 2月 2, 2021 2m read

    これは InterSystems FAQ サイトの記事です。


    ※こちらの方法は、ミラーリング、シャドウイング、またはその他のメカニズムを使用して複製したデーターベースを比較したい場合に利用します。

    グローバル変数の比較には、DATACHECKユーティリティを利用できます。以下ドキュメントをご参照ください。
    DataCheckの概要【IRIS】

    DATACHECK ユーティリティの実行サンプルは、添付のPDFをご覧ください。
     

    ***

    ルーチンの比較は、システムルーチン %RCMP か、管理ポータルを使用します。

    以下は、管理ポータルでの使用方法になります。

      例えば、以下ルーチンがUSERネームスペースにあるとします。

    test() public{
     quit "hello"
    }

    以下ルーチンがUSER2ネームスペースにあるとします。

    test() public{
     quit "こんにちは"
    }

     

    以下は、USERネームスペースに接続したターミナルで %RCOM を実行した結果になります。

    ※ Compare: にルーチン名を記述し、 with: に比較したいルーチン名を記載します。
      別ネームスペースにあるルーチンを指定する場合は |"ネームスペース名"|ルーチン名.MAC で指定します。

    USER>do ^%RCMP
     
    Compare: comptest.
    0
    0 432
    記事 Toshihiko Minamoto · 2月 2, 2021 9m read

    この記事は Caché データベースの内部構造を説明したこちらの記事の続編です。 そちらの記事では、様々なブロックタイプ、それぞれのつながりやグローバルとの関係について説明しました。 純粋に理論を述べた記事でした。 ブロックツリーを視覚化するのに役立つプロジェクトを作成しましたので、この記事ではその仕組みを詳しく説明します。

    0
    0 331
    記事 Megumi Kakechi · 2月 1, 2021 1m read

    これは InterSystems FAQ サイトの記事です。
     

    下記のWebゲートウェイのエラーメッセージ/システム応答に対して、個別のエラーページを設定することができます。

    • サーバエラー
    • サーバビジー
    • サーバが利用可能ではありません
    • サーバタイムアウト
    • 接続が閉じられました

    設定は、Webゲートウェイ管理画面( [管理ポータル] > [システム管理] > [構成] > [Webゲートウェイ管理] )で行います。

    [デフォルトパラメータ] メニュー内の [エラーページ] セクションで、各エラー発生時に表示させるhtmlページのファイル名またはリダイレクトさせるURLを設定します。

     

     

    ※Webゲートウェイ管理画面は、下記URLからもアクセス可能です。

    http://<Webサーバアドレス>:<ポート>/csp/bin/Systems/Module.cxw

     

    詳細は、以下ドキュメントをご参照ください。
    カスタムエラーページについて【IRIS】
     

    0
    0 337
    記事 Hiroshi Sato · 2月 1, 2021 1m read

    これは 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))
    0
    0 321
    記事 Hiroshi Sato · 2月 1, 2021 1m read

    これは InterSystems FAQ サイトの記事です。
     

    ドキュメント上は明確に記述されていませんが、エクスポートの追加ボタンを押した時に表示されるファイルダイアログのファイル名にグローバル名 + .GBLと入力することでグローバルをエクスポートの対象にすることができます。
    (例: ^aaaの場合、^aaa.gblと指定)

     

     

    この機能はクラス、ルーチン等と一緒にグローバルデータを一括してエクスポート/インポートする際に、便利な機能ですが、XMLで表現されるため、データ容量は実データに比較し大きくなりますので、大量データを処理する場合には必要な容量に注意が必要です。

    0
    0 384
    お知らせ Mihoko Iijima · 2月 1, 2021

    開発者の皆さんこんにちは!

    第9回 InterSystems IRIS プログラミングコンテスト(マルチモデルコンテスト) への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

    今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

    🏆 Experts Nomination  - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。 

    🥇 1位 - $2,000 は  iris-image-index-demo を開発された @José Roberto Pereira さんに贈られました!

    🥈 2位 - $1,000 は zapm を開発された @Sergey Mikhailenk さんに贈られました!

    🥉 3位 - $500 は iris-multimodel-suite を開発された @Renato Banzai さんに贈られました!

    🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

    🥇 1位 - $1,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました!

    0
    0 95
    記事 Mihoko Iijima · 2月 1, 2021 3m read

    開発者のみなさん、こんにちは!

    IRIS プログラミングコンテストでは、💨すぐに💨開発を開始いただけるようにコンテナ版 IRIS を利用した「開発環境テンプレート」をご提供してしていました。

    終了したコンテストにはご応募いただけませんが、テンプレートは「ちょっと試したい」「加工して自分オリジナル環境を作りたい」の目的にぴったりの内容です。

    また、全て Open Exchange で公開されていて、Docker、Git、VSCode をインストールした環境があればすぐにご利用いただけます。

    テンプレートの使用方法については、各コンテストの紹介ページでご案内しています(日本語解説ビデオ付きもあります)。

    基本は以下 3 行だけで開始できます。(とっても簡単!)

    git clone <ここにテンプレートのURL>
    
    cd <作成されたディレクトリ>
    
    docker-compose up -d --build

     

    ご興味ある内容ありましたら、ぜひお手元で試してみてください!

     



    コンテスト名 内容紹介+テンプレート解説ビデオ(YouTube) テンプレート
    REST

    https://www.intersystems.

    0
    0 386
    記事 Mihoko Iijima · 1月 29, 2021 4m read

    これは InterSystems FAQ サイトの記事です。

    %SYS.Journal.File クラスの ByTimeReverseOrder クエリ と %SYS.Journal.Record クラスの List クエリを使用して検索することができます。

    それぞれのクエリの役割は以下の通りです。

     

    A) %SYS.Journal.File クラスの ByTimeReverseOrder クエリ

    ジャーナルファイル名を取得できます。ジャーナルファイル名の降順で結果が返ります。​​

    USER>set stmt=##class(%SQL.Statement).%New()
    
    USER>set status=stmt.%PrepareClassQuery("%SYS.Journal.File","ByTimeReverseOrder")
    
    USER>set rs=stmt.%Execute()
    
    USER>while rs.%Next() { write rs.%Get("Name"),! }
    c:\intersystems\irishcom\mgr\journal\20230725.002
    c:\intersystems\irishcom\mgr\journal\20230725.
    0
    0 521
    記事 Mihoko Iijima · 1月 29, 2021 2m read

    これは InterSystems FAQ サイトの記事です。

    システム提供の %SYS.GlobalQueryクラス の Size クエリーを使用することで取得できます。

    使用例は、以下のサンプルコードをご参照ください。
    ※カラムやパラメータの指定はクラスリファレンスをご確認ください。

     set dir="C:\intersystems\iris\mgr\user" // IRIS.DAT(またはCACHE.DAT)フォルダ
     set rs = ##class(%ResultSet).%New("%SYS.GlobalQuery:Size")
     do rs.Execute(dir) // 第3引数でマスク指定も可
     while (rs.Next()) { 
       set gname= rs.Get("Name") // グローバル名
       set gsize= rs.Get("Used MB") // グローバルサイズ(MB)
       write gname," : ",gsize,!
     }
    

     

    グローバル変数のサイズが大きい場合、取得時間がかかる場合もあります。その場合、Size クエリー 実行時、第 6 引数に 1 を指定してクエリを再実行してみてください。

    第 6 引数の指定により、簡易モードでサイズを取得します。

    0
    0 432
    記事 Henrique Dias · 1月 28, 2021 3m read

    2020年に世界を襲ったパンデミックの影響で、COVID-19のニュースや数字をみんなでフォローするようになりました。

    これを機に、世界の予防接種の数を追いかけて、シンプルで楽しいものを作ってみてはいかがでしょうか。

    この課題に立ち向かうために、私はOur World in Dataで提供されたデータを利用しています。世界最大の問題を解決するための研究とデータ。

    Github上にCOVID-19のデータで専用のリポジトリを用意してくれていて、そのワクチンのデータを持ってトラッカーを手伝ってくれました。

    もしあなたが彼らを知らなかったら、それをチェックしてみてください、それはあなたにとって価値ある時間です。 Github repository

    アプリケーション iris-vaccine-trackerには、3つの異なるページがあります。

    1. メインダッシュボード
    2. ダッシュボードに表示されている詳細情報のデータ表
    3. ヒートマップ

    ダッシュボード

    メインダッシュボードでは、世界中の予防接種の状況を簡単に知ることができます。

    最初のウィジェットは:

    • ワクチンを何本接種しているのか
    • ワクチン接種に関する情報を提供している国はどれくらいあるのか
    • これまでに申請した予防接種の合計。

    2つ目のウィジェットでは、最も重要な予防接種数の多いトップ10の国の予防接種を時系列で見ることができます。

    2
    0 185
    記事 Toshihiko Minamoto · 1月 28, 2021 4m read

    独自の組織データアーキテクチャを書き、InterSystems IRIS にマッピングする必要がある場合は、以下にご紹介するデータアーキテクチャダイアグラムおよび InterSystems IRIS ドキュメンテーションのリファレンスに記載されている内容を考慮してください。

     

    アーキテクチャマッピング

  • SQL データベース: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=GSQL
  • 管理されるファイル: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=AFL_mft および https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=SETEDIGuides
  • IoT ブローカー、イベント、センサー: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?KEY=EMQTT
  • メッセージ: https://docs.intersystems.com/irislatestj/csp/docbook/Doc.View.cls?
  • 0
    0 238
    質問 Taro Yamada · 1月 28, 2021

    皆さんこんにちは。

    以下のメソッドでは日付の入った配列を受け取り、すべてのYYYY-MM-DD形式の
    日付を$horologに変換しているのですが、たまに日付が古すぎるものが入っており
    <VALUE OUT OF RANGE>エラーが発生して途中で止まってしまいます。
    エラー時にエラーメッセージを代入してそのまま継続できる方法はないでしょうか?

     

    プログラムは以下の通りです。

    Class DC.Sample Extends %RegisteredObject [ Language = objectscript ]
    { 
    /// 配列に入っているYYYY-MM-DD形式の日付を$horologに変換する
    ClassMethod TransDate(array) As %Status
    {
    set key="" for {
       set key=$order(array(key),1,data)
       quit:key=""
    
       set array(key)=$zdh(data,3)
    }
    quit $$$OK
    } 
    }

    よろしくお願いいたします。

    2
    0 845
    お知らせ Makiko Kokubun · 1月 28, 2021

    開発者のみなさん、こんにちは!

    インターシステムズは、2/16(火)~ 2/18日(木)の3日間にかけて、オンラインカンファレンス「InterSystems Japan Virtual Summit 2021」を開催致します。

    ⚡️ 現在、事前登録受付中です! ⚡️
     

    テーマは「データプラットフォーム最前線 ニューノーマル時代に求められるアジリティとレジリエンス」です。
    InterSystems IRIS 、IRIS for Health の最新技術情報を多くのセッションを通してお届け致します。ぜひご参加ください。*本セミナーは日本語での開催となります。

    0
    0 168
    記事 Hiroshi Sato · 1月 27, 2021 1m read

    これは InterSystems FAQ サイトの記事です。
     

    InterSystems ObjectScript言語では引数の異なる同名のメソッドを定義することはできません。

    InterSystems ObjectScript言語は一般的に動的言語と呼ばれるプログラミング言語に分類されます。

    ObjectScriptではメソッド実行時にどの引数を使用するかどうかは自由に制御可能ですので、動的プログラミング言語ではないJava等の言語と異なり、コンパイルの段階で厳密に引数の数でメソッドを区別する必要がありません。

    従って ObjectScript言語は、オーバーロードと一般に呼ばれる言語仕様を含んでいません。

     

    Java等で記述されたプログラムを移植する際にオーバーロード相当の機能を実現するには、

    ClassMethod test(args... as %String)

    のように引数の後ろに ... を付加します。

     

    これにより、可変長引数を渡すことが可能です。

    このメソッドに複数の引数が渡された場合は、args(1)=第一引数 args(2)=第二引数というように順次設定されます。

    これを使用して、メソッドコード中で渡された引数の個数を取得して処理を分岐させることができます。

    ※ただし、引数のデータタイプを判別することはできません。

    0
    0 294