1. interoperability-embedded-python

この概念実証では、embedded PythonIRIS 相互運用フレームワークをどのように使用できるかについて示すことを目的としています。

1.1. 目次

1.2. 例

import grongier.pex
import iris
import MyResponse

class MyBusinessOperation(grongier.pex.BusinessOperation):

    def OnInit(self):
        print("[Python] ...MyBusinessOperation:OnInit() is called")
        self.LOGINFO("Operation OnInit")
        return

    def OnTeardown(self):
        print("[Python] ...MyBusinessOperation:OnTeardown() is called")
        return

    def OnMessage(self, messageInput):
        if hasattr(messageInput,"_IsA"):
            if messageInput._IsA("Ens.StringRequest"):
                self.LOGINFO(f"[Python] ...This iris class is a Ens.StringRequest with this message {messageInput.StringValue}")
        self.LOGINFO("Operation OnMessage")
        response = MyResponse.MyResponse("...MyBusinessOperation:OnMessage() echos")
        return response

1.3. コンポーネントの登録

ObjectScript は不要です

0 0
0 286

@Yuri Marx のお陰で、非常に優れた Postgres から IRIS へのデータベース移行の例を確認できました。
私の個人的な問題は、DBeaver を移行ツールとして使用することです。
特に、以前の IRIS(それから Caché)の強みの 1 つは、JBDC または ODBC でアクセスできる限り任意の外部 Db にアクセスできる SQLgateways を利用できることであったためです。 そこで、これを実演するために、パッケージを拡張しました。

0 0
0 230

開発者の皆さん、こんにちは!21回目の InterSystems プログラミングコンテストを開催します!

お題は👉 🏆 InterSystems Full Stack コンテスト 2022 🏆 です!

期間: 2022年6月27日~7月17日まで(詳細は末尾をご参照ください)

💰賞金総額$10,000 💰

0 0
0 123

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

現在テーブルを用いてシステムの設計を行っておりますが、
トランザクション中に、そのトランザクションの影響を受けずにテーブルを
更新するような仕組みが欲しいと考えております。
(トランザクションがRollbackされても、そのテーブルの更新だけは確定させたい。)

例えば$INCREMENT()はトランザクション中であっても、その制約を無視して値を更新できます。
そのような回避策がないかをご教示いただきたいです。

用途としては、連番を生成するAPIを作成していて、その値をテーブルで管理しています。
このAPIは複数プロセスから呼ばれることがありますが、
1トランザクション中の連続Updateにより、行ロックからテーブルロックへの昇格が行われる
(1000行以上行ロックをしたときのIRISの仕様)ことで、
他プロセスがAPIを利用できなくなるなどの影響が出ています。
今回のAPIに関しては、番号重複さえ起きなければよいので、そのような影響は受けたくありません。

0 4
0 273

これは、一般的なデータベース(PostgreSQL や MySQL など)から IRIS への移行に関する前回の記事に続く記事です。
PostgreSQL から移行する際に使用する場合と同じ手続きを使用します。 ただし、MySQL で使用されているデータ型は IRIS のデータ型に非常に似ているため、前回よりもさらに簡単に移行できます。 このため、列に変換ルールを作成する必要はありません。

移行プロセスにサンプルデータを取得

GitHub では、2 つのデータベースをビルドして実行する docker compose プロジェクトをダウンロードできます。

  • ソースデータベース: サンプルデータベースを含む MySQL データベースの Docker インスタンス。
  • ターゲットデータベース: ソースデータベースを受け取る準備のできたスキーマを含む InterSystems IRIS データプラットフォームの Docker インスタンス。

サンプルを取得して実行するには、以下の手順に従います。

0 0
0 203

Postgres から IRIS にデータとデータスキーマを転送または移行する必要がある場合があります。 これを現時点で実行するにはいくつかのオプションがありますが、最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。この記事では、DBeaver を使った移行の実行方法を説明します。

0 0
0 336

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

前回のウェビナー開催から少し時間がたってしまいましたが、2022年06月28日 (火曜日) 12時半~ 30分程度のウェビナーを開催します!

今回は、新たに開講する「Embedded Python トレーニングコース」の内容をご紹介するウェビナーです。

新規開講コースでは、

  • Python開発者からみた Embedded Python でできること
  • IRIS開発者からみた Embedded Python でできること

を実際の操作を通してご理解いただけるよう、コースを3種類に分けております。

ウェビナーでは、

0 0
0 112

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

2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「Embedded Python で広がる InterSystems IRIS の世界」のアーカイブを YouTube に公開いたしました。

(プレイリストはこちら


今や Python は最も人気のあるプログラミング言語の一つです。シンプルで機能的なコードが書けることや、なんでも揃う豊富なライブラリを利用できることなどが人気の理由です。

Embedded Python は、IRIS に Python のランタイムを組み込み、ルーチンやメソッドを Python で書けるようにする画期的な機能です。

IRIS 開発者の方にとって、広大な Python の世界が身近になります。InterSystems IRIS の新しいカタチを是非ご覧ください。

0 0
0 115

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

今までにミラーリング環境をセットアップされたことはありますか? プライベートネットワーク、仮想 IP アドレス、および SSL 構成を設定したことはありますか? この作業を何度か繰り返すと、証明書の生成や各 IRIS インスタンスの構成にはたくさんの手動による作業が必要で、時間がかかる作業であることに気づきました。 頻繁にこの作業を行わなければならない方にとっては、面倒な作業です。

たとえば、品質管理チームでは、新しいバージョンのアプリケーションをテストするたびに、新しい環境を作成しなければならないでしょう。 サポートチームであれば、複雑な問題を再現する環境を作成しなくてはならないかもしれません。

となれば、こういった環境を素早く作成できるツールが絶対に必要です。

この記事では、以下を使用するミラー環境のセットアップ例を紹介します。

0 0
0 246

Cachéでは、今後の新しいOSのサポート、例えばWindows 11やWindows 2022のサポートは行われないことになりました。

いよいよ新しいサーバハードウェアを導入するとCachéが使えなくなる可能性が高くなってきました。

皆さんIRISへの移行をお早目にご検討ください。

IRISへの移行の際に障害となるものの1つがVisM.OCXを利用したアプリケーションの移行です。

IRISでもこの機能は制限付きで利用可能です。

しかし、そのためには少々面倒な手続きが必要です。

(この手続きについてはインターシステムズにお問い合わせください)

しかもこの手続きも暫定処置で将来なくなる可能性もゼロではありません。

ところでなんでそんな面倒くさい手続きが必要なのと感じた人もいると思います。

その理由は、

VisM.OCXがマイクロソフトの非常に古い技術を利用していて、開発元のマイクロソフトもそれを全くサポートしていませんし、セキュリティ脆弱性への対応等も全く行われていません。

そんな技術なんで、インターシステムズも技術サポートするのが困難です。

1 0
0 265

初めに

VisM.OCXはVisual Basicでクライアント・サーバー型のアプリケーション開発を支援するためにInterSystemsが提供してきたツールです。


誕生から既に20年以上が経過した非常に古いテクノロジーです。


OCX規格(ActiveXコンポーネント)は、マイクロソフト社が推進してきた規格ですが、やがてマイクロソフト社が後継となる.Net Frameworkをリリースし、その新しいフレームワークへの移行を強力に推進すると同時に、OCX規格は非推奨機能となっています。

一方で下位互換性のため、.Net Framework配下でOCXを動作可能とする仕組みが用意されており、結果としてOCXは、.Net Framework環境下で動作可能です。

従って、VisM.OCXも.Net対応のプログラミング言語C#やVB.NETからそのまま利用することができます。

しかしながら.Net Framework上で動作するとは言え、.Net Frameworkが用意する安全性の高い資源管理や強固なセキュリティ機能の恩恵を受けることができず、いわゆるマネージドコードとして動作できないという制約を抱えています。

1 1
0 1.2K

2022年5月30日より、外部アプリからGmailを送信するには OAuth 2.0が必須になりました (リンク) そのため、IRIS から Gmail を送信したい 場合は、今後は OAuth 2.0 を利用して Gmailアカウントに接続する 必要があります。 そこで、IRIS コード ObjectScript を使って、OAuth 2.0 でGmailアカウントに接続&メール送信するサンプルを作成しました。 ぜひご活用ください!

2 0
0 982

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

InterSystems グランプリ・プログラミングコンテストの投票が始まりました!ベストアプリケーションだ🔥と思う作品に投票をお願いします!

🔥 投票はこちらから! 🔥

投票方法は以下ご参照ください。

0 0
0 138

InterSystems IRIS 2021.2 のバージョンより、Embedded Python を使用できるようになりました。

Embedded Python で Excel のデータを IRIS グローバルに格納する方法 では pandas.DataFrame のデータを InterSystems IRIS グローバルに保存する方法をご紹介しました。
こちらの記事では、その逆の「InterSystems IRIS グローバル($LB) を pandas.DataFrame に変換する」方法をご紹介します。

1 0
0 276

こんにちは! Open Dataset コンテストにおいて、1 つのコンテナに InterSystems IRIS と Openflights データセットを、もう 1 つのコンテナに InterSystems IRIS と Apache Zeppelin を使用する Docker コンテナアプリスタックを構築しました。 詳細はこちらでご覧ください: https://github.com/andreas5588/openflights_demo

これを使用すると、構成をまったく行わずに、Apache Zeppelin から Openflights データセットをクエリできます。 コンテナは hub.docker にあるため、とても簡単に使用できます。

Docker ダッシュボードを確認すると、openflights_demo というグループがあるのがわかります。

0 0
0 74

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

InterSystems IRIS/Caché の管理ポータルメニュー:SQLデータインポートウィザードの処理で行うようなCSVファイルをテーブルへインポート、テーブルからファイルにエクスポートする方法をプログラムで実行することができます。

※ サンプルはバージョン 2017.1以降で動作確認しています。

バージョン 2016.2.3以前でお試しいただく場合は、SQL.Utilsクラス の20行目をコメント化してからご利用ください。

0 0
0 478

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

2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「SQLでどこまでできる? ~データロードから機械学習まで~」のアーカイブを YouTube に公開いたしました。

(プレイリストはこちら


データベースのテーブルにアクセスするためにSQLを利用するのは「ご飯を食べるときは箸を使います」と同じぐらい開発者にとって当たり前のことだと思いますが、SQLで分析や機械学習まで行えたらどうでしょうか。

便利ですよね?

本セッションではInterSystems IRISのSQLを使って、どこまでの操作ができるのかについて、デモを交えながらご紹介します。

ぜひ、動画をご参照ください。

0 0
0 121

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

%SYS.Namespace クラスの List クエリで取得することができます。

次のようなルーチンを作成し、ターミナルで実行してください。


1. サンプルの作成

1 0
0 229

7)適切なドライバーが必要

LOAD DATA SQL コマンドを実行する場合、2021.2 のドライバーを選択する必要があります。 誤ったドライバーを選択して LOAD DATA SQL コマンドを使用してしまうと、以下のようなエラーが発生します。

Error: [SQLCODE: <-1>:<Invalid SQL statement>]
[Location: <Prepare>]
[%msg: < LITERAL ('%qpar') expected, : found^LOAD DATA FROM FILE :%qpar>]

JDBC ドライバーのリポジトリ(https://github.com/intersystems-community/iris-driver-distribution)のフォークを作成し、InterSystems IRIS バージョン 2021.2.0.617 のドライバーを追加しました。

0 0
0 125

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

2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「オープンソースだけで IRIS on Kubernetes を動かそう」のアーカイブを YouTube に公開いたしました。

(プレイリストはこちら


Docker は使いこなせるようになってきたけど、Kubernetes はなかなか手を出すチャンスがないな、という方々を対象に手持ちの Windows/PC 上に K8s 環境を構築して色々試すことを最終目標としたセッションです。

開発者コミュニティの記事「microk8sでKubernetesをお手軽に試す」との紙面連動です。

ぜひご参照ください。

0 0
0 116

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

2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「VSCode、Jenkinsを使用した CICD 環境の構築」のアーカイブを YouTube に公開いたしました。

(プレイリストはこちら


IRIS アプリケーションの開発では、どのような開発環境、テスト環境を構築されてますでしょうか?

このセッションでは VSCode で開発した複数の Windows サーバで通信を行うプログラムを例に Jenkins の環境構築とインストールキットの作成やテストを自動化する方法について説明します。

また、IRIS の %UnitTest クラスを Jenkins で判別させるツールや、バッチコマンドから IRIS の処理を実行するツールを紹介します。

ぜひ動画をご参照ください。

0 0
0 204

最近、LOAD DATA という素晴らしい新機能を使用することがありました。この記事では、初めて使用した際の体験についてお話しします。 以下の箇条書きには優先順がなく、他の評価も含まれません。 これらは、LOAD DATA コマンドを使用したときに私が気付いたことを記したものです。 また、プレビューリリースである IRIS バージョン 2021.2.0.617 を使用していることも記しておきたいと思います。 そのため、ここに記録されたことは、それ以降の IRIS バージョンに適用しない可能性があります。 それでも誰かのお役に立てるかもしれません。

0 0
0 242

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

GW🎏明け、いつもとちょっと違うこと👀を始めてみるのはいかがでしょうか。

例えば、プログラミングコンテスト💰に応募してみる! などなど。

9日より、InterSystems グランプリ・プログラミングコンテストが始まります!このコンテストのお題は「InterSystems データプラットフォームの機能を使う」です。とにかく、InterSysetms IRIS を利用していたら応募できます!ぜひ、参加してみてください!

この記事では、コンテストで賞金を多く獲得するのに役立つ、テクノロジーボーナスについてご紹介します!

  • InterSystems FHIR - 5
  • IntegratedML - 4
  • Interoperability - 3
  • Production EXtension(PEX) - 4
  • Embedded Python - 5
  • Adaptive Analytics (AtScale) Cubes usage - 4
  • Tableau, PowerBI, Logi の利用 - 3
  • InterSystems IRIS BI - 3
  • Docker コンテナの利用 - 2
  • ZPM パッケージを利用したデプロイ - 2
  • オンラインデモ - 2
  • Unit Testing - 2
  • コミュニティに最初の記事を投稿する - 2
  • コミュニティに2つ目の記事を投稿する - 1
  • Code Quality をパスする - 1
  • YouTube にビデオを公開する - 3

0 0
0 68

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

2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「ミラーリングを使用した HA および DR の構成例」のアーカイブを YouTube に公開いたしました。

(プレイリストはこちら


ミラーリングは、IRIS インスタンス間のデータベースの複製およびフェイルオーバを行う機能です。

動画では、ミラーリングを利用した高可用(HA)なシステムおよびディザスタリカバリ(DR)に対応したシステムの構成例についてご紹介します。

ぜひご参照ください。

0 0
0 153

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

1つのインスタンスで作成可能なネームスペース数の上限は、2047個になります。
ただし多数のネームスペースを使用するには、それに合わせてメモリの設定が必要になります。使用するメモリの設定については下記の関連トピックご参照ください。
管理ポータルのメモリ関連設定項目について

0 0
0 186