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

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

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

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

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

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

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

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

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

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

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

そこで、プロダクショ

0
0 831
記事 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 939
お知らせ Mihoko Iijima · 10月 26, 2020

開発者の皆さんこんにちは!IRIS プログラミングコンテスト 7 回目のテーマが発表されました!

今回のコンテストのテーマは ⚡️ InterSystems Interoperability(相互運用性) Contest ⚡️ です!

日本からのご応募お待ちしております!

応募期間は 2020年11月2日~15日 です!

(投票期間は 2020年11月16日~22日、勝者発表は 11月23日を予定しています)

優勝特典

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

🥇 1位 - $2,000 

🥈 2位 - $1,000 

🥉 3位 - $500

2、Developer Community で多く票を集めたソリューションには、以下の賞金が贈られます。

🥇 1位 - $1,000 

🥈 2位 - $500 

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

参加資格

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

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

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

11月16日~22日 投票(1週間)

11月23日

2
0 264
記事 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 開始時のリカバリ処理がエラーになっていることを示しています。

IRIS を開始するためには、通常の開始処理を行わず (例:ジャーナルの適用を行わない)

0
1 826
記事 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.SSLConfiguration="test1"
0
0 536
記事 Mihoko Iijima · 10月 22, 2020 11m read

皆さんこんにちは!Virtual Summit ご覧いただけていますでしょうか。

Virtual Summit で VSCode ObjectScript 用エクステンションバージョン1.0 のリリースが👏正式発表👏されましたので、さっそく利用方法を投稿してみました。

来週の技術セッションではさらに詳しい説明があると思いますので、ご登録がまだの方は、ぜひご登録ください!
(ご登録いただくとオンデマンド配信でいつでもセッションのビデオを視聴できます。機械翻訳ではありますがビデオには日本語字幕が付いています。)

この記事では、以下の操作方法をご紹介します。

  1. ObjectScript用エクステンションのインストール方法
  2. サーバへ接続する 👉《2025/8/7:更新》GUI を使って接続情報を作成できる図解を追加しています
  3. クラス定義を作ってみる
  4. ルーチンを作ってみる
  5. デバッグを実行してみる 👉《2024/1/17:更新》最新のObjectScriptエクステンションに合わせて内容を更新しました。
  6. Webサーバ使用時:デバッグの注意点 👉《2024/1/17追加》プライベートWebサーバではない通常のWebサーバを使用する場合の注意点を追加しました。

操作前の準備

VSCodeのインストール を行います。

インストール後、VSCode

1
1 4202
記事 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をご利用ください。


(1)

0
0 891
記事 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 よりデータが作成される。
  2. グローバル ^TEST1 が
0
0 574
お知らせ 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 さんに贈られました!

🥈 2位 - $250 は r

1
0 146
記事 Mihoko Iijima · 9月 29, 2020 2m read

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


LAST_IDENTITY() SQL関数を使用すると取得できます。
※ この関数は、埋め込み SQL または ODBC 利用時に使用できます。ダイナミック SQL、SQL シェル、または管理ポータルの SQL インタフェースによる値には設定されません。

簡単な埋め込み SQL での例をご紹介します。

Class Test.SQL
{
ClassMethod GetLastID() As %Integer [ SqlProc ]
{
 //ソースコードコンパイル時に存在しないテーブルがあるので実行時にコンパイル
 #SQLCompile Mode=Deferred
 //テーブル作成
 &sql(CREATE TABLE Sample.Students (
   StudentName VARCHAR(30),
   StudentAge INTEGER,
   StudentID IDENTITY))
 //データ登録
 &sql(INSERT INTO Sample.Students (StudentName,StudentAge) values('生徒1',16))
 &sql(INSERT INTO Sample.Students (StudentName,StudentAge) values('生徒2',17))
 
//最後に更新したIDを取得
 
1
0 1105
記事 Mihoko Iijima · 9月 16, 2020 2m read

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

InterSystemsでは、パフォーマンスの影響や動作不調を避けるために、データベースファイルを含む主要なコンポーネントをウイルススキャンの対象から除外していただくことを推奨しております。

具体的には、アンチウイルスソフトのスキャン対象から、以下のファイルを除外してください。

  • データベースファイル(IRIS.DAT/CACHE.DAT)
  • <インストールディレクトリ>/bin 内の実行可能ファイル(EXE) 
  • ライトイメージジャーナル(WIJ)
  • ジャーナルディレクトリ内のジャーナルファイル

上記ファイルが、アンチウイルスソフトで除外設定されていない場合、「SERIOUS DISK WRITE ERROR...」のようなエラーが発生する場合があります。

このエラーは、実際にハード的なディスク障害が原因であることもありますが、それ以外にアンチウィルスソフトのウィルスチェックなどによって、ディスクへの書き込みが阻止された場合にも起こります。

詳細は、下記ドキュメントページをご参照ください。

インターシステムズ製品と連係して動作するようにサードパーティ・ソフトウェアを構成する方法【IRIS】
インターシステムズ製品と連係して動作するようにサードパーティ・ソフトウェアを構成する方法

0
0 451
記事 Mihoko Iijima · 9月 16, 2020 1m read

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

サーバ側ロジックの記載に使用する ObjectScript でのエラーが発生した場合の対処方法については「ObjectScriptでエラーが発生したら」にまとめています。

ぜひご参照ください!
 

0
0 272
お知らせ Mihoko Iijima · 9月 15, 2020

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

Full Stack コンテストについての続報をお伝えします!

投票期間に追加ポイントを獲得できる「テクノロジーボーナス」について紹介します。

対象となる技術は、以下の通りです。

  • InterSystems IRIS REST API の使用
  • InterSystems Native API の使用
  • InterSystems JDBC の使用
  • ZPMパッケージによる公開
  • Docker コンテナの使用

詳細は以下の通りです。

InterSystems IRIS REST API の使用 - 1 point

フルスタック・アプリケーションから、REST API 経由で InterSystems IRIS にアクセスるとボーナスポイントを獲得できます。REST API をご自身で開発されるか、組み込みのものを利用したり、ZPM 経由でインストールするなど、選択できます。

RESTサービス作成方法については、ドキュメントや IRIS で作成する REST サーバの仕組み をご参照ください。

InterSystems Native API の使用 - 1 point

InterSystems Native

0
0 191
お知らせ Mihoko Iijima · 9月 13, 2020

開発者の皆さんこんにちは!IRIS プログラミングコンテストも 6 回目を迎えました!

今回のコンテストのテーマは

「InterSystems IRIS をバックエンドとし Web またはモバイル・ソリューションをフロントエンドとして使用する⚡️フル・スタック・アプリケーション⚡️」

です。日本からのご応募お待ちしております!

Open Exchange(アプリケーション登録/参考となる開発テンプレート)のページはこちら➡ ⚡️ InterSystems Full Stack Contest ⚡️

応募期間は 2020年9月21日~10月4日 です!

(投票期間は 2020年10月5日~11日、勝者発表は 10月12日を予定しています)

優勝特典

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

🥇 1位 - $2,000 

🥈 2位 - $1,000 

🥉 3位 - $500

2、Developer Community で多く票を集めたソリューションには、以下の賞金が贈られます。

🥇 1位 - $1,000 

🥈 2位 - $500 

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

参加資格

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

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

9月2

1
0 344
お知らせ Mihoko Iijima · 9月 1, 2020

皆さん、こんにちは!

FHIR コンテストで🎊優勝🎊された Henrique Gonçalves Dias さんの優勝作品 IRIS FHIR Portal をビデオでご紹介します。

Henrique Gonçalves Dias さんが日本語訳を付けてくれた IRIS FHIR Portal 概要ページもあります。ぜひご参照ください。

過去のコンテストも含めコードは全て OpenExchange で公開されています。

ダウンロードやコンテナ開始までの手順は、OpenExchange の IRIS FHIR Portal ページをご参照いただくか、コンテスト用テンプレートの使い方ビデオの 0:28~1:04/3:04~ をご参照ください(コンテスト用テンプレートをベースに開発いただいているので、基本的な手順は同じです)。

Henriqueさん、おめでとうございます!!

1
0 212
お知らせ Mihoko Iijima · 8月 31, 2020

皆さんこんにちは。

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

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

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

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

🥇 1位  - $1,500 は iris4health-fhir-analytics を開発された José Roberto Pereira さんに贈られました!

🥉 3位  - $500 は fhir-chatbot を開発された Renato Banzai さんに贈られました!

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

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

🥈 2位 - $500 は iris4health-fhir-analytics を開発された José Roberto Pereira さんに贈られました!

🎊

0
0 140
お知らせ Mihoko Iijima · 8月 6, 2020

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

InterSystems IRIS Data Platform を使用してオープンソースソリューションを作成するコンテストへようこそ!

今回のコンテスト用テンプレートはこちら!(8/10 更新) ➡️ IRIS-FHIR-Template ⬅️
(InterSystems IRIS for Health のプレビューリリース版:2020.3 が利用されている開発テンプレートです)

テンプレートの日本語 Readme をご用意しています。

応募期間は 2020年8月10日~23日 です!

優勝特典

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

🥇 1位 - $2,000 

🥈 2位 - $1,000 

🥉 3位 - $500

2、Developer Community で多く票を集めたソリューションには、以下の賞金が贈られます。

🥇 1位 - $1,000 

🥈 2位 - $500 

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

参加資格

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

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

8月10日~23日 応募期間
8月24日~30日 投票
8月31日 優秀者発表

コンテストのテーマ

💡  Fast Healthcare

1
0 441
記事 Mihoko Iijima · 8月 5, 2020 8m read

IRIS サーバ側で JSON の操作を行う方法を解説します(3つのビデオに分かれています)。

ビデオ① :ダイナミックエンティティの操作練習

ビデオ② :ダイナミックエンティティで利用できるメソッドの練習

ビデオ③ :SQL関数と %JSON.Adapter の使い方

なお、このビデオには、以下の関連ビデオがあります。ぜひご参照ください。

ビデオ①

このビデオの目次は以下の通りです。

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

2:05~ JSONとは?

3:26~ JSONオブジェクト:ダイナミックエンティティの作成

//%DynamicObjectを使用した例set json=##class(%DynamicObject).%New()
set json.Name="テスト太郎"set json.Address="東京都新宿区"write json.%ToJSON()
// 出力結果は以下の通り//{"Name":"テスト太郎","Address":"東京都新宿区"}//リテラルJS
1
0 1379
お知らせ Mihoko Iijima · 8月 3, 2020

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

インターシステムズは、2020年7月21日(火)に オンラインにて開催された開発者向けイベント「Developers Summit 2020 Summer」(主催:翔泳社)に協賛し、セミナーで IRIS プログラミングコンテストについてご紹介しました。

ご紹介内容は、コンテストに限らず、コンテナを使用した開発環境の整備にも使えますので、セミナーを見逃された方もぜひご覧ください!

もくじ

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

0:00~ InterSystems が開催しているプログラミングコンテストの概要

2:38~ 本セッションの目標

4:21~ ≪腕試しの準備その1≫開発環境の「テンプレート」で何が提供されるか

8:26~ テンプレート起動迄の手順(各コンテスト共通)

10:02~ 優勝作品のご紹介(2020年5月分開催 Native APIの回)

11:40~ ≪腕試しの準備その2≫ご応募までの実際の流れ
 RESTサーバ作成用のテンプレート

13:00~ テンプレートで準備されるREST サーバ作成環境について

16:47~ テンプレートの中身解説+コンテナの開始とサンプルコードの実行(実演)

23:02~ GET要求 /test で動作する

0
0 166
お知らせ Mihoko Iijima · 7月 22, 2020

皆さんこんにちは。

第4回 InterSystems IRIS プログラミングコンテスト(AI/MLコンテスト) への応募は終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

この記事では、見事受賞されたアプリケーションと開発者の方々を発表します!

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

🥇 1位 - $2,000 は iris-integratedml-monitor-example を開発された José Roberto Pereir さんに贈られました!

🥈 2位 - $1,000 は iris-ml-suite を開発された Renato Banza さんに贈られました!

🥉 3位 - $500 は ESKLP を開発された Aleksandr Kalinin さんに贈られました!

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

🥇 1位 - $1,000 は iris-ml-suite を開発された Renato Banza さんに贈られました!

🥈 2位 - $250 は iris-integratedml-monitor-example を開発された José Roberto Pereir さんに贈られました!

🥈 2位 - $250 は SAPPHIRE を

0
0 174
記事 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の設定(管理ポータルでの設定)+ 実演

13:23~

0
0 386
記事 Mihoko Iijima · 7月 20, 2020 2m read

IRIS で REST サーバを作成する際に準備する REST ディスパッチクラスを手動で作成する方法を解説します。

関連ビデオで、OpenAPI 2.0 で定義したアプリケーションの仕様を利用する手順を使った API ファーストで作成するディスパッチクラスの解説ビデオもあります。

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

もくじ

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

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

4:20~ 手動でRESTディスパッチクラスを作成する方法(手順説明)

5:07~ VSCode:クラス定義作成(手順説明)

 メモ:スタジオでの作成については、別のビデオでご説明しています。  

8:18~ ベースURLの設定(管理ポータルでの設定)説明

8:49~ HTTP要求、応答を操作する

10:50~ HTTP要求、応答の操作に便利なクラスパラメータ

13:22~ VSCodeでのクラス定義作成(実演)
     GET要求の実装

14:20~ 便利なクラスパラメータの記述(オーバーライドの方法)
  

1
0 594
記事 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 800
記事 Mihoko Iijima · 7月 7, 2020 11m read

私たちのほとんどは、多かれ少なかれDockerに慣れ親しんでいます。 Dockerを使用している人たちは、ほとんどのアプリケーションを簡単にデプロイし遊んで、何かを壊してしまってもDockerコンテナを再起動するだけでアプリケーションを復元できる点を気に入っています。  

InterSystems も Docker を気に入っています。

InterSystems OpenExchange プロジェクトには、InterSystems IRISのイメージを簡単にダウンロードして実行できるDockerコンテナで実行するサンプルが多数掲載されています。また、Visual Studio IRISプラグインなど、その他の便利なコンポーネントもあります 。

特定のユースケース用の追加コードを使ってDockerでIRISを実行するのは簡単ですが、ソリューションを他のユーザーと共有する場合は、コマンドを実行し、コードを更新するたびに繰り返し実行するための何らかの方法が必要になります。 この記事では、継続的インテグレーション継続的デリバリー (CI / CD)を使ってそのプロセスを簡素化する方法を説明します。

セットアップ

まず、IRISをベースにしたシンプルなREST APIアプリケーションから紹介します。
アプリケーションの詳細は、ビデオ「InterSystems IRIS、ObjectScript

0
0 267
記事 Mihoko Iijima · 7月 6, 2020 18m read

InterSystemsのテクノロジースタックを使用して独自のアプリを開発し、顧客側で複数のデプロイを実行したいとします。 開発プロセスでは、クラスをインポートするだけでなく、必要に応じて環境を微調整する必要があるため、アプリケーションの詳細なインストールガイドを作成しました。この特定のタスクに対処するために、インターシステムズは、%Installer(Caché/Ensemble)という特別なツールを作成しました 。 続きを読んでその使用方法を学んでください。

%Installer

このツールを使用すると、インストール手順ではなく、目的のCaché構成を記述するインストールマニフェストを定義できます。作成したい Caché 構成を記述します。必要な内容を記述するだけで、環境を変更するために必要なコードが自動的に生成されます。
したがって、マニフェストのみを配布する必要がありますが、インストール・コードはすべてコンパイル時に特定の Caché サーバ用に生成されます。

マニフェストを定義するには、ターゲット構成の詳細な説明を含む新しいXDataブロックを作成してから、このXDataブロックのCaché ObjectScriptコードを生成するメソッドを実装します(このコードは常に同じです)。

0
0 585
記事 Mihoko Iijima · 7月 6, 2020 14m read

前回シンプルなIRISアプリケーション をGoogleクラウドにデプロイしました。 今回は、同じプロジェクトを Amazon Web Services(アマゾンウェブサービス) のElastic Kubernetes Service (EKS)を使って、デプロイします。

IRISプロジェクトをあなた自身のプライベート・リポジトリにすでにFORKしていると想定します。この記事では<username>/my-objectscript-rest-docker-templateという名前にしています。 <root_repo_dir>は、そのルートディレクトリです。

開始する前に、 AWSコマンドラインインターフェースと、Kubernetesクラスタ作成用のシンプルなCLIユーティリティeksctlをインストールします。 AWSの場合 aws2 の使用を試すことができますが、ここで説明するようにkube設定ファイルでaws2の使用法を設定する必要があります 。  

AWS EKS 

一般的なAWSリソースと同様に、EKSは無料ではありません 。 ただし、無料利用枠のアカウントを作成して、AWSの機能を試すことができます。 ただし、試してみたい機能のすべてが無料枠に含まれているわけではないことに注意してください。 ですから、現在の予算を管理し、金銭的な問題を理解するには、 これ これを読んでくださ

0
0 700
記事 Mihoko Iijima · 7月 6, 2020 8m read

​​​​​​この連載記事では、InterSystemsの技術とGitLabを使用したソフトウェア開発に向けていくつかの可能性のあるアプローチを紹介し、説明したいと思います。以下のようなトピックについて取り上げます。

  • Git 101 
  • Gitフロー(開発プロセス) 
  • GitLabのインストール 
  • GitLabワークフロー 
  • 継続的デリバリー 
  • GitLabのインストールと構成 
  • GitLab CI/CD 
  • コンテナを使用する理由 
  • コンテナインフラストラクチャ 
  • コンテナを使用したCD 
  • ICMを使用したCD 
  • コンテナアーキテクチャ 

この記事では、独自のコンテナを構築してデプロイ展開する方法について説明します。 

Durable %SYS 

コンテナは一時的なものなので、アプリケーションデータを保存するべきではありません。Durable %SYS の機能により設定、構成、 %SYSデータなどをホストボリュームに保存することができます。

  • iris.cpfファイル 
  • /cspディレクトリ:Webゲートウェイの構成とログファイルが含まれています。 
  • /httpd/httpd.confファイル:インスタンスのプライベートWebサーバーの構成ファイル。 
  • /mgrディレクトリ: 
    • IRIS.DATおよびiris.lckファイルとストリームディレクトリで構
0
0 250
記事 Mihoko Iijima · 7月 6, 2020 12m read

この連載記事では、InterSystemsの技術とGitLabを使用したソフトウェア開発に向けていくつかの可能性のあるアプローチをを紹介し、議論したいと思います。 今回は以下のようなトピックを取り上げます。 

  • Git 101 
  • Gitフロー(開発プロセス) 
  • GitLabのインストール 
  • GitLabワークフロー 
  • 継続的デリバリー 
  • GitLabのインストールと構成 
  • GitLab CI/CD 
  • コンテナを使用する理由 
  • コンテナインフラストラクチャ 
  • コンテナを使用したCD 
  • ICMを使用したCD 

この記事では、InterSystems Cloud Managerを使用して継続的デリバリーを構築ドします。 ICMは、InterSystems IRISをベースとしたアプリケーション用のクラウドプロビジョニングおよびデプロイメントソリューションです。これにより、 必要なデプロイ構成を定義することができ、ICMが自動的にプロビジョニングします。 詳細については、First Look: ICM をご覧ください。

 ワークフロー

継続的デリバリーの構成では、次のようになります。

  • GitLabリポジトリにコードをPushする 
  • Dockerイメージをビルドする 
  • Dockerレジストリにイメージを公開する 
  • テストサーバーでテストする 
  • テストに合格した場合
0
0 539
記事 Mihoko Iijima · 7月 6, 2020 11m read

この連載記事では、InterSystemsの技術とGitLabを使用したソフトウェア開発に向けて実現可能な複数の手法を紹介し、議論したいと思います。 次のようなトピックについて説明します。

  • Git 101 
  • Gitフロー(開発プロセス) 
  • GitLabのインストール 
  • GitLabワークフロー 
  • 継続的デリバリー 
  • GitLabのインストールと構成 
  • GitLab CI/CD 
  • コンテナを使用する理由 
  • コンテナインフラストラクチャ 
  • コンテナを使用したCD 

第1回の記事では、Gitの基本、Gitの概念を高度に理解することが現代のソフトウェア開発にとって重要である理由、Gitを使用してソフトウェアを開発する方法について説明しています。

第2回の記事では、ソフトウェアのライフサイクルの完全なプロセスであるGitLabワークフローについて説明しています。

第3回の記事では、GitLabのインストールと構成ならびに利用環境のGitLabへの接続について説明しています。

第4回の記事では、CDの構成を説明しています。

第5回の記事では、コンテナとその使用方法(および使用する理由)について説明しています。

第6回の記事では、コンテナを使用して継続的デリバリーのパイプラインを実行する必要がある主なコンポーネントと、それらすべての連携の仕組みについて説明しています。  

この記事では

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

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

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

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

0
3 1178