0 フォロワー · 72 投稿

初心者タグは、InterSystemsのデータプラットフォームを使い始めた人のための記事と質問をまとめたものです。

記事 Mihoko Iijima · 10月 27, 2020 10m read

この記事はこちらの投稿の続きの内容です。

前回の記事では、システム統合に必要なコンポーネントの中から、プロダクション内の処理の調整役となるビジネス・プロセスの作成について解説しました。

今回の記事では、プロダクションの情報入力窓口である、ビジネス・サービスの作成について解説します。

いよいよ「Interoperability(相互運用性)を使ってみよう!」の最後のコンポーネントです。

ビジネス・サービスは、IRIS 外部からの送信される情報の入力窓口で、外部 I/F に対してアダプタを使用する/しないを選択できます。

サンプルでは、3 種類のビジネス・サービスを用意しています(括弧内のリンクはサンプルコードへのリンク)。

  1. ファイルインバウンドアダプタを利用したファイル用ビジネス・サービスStart.FileBS) 
  2. SOAP インバウンドアダプタを利用する Web サービス用ビジネス・サービスStart.WS.WebServiceBS
  3. アダプタを使用せず、ストアドプロシージャや REST で呼び出されるビジネス・サービスStart.NonAdapterBS
0
0 916
記事 Mihoko Iijima · 7月 21, 2020 2m read

IRIS で REST サーバを作成する際に準備する REST ディスパッチクラスを API ファーストの手順で作成する方法を解説します。
(OpenAPI 2.0に基づいて作成したアプリケーション定義を使用してディスパッチクラスを作成する手順を解説します)

このビデオには、以下の関連ビデオがあります。

もくじ

最初~ 復習ビデオ/関連ビデオについて など

2:36~  作成するディスパッチクラスの内容

4:15~ RESTディスパッチクラス:APIファーストで作成する方法(手順説明)

5:55~ アプリケーションの仕様を定義する (例)

6:19~ IRISにアプリケーション仕様を登録する(説明)など

7:40~ POST要求の実行 (例)

8:24~ 実演

 ↓実演で使用したURL↓
 http://localhost:52773/api/mgmnt/v2/user/crud2

10:32~ (POST要求の)実行結果

11:50~ ベースURLの設定(管理ポータルでの設定)+ 実演

0
0 358
記事 Minoru Horita · 7月 21, 2020 10m read

この連載記事では、InterSystemsデータプラットフォーム用のPython Gatewayについて説明します。 また、InterSystems IRISからPythonコードなどを実行します。 このプロジェクトは、InterSystems IRIS環境にPythonの力を与えます。

  • 任意のPythonコードを実行する
  • InterSystems IRISからPythonへのシームレスなデータ転送
  • Python相互運用アダプタでインテリジェントな相互運用ビジネスプロセスを構築する
  • InterSystems IRISからのPythonコンテキストの保存、調査、変更、復元

その他の記事

現時点での連載計画です(変更される可能性があります)。

はじめに

0
0 596
記事 Mihoko Iijima · 7月 20, 2020 1m read

IRIS で作成する REST サーバの仕組みを解説します。


このビデオには、以下の関連ビデオがあります。

もくじ

0:55~ 今回の説明内容解説と関連ビデオについて

3:00~  RESTとは?

3:52~  動作の仕組み

6:23~ RESTディスパッチクラスとは

8:04~ RESTディスパッチクラスの実装方法

8:34~ RESTディスパッチクラス:全て手動で作成する方法 概要

9:30~ RESTディスパッチクラス:APIファーストで作成する方法 概要

11:12~ 共通:ベースURLの設定(管理ポータルでの設定)

11:37~最後まで 確認できたこと

※YouTubeでご覧いただくと、もくじの秒数にジャンプできます。

0
0 764
記事 Mihoko Iijima · 6月 28, 2020 3m read

この連載記事では、InterSystems IRIS をはじめて操作される方を対象に、IRIS のインストールから、開発環境作成、各種言語からのアクセス方法についてご紹介していきます。

以下3つのビデオは、基本操作をご紹介するビデオです。既にご存知の内容が多い場合は、各種アクセス方法をご紹介するビデオからぜひご参照ください。

基本操作編ビデオシリーズ

0
2 1122
記事 Mihoko Iijima · 6月 28, 2020 1m read

基本操作編ビデオシリーズ:その2

IRIS で開発を始めるために必要な準備について以下の内容をご説明します。

  • 管理ポータルの起動方法
  • ネームスペースの作成方法
  • IDEからIRISへ接続する方法

もくじ

最初から ~ 6:50 管理ポータルの開き方とメニューについて

7:03 ~ 12:50 ネームスペースとデータベースについて

12:50 ~ 17:10 ネームスペース、データベースの作成実演

17:10 ~ 20:50 スタジオを使用する場合の設定内容

20:50 ~ 22:35 スタジオ:IRISへの接続実演

22:35 ~ 26:50 VS Codeを使用する場合の設定内容

26:52 ~ VS Code:IRISへの接続実演

※YouTubeでご覧いただくと「もくじ」に記載の秒数クリックでビデオをジャンプできます。

その他ビデオ一覧は索引ページをご参照ください。

《2021/7/21 ビデオを更新しました》

VSCode の ObjectScript エクステンションを利用して IRIS に接続する説明を更新しました(settings.json に接続情報を設定する方法の解説に変更しました)。

0
0 795
記事 Mihoko Iijima · 6月 28, 2020 3m read

IRIS でのクラス定義の作成、ObjectScript でインスタンスの生成と永続化(保存)の方法について解説します。

もくじ

最初~1:55 前回のビデオの学習

1:55~2:45 今回の説明内容解説

2:45~5:15 クラスの種類について

5:15~13:20 作成するクラスの説明、定義説明

13:20~18:44 スタジオでの作成実演

18:44~22:35 VS Codeでの作成実演

22:35~27:40 ObjectScriptでインスタンス生成

27:40~29:38 インスタンス生成~永続化の実演

29:38~34:54 データの確認

34:54~40:13 マルチモデル(永続クラス=テーブル)の確認

40:13~51:25 JSONとXMLアダプタの操作実演

51:25~57:36 クラスメソッドの定義と実行

57:36~最後まで まとめ

※ YouTubeでご覧いただくと「もくじ」の秒数クリックでビデオをジャンプできます。

その他ビデオ一覧は索引ページをご参照ください。

クラス定義例

0
0 1134
記事 Mihoko Iijima · 6月 28, 2020 2m read

Python から InterSystems IRIS へ接続する方法の1つである「Native API」(※)の使用方法ご説明します。

※ Python からのアクセスは、Native API の他に、PyODBC を利用した接続方法もあります。PyODBC の利用については別の記事でご説明します。

もくじ

最初~1:47 前回のビデオの学習(セルフラーニングビデオの索引記事もご参照ください)

1:47~3:18 今回の説明内容解説

3:18~5:14  Python Native APIを利用するための準備

5:14~10:48 IRISに接続する~^employee(1)の作成と参照

10:48~12:49 グローバル変数のサブスクリプトのループ方法(Iteratorの使い方)

12:49~14:19 グローバル変数の削除とコネクションのクローズ

14:19~20:21 国税庁が公開している都道府県別酒類消費量をグローバル変数に登録する (東京のアルコール消費量の登録)

20:21~21:43 大阪のアルコール消費量の追加登録

21:43~24:22 ^Alcoholから東京だけのデータ取得

24:22~27:22 ^Alcohol全件取得

27:22~28:27 特定のサブスクリプトの情報を削除する

28:27~30:53 おまけ(Pythonの便利なパッケージをインポートし、CSVデータのグラフ化)

0
0 560
記事 Minoru Horita · 6月 26, 2020 6m read

アイリスデータセットのK平均クラスタリング 

みなさん、こんにちは。 今回はアイリスデータセットでk平均アルゴリズムを使用します。 

注意:Ubuntu 18.04、Apache Zeppelin 0.8.0、python 3.6.5で以下を実行しました。 

概要 

K平均法は、クラスタリングの問題を解決する最も単純な教師なし学習アルゴリズムの1つです。 このアルゴリズムは、同じグループ内のオブジェクト(グループはクラスターです)が他のグループ内のオブジェクトよりも(意味的に)互いに類似するようにすべてのオブジェクトをグループ化します。 例えば、緑の芝生に赤いボールのある画像があるとします。 K平均法はすべてのピクセルを2つのクラスターに分割します。 1番目のクラスターにはボールのピクセルが含まれ、2番目のクラスターには芝生のピクセルが含まれます。 

アイリスデータセットは、3種のアイリスの花の特徴をいくつか含むテーブルです。 種には「Iris-setosa」、「Iris-versicolor」、「Iris-virginica」があります。 それぞれの花には5つの特徴(花びらの長さ花びらの幅がく片の長さがく片の幅種 )があります。 

要件の確認 

まず、すべての要件を確認しましょう。 次のように、ターミナルに「which python3」貼り付けてください。 

0
0 1026
記事 Minoru Horita · 6月 3, 2020 10m read

前のパート(12)では、ツリーとしてのグローバルを話題に取り上げました。 この記事では、それらを疎な配列と見なします。 

疎な配列は、ほとんどの値が同一であると想定される配列の種類です。 

疎な配列は実際には非常に大きいため、同一の要素でメモリを占有することには意味がありません。 したがって、疎な配列を整理し、重複した値の格納にメモリが浪費されないようにすることには意味があります。 

疎な配列は、JMATLABなど一部のプログラミング言語では言語の一部になっています。 他の言語では、疎な配列を使用できるようにする特別なライブラリが存在します。 C++の場合は、Eigenなどがあります。 

次の理由により、グローバルは疎な配列を実装するのに適した候補であると言えます。 

  1. 特定のノード値のみを保存し、未定義のノード値を保存しないこと。 
  1. ノード値のアクセスインターフェースが、多くのプログラミング言語が多次元配列の要素にアクセスするために提供しているものとよく似ていること。 
Set ^a(1, 2, 3)=5 
Write ^a(1, 2, 3) 
  1. グローバルはデータを格納するためにかなり低レベルの構造を採用しているため、優れたパフォーマンス特性を備えていること(ハードウェアによっては毎秒数十万から数千万のトランザクションを処理可能、1をご覧ください)。 
0
0 785
記事 Minoru Horita · 6月 2, 2020 14m read

最初の記事については、パート1を参照してください。 

3. グローバルを使用する場合のさまざまな構造 

順序付きツリーなどの構造には、さまざまな特殊ケースがあります。 グローバルを使用する上で実用的な価値があるものを見てみましょう。 

3.1 特殊ケース1  - 枝のない1つのノード 

グローバルは配列のようにも、通常の変数のようにも使用できます。 例えば、カウンターを作成する場合を考えてみましょう。 

Set ^counter = 0  ; カウンターの設定 

Set id=$Increment(^counter) ;  アトミックなインクリメント操作 

  

また、グローバルには値に加えて枝を持たせることができます。 一方が他方を除外することはありません。 

3.2 特殊ケース2  - 1つのノードと複数の枝 

実際、これは典型的なキー・バリューベースのデータ構造です。 また、値の代わりに値のタプルを保存すると、主キーを持つ通常のテーブルが得られます。 

グローバルに基づくテーブルを実装するには、カラムの値から文字列を作成し、主キー別にそれをグローバルに保存する必要があります。 読み取りの時に文字列をカラムに分割できるようにするため、以下のいずれかを使用することができます。 

  1. 区切り文字
0
0 752
記事 Minoru Horita · 4月 30, 2020 9m read

データを格納するための魔法の剣であるグローバルは、かなり前から存在しています。しかしながら、これを効率的に使いこなせる人や、この素晴らしい道具の全貌を知る人はそう多くありません。 グローバルを本当に効果を発揮できるタスクに使用すると、パフォーマンスの向上やソリューション全体の劇的な単純化といった素晴らしい結果を得ることができます(12)。 

グローバルは、SQLテーブルとはまったく異なる特別なデータの格納・処理方法を提供します。 グローバルは1966年にM(UMPS)プログラミング言語で初めて導入され、医療データベースで使用されていました。 また、現在も同じように使用されていますが、金融取引など信頼性と高いパフォーマンスが最優先事項である他のいくつかの業界でも採用されています。 

M(UMPS)は後にCaché ObjectScript(COS)に進化しました。 COSはInterSystemsによってMの上位互換として開発されました。 元の言語は現在も開発者コミュニティに受け入れられており、いくつかの実装で生き残っています。 ウェブ上では、MUMPS GoogleグループMumpsユーザーグループISO規格といった複数の活動が見られます。 

0
0 809