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

皆さん、こんにちは!

InterSystems IRIS には [Interoperability(相互運用性)]というメニューがあります。

このメニューには、システム統合を簡単に作成できる仕組み(アダプタ、レコードマップ、BPM、データ変換など)が用意されていて、異なるシステムを簡単に接続することができます。

例えば、普段繋がっていないシステムを繋げるために相手の仕様に合わせてデータを受信(または送信)したり、データ送信前に別システムから情報を取得して追加したり、データベース(IRIS でもそれ以外でも)から情報を取得したり更新したり、データ中継の流れの中に様々な処理を含むことができます。

 

この記事のシリーズでは、Interoperability(相互運用性)でシステム統合を行う際、どのような仕組みで動作するのか、またどのような開発が必要になってくるのか、をご理解いただくためにサンプルコードをご覧いただきながら以下の項目を解説します。

 

まずはこのシリーズで使用するテーマをご紹介します。

ショッピングサイトを運営している会社があり、季節に合わせ商品情報の表示順を変更する作業を行っています。

0
2 1470
記事 Mihoko Iijima · 10月 27, 2020 4m read

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

この記事では、Interoperability(相互運用性)メニューを利用してシステム統合を行う際、どのような仕組みで動作しているのかについて解説します。

 

 

図の左側は、外部システムから送信される情報の受け入れ窓口です。

情報の受信方法としては、ファイルを読むために指定ディレクトリを一定間隔で監視したり、データベースへ定期的に問い合わせを行ったり、入力を待機したり、または他システムのアプリケーションから直接呼び出して渡してもらうなど、様々な方法を用意しています。

IRIS の Interoperability(相互運用性)メニューで作成するシステム統合の仕組みの中では、受信した情報を メッセージ と呼ぶオブジェクトに格納し、次の処理を担当するコンポーネントへ メッセージ を送信します。
メッセージ は受信した情報を全て利用して作成することも、一部抜粋した情報のみを利用することも自由に選択できます。

メッセージ に含まれる情報を外部システムへ 送信したい場合は、外部システムへ処理を依頼する役割があるコンポーネント(図の右側)へメッセージ を送信します。メッセージ を受信したコンポーネントは、外部システムへ処理を依頼します。

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

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

前回の記事では、Interoperability(相互運用性)メニューを利用してシステム統合を行う際、どのような仕組みで動作しているのかについて解説しました。

今回の記事では、Interoperability(相互運用性)メニューを利用してでシステム統合を行うためにどのような開発を行うのか、について解説します。

最初に、どんな流れを作りたいのか?を考えながら、以下の内容を作成していきます。

  • プロダクション
  • メッセージ
  • コンポーネント
    • ビジネス・サービス
    • ビジネス・プロセス
    • ビジネス・オペレーション

 

プロダクション については、システム統合を行うために必要なコンポーネントの指定と、コンポーネントの設定を保存しておくため定義で、管理ポータルを使用して設定します(内部的にはプロダクション用クラス定義として保存されます)。

例えば、一定間隔で指定ディレクトリに置かれたファイルを処理するビジネス・サービスを作成している場合、「どのディレクトリを監視するのか」「どのファイルを処理したらいいのか」を具体的に設定します。この設定を保存するために用意するのが プロダクション です。

なお、設定内容はデータを送受信するコンポーネントが使用するアダプタにより異なります。

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

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

前回の記事では、プロダクションとは?について確認しました。また、サンプルコードを動かしながらプロダクションに流れるメッセージの中身をトレース画面で確認しました。

今回は記事では、システム統合を行うための必要な開発内容の中から、コンポーネント間のデータ送受信に使用される メッセージ について、作成するときの考え方や定義方法を確認していきます。

  • プロダクション(前回の記事)
  • メッセージ
  • コンポーネント
    • ビジネス・サービス
    • ビジネス・プロセス
    • ビジネス・オペレーション

 

メッセージ を作成する前に、サンプルのテーマを再度確認しましょう。

ショッピングサイトを運営している会社があり、季節に合わせ商品情報の表示順を変更する作業を行っています。
ところが、季節を問わず良く売れるもの、想定しなかった時期に売れるものもあり、現在の表示順変更ルールにうまく合いません。
そこで、季節に合わせた表示順ではなく、そのときの気温にあわせた表示順に変更できないか検討した結果、購入物品に対してそのときの気温を調査する必要が出てきました。
気象情報の確認には、外部の Web API が利用できるため、購入されたタイミングで気象情報を収集し、後で確認できるようにデータベースに情報を登録していく予定です。

 

このテーマから、以下の内容が確認できます。

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

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

前回の記事では、コンポーネント間のデータ送受信に使用される メッセージ について、作成するときの考え方や定義方法を確認しました。

今回の記事では、コンポーネントの作成方法の中から、ビジネス・オペレーションの作成について解説します。

 

早速サンプルを参照しながらコードを確認します。






コンポーネント名

役割

Start.FileBS

指定ディレクトリに置かれたファイルを一定間隔で読み取るファイルインバウンドアダプタを利用しているビジネス・サービス

Start.NonAdapterBS

アダプタを利用せず直接アプリケーションやユーザから情報を入力してもらうためのビジネス・サービス

Start.WS.WebServiceBS

Webサービスを利用して情報を入力してもらうためのビジネス・サービス

Start.WeatherCheckProcess

気象情報を取得してからデータベースの登録を行う手順を制御するビジネス・プロセス

Start.

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

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

前回の記事では、システム統合に必要なコンポーネントの中から、ビジネス・オペレーションの作成について解説しました。

今回の記事では、確認した2つのビジネス・オペレーションを順番を守って呼び出しを行うビジネス・プロセスの作成について解説します。

 

ビジネス・プロセスは処理の調整役(司令塔)として働きます。

サンプルの中で行いたい処理の調整は、以下の内容です。

手順①    外部の Web API に都市名を渡し気象情報を問い合わせる
手順②    ①の問合せ結果(気象情報)と、処理開始時に受信した購入商品名をDBへ登録する

サンプルのビジネス・プロセスでは、手順① の回答を待って手順② を動かすように調整します。

回答を待つ処理(=同期を取る処理)ですが、例えば、手順① が数日返ってこない場合、どうなるでしょうか?

数日回答を待ち続けている間にビジネス・プロセスへ次々に新メッセージが渡された場合、メッセージは一旦キューに格納されるため消失しませんが、新メッセージの処理をビジネス・プロセスが実行できず処理に遅延が発生します。

メモ: ビジネス・プロセスとビジネス・オペレーションにはキューがあります。

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

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

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

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

 

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

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

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

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

Docker環境下でWebアプリのコンテナとIRISのコンテナをRESTfulAPIで連携した時の SSL化方法。
ちなみにこの方法で管理ポータル等もSSL通信が可能になります。

参考サイト:

構成

※ Vue.jsはローカル上でホットリロードを利用した開発環境。 ※ IRISはローカル上に構築したDockerコンテナ下で稼働中。

今回、IRISをDockerコンテナで稼働させる方法は割愛します。

WebアプリケーションをHTTPSで利用する

Vue.jsで開発中のアプリケーションをhttpsでホットリロード利用出来るように起動する。

npm run serve -- --https

これで開発中のデバッグ画面をhttpsで呼び出して利用する事ができるようになるが、このままでは、httpsからhttpにアクセスする事が出来ない為、IRISのRESTを呼び出すことが出来ない。

2
0 1411
質問 Akio Hashimoto · 10月 19, 2020

Vue.jsのホットリロードを使った環境においてWebアプリケーションを開発しています。Webアプリケーションから開発環境と同じローカルPCにあるDocker上のIRISへ%RESTを使用しRESTfulAPI通信をしていますが、Webアプリケーションをhttpsで利用した場合は、httpsからhttpへはAPI通信ができないので、間にプロキシサーバーを立ててリダイレクトしないといけないと思います。しかし上手くいきません。

○ npm run serve で起動したWebアプリ http -> httpでIRISの%RESTを呼び出せる。

× npm run serve -- --https で起動した場合  https -> http は呼び出しできない。

  https -> プロキシサーバ(https-httpへリダイレクト)-> httpでIRISの%RESTが呼びさせるはず。

環境

Webアプリ:Vue.js 例)https://localhost:3014/

IRIS:Docker上のコンテナで稼働 例)http://localhost:9091 -> 57772

やってみた事

1. Docker上にnginxのコンテナを作成。openssl にてSAN付きオレオレ証明書の作成

2. リダイレクトの定義を作成

現象

スマホからもPCからも反応が無い。

7
0 1341
記事 Megumi Kakechi · 10月 25, 2020 2m read

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

Windowsでは、以下イメージ名のプロセスを監視対象としてください。

[irisdb.exe]
重要なシステムプロセスが含まれています。
※ 監視対象にすべき重要なシステムプロセスを確認する方法は、添付をご参照ください。

[IRISservice.exe]
IRISインスタンスをサービス経由で扱う為のプロセスになります。
このプロセスが終了すると、IRISインスタンス自体には直接影響はありませんが、IRIS の停止(サービスの停止)ができなくなります。

[ctelnetd.exe]
%Service_Telnet サービスが有効になっている場合に起動し、Telnet 経由で IRIS へアクセスする為のデーモンプロセスになります。
このプロセスが終了すると、IRIS インスタンスへの Telnet アクセスができなくなります。

[iristrmd.exe]
%Service_Console サービスが有効(既定で有効)になっている場合に起動し、サーバのローカル端末(サーバの IRIS ランチャーからターミナル)より IRIS へアクセスする為のデーモンプロセスです。
このプロセスが終了すると、IRIS インスタンスへのローカル端末アクセスができなくなります。

[iristray.

0
0 2269
記事 Mihoko Iijima · 10月 25, 2020 4m read

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

IRIS の開始ができず、messages.log に以下のようなエラーが出力された場合の対処方法についてご説明します。

-----------------------------------------------------------------
08/11-08:55:14:180 ( 2224) 1 errors during journal rollback, 
see message.log file for details. 
Startup aborted, entering single user mode.  Enter IRIS with 
c:\intersystems\IRIS\bin\iris -sc:\intersystems\IRIS\mgr -B 
and D ^STURECOV for help recovering from the errors. 
-----------------------------------------------------------------

 

このメッセージは、ジャーナルファイルの破損による IRIS 開始時のリカバリ処理がエラーになっていることを示しています。

0
1 832
記事 Mihoko Iijima · 10月 25, 2020 2m read

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

%Net.HttpRequest クラスの SSLConfiguration プロパティに SSL/TLS 構成の「クライアント」構成名が指定されているかご確認ください。

%Net.HttpRequest クラスを使用して、https の url にアクセスするためには、以下のドキュメントに記載されている SSL/TLS 構成 の「クライアント」構成を作成して指定した名前を SSLConfiguration プロパティに指定する必要があります。

SSL/TLS構成のクライアント構成方法

管理ポータルの [システム管理] > [セキュリティ] > [SSL/TLS構成] メニューを開き、「構成名」に任意名を設定し、「保存」ボタンをクリックします(そのほかの構成パラメータは、デフォルト値で作成します)。

 

実行例は以下の通りです(https://www3.nhk.or.jp/news/ にアクセスしています)。

set httprequest=##class(%Net.HttpRequest).%New()
set httprequest.Https=1
set httprequest.Server="www.nhk.or.jp"
set httprequest.
0
0 538
InterSystems公式 Toshihiko Minamoto · 10月 22, 2020

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

再度ここでObjectScript extension for Visual Studio Codeについてお話しできること、ならびに今回、バージョン 1.0 のリリースを発表することに興奮しています!

開発者コミュニティはInterSystems と共に前例のない方法でこの製品を提供するために力を合わせてきました。開発者の生産性に非常に重要なツールというものは、初期の段階からコミュニティによるテスト、フィードバック、ソースコードによって構築されるのは当然のことです。

新機能

このリリースのほとんどの機能は 0.9 から存在しており、前のこの投稿でアナウンスされていました。これらの機能はすべて強化され、洗練されました。

大きなニュースは、InterSystems Language Server が含まれていることです。これにより、シンタックスカラーリングとインラインドキュメントが Studio と同等になりました。Language Server は、ObjectScript 拡張機能をインストールする際にオプションとしてインストールされます。ベータユーザーの場合は、ObjectScript 拡張機能を完全にアンインストールして再インストールするのが最も簡単な方法です。

0
0 360
記事 Toshihiko Minamoto · 10月 22, 2020 7m read

InterSystems IRIS 2019.1は公開されてからしばらく経ちますが、気づかれていない可能性のある、JSONの処理の強化機能について説明したいと思います。 最新のアプリケーションを構築する際、特にRESTエンドポイントを操作する際は、JSONをシリアル化形式として扱うことが重要です。

0
0 642
記事 Tomohiro Iwamoto · 10月 22, 2020 12m read

リモートや在宅での勤務が一般化しつつあります。

そのため、今までの集中型、オンサイトの開発体制を見直し、分散型の開発体制への移行を進めておられるユーザさんも多いのではないかと思います。

VSCodeを使用したIRISアプリケーションの開発が、コミュニティーを中心に広まり始めて久しいですが、Gitとの相性が良いこの開発ツールが今後さらに浸透していくことは間違いありません。あちらこちらで、その使いまわし方が語られていますが、ここでは、ソースコントロールとの関連を中心にご紹介したいと思います。

ObjectScript Extensionの使い方の基本については、こちらこちらをご覧ください。

 VSCode InterSystems ObjectScript Extensionのプロダクションリリース(V1.0.x)の配布が始まりました。  

これに合わせて、今までのコミュニティーサポートに加え、InterSystemsによる公式サポートもアナウンスされています。よりいっそう安心してご利用いただけるようになりました。


目的

メインの開発ツールとしてVSCode+ObjectScript Extensionを使用している環境でのソースコード管理について、その流れを解説します。

0
1 3281
記事 Toshihiko Minamoto · 10月 19, 2020 5m read

SQL パフォーマンスリソース

SQL のパフォーマンスについて語るとき、最も重要なトピックとして取り上げられるのが「Indices」、「TuneTable」、「Show Plan」の 3 つです。  添付の PDF にはこれらのトピックに関する過去のプレゼン資料が含まれていますので、それぞれの基礎を一度に確認していただけます。  当社のドキュメンテーションでは、これらのトピックの詳細に加え、SQL パフォーマンスの他のトピックについてもカバーしておりますので、下のリンクからお読みください。  eラーニングをご利用いただくと、これらのトピックをもっと深く理解していただけます。  また、開発者コミュニティによる記事の中にも SQL パフォーマンスについて書かれたものが複数ありますので、関連するリンクを下に記載しております。

下に記載する情報には同じ内容が多く含まれています。  SQL パフォーマンスにおける最も重要な要素を以下に紹介します。

  • 利用可能なインデックスの種類
  • あるインデックスの種類を他の種類の代わりに使用する
  • TuneTable がテーブルに集める情報とそれが Optimizer に対して意味する内容
  • Show Plan を読んでクエリの善し悪しを深く理解する方法
  • 0
    0 255
    記事 Hiroshi Sato · 10月 19, 2020 3m read

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

    2つのステップにて作業します。

    クラス定義の移行

    クラス定義を別システムへ移行するため、XML形式またはUDL形式(拡張子.cls)のファイルにエクスポートします。

    スタジオでのエクスポート手順は以下の通りです。

    [ツール] > [エクスポート]

    > [追加]ボタンで移行したいクラスを複数選択

    > [ローカルファイルにエクスポート]にチェック

    > ファイルの種類がXMLであることを確認し、ファイル名を入力し、[OK]

    この後、別システム上のスタジオで、エクスポートしたXML、UDLファイルをインポートします。

    この手順で、クラス定義は移行できます。

    スタジオでのインポート手順は以下の通りです。

    [ツール] > [ローカルからインポート]

    > 上記手順で出力したXML、UDLファイルを指定します。  

     

    データの移行

    次に実際のデータを移行します。
    オブジェクトデータは既定では、以下の命名規則のグローバル変数内に格納されています。
    データ   :^クラス名D
    インデックス:^クラス名I
    ストリーム :^クラス名S
    例)User.testクラスのデータは以下の3つのグローバルに格納されます。
    ^User.testD, ^User.testI, ^User.testS

    これらのうち存在するグローバル変数をすべて、システム管理ポータル(Caché5.

    0
    0 391
    記事 Mihoko Iijima · 10月 15, 2020 5m read

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

    DATE 型は InterSystems 製品のデータ型の %Date に、TIME 型は %Time に対応しています。

    %Date は内部日付(特殊変数 $Horolog のカンマ区切り1番目)、%Time は内部時刻($Horolog のカンマ区切り2番目)を登録するタイプであるため、サーバ側ロジックでは表示モードを切り替えない限り、内部(論理)形式の値が使用されます。
    サーバ側ロジックで内部日付・時刻の表示形式を変更する方法は、操作方法により異なります。

    以降の実行例では、Sample.Person テーブルを使用して解説します。
    (コマンド実行例は SELECT 文で記載していますが、更新文に対しても同様に記述できます。)

    IRIS/IRIS for Health でお試しいただく場合は、ドキュメント(InterSystems IRIS で使用するサンプルのダウンロード)から、
    または 関連記事(サンプル(Sample.Person)のクラス定義ダウンロードとサンプルデータの作成について)から、
    Sample.Person クラスのインポートとサンプルデータの作成を行ってからお試しください。

    Caché/Ensembleでお試しいただく場合は、SAMPLESネームスペースのSample.Personをご利用ください。


    0
    0 894
    記事 Hiroshi Sato · 10月 15, 2020 1m read

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

    $ZHorologを使用します。

    $ZHorologシステム変数はInterSystems製品を起動してからの経過時間(秒)を保持しています。

    2点間の$ZHorolog値の差を取るだけで正確な経過時間を取得する事が出来ます。

    詳しくは以下、ドキュメントをご参照ください。


    $ZHorologについて【IRIS】


    $ZHorologについて

    この他、秒の小数部を含む時間の日付と時間の取得には $NOW, $ZTimeStamp が使用できます。

    詳しくは以下、ドキュメントをご参照ください。

    $NOWについて【IRIS】
    $NOWについて
    $ZTimeStampについて【IRIS】
    $ZTimeStampについて

    0
    0 226
    記事 Mihoko Iijima · 10月 15, 2020 6m read

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

    この記事では「グローバルを誤って削除してしまった!」という場合の対処方法をご紹介します。

    誤って削除してしまった特定のグローバルを復旧するためには、バックアップファイルとジャーナルを使用します。
    復旧は、^ZJRNFILTユーティリティによるジャーナルリストアで条件を指定してジャーナルレコードをリストアする方法で行います。
    この方法で、ある時点のデータベースのバックアップに対して、削除が含まれるジャーナルレコードについて特定グローバルを削除するまでのものを適用することができます。

    ^ZJRNFILTユーティリティの詳細については、以下のドキュメントをご参照ください。

    ^ZJRNFILT を使用したジャーナル・レコードのフィルタ処理について【IRIS】
    ^ZJRNFILT を使用したジャーナル・レコードのフィルタ処理について

     

    【実施例】

      ・2020/10/14 時点のバックアップが存在している(バックアップは2020/10/15 0:30に実行したとします)
         ジャーナル:2020/10/15 の1日分が存在している(2020/10/14のバックアップ以降のもの)
      ・対象のグローバル:^TEST1

    イメージは以下の通りです。

    1. グローバル ^TEST1 は 10/14 よりデータが作成される。
    0
    0 582
    記事 Toshihiko Minamoto · 10月 14, 2020 9m read


    こんにちは!

    この記事では、IRIS から Caché、Ensemble、HealthShare など、InterSystems の製品で使用されるクラスやその構造を理解するのに役立つツールの概要を簡単にまとめています。

    つまり、そのツールはクラスやパッケージ全体を視覚化し、クラス間の相対関係を示し、ディベロッパーやチームリーダーに必要な情報をすべて提供してくれるので、わざわざ Studio に移動してコードを調べる必要が省けます。

    InterSystems の製品について情報を集めている方からたくさんのプロジェクトをレビューしている方、または単純に InterSystems Technology ソリューションの新機能に興味がある方まで、ObjectScript Class Explorer の概要をぜひお読みください!

    0
    0 421
    お知らせ Makiko Kokubun · 10月 13, 2020

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

    インターシステムズは、10/20-11/5 にかけて、年次カンファレンス InterSystems Virtual Summit 2020 をオンラインで開催いたします。

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

    Virtual Summit では、IT技術に詳しい経営層、技術マネージャ、開発者、システムインテグレータの方など、全ての方にとって価値のある内容をお届けします。 今年はすべてのセッションに無料でご参加いただけます!

    時間は日本のタイムゾーンに合わせて開催いたします。

     

    今年のサミットのテーマは インタラクション & インフォメーション(相互作用と情報)です。サミットでは、以下のようなセッションが開催されます。

    基調講演
    適応力の高い組織の創造
    10/20 - 10/22

    60以上のフォーカスセッション
    ベストプラクティス、新機能、ロードマップ 
    10/27 - 10/29

    ASK THE EXPERTS
    専門家と個別にご相談いただけます。
    10/30, 11/2

    EXPERIENCE LABS
    最新技術をハンズオンでご体験いただけます。
    11/2 - 11/5

    詳細は、こちらをご覧ください。 intersystems.com/summit20

    ぜひ、Virtual Summit 2020にご参加ください!

    0
    0 122
    記事 Megumi Kakechi · 10月 13, 2020 4m read

    これはInterSystems FAQ サイトの記事です。
    InterSystems IRIS Native API for Java のメソッドに、IRIS クラスメソッドを呼び出す classMethod***() があります。
    ObjectScript メソッドおよび関数の呼び出し

    こちらを使用することで、InterSystems IRIS Native API for Java から InterSystems IRIS のクラスメソッドを呼び出すことが可能です。
    以下、使用方法について簡単なサンプルをご紹介します。

    *SampleNativeAPI .java

    import java.sql.DriverManager;
    import com.intersystems.jdbc.IRISConnection;
    import com.intersystems.jdbc.IRIS;
    import com.intersystems.jdbc.
    0
    0 376
    記事 Toshihiko Minamoto · 10月 13, 2020 8m read

    GraphQLは、クライアントとサーバー間のミドルウェア層として機能する、データ構造とデータアクセスのメソッドを選択するための標準です。 GraphQLについて聞いたことがない方は、ここここここにある、有用なオンラインリソースをご覧ください。

    この記事では、InterSystemsテクノロジーに基づいて、プロジェクトでGraphQLを使用する方法を説明します。

    0
    0 420
    お知らせ Mihoko Iijima · 10月 12, 2020

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

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

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

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

    🥇 1位 - $1,500 は npm-iris を開発された Henrique Gonçalves Dias さんに贈られました!

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

    🥉 3位 - $500 は realworld-intersystems-iris を開発された Dmitriy Maslenniko さんに贈られました!

    🏆 開発者コミュニティ賞 - 最も多くの票を獲得したアプリケーションに贈られます。

    🥇 1位 - $1,000 は npm-iris を開発された Henrique Gonçalves Dias さんに贈られました!

    🥈 2位 - $250 は apptools-admin を開発された Sergey Mikhailenk さんに贈られました!

    1
    0 146
    InterSystems公式 Toshihiko Minamoto · 10月 11, 2020

    InterSystems は、InterSystemsIRIS を新しいリリース方法を採用しようとしています(訳注:2020年現在、このリリース方法が採用されています)。このブログでは、新しいリリースモデルとお客様が予測しておくべきことを説明しています。  この内容は InterSystems IRIS ロードマップセッションの最後に行われた Global Summit で説明し、お客様から多くの肯定的なフィードバックを受け取ったものです。

    この新しいモデルでは、次の 2 つのリリースストリームを提供しています。

    1)EM と呼ばれる従来と同じ毎年恒例のリリース(拡張メンテナンス

    2)CD(継続的デリバリーを意味する)のタグが付けられ、コンテナ形式でのみ入手可能になる四半期ごとのリリース。

    0
    1 415
    記事 Henrique Dias · 10月 8, 2020 2m read

    npm-iris とは何ですか? 

    N.P.Mは "No Project Mess "の略です。

    N.P.M.は、InterSystems IRISとBootstrap 4を使用したプロジェクト&タスク管理アプリです。

    No Project Messは、シンプルで直感的なプロジェクトとタスクの管理ソフトウェアで、開発者や中小企業が日々の複雑な問題を軽減できるように作成されています。 
    スプレッドシート、カンバン、カレンダー、ガントチャートなど、タスクのためのさまざまなビューを提供しています。

    2
    0 206
    記事 Toshihiko Minamoto · 10月 8, 2020 18m read

    Ansible は Caché とアプリケーションコンポーネントをいかに迅速にデータプラットフォームのベンチマークにデプロイするかという課題を解決するのに役立ちました。 同じツールと方法をテストラボ、トレーニングシステム、開発環境、またはその他の環境の立ち上げも使うことができます。 顧客サイトにアプリケーションをデプロイする場合、デプロイの大部分を自動化し、アプリケーションのベストプラクティス標準に合わせてシステム、Caché、アプリケーションを確実に構成することができます。

    0
    0 281
    記事 Toshihiko Minamoto · 10月 5, 2020 15m read

    CachéとCosFakerを使ったテスト駆動開発の簡単な紹介

    読了****目安時間: 6分
     

    皆さん、こんにちは。

    私がTDDに初めて出会ったのは約9年前のことです。すぐに夢中になってしまいました。
    最近は非常に人気が出てきているようですが、残念ながら多くの企業ではあまり使われていないようです。 また、主に初心者の方ではありますが、一体それがなんであるのか、どのように使うのかといったことさえも知らない開発者もたくさんいます。

     

     

    概要

    この記事は、%UnitTestでTDDを使用する方法を紹介することを目標としています。 ワークフローを示し、私の最初のプロジェクトであったcosFakerの使用方法を説明します。これはCachéを使って作成したものであり、最近になってOpenExchangeにアップロードしたものです。

    では、ベルトを締めて出発しましょう。

     

     

    TDDとは?

    テスト駆動開発(TDD)は、自動テストが失敗した場合に、開発者に新しいコードの書き方のみを示すプログラミング実践として定義できます。
    このメリットに関する記事、講義、講演などは数多く存在しますが、どれもが正しい内容です。
    コードはテスト済みで生成されること、過度なエンジニアリングを避けるために定義された要件に、システムが実際に適合していることを確認できること、継続的にフィードバックを得ることが挙げられます。

    0
    0 405
    記事 Hiroshi Sato · 10月 5, 2020 9m read

    ここで紹介するサンプルは、以下の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を使用していると言うこともできます。

    Caché での実装は、以下の通りです。

     

    // binread.cs
    using System;
    using System.
    0
    0 494