ホーム‎ > ‎Magic xpa‎ > ‎

Magic xpa 新連載概要


第138回 RIA Server と Enterprise Server を正しく同居させる方法

2019/09/16 0:30 に Masanobu Tanda が投稿   [ 2019/09/16 0:31 に更新しました ]

第138回 RIA Server と Enterprise Server を正しく同居させる方法

今年(2019年)の11月にリリースが予定されている Magic WebClient を含めると、これで Web マージ、RIA、WebClient のすべての Magic 製品群がブローカー経由でのバックグラウンド実行の形態となり、唯一、クラサバだけがフォアグラウンド実行の単体アプリケーションとして残ることになります。

つまり、Magic 製品群においては、すでに xpi シリーズをも含めてブローカーは Magic アプリの中核をなすミドルウェアゲートウェイとなっており、ブローカーの位置付けは今後も更に重要なものとなってきますので、この機会にぜひその操作法に慣れ親しんでおきたいと思います。

さて、前回までは1つのブローカー上で複数のアプリを並行実行させるところまでを学びました。今回はその続きとして、RIA Server と Enterprise Server を同居させる方法を解説し、将来的に WebClient との同居までを考慮した予備知識を蓄えておくことにします。

ご周知のとおり、Magic では RIA Server と Enterprie Server は別売の製品となっています。そして、RIA Server がすでに導入されている環境に、さらに Enterprise Server(あるいは将来の WebClient)をインストールして一元管理しようとすると、特殊な設定が必要となります。今回はその設定を行う方法について学びます。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第137回 Broker モニターによる複数ポートと複数アプリの管理(2)

2019/08/04 20:27 に Masanobu Tanda が投稿   [ 2019/09/16 0:22 に更新しました ]

第137回 Broker モニターによる複数ポートと複数アプリの管理(2)

さて、これで Magic 開発版と RIA Server を共存させ、1つの Broker からこれらを一元管理する方法について確認することができました。今回は引き続き、1つの RIA Server 上で複数のアプリケーションを実行させ、1つの Broker でこれらを一元管理し、各アプリケーションを個別に停止・再起動させる方法について学びます。

通常、Windows のサービスで Broker を停止すればすべてのアプリケーションは自動的に終了するのですが、この方法では保守を必要とする1個のアプリケーションの再起動に伴い、保守を必要としない他の複数のアプリケーションも一時停止を余儀なくされてしまうという不都合が生じます。

とくに、アプリケーションの再起動によって、エンドユーザが持つ各セッションのコンテキスト ID が初期化されると、それに伴いローカルデバイスに記録されているクッキー等が無効になるという副作用が発生します。なるべくならば、必要としないアプリケーションの再起動は避けたいものです。

そこで今回はこれらの不都合を無くすために、Windows のサービスを再起動せずに、Broker モニターの機能だけで、各アプリケーションを個別に停止・再起動する方法について学びます。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第136回 Broker モニターによる複数ポートと複数アプリの管理

2019/07/07 1:36 に Masanobu Tanda が投稿   [ 2019/09/16 0:21 に更新しました ]

第136回 Broker モニターによる複数ポートと複数アプリの管理

Broker モニターとは、Magic に添付されている Broker の動きをリアルタイムでモニタリングするツールのことです。アプリケーションが正常に動作しているかどうかの確認や、アクセスログを見たりすることができる便利なツールです。

デフォルトでは、この Broker モニターは単一アプリケーションの監視を担う役割となっていますが、実はこのモニタリングツールは複数の Broker を一元管理できる仕組みとなっており、複数のアプリケーションや複数の Magic 製品、あるいは RIA と Web マージとを同時に管理したりすることも可能となっています。

※画面1は、Magic xpa 2.5 RIA Server と Magic xpa 3.1a Enterprise Server、および Magic xpa 3.2c RIA Server の3つを一元管理している図です。

今回はこのモニタリングツールを使った複数ポート、複数アプリケーションの管理法について学んでいきたいと思います。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第135回 手動ビルドの iOS クライアントで位置情報を取得する

2019/06/01 22:38 に Masanobu Tanda が投稿   [ 2019/06/01 22:43 に更新しました ]

第135回 手動ビルドの iOS クライアントで位置情報を取得する

前回の動作確認では、App Store 提供の iOS 汎用クライアントでは位置情報の取得が可能であるにもかかわらず、最新版の Xcode によるオリジナルビルドでは位置情報の取得ができないというところまでを確認しました(画面1~3)。

では、この原因はいったいどこにあるのでしょうか?

原因は、iOS の位置情報にまつわるセキュリティの仕様変更にあります。

iOS 10 + Xcode 8までは、位置情報の利用は「常に許可」または「許可しない」からの二者択一だったのですが、iOS 11 + Xcode 9以降は「このアプリの使用中のみ許可」という選択肢が必須オプションとなったため、従来の記述方式ではこのダイアログが正常に表示されなくなりました(画面4)。

そのため、App Store 提供の汎用クライアントでは画面5~6のように位置情報の設定オプションが iPhone の設定項目として表示されているにもかかわらず、オリジナルビルドでは画面7のように設定項目が非表示となってしまっています。

では、これに対処するにはどうしたらよいでしょうか。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第134回 iOS クライアントの手動ビルド

2019/05/05 21:51 に Masanobu Tanda が投稿   [ 2019/05/05 21:52 に更新しました ]

第134回 iOS クライアントの手動ビルド

前回の Android クライアントの手動ビルドに続き、今回は iOS クライアントの手動ビルドについて解説いたします。

Magic のインタフェースビルダを用いた Xcode プロジェクトの生成法については、本連載の第120回から第123回に渡って解説しましたが、ここではインタフェースビルダを使用せず、すべてを手動でビルドする方法について解説します。

Magic xpa の当初の理念は、Xcode の知識がなくてもインタフェースビルダとシェルスクリプトの実行だけで iOS 用のビルドが完了するという簡便性にあったのですが、Xcode の進化と共にアプリの認証法が容易になってきたため、Xcode を起動して手動でビルドを行ったほうが簡潔に処理できるようになってきた経緯があります。

このような歴史的な観点を踏まえて、手動ビルドの方法について検証していきたいと思います。

なお今回より、使用するソフトウェアのバージョンが iOS 12.2、Xcode 10.2.1、macOS 10.14.4となります。これは実機ビルドに際して、最新の iOS のバージョンにフェーズを合わせるための必須環境となります。バージョンアップはすべて無償ですので、App Store より最新のバージョンを取得してインストールしておいてください。

使用する Magic xpa のバージョンは、3.2c PT3 + xpa 3.2c_iOS_HotFix となります。とくに、下記フォルダの libMgxpaRC.a ファイルのタイプスタンプが2018/07/19以降になっていることを確認しておいてください。PT3 を当てただけでは、このファイルが更新されません(画面1)。

※このアップデートがないと、iOS 画面のナビゲーションバーとタイトルバーの表示が重なってしまいます。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第133回 Android クライアントの手動ビルド

2019/03/31 20:44 に Masanobu Tanda が投稿   [ 2019/03/31 20:45 に更新しました ]

第133回 Android クライアントの手動ビルド

本連載の第124回から第127回に渡り、「インタフェースビルダで Android クライアントを作る」と題して、インタフェースビルダを用いた Android クライアントのビルド方法を解説してきましたが、今回ここではもう一つ別のビルド手段である手動ビルドの方法について解説して参りたいと思います。

インタフェースビルダを用いた方法は、ウィザードというブラックボックスを用いた方法である関係上、ビルドの途中で何かトラブルが発生した場合に個々の要素を順を追って確認することが困難です。これに対してコマンドを用いて手動ビルドを行う方法は、設定が面倒である反面、個々の設定要素を目視で確認できるというメリットがあります。

どちらが便利であるかは環境に応じて異なりますが、マジック社では手動によるビルドを推奨しているようですので、本連載も手動によるビルド法を詳細かつ具体的に解説していくことにします。ビルド時に画面1のようなエラーばかり出てお困りの方は、ぜひお役立てください。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第132回 デバイスの位置情報取得と Map 表示

2019/03/01 21:48 に Masanobu Tanda が投稿   [ 2019/03/01 21:50 に更新しました ]

第132回 デバイスの位置情報取得と Map 表示

現在、市場に出回っているモバイルは、そのほとんどすべてが GPS を搭載しています。そして Magic には、外部ライブラリを一切使用せずに、この GPS から位置情報を取得する機能が用意されています。

そこで今回は、Magic のこの位置情報取得の機能を利用して、読み取った緯度・経度からマップ上に現在地を表示するというプログラムを作成してみたいと思います。

利用する Map アプリは何でも良いのですが、ここでは例として Google Map を利用します。Google Map は API やオプションパラメータが充実しており、Magic との連携も容易です。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第131回 1台のマシンに Magic 開発版と RIA Server を共存させる

2019/02/03 22:04 に Masanobu Tanda が投稿   [ 2019/02/03 22:40 に更新しました ]

第131回 1台のマシンに Magic 開発版と RIA Server を共存させる

RIA アプリを開発していると、同一マシン上に Magic 開発版と Magic RIA Server を同居させて動作確認をしたくなるケースが往々にして発生します。

しかしながら、これをデフォルトインストールのまま実行させると、Magic 開発版上においても、あるいは Magic RIA Server 上においても、思わぬ不具合や予期せぬ動作に出会ったりすることがあります。

今回は、この両者を1台の Windows マシン上に両立させる手法について学びます。なおこの手法については、弊社の「iPhone RIA アプリ開発セミナー・ビルド編」および「Android RIA アプリ開発セミナー・ビルド編」にても詳しく解説しています。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第130回 モバイル RIA で写真を撮ってサーバにアップロードする(2)

2018/12/30 19:26 に Masanobu Tanda が投稿   [ 2018/12/30 19:26 に更新しました ]

第130回 モバイル RIA で写真を撮ってサーバにアップロードする(2)

このプログラムは Magic 側のタスクですべてが完結するプログラムです。macOS 上で Xcode プロジェクトを操作したり、あるいは Android Studio でクライアントアプリを編集したりする必要はありません。したがって、MSJ 社提供の汎用クライアントアプリでも十分に動作します。

MSJ 社提供の汎用クライアントアプリは、iOS の場合は App Store から、また Android の場合は Play ストアから、誰でも無料でダウンロードすることができます。

プログラムは、たった1つのタスク(ロジック10行)で動作します。では、作成していくことにしましょう。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第129回 モバイル RIA で写真を撮ってサーバにアップロードする

2018/11/29 21:20 に Masanobu Tanda が投稿   [ 2018/11/29 21:20 に更新しました ]

第129回 モバイル RIA で写真を撮ってサーバにアップロードする

iOS や Android のカメラで、物件や部品の写真を撮影してサーバにアップロードするという処理は、従来のアプリではカメラでの撮影と画像の送信処理が別セッションで行われるというケースが多かったのですが、昨今はモバイル搭載のカメラ機能の向上とともに、一連の流れが同一セッション内で行われる手法が主流となってきました。

そこで今回は、Magic のタスク内で iOS や Android のカメラを呼び出し、そこで撮影した写真をそのままサーバにアップロードしたり、あるいはモバイルの写真フォルダ内の既存の写真を選択してサーバにアップロードするという技法を紹介したいと思います。

プログラムはすべて Magic 標準の機能でまかない、外部ライブラリは一切使用いたしません。Magic のモバイル RIA だけですべてが完結します。ただし、Magic の最新機能を使用しますので、Magic xpa 3.2以降のバージョンが必要となります。

※このプログラムは Magic の標準機能しか使用しませんので、オリジナルクライアントのビルドは不要で、MSJ 社によるストア提供の汎用クライアントでそのまま動作します。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

1-10 of 138