記事 Toshihiko Minamoto · 9月 28, 2023 22m read

コミュニティの皆さん、こんにちは。

私が作成した OpenAPI-Suite という最新のパッケージをご紹介します。これは、OpenAPI 仕様バージョン 3.0 から ObjectScript コードを生成するツールセットです。  簡単に言うと、これらのパッケージでは以下を行うことができます。

  • サーバーサイドクラスの生成。  ^%REST による生成コードに非常に似ていますが、バージョン 3.0 がサポートされていることに付加価値があります。
  • HTTP クライアントクラスの生成。
  • クライアントプロダクション(ビジネスサービス、ビジネスオペレーション、ビジネスプロセス、Ens.Request、Ens.Response)クラスの生成。
  • コードの生成とダウンロードまたはサーバーでの直接コンパイルを行う Web インターフェース。
  • バージョン 1.x からバージョン 3.0 への仕様の変換。
  • 0
    0 162
    記事 Toshihiko Minamoto · 9月 20, 2023 14m read

    主流となっているソフトウェア開発手法では、必ずテスト専用の項目が用意されています。 これは、デリバリーの品質を持続的に達成する上では欠かせないアプローチです。

    テストには、以下の 2 種類があります。

    1. ホワイトボックステスト: これらは、ソースコードとアプリケーションの機能の品質を調べるテストです。 この種のテストには、以下のようなテストがあります。
      1. 静的解析: 静的解析ソリューションは、ソースコードの解析に使用されます(テスト時に機能は実行されません)。命名パターン、インデント、宣言された未使用の変数、コンポーネント間のインデックスの結合など、定義された条件が解析ソリューション内で評価されます。 一般に、開発環境内では、品質に問題のあるソースコードの行が指摘されるため、開発者は問題の解決に取り組むことができます。
      2. ユニットテスト: テストクラス(テストユニット)が作成されます。機能トピック(顧客の維持、トランザクションの収集など)ごとに 1 つのテストクラス(テストユニット)が作成され、テストスイート(一連のテストユニット)にまとめられます。アプリケーションモジュールごと(登録モジュール、販売モジュールなど)、またはアプリケーション全体に 1 つのスイートがあります。 一般に、検出された結果を含む HTML レポートが発行されます。
    0
    0 175
    記事 Toshihiko Minamoto · 9月 15, 2023 5m read

    DeepSee BI ソリューションのユーザーインターフェース(UI)を配布するにはいくつかのオプションがあります。 最も一般的には以下の手法があります。

    • ネイティブの DeepSee ダッシュボードを使用し、Zen で Web UI を取得して、Web アプリに配布する。
    • DeepSee REST API を使用して、独自の UI ウィジェットとダッシュボードを取得・構築する。

    最初の手法はコーディングを行わずに比較的素早く BI ダッシュボードを構築できるためお勧めですが、事前設定のウィジェットライブラリに限られます。これを拡張することはできますが、大きな開発の手間がかかります。

    2 つ目の手法には、任意の総合 js フレームワーク(D3,Highcharts など)を使用して DeepSee データを可視化する手段がありますが、ウィジェットとダッシュボードを独自にコーディングする必要があります。

    今日は、上の 2 つを組み合わせて Angular ベースの DeepSee ダッシュボード用 Web UI を提供するもう 1 つの手法をご紹介します。DeepSee Web ライブラリです。

    0
    0 220
    記事 Toshihiko Minamoto · 9月 5, 2023 10m read

    Caché と InterSystems IRIS データベースの整合性は、システム障害から完全に保護されてはいますが、物理ストレージデバイスが保管しているデータは、デバイスの障害によって破損してしまいます。  そのため、多くのサイトでは、データベースの整合性チェックを定期的に実行するように選択しており、特に特定のバックアップが災害時に信頼できるかどうかを検証するためにバックアップが行われています。  システム管理者がストレージの破損を伴う災害に対応するために、整合性チェックも緊急に必要となる場合もあります。  整合性チェックはチェックされているグローバルの各ブロック(すでにバッファーにない場合)を、グローバル構造で指示された順序で読み取る必要があります。 これには膨大な時間がかかりますが、整合性チェックは、ストレージサブシステムが維持できる限り高速に読み取ることができます。  一部の状況においては、できる限り迅速に結果を取得するために、そのように実行することが望ましい場合がありますが、  他の状況においては、ストレージサブシステムの帯域幅の過剰な消費を避けるために、整合性チェックをより保守的に行う必要があります。 

    攻撃への対応計画

    以下の概要は、ほとんどの状況に対応します。

    0
    0 387
    記事 Toshihiko Minamoto · 9月 1, 2023 2m read

    以下は、InterSystems IRIS で使用するデータベース、ネームスペース、および Web アプリケーションを作成できる ObjectScript スニペットです。

        set currentNS = $namespace
    
        zn "%SYS"
    
        write "Create DB ...",!
        set dbName="testDB"
        set dbProperties("Directory") = "/InterSystems/IRIS/mgr/testDB"
        set status=##Class(Config.Databases).Create(dbName,.dbProperties)
        write:'status $system.Status.DisplayError(status)
        write "DB """_dbName_""" was created!",!!
    
    
        write "Create namespace ...",!
        set nsName="testNS"
        //グローバルの DB
        set nsProperties("Globals") = dbName
        //ルーチンの DB
        set nsProperties("Routines") = dbName
        set status=##Class(Config.Namespaces).Create(nsName,.nsProperties)
        write:'status $system.Status.DisplayError(status)
        write "Namespace """_nsName_""" was created!",!!
    
    
        write "Create web application ...",!
        set webName = "/csp/testApplication"
        set webProperties("NameSpace") = nsName
        set webProperties("Enabled") = $$$YES
        set webProperties("IsNameSpaceDefault") = $$$YES
        set webProperties("CSPZENEnabled") = $$$YES
        set webProperties("DeepSeeEnabled") = $$$YES
        set webProperties("AutheEnabled") = $$$AutheCache
        set status = ##class(Security.Applications).Create(webName, .webProperties)
        write:'status $system.Status.DisplayError(status)
        write "Web application """webName""" was created!",!
    
        zn currentNS
    
    0
    0 192
    記事 Toshihiko Minamoto · 8月 30, 2023 2m read

    cAdvisorContainer Advisor)は、実行中のコンテナのリソースの使用率とパフォーマンスデータを分析して公開します。 cAdvisor は初期設定のままで Prometheus メトリクスを公開します。 

    https://prometheus.io/docs/guides/cadvisor/

    Prometheus は SAM に統合されています。 このため、cAdvisor メトリクスと利用して Prometheus と Grafana で公開することが可能です。

    cAdvisor はポート 8080 でリッスンしますが、これは Nginx のポートと競合するため、それに対応するように Nginx ポートを変更することができます。

    構成手順:

    1. nginx ポートを変更します。

    nghix.conf を変更します。

        server {
            listen 9991; 

    これにより、http://server:8080/ 経由で多数のサンプルダッシュボードが含まれる cAdvisor UI にアクセスできるようになります。

    1. cAdvisor コンテナを追加するように docker-compose を構成します。

    docker-compose.yml に以下を追加します。

    0
    0 703
    記事 Toshihiko Minamoto · 8月 23, 2023 7m read

    この「DeepSee トラブルシューティングガイド」は、DeepSee プロジェクトの問題を追跡して修正する支援を提供することを目的としています。

    このガイドラインに従って問題を修正できない場合でも、少なくとも DeepSee サポートに WRC の問題を提出し、すべての証拠を提供するのに十分な情報を得ることができます。この情報によって、一緒に調査を続け、より迅速に解決することが可能となります。

    ご注意ください: 特定のアクションやコマンドによってどのような結果がもたらされるかがよくわからない場合は、実行しないでください。本番システムに影響を与える可能性があります。  この場合は、サポートセンターにお問い合わせください。 

    左から右の操作列に進むと、このガイドを最も簡単に活用できます。

    問題の領域 発生事項 分析 解決方法
    ビルドの問題
    メッセージのエラーを修正
    ソーステーブルの行
    よりも少ないレコー
    ドが構築される
    maxfacts が使用されているかを確認 maxfacts を削除
    ^DeepSee.
    0
    0 154
    記事 Toshihiko Minamoto · 8月 15, 2023 9m read

    Docker による Apache Web ゲートウェイ

    コミュニティの皆さん、こんにちは。

    この記事では、以下を使用して、Docker でプログラムによって Apache Web ゲートウェイを構成します。

    • HTTPS プロトコル
    • Web ゲートウェイと IRIS インスタンス間の安全な通信を確保する TLS/SSL

    画像

    イメージには、Web ゲートウェイ用と IRIS インスタンス用の 2 つを使用します。

    すべての必要なファイルは、こちらの GitHub リポジトリで入手可能です。

    では、git clone から始めましょう。

    git clone https://github.com/lscalese/docker-webgateway-sample.git
    cd docker-webgateway-sample
    

    システムの準備

    権限に関する問題を回避するために、システムにユーザーとグループが必要です。

    • www-data
    • irisowner

    コンテナと証明書ファイルの共有に必要です。 これらがシステムに存在しない場合は、以下を実行します。

    0
    0 367
    記事 Toshihiko Minamoto · 8月 7, 2023 7m read

    この記事では、.Net/Java ゲートウェイを簡単にコンテナ化する方法を説明します。

    この例では、Apache Kafka との統合を開発します。

    Java/.Net と相互運用するために、PEX を使用しています。

     

    アーキテクチャ

    このソリューションは完全に docker で実行し、以下のように構成されます。

     

     

    Java ゲートウェイ

    まず、メッセージを Kafka に送信する Java オペレーションを開発しましょう。 このコードはお好きな IDE で書くことができ、こちらのようになります。

    要約すると:

    • 新しい PEX ビジネスオペレーションを開発するには、抽象型の com.intersystems.enslib.pex.BusinessOperation クラスを実装する必要があります。
    • public プロパティはビジネスホスト設定です。
    • OnInit メソッドは Kafka への接続を初期化し、InterSystems IRIS へのポインターを取得するために使用されます。
    • OnTearDown は、(プロセスのシャットダウン時に)Kafka から切断するために使用されます。
    • OnMessagedc.KafkaRequest メッセージを受け取って、Kafka に送信します。

    では、これを Docker にパックしましょう!

    これがこの例の dockerfile です。

    0
    0 223
    記事 Toshihiko Minamoto · 7月 28, 2023 1m read

    ターミナルにライセンス期限切れの警告メッセージ(「*\* Warning: This Cache license will expire in 3 days **」)が表示されており、そのメッセージを表示したくない場合は、以下のコマンドを実行すると、メッセージの表示を無効(または有効)にできます。

    Do ExpirationMessageOff^%SYS.LICENSE - Disable

    Do ExpirationMessageOn^%SYS.LICENSE - Enable

     

    0
    0 184
    記事 Toshihiko Minamoto · 7月 24, 2023 8m read

    Python は世界で最も使用されているプログラミング言語になり(出典: https://www.tiobe.com/tiobe-index/)、SQL はデータベース言語としての道をリードし続けています。 Python と SQL が連携して、SQL だけでは不可能であった新しい機能を提供できれば、素晴らしいと思いませんか? 結局のところ、Python には 380,000 を超える公開ライブラリがあり(出典: https://pypi.org/)、Python 内で SQL クエリを拡張できる興味深い機能が提供されています。 この記事では、Embedded Python を使用して、InterSystems IRIS データベースに新しい SQL ストアドプロシージャを作成する方法を詳しく説明します。

    サンプルとして使用する Python ライブラリ

    この記事では、IRIS で SQL を扱う人にとって非常に便利な GeoPy と Chronyk という 2 つのライブラリを使用します。 

    Geopy は、ジオコーディング(住所と地理座標の修飾)を住所データに適用するために使用するライブラリです。 これを使用すると、通りの名前から郵便番号と完全な住所を郵便局の形式で取得することができます。 多くのレコードには住所が含まれるため、非常に便利です。

    0
    0 440
    記事 Toshihiko Minamoto · 7月 20, 2023 12m read

    Power BI

    データソースへの接続

    AtScale に接続するために、SQL Server Analysis Services データベースを使用します。 Power Query エディターで開いてみましょう。 これを行うには、 Home から Transform Data を選択します。

    表示されたウィンドウで、Home を選択し、New Source を展開して Analysis Services を選択します。

    0
    0 734
    記事 Toshihiko Minamoto · 7月 13, 2023 5m read

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

    ご存知のように、InterSystems IRIS インターオペラビリティソリューションには、プロダクション、ビジネスルール、ビジネスプロセス、データ変換、レコードマッパーなどの様々なエレメントが含まれています。 また、UI ツールを使用してこれらの要素を作成し、変更することもあります。  もちろん、UI ツールで行った変更をソース管理する便利で堅牢な方法も必要です。

    長い間、これは手動(クラス、エレメント、グローバルなどのエクスポート)か面倒な設定作業手順によって行われてきました。そのため、ソース管理 UI の自動化で節約された時間は、設定のセットアップとメンテナンスの時間で相殺されていました。

    現在では、この問題はなくなりました。 パッケージファースト開発と @Timothy Leavittgit-source-control という IPM パッケージの使用という 2 つのアプローチによる結果です。

    詳細は以下のとおりです!

    0
    0 283
    記事 Toshihiko Minamoto · 7月 5, 2023 39m read

    この記事では、InterSystems IRIS の学習に関連したトピックについて、開発者コミュニティでの厳選された記事にアクセスすることができます。機械学習や Embedded Python、JSON、API と REST アプリ、InterSystems環境の構築と管理、DockerとCloud、VSCode、SQL、Analytics/BI、グローバル、セキュリティ、DevOps、インターオペラビリティNative API、それぞれでランク付けされたトップの記事を見ることができます。ぜひ、楽しみながら学んでください!  

    機械学習

    機械学習は、高度なデータ分析を構築し、優れた効率で手動活動を自動化するための必須技術です。既存のデータから学習する認知モデルを作成し、自己調整されたアルゴリズムに基づいて予測、確率計算、分類、識別、「非創造的」な人間の活動の自動化を実行します。

    すべてのシナリオにおいて、InterSystems IRISは、これらのマシンラーニングモデルを作成、実行、利用可能にし、使用するためのデータプラットフォームおよび環境として機能します。IRISは、SQLコマンドからのML利用(IntegratedML)、Embedded PythonやPMML(Predictive Model Markup Language)による機械学習が可能です。

    0
    2 291
    記事 Toshihiko Minamoto · 6月 29, 2023 13m read

             

    コミュニティの皆さん、こんにちは。
    この記事では、InterSystems Embedded Python の使用方法を説明します。以下のトピックが含まれます。

    • 1- Embedded Python の概要
    • 2- Embedded Python の使用方法
      • 2.1- ObjectScript から Python ライブラリを使用する
      • 2.2- Python から InterSystems API を呼び出す
      • 2.3- ObjectScript と Python を同時に使用する
    • 3- Python 組み込み関数の使用
    • 4- Python モジュール/ライブラリ 
    • 5- Embedded Python のユースケース
    • 6- まとめ

    では、概要から始めましょう。

    0
    0 657
    記事 Toshihiko Minamoto · 6月 27, 2023 13m read

    はじめに

    今日の相互運用性分野に従事する多くの人にとって、REST は最高峰にあります。 REST API 開発用のツールとアプローチが溢れかえる中、コードを書き始める前に、どのツールを選び、何を計画する必要があるでしょうか? この記事では、堅牢性、適応性、および一貫性に優れた REST API を構築できるようにする設計パターンと考慮事項を焦点としています。 CORS サポートと認証管理の課題に他する実行可能なアプローチについて、REST API 開発の全段階に適用できる様々なヒントとテクニック、最適なツールを織り交ぜながら説明します。 InterSystems IRIS Data Platform で利用できるオープンソース REST API と複雑化し続ける API の課題にどのように取り組むかについてお読みください。 これは、同じトピックに関する最近のウェビナーを記事にしたものです。

    0
    1 457
    お知らせ Toshihiko Minamoto · 6月 20, 2023

    先週の InterSystems Global Summit にて、今年の初めにリリースしました2023.1のエクスペリメンタル機能として、新たな 外部テーブル を発表しました。現在、 外部テーブルの Early Access Program にご参加いただきご評価いただくことで、この機能がお客さまのニーズに合っているか、次に向けてどの機能を優先するべきか、お知らせいただきたいと考えています。

    No alt text provided for this image

    外部テーブルって何なの?
    この素晴らしい概要ビデオを見る時間やポップコーンがない場合に備えて、外部テーブルは、ファイルやリモートデータベースなど、物理的に別の場所に保存されているデータをIRIS SQLとしてアクセスするのに役立つ機能です。外部テーブルは、通常のIRISテーブルとしてSQLに表示され、他の通常テーブルや外部テーブルとのJOINなど、あらゆるSQLステートメントで使用することができます。クエリを実行する際、外部テーブルから何を検索する必要があるのかを理解し、そのサーバーがリレーショナルデータベースの場合は、ネットワーク経由で取得するデータを最小限に抑えるようなクエリを出力しています。

    なぜデータをロードするだけじゃないの?
    それはいい質問ですね!データをロードした後、IRISでクエリを実行すると、ソース・システムですでに変更されている可能性があります。

    0
    0 186
    記事 Toshihiko Minamoto · 6月 14, 2023 11m read

    オンラインコース「Hands-On with InterSystems API Manager for Developers」のフィードバック 

    Docker コンテナと REST API の基本的な知識で、InterSystems API Manager による API とマイクロサービスの制御に挑戦したいと思い、 ホストにローカルの IRIS インスタンス(Windows OS)を使用し、Linux VM で IAM (ゲスト)を実行するこのオンラインコースを実行してみました。 

    まず InterSystems API Manger(IAM)を紹介してから、ローカル環境をセットアップするための手順を説明し、最後にコースの各章の内容を確認しましょう。

    はじめに

    今日では、API トラフィックの管理、監視、および保護が UI ポータルに集約される 簡単なデプロイのメリットを生かして、API を管理することが非常に重要となっています。

    InterSystems API Manger(IAM)は、IRIS アプリケーションが消費し公開する API とマイクロサービスを制御します。 下流と上流のシステムの間の API ゲートウェイであり、どの API がどれくらいの頻度で誰に呼び出されたのかを視覚的に追跡する方法も備わっています。

    0
    0 123
    記事 Toshihiko Minamoto · 6月 8, 2023 2m read

    コミュニティの皆さん、こんにちは!

    グローバルサミットの日記を続けますが、2日目もよろしくお願いします。

    この日のキーノートは、IRIS Data Platformに特化したものでした(やったー!)。

    Scott Gnau氏は、まずIRISがなぜIRISと呼ばれているのかを説明しました。これは知りませんでした!

    キーノート(と昼食)の後、皆は登録したセッション、ワークショップ、イベントを探すために別々の道を歩きました。

    デベロッパーコミュニティのブースがあるTech Exchangeは、この時間帯はいつものように満席でした。

    コンテナについて話している人がいて、かなりの人数が集まりました!

    日中は、モデレーターの方が立ち寄って、近況を聞いたり、座っておしゃべりしたり(@Irène Mykhailova@Guillaume Rongier )していました。

    (@Irène Mykhailova,  @Guillaume Rongier ).

    あるいは廊下で見かけることもあります ( @José Pereira と私 )

    @John Murray と @David Loveluck

    グローバルサミットの妖精のようなお母さん (@Maureen Flaherty) も「大丈夫ですか」と駆けつけてくれました。.

    しかし、最終日はみんな少し疲れました。

    0
    0 285
    記事 Toshihiko Minamoto · 5月 30, 2023 7m read

    コミュニティの皆さん、こんにちは!

    最近では、誰もが GithubGitLabbitbucket などのリポジトリにプロジェクトのソースコードを保管していると思います。 InterSystems IRIS プロジェクトについても同様で、Open Exchange にチェックされています。

    InterSystems Data Platform で特定のリポジトリの操作を開始または継続するたびに、何をしているでしょうか?

    ローカルの InterSystems IRIS マシン、プロジェクト用の環境のセットアップ、ソースコードのインポートが必要です。

    つまり、すべての開発者は以下を実行しています。

    1. リポジトリからコードをチェックアウトする。
    2. ローカル IRIS インストールをインストール/実行する。
    3. プロジェクト用の新しいネームスペース/データベースを作成する
    4. コードをこの新しいネームスペースにインポートする。
    5. すべての残りの環境をセットアップする。
    6. プロジェクトのコーディングを開始/継続する。 

    リポジトリを Docker 化すると、この手順は次の 3 つのステップに短縮できます。

    1. リポジトリからコードをチェックアウトする。
    2. docker-compose build を実行する。 
    3. プロジェクトのコーディングを開始/継続する。 

    メリット: 実行に数分かかる上、頭が痛くなるようなステップ 3、4、5 を行わなくて済みます。

    次の数ステップで、(ほぼ)すべての InterSystems リポジトリを Dcoker 化できます。 では、やってみましょう!

    0
    1 404
    InterSystems公式 Toshihiko Minamoto · 5月 24, 2023

    Intersystems IRISおよびIRIS for Health 2025.1より、Zen レポートのメンテナンスが終了することをお知らせします。 これは、2018年のInterSystems IRIS発表時に非推奨となり、その後、2020年のInterSystems Reportsの搭載により、代替のレポート機能を提供したためです。 時系列の概要は以下の通りです。

    2018年3月   InterSystems IRIS 2018.1導入  Zen Reportsの非推奨を発表、既存アプリケーションの継続性を確保するため出荷を継続

    2020年4月     InterSystems IRIS 2020.1発表 InterSystems IRISおよびIRIS for Healthのユーザライセンス、Advanced ServerライセンスにIntersystems Reportsを組み入れる。

    2023年5月      Zen レポートのメンテナンス終了のお知らせ

    2024年の2H      Zen レポートがipmモジュールとして利用可能

    2025 年 1 月 (InterSystems IRIS 2025.

    1
    0 250
    記事 Toshihiko Minamoto · 5月 23, 2023 8m read

    Web スクレイピングとは:

    簡単に言えば、Web スクレイピングWeb ハーベスティング、または Web データ抽出とは、Web サイトから大量のデータ(非構造化)を収集する自動プロセスです。 ユーザーは特定のサイトのすべてのデータまたは要件に従う特定のデータを抽出できます。 収集されたデータは、さらに分析するために、構造化された形式で保存することができます。

    Web スクレイピングとは? — James Le

    Web スクレイピングの手順:

    1. スクレイピングする Web ページの URL を見つけます。
    2. 検査により、特定の要素を選択します。
    3. 選択した要素のコンテンツを取得するコードを記述します。
    4. 必要な形式でデータを保存します。

    たったそれだけです!!

    Web スクレイピングに使用される一般的なライブラリ/ツール

    • Selenium - Web アプリケーションをテストするためのフレームワーク
    • BeautifulSoup – HTML、XML、およびその他のマークアップ言語からデータを取得するための Python ライブラリ
    • Pandas - データ操作と分析用の Python ライブラリ

    Beauthiful Soup とは?

    Beautiful Soup は、Web サイトから構造化データを抽出するための純粋な Python ライブラリです。

    0
    0 461
    記事 Toshihiko Minamoto · 5月 18, 2023 9m read

    請求、支払いや領収、アイテムの配送や在庫を処理するアプリケーションでは、バーコードや QR コードの使用が必要となるのが一般的です。 単純なバーコードよりも多くの情報を格納できる QR コードは、さらに幅広いシナリオで使用されています。 したがって、バーコードと QR コードを生成する機能、またはそれらに格納されたデータを画像または PDF から読み取る機能が重要となります。 この記事では、Python と無料のライブラリを使用してこれを行う方法を説明します。

    Pyzbar ライブラリ

    pyzbar ライブラリは、zbar ライブラリを使って、Python 2 と 3 から 1 次元バーコードと QR コードを読み取ります。 以下の特徴が備わっています。

    • 純粋な Python。
    • PIL / Pillow 画像、OpenCV / ImageIO / NumPy ndarray、および raw バイトで動作。
    • バーコードの場所をデコード。
    • zbar ライブラリ以外の依存関係なし。
    • Python 2.7、Python 3.5~3.10 で検証済み。
    0
    0 1817
    記事 Toshihiko Minamoto · 5月 11, 2023 10m read

    はじめに

    データ分析は、急速に展開するこの時代において、ビジネス上の意思決定を行う上で欠かせない側面です。 組織はデータ分析に大きく依存して、十分な情報に基づく意思決定と競合優位の維持を行っています。 この記事では、Pandas と InterSystems Embedded Python を使ってデータ分析を実行する方法について説明します。 Pandas の基本、InterSystems Embedded Python を使用するメリット、および両方を組み合わせて有効なデータ分析を実行する方法について説明します。

    0
    0 375
    記事 Toshihiko Minamoto · 5月 2, 2023 5m read

    InterSystems 2022.2 では、IRIS SQL テーブルを永続化する新しいオプションとして、分析クエリを桁違いに向上させられるカラムナーストレージを導入しました。 2022.2 と 2022.3 ではこの機能は実験的としてマークされていますが、次の 2023.1 リリースでは、完全にサポートされた本番機能に「卒業」する予定です。 

    製品ドキュメントとこの紹介動画では、IRIS では現在でもデフォルトであり、全顧客ベースで使用されている行ストレージと、このカラムナーストレージの違いがすでに説明されており、ユースケースに適切なストレージレイアウトの選択方法に関する大まかなガイダンスが提供されています。 この記事では、このテーマについて詳しく説明し、業界で実践されているモデリング原則、内部テスト、および早期アクセスプログラム参加者からのフィードバックに基づく推奨事項をいくつか紹介します。 

    1
    0 219
    記事 Toshihiko Minamoto · 5月 2, 2023 6m read

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

    vscode上で動作するObjectScriptエクステンションがリリースされ、vscodeを開発環境として使用できるようになり、GitHubリポジトリと連携できるようになりました。その一方で、使い慣れたIRISやCacheのスタジオからGitHubを扱いたいという要望は根強くあり、GitHubと連携するツールがOpen Exchange上にいくつか公開されています。

    そこで、Open exchangeに収録されているツールの中で新しい「git for shared development environment」を使い、環境を作成してみましたので、その手順をお伝えします。

    ご利用される際のご参考になれば幸いです。

    Git for windows のインストール

    Git for windows のサイト よりキットをダウンロードし、そのexeファイル (git-2.xx.xx xx-bit.exe) を起動します。ライセンスの確認画面が表示されますので、「Install」ボタンをクリックします。

    SSHキーペアの作成

    コマンドプロンプトを起動し、ssh-keygen コマンドを実行します。

    C:\Users\username> ssh-keygen -t rsa<-- Enter
    1
    0 407
    記事 Toshihiko Minamoto · 4月 28, 2023 2m read

    本番環境でのopenhl pythonモジュールの使用に関する作業の説明の続きです。

    Embedded Pythonを搭載しているirisは、まだ最終リリースがされていません(原文投稿当時)が、現時点で本番で使用する必要があります。 そこで、リクエストをxlsxファイルにエクスポートするサービスは別サーバーにバックアップし、クエリ結果は別データベースのグローバルに保存することにしました。

    このデータベースは、ネットワーク化され、サービスサーバーはローカル、本番サーバーはリモートとしています。本番サーバー、サービスサーバ間のコミュニケーションは、REST サービスを使って実装しています。

    つまり、クライアントアプリケーションのサーバー上では、ユーザーは大きなレポートを発行します。レポートはバックグラウンドで作成され、グローバルに保存されています。 リモートデータベース上では、グローバルへの完全な参照をパラメータとしてRESTサービスが呼び出されます。 このサービスはバックグラウンドで起動し、Excelファイルに内容をエクスポートし、その後、合図として生成されたファイルへのリンクでRESTサービスを呼び出します。 メッセージを受け取った本番サーバーのサービスは、Excelファイルをアーカイブして、クライアントにメールで送信します。

    0
    0 421
    記事 Toshihiko Minamoto · 4月 26, 2023 6m read

    Global Summit 2022 または 2022.2 ローンチウェビナーの内容からよく覚えていると思いますが、InterSystems IRIS の分析ソリューションに組み込むための目覚ましい新機能をリリースしようとしています。 分析クエリを桁違いに高速化する、代替の SQL テーブルデータ格納手法であるカラムナー(列指向)ストレージです。 もともと 2022.2 の実験的機能としてリリースされましたが、最新の 2022.3 開発者プレビューには多数の更新が含まれているため、別途ここで簡単に説明したいと思います。

    0
    0 218