ラベル WebDirect の投稿を表示しています。 すべての投稿を表示
ラベル WebDirect の投稿を表示しています。 すべての投稿を表示

2017-05-24

WebDirect は 16 で実用段階に近づくか? ― JMeter による WebDirect 14/15/16 比較

 FileMaker 16 が 2017 年 5 月 10 日にリリースされました。 この新バージョンで小社が注目しているのは

   1.WebDirect 16 の実行速度と安定性の向上
   2.FileMaker  のSQLデータソース用帳票ツールとしての利用

の2点です。今回は上記1について調べてみました。

 FileMaker Server 13 で搭載された WebDirect (WD)は、当初はサークルアイコンが出っ放しになった末に無応答になるなど、導入を躊躇させる機能でしたが、リリースを重ねるごとに安定性が向上しているという感じはします。 そこで、今回は若干の期待をしながら FileMaker Server 16 の WebDirect のパフォーマンステストを行いました。


 前回の WebDirect のパフォーマンスに関する記事は、こちらをご参照ください。


 今回も、前回と同様に Apache JMeter (以下、JMeter)というパフォーマンステストツールを使用し、WebDirect (WD)16 のパフォーマンスを調べました。
 以下にその内容をレポートします。前回の実験で使用した WD14 および WD15 のデータもともに掲載してありますので、WD の採用を検討されている方の参考になれば幸いです。

テスト内容と結果


 今回のテストでは、小社製品「FMEasy在庫 IWP/WD R1.5」を使用し、出庫伝票を作成するスクリプトを作成。JMeter によりこのスクリプトを 25 のセッションで 10 回ずつ実行し、その所要時間を測定するとともに、CPUの占有状態を観察しました。 また、このテストは  WD 16 で行うとともに、サーバのリソース(コア数とメモリ)を増やすことにより、パフォーマンスがどの程度改善するかも測定しました。

仮想サーバ構成


 CPU: 3.0Ghz
 コア数/メモリ: 1core/2GB、2core/4GB、4core/8GB の3パターン
 Windows Server 2012 R2 (64bit)

JMeterシナリオ


 JMeter により、「FMEasy在庫 IWP/WD R1.5」の出庫伝票を1つ作成後にログアウトするスクリプトを以下のシナリオに基づき実行。 

 Threads: 25
 Loops:10
 Ramp-up:1sec
 Pause: 1sec or 1.5 sec


注:
  • WebDirect 14 および WebDirect 15 のテストデータは前回計測時のものを使用しています。
  • Pause を設けずにシナリオを実行すると、ログアウトを待たずに次々にセッションが実行され、最大同時接続数25を超過するエラーが発生して伝票作成に失敗するため、WD15/WD16 では 1 秒、WD14 では 1.5 秒 の Pause 時間を設けました。両者で 0.5 秒の差があるのは、WD14 を 1 秒で設定すると、同様のエラーが多数したためです。
  • シナリオ実行後は出庫伝票が 250 個作成されていることを目視で確認しています。未作成レコードがある場合、その数を下表の「Fails」列に記載しています。

テスト結果と考察

WD 14、WD15 及び WD16 出庫レコード作成時のパフォーマンス(Fails は作成に失敗したレコード数)

 過去の計測では、エラーによりレコードが作成されないことがありましたが、WebDirect 16 では連続アクセスを行ってもエラーの発生はありませんでした

Peformance comparison graph on CPU cores and memory

※総評

 WD16 は WD15 に比し、2%~35%、実行速度が向上しています。サーバリソースの割り当てを増やすと、その差は顕著になります。
1core/2GBでは WD16 と WD15 間で実行速度の差は 2% とほとんど改善は見られませんでしたが、1core/2GB から 2core/4GB に増やすと 24%、 2core/4GB から 4core/8GB に増やすと35%改善しました。 コア数/メモリの割り当てがチューニングのキーとなる可能性があります。
 ただ、前回テスト時と同様に、リソース割り当てを増やすに従って、その改善率は徐々に鈍化するものと推定されます。
 
※ CPUの占有率

 以下の図は JMeter 実行時の CPU 占有率です。 1コアの場合、CPU を使い切ってしまうことが多々ありました。やはり、CPU 占有率が 100%になるような状況は避けたいです。リソースを増やすに従い、CPU の使用率は下がります。



WebDirect 16


1 Core / 2 GB RAM
WD16 のときと同様に、CPU 占有率が 100% に達する状態が続く。しかも長い。よって同時アクセスユーザが集中する可能性のあるサーバは要注意

2 Core / 4GB RAM
WD15 に比しCPU占有率が高くなっているが、その分占有時間は短くなっている


4 Core / 8GB RAM

WD15に比しCPU占有率が高いが、その分占有時間は短くなっている



WebDirect 15


1 Core / 2 GB RAM
CPU 占有率が 100% に達する状態が続く。同時アクセスユーザが集中する可能性のあるサーバは要注意

2 Core / 4GB RAM


4 Core / 8GB RAM



WebDirect 14

1 Core / 2 GB RAM
長時間にわたり高負荷状態が発生。WD15 や WD16 に比べると処理により多くのサーバリソースを消費することがわかる。

2 Core / 4GB RAM


4 Core / 8GB RAM


まとめ

FileMaker Server 13 がリリースされた頃の WebDirect は動作が不安定で、とても実用に耐えないと評価しましたが、今回は25台の仮想マシンから計250のレコードを一斉作成するテストを5回実行しても一度もエラーが発生しませんでした。 WebDirect は運用に耐えうるレベルに達しつつあるというのが今回の実感です。
 また、WebDirect からの PDF 出力も可能となりましたので、 FileMaker Pro クライアントの代わりに WebDirect を導入するという選択肢も視野に入ってきたように思います。

 ただし WebDirect と数多あるブラウザとの互換性の問題は依然存在しますし、ページをリロードすると画面が初期状態に戻ってしまうという現象も依然として発生します。
 また、WebDirect には不向きな処理(例:バッチ処理)を実行した場合に無応答状態になる可能性も解消したとは言い切れません。 WebDirect の設計に当たっては、通常処理とサーバサイドスクリプトに割り当てる処理の切り分けが重要になるかも知れません。
 WebDirect のクリティカルなシステムへの適用は、十分な設計とテストが必要と思います。

補足情報:拡張アクセス権限の変更について

 FileMaker Server 16 の WebDirect 環境で、 URL にスクリプトを指定して実行する場合は、当該のアカウントの拡張アクセス権限で「FileMaker WebDirect によるアクセス(fmwebdirect)」に加え、 「URL による FileMaker スクリプトの実行を許可(fmurlscript)」を有効にする必要があります。


 このオプションが有効になっていないと、実行時に以下のような権限不足エラーが発生します。


 不特定ユーザが使用する環境においては、この辺りのセキュリティに配慮してプログラムしないといけませんね。



(亀)

2016-07-06

FileMaker でレスポンシブなWebアプリを作る

 FileMaker(以下、FM)のデータベースを FileMaker Pro 以外のクライアント ― ブラウザ、iPhone/iPad、Android ― でも運用する場合、開発環境をFMにすべきか、カスタムWeb にすべきかを考えると思いますが、その際に考慮べき事項を比較表にまとめてみました。

×: terrible,  △: limited,  〇: OK,  ◎: Excellent
 
Go
WebDirect
Custom Web
開発費用
(Devlopment cost)
×
ライセンス費用
(License cost)
×
×
サーバ機費用
(Server machine cost)
×
×
ライセンス体系
(License policy)
×
×
開発の容易さ
(Ease of development)
×
コードの再利用性
(Code reusability)
×
×
開発の柔軟性
(Development flexibility)
×
×
レスポンシブ性
(Responsive Web Design)
×
×
Android等非iOS機との互換性
(Android compatibility)
×
スケーラビリティ
(Scalabilty)
×
他DBへの移植
(Migration to other DBs)


この表からは、
圧倒的ではないか、カスタムWebは

という感じですが、FMの世界では「開発費用」と「開発の容易さ」が他の要素を圧倒し、Go やWebDirect が採用されやすいのではないでしょうか。逆に言えば、他の要素が重要なプロジェクトでは、FMは使用されないのです。
 
 とは言いいつつ、 FM のカスタムWeb という需要は少なからずあり、またスマホ普及に伴う Mobile First な要望もあり、小社としてもまたーりとそれらにお応えしたい、と愚考している次第です。
 そんなわけで、『FMEasy在庫 IWP/WD R1.5』(以下、FMEasy在庫)をバックエンドに使用し、 iPhone/iPad だけではなく Android 等の非iOS デバイスにも対応したレスポンシブな Webアプリのプロトタイプ開発にトライしていきたいと思います。

開発環境

使用データベース: FileMaker(fmp12)
使用ライブラリ: jQuery、jQuery Mobile
対応デバイス: PC、タブレット、スマホ(非iOSデバイスを含む)


開発方針・目標

第1フェイズ


以下の方向で、FMEasy在庫の出庫関連機能をWebアプリ化→プロトタイプを作成する。
  1. マルチデバイス対応、RWD(Responsive Web Design)採用
    たとえばこんな感じで……。

    【PC利用時】

    Windows Chrome


    【タブレットPC利用時:縦置き】

    Nexus 7, Android, Chrome --- Portrait


    【タブレットPC利用時:横置き】

    Nexus 7, Android, Chrome --- Landscape


    【スマートフォン利用時】

    FreeTel Priori 3, Android, Chrome

  2. XML/fx.php/FM API for PHP/PDO(ODBC)の比較テストを適時実施
     →最適なAPIを決める(努力をする)
  3. 出庫伝票照会機能作成
  4. 出庫伝票追加・更新機能作成
  5. 出庫伝票検索機能及び一覧表示機能作成
  6. 出庫伝票PDF出力機能作成

第2フェイズ

  1. 第1フェイズで作成した機能をライブラリ化
  2. ライブラリを他のDBへ対応させる(PDOなら簡単なんじゃないかな)

第3フェイズ

  1. 上記ライブラリを使用することにより、お客様にレスポンシブなシステムをリーズナブルな価格で提供する
    \(^_^)/

 いろいろ書いてますが、予定は未定ですw


本ブログの関連記事について

 本ブログで今後公開予定の RWD によるカスタムWeb関連の記事は、カスタムWeb による開発を検討されているお客様に小社で開発したプロトタイプの仕様やテスト結果をご覧いただき、プロジェクト検討の一助になることを目指しています。


ということで、次回はこのプロトタイプの照会機能についてご紹介したいと思います。

(亀) 

2016-06-15

WebDirect 14 vs 15 ― JMeter による負荷テスト

 FileMaker インスタント Web の後継版として、FileMaker 13 より WebDirect (以下、WD)が登場しました。インスタント Web に比べ、 WD の操作性はより FileMaker Pro に近づいたものの、パフォーマンスや安定性にかなり問題があるんじゃないか、みたいなことを約1年前に記事にしました。 その折は、WD13 と WD14 の2つのサーバ上で、複数のクライアントPCを用意し、各PCで複数のブラウザウインドウを開いた状態で、それぞれのウインドウからスクリプトを手動実行して負荷をかける、というものでした。
 今回は Apache JMeter (以下、JMeter)というパフォーマンステストツールを使用し、WD14 と WD15 のパフォーマンス比較をしたので、以下にその内容をレポートします。WD の採用を検討されている方の参考になれば幸いです。

テスト内容と結果


 今回のテストでは、小社製品「FMEasy在庫 IWP/WD R1.5」を使用し、出庫伝票を作成するスクリプトを作成。JMeter によりこのスクリプトを 25 のセッションで 10 回ずつ実行し、その所要時間を測定するとともに、CPUの占有状況を観察しました。 また、このテストは FileMaker 14 と 15 の双方で行うとともに、サーバのリソース(コア数とメモリ)を増やすことにより、パフォーマンスがどの程度改善するかも測定しました。

仮想サーバ構成


 CPU: 3.0Ghz
 コア数/メモリ: 1core/2GB、2core/4GB、4core/8GB の3パターン
 Windows Server 2012 R2 (64bit)

JMeterシナリオ


 JMeter により、「FMEasy在庫 IWP/WD R1.5」の出庫伝票を1つ作成後にログアウトするスクリプトを以下のシナリオに基づき実行。 

 Threads: 25
 Loops:10
 Ramp-up:1sec
 Pause: 1sec or 1.5 sec


注:
  • Pause を設けずにシナリオを実行すると、ログアウトを待たずに次々にセッションが実行され、最大同時接続数25を超過するエラーが発生して伝票作成に失敗するため、WD15 では 1 秒、WD14 では 1.5 秒 の Pause 時間を設けました。両者で 0.5 秒の差があるのは、WD14 を 1 秒で設定すると、同様のエラーが多数したためです。この点からも、WD15 のパフォーマンスが改善していることがわかります。
  • シナリオ実行後は出庫伝票が 250 個作成されていることを目視で確認しています。未作成レコードがある場合、下表に記載しています。

テスト結果

WebDirect 14 vs 15 出庫レコード作成時のパフォーマンス(Fails は作成に失敗したレコード数)

Peformance comparison graph on CPU cores and memory

考察


※WD14 vs WD15 の比較

 サーバリソースにかかわらず、WD15 は WD14 に比し、30%程度実行速度が改善されました。

※サーバリソースと実行速度の改善

 サーバリソースを 1core/2GB から 2core/4GB に増やすと、WD15 で約 50%、WD14 で約 40%、実行速度が改善されました。
 さらにリソースを 2core/4GB から 4core/8GB に増やすと速度は改善されたものの、改善率はそれぞれ 20%弱と 15%弱となりました。このことから、リソース割り当てを増やせば実行速度は改善するが、その改善率は徐々に鈍化するものと推定されます。
 
※ CPUの占有率

 以下の図は JMeter 実行時の CPU 占有率です。 1コアの場合、CPU を使い切ってしまうことが多々ありました。やはり、CPU 占有率が 100%になるような状況は避けたいです。リソースを増やすに従い、CPU の使用率は下がります。


FM WebDirect 15


1 Core / 2 GB RAM
CPU 占有率が 100% に達する状態が続く。同時アクセスユーザが集中する可能性のあるサーバは要注意。

2 Core / 4GB RAM


4 Core / 8GB RAM



FM WebDirect 14

1 Core / 2 GB RAM
長時間にわたり高負荷状態が発生。WD15 に比べると処理により多くのサーバリソースを消費することがわかる。

2 Core / 4GB RAM


4 Core / 8GB RAM

JMeter テスト環境と運用環境の違い


 最後にJMeterテスト環境と実際の運用環境との違いについて簡単に触れます。下図左のグラフは JMeter でにより伝票作成スクリプトを 1 セッションで 1 回実行したときのもので、右のグラフはブラウザ上から手動により伝票作成スクリプトを1回実行したときのものです。サーバのリソースは共に 1core/2GB です。 JMeter では CPU のピーク時の占有率が約 20%であるのに対して、ブラウザでは 80%弱となっています。

 今回は WD14 と WD15 の比較とサーバリソースの増減によるパフォーマンスの変化をテーマとしているためあまり問題ではないと思いますが、実際の運用環境を JMeter によりシミュレートしようとする場合は、JMeter のシナリオを如何に運用環境に近づけるかが大きな課題となります。ただ、JMeter は実行するタイミングによってパフォーマンスにばらつきが出たり(実機でもそうですが)、シナリオを WD の運用環境に近づけるのはかなり難しかったりするため、その差分を係数化し、JMeter ではその係数分の負荷を余計にかける、などの補正が必要かもしれません。
 たとえば、下図のような状況であれば係数を 0.25 とし、運用環境で 20 ユーザが 10 秒間に 1 回レコード保存を実施すると想定されるのであれば、Ramp-up は 10 秒ではなく、2.5 秒に設定し、必要な回数のループを実行する、というのは一案と思われます。 


 それでも納得できないお客様に遭遇してしまった場合wは、必要台数分の仮想マシンや VDI 環境を用意し、FileMaker スクリプトを各仮想マシンから一斉に実行するような仕掛けが必要になるかもしれません。
 


その他の情報

ここでは、今回の JMeter による WD パフォーマンス測定で得られたその他の情報をまとめます。
  1. JMeter で WebDirect にリクエストを発行すると、タイムスタンプが狂う

    レコード作成日時を記録するためのフィールドをタイムスタンプ型にしておくと、JMeter 経由で WD のレコードを作成/修正すると、タイムスタンプが協定世界時刻(UTC)になってしまうことがあります。

    この設定では、JMeter 経由でのレコード作成時に協定世界時が記録されてしまう

     つまり、日本時刻では 9 時間のズレが生じることになりますが、以下のようにホストのタイムスタンプを自動入力させることでこれを回避できます。

    Get( ホストのタイムスタンプ ) を計算値として自動入力することで時刻の狂いを回避

    または、Get ( 現在の時刻 UTC ミリ秒 ) を使って日本時間を算出することもできます。

    計算式:
    GetAsTimestamp ( ( Get ( 現在の時刻 UTC ミリ秒 ) + ( 9 * 3600000 ) ) / 1000 ) 

  2. WD14 と WD15 の挙動の違い

    WD14 でレコードを作成したり、修正したりすると、FileMaker で記録されるユーザ名は [WebDirect] ですが、WD15 では [WebDirect-XXXXX]という形式でユーザ名が記録されます。

    この XXXXX の部分は WD 実行時のセッションID(32桁、16進数文字列)の最後の 5 桁となり、各 WD ユーザを識別しやすくなっているといえるでしょう。

    FileMaker Pro 15 のヘルプにもこの解説がありますので、興味のある方は参考にしてみてください。

    Get ( ユーザ名 ) の説明
    Get ( 持続 ID ) の説明



(亀)

2015-06-25

新WebDirectのパフォーマンスについてあれこれ

 FileMaker 13 の WebDirect (以下、WebDirect 13) と比べ、FileMaker 14 の WebDirect (以下、WebDirect 14) のパフォーマンスはどれだけ向上したのか?実用に耐えるレベルになったのか?
 WebDirect 14 の導入を検討するにあたり、これはとっても気になるところです。

 FileMaker 社の公式サイトでは、WebDirect の起動スピードは以前より 25% 向上していると謳ってはいます。また、独自にパフォーマンスの比較検証を行って公開している方(会社)もおいでで、そうした情報はとっても貴重です。

 ということで、パフォーマンスについて情報を公開している方の情報を例によって渉猟してみました。 (あと、人様の情報を紹介させて頂くだけでは申し訳ないので、弊社でも WebDirect のパフォーマンスの検証をしてみました。)


米国 FileMaker 社(パートナー)が公開している YouTube ビデオ


 かの有名な  Richard Carlton Consulting Inc. の FileMaker Training Videos Channel という動画です。

 WebDirect関連のビデオでは 「第一部:FileMaker WebDirect 14 のご紹介」、「第二部:WebDirect の最適化方」の 2 本が公開されていますが、その中からパフォーマンスに関する情報を拾って要約しました。

「第一部:FileMaker WebDirect 14 のご紹介」 Introduction to FileMaker WebDirect 14


 WebDirect がモバイル対応になったことを中心に、パフォーマンス面も向上していることについて触れています。

パフォーマンスに関する重要ポイント(リンクはタイムスタンプ):
  1. 11:30 今回のリリースで WebDirect の全面書き換えが行われたことにより、実行速度が格段に向上している。
  2. 13:40 WebDirect 14 によるレコード移動時の表示速度デモ
  3. 15:13 WebDirect 13 vs WebDirect 14 レコード移動速度比較
  4. 16:54 WebDirect 14 のタブキー操作によるレイアウトフィールド移動は、WebDirect 13 に比べると 2倍は速くなっている
  5. 20:02 デスクトップ版 WebDirect 14 は、 WebDiredt 13 に比べると 2-3 倍動作が速い。Android モバイルに至っては 10-20 倍速くなっている!(WD13はAndroidには正規対応していないのですが、Richardさんは独自の方法でチェックされたようです。但し、この部分は動画にはありません。)。
  6. 27:28 WebDirect は ChromeBook の動作保障をしていないが、自己検証ではサクサク動いた。

(動画は英語)
 

 特に 15:13 あたりの WebDirect 13 vs WebDirect 14 レコード移動速度比較実験は必見!
 ウィンドウを左右に並べて比較しているので、速度が向上していることは一目瞭然にわかります。

「第二部:WebDirect の最適化」 Optimaizing Solutions for FileMaker WebDirect 14 


 2013年の Richard Carlton Consulting Inc. の FileMaker 13 WebDirect Overview and Optimization Presentation と基本的な流れは同じですが、 WebDirect 14 に関する情報にも触れられています。

パフォーマンスに関する重要ポイント(リンクはタイムスタンプ):
  1. 17:55 *.fp7 ファイルを  FileMaker Pro 14 フォーマット(*.fmp12) に変換した直後のレイアウトサイズは 850kb。
    これを予め登録した共有スタイルで最適化させると 425kb までサイズダウン。
    サイズが約半分ということは、転送速度が約2倍になっているといえる。
  2. 18:49 FileMaker Pro 14 に付属のストーンテーマのスタイルを極力いじらずに同様のレイアウトを作成した場合は、225kb までスリム化できた。
  3. 19:55 WebDirect 13 で共有スタイルで最適化したレイアウトサイズは 480kb だったが、 WebDirect 14 で同様の作業を行うと 425kb で、 約15% スリム化されていることがわかった。

(動画は英語)

  今回は WebDirect のパフォーマンス比較がわかるところのみを中心にご紹介していますが、ビデオの中では以下のようなことにも触れています。

WebDirect 13 の最適化ビデオと重なる情報は省いてあります。より詳しい情報をご覧になりたい方は、FileMaker 13 WebDirect Overview and Optimization (英語)をご覧いただくか、弊社記事 WebDirect 開発の勘どころ をご覧ください。

画像について 


 jpeg, png などの画像利用は最小限にする。
 FileMaker Pro 14 には軽量の SVG ビルトイン画像(glyph)が用意されているので、これを使ってボタンアイコンを装飾することを検討。
 ※SVG = スケーラブル・ベクター・グラフィックス

タブ・スライドコントロールについて


 タブ、スライドコントロールの使用もできるだけ避ける。
 必要のない情報をロードさせないのが基本。
 タブコントロールを配置するれば、裏でタブ上のすべての情報がロードされることに注意。

ポップオーバーについて


 FMP13 で導入されたポップオーバーも要注意。
 ブラウザに別ウィンドウを表示させる代わりに使えるが、多用は避けること。
 裏であらかじめすべてのポップオーバーデータをロードすることには変わりはない。

スクリプトトリガについて


 WebDirect 側にはスクリプトエンジンが搭載されていない。
 このため、イベントが発生するたびに FileMaker Server にアクセスして処理を決定する。
 当然、スクリプトをトリガさせるイベントがたびたび発生すれば、その分のトラフィックが増加する。
 このトラフィックコストはできるだけ少なくした方がよい。

FileMaker WebDirect 14 のパフォーマンス最適化については、「FileMaker 14 WebDirect ガイド」の 14 ページ「ステップ 3: パフォーマンスの最適化」(PDF)にヒントが掲載されています。こちらも併せて読むと、参考になると思います。




土屋企画による WebDirect パフォーマンス検証

 

 小社でも『FMEasy在庫 IWP/WD R1.5』 という製品を使い、社外と社内の2つのサーバでテストをしていました。

■実行環境
社外:米国某ホスティングサービス(VM/共用タイプ)、16 GB RAM/Xeon E5 4 cores
社内:自社サーバ(VM/占有タイプ)、4GB RAM/core i7(4プロセッサ割り当て)
FileMaker Server: Ver14.0.2(サーバ1/サーバ2共に)
使用ブラウザ:主としてIE10、IE11
注:VM=仮想マシン

■テスト内容
 予め、連続ビュー、連続更新、出庫伝連続伝票作成、という3つのループスクリプト(後述)作っておき、5~10個のブラウザウインドウからこれらのスクリプトを実行しています。
 で、こんな感じになります。


 上図は、1台のPC上で10個のIE10ブラウザウインドウを開き、ループスクリプトを実行していますが、Remote Desktop (RDT)で複数のセッションを開き、それぞれのセッションで1~複数のブラウザウインドウを開いてループスクリプトを実行というテストも行っています。
 後述の「■テスト」の項では、<社内/1PC/複数ブラウザ>、<社外/複数RDT/1ブラウザ>などと表記しますが、前者は社内サーバに1台のPCから複数のブラウザウインドウを起動しアクセス・テスト、後者は社外サーバに複数のRemote Desk Top から1つのブラウザウインドウを起動してアクセス・テスト、を表しています。

■ループスクリプトの内容
1. 連続ビュー
上図の出庫画面で先頭レコードから1件づつ後方へ移動していく。移動直後に0.2~1秒ポーズし、50~100件目に到達したらメッセージを出して終了する。

2.連続更新
上記の連続ビューと基本は同じだが、移動直後に備考フィールドに実行時の日時を追記する。

3.連続伝票作成(クライアントサイド)
出庫伝票形式のデータを連続して100件作る。といっても、1出庫レコードには25の出庫明細レコードが付属しているので、このスクリプトを1回実行すると、出庫レコード100件+出庫明細レコード2500(25明細×100)件、計2600のレコードが作成される。

4.連続伝票作成(サーバサイド)
仕様は上記4同じだが、サーバサイドスクリプトで実行。

■テスト
1.連続ビュー <社外/1PC/複数ブラウザ>
10個のIE10ブラウザウインドウで連続ビューを実行し、すべてのブラウザでエラーなく成功。


以下の動画は、撮影の都合上、6つのブラウザで実行しています。


2.連続更新
2-1  連続更新 <社外/1PC/複数ブラウザ>
10個のIE10ブラウザウインドウで連続更新を実行し、全てで成功。但し、上記1よりは時間がかかる。

2-2 連続更新による影響  <社外/複数RDT/1ブラウザ>
6つのRDTで1つのブラウザを起動し、それぞれで連続更新スクリプトを実行させた後、ローカルでブラウザを起動し、テスト実行者が手動によりレコード移動や入力を行いました。 これは、他のユーザが入力作業をしていると、どのような影響を受けるかシミュレートしたものです。結果は以下の通りです。
  • 6つのRDTの連続更新は時間はかかるもの成功します。
  • ローカルのブラウザでは入力は成功するものの 、レコード移動ボタン(>アイコン)を数回クリックすると、サークルアイコンが現れ操作ができなくなる現象が頻発します。数分待つと画面が表示されますが、これでは実用に耐えないレベルです。 


2-3 連続更新による影響  <社内/複数RDT/1ブラウザ >
上述の2-2 と同様テスト内容を 社内サーバで実行したときの模様です。

  • 今回は、ローカルで新規レコード入力操作中にサークルアイコンが現れ、その後 15 分経過しても状況が変わらなかったため、テストを中断しました。
  • このサークルアイコンが現われ操作不能になる現象は今回のループテスト実行中に何回も発生しました。 サーバ性能を上げるとこの現象は緩和されるのかもしれませんが、性能を上げたとしても FileMaker Pro 並みの安定運用を行うのは厳しいのではないかと思われます。 

2-4 連続更新を24セッションで実行 <社内/複数RDT/複数ブラウザ >
4つの RDTクライアントでそれぞれ5つのIE10ブラウザウインドウを開き、さらにローカルで4つのIEブラウザウインドウを開いて(計24セッション=4×5+4)て連続更新スクリプトを実行。成功したのは24セッション中9、残りの15セッションはサークルアイコンが出現し制御不能に。

3.連続伝票作成(クライアントサイド)  <社外/1PC/1ブラウザ>
1つのIE10ブラウザウインドウで成功。所要時間は43秒。但し、再度実行すると、ブラウザが反応しなくなる(下図)。



4. .連続伝票作成(サーバサイド) <社外/1PC/1or 5ブラウザ>
1つのIE10ブラウザウインドウで数秒で成功。但し、実行直後から全くブラウザが反応(上図と同様)しなくなることがある
バグを修正したところ、上記打消し線部の問題は解消。 5つのブラウザウインドウ上で本スクリプトを同時実行したところ正常終了。さらに、続けて5つのブラウザで同スクリプトを実行したところ、こちらも問題なく終了。
※バッチ処理は実行速度と安定性から、利用可能であればサーバサイドスクリプトを利用するのが良い


※ 今回のテストを通じて思ったこと ― WebDirect導入時の注意点

  1. 複数のブラウザでループスクリプトを実行しても(動作は遅くても)比較的に安定して動作する。
  2. ユーザが < や > (レコード間移動)ボタンを手動で実行すると、サークルアイコンが延々と表示され、場合によっては操作不能になことがある。 < や > を連続押しすると、この現象は高い頻度で発生する。
  3. レコードの連続作成スクリプトをクライアントサイドで実行すると、そのスクリプトは正常に終了したにも関わらず、次の操作が不能になる(サークルアイコンが出っ放し状態)になることがある。
  4. サーバサイドスクリプトが実行できる状況であれば、使う
上述のように上記のテストは海外のサーバを使用して行っていることにご注意ください。上記2の現象に関し、WinMTR の結果をホスティング会社に送付し問い合せたところ、「some severe packet loss and latency from you location in Japan to our location」とのことでした。 ただ、サークルアイコン出っ放し状態の時でも、FileMaker Pro によりサーバにアクセスして < あるい > をクリックすると、速度は遅いものの正常に動作すること、社内サーバを使用してもサーバへの負荷を高めるとサークルアイコン出っぱなし現象が発生することからみて、WebDirect にはまだ問題があると思います。
 尚、小社のLAN内のWebDirect環境では、ブラウザの > または <  ボタンを連続押ししても、上記の問題は発生していません。  

 以上のことから、WebDirect の導入に際しては、サーバ性能(メモリ/CPU)に加え、ネットワーク環境にも十分注意を払う必要があります。実際の運用環境にできるだけ近い環境を用意し、事前に十分なテストを行うことも必要でしょう。 またテストを行う際も精度の高いプロトタイプを用意し、十分な実行速度が確保できるかもチェックしたいところです。ブラウザ上の < と > (ナビボタン)を非表示にしたり、短い間隔で連続実行できないようにするなどの工夫も必要かもしれません。 導入担当者または開発者は、サークルアイコンの地雷を踏まぬよう、十分注意しましょう。

注:
「社内サーバのスペックが低すぎるのがサークルアイコンの原因だろ?」とお思いの各位、御尤もです。メモリたっぷりなサーバを調達してテストしてみたいです。 ただ、サーバ性能が低いにしても、サークルアイコン出っぱなしはオカシイと思います。



WebDirect のパフォーマンスに関するその他の情報


 バージョン間での WebDirect パフォーマンス比較を実際に行っている開発者は残念ながらまだ少ないようです(公式サイトの 25% 速度アップについて言及していらっしゃる方は多いでのですが)。

 そんな中、米国の FileMaker Forum ではいくつかのスレッドで WebDirect のパフォーマンスに関する情報がみつかりました。
 リンク先は英語ですが、スレッドの紹介程度に要約を載せておきます。

1. FileMaker Server 14 & WebDirect Performance


 NickLightbody という方が WebDirect 1ユーザあたりの消費メモリを計測して表にされています。
 こちらのスレッドでは、3 WebDirect ユーザ の場合は 100MB の RAM を消費し、 30 ユーザでは 1 GB の RAM を消費することを挙げたうえで、独自の計測結果も公開されているのでとても参考になります。 すばらしい! \(^o^)/

2. FMS 14 WebDirect Performance?


 WebDirect 14にアクセスしたところ、ロード中のアイコンが出っぱなしになり、10~20 秒後にログイン画面に戻ってしまうという現象が発生。

 ちなみに、当方でも同じ現象に遭遇したことがあります。
 ホスティング会社にこの件について問い合わせたところ、FileMaker Server 13 から発生している既知の現象で、この現象が発生した場合は、FileMaker Server を再起動しないとどうにもならないとのことでした。
 また、この現象はいまのところ FileMaker Server 14 でも発生しているので、今後のアップデートが望まれるところです。 早く出さんかいヽ(`Д´)ノ


(亀)

2015-06-23

WebDirectの導入事例を渉猟す

 WebDirect の導入に際してやはり気になるのは先行する導入事例。 
 小社でも時たま導入事例の紹介記事を探していますが、記事は多くありません。

 FileMaker 13 の WebDirect は、FileMaker Pro レイアウトのレンダリングが魅力的である反面、動作条件の厳しさ(高スペックなハードウェアの要求)、デザイン時に考慮すべき点の多さ、実行速度の問題など、機能的にはまだまだ発展途上という感じでした(これらの問題については、WebDirect 開発の勘どころ をご参照ください。)


 そんな折、2015年5月13日に FileMaker 14 が発売になりましたが、やはり WebDirect の進化に注目が集まるっているようですね。

 ということで、小社では改めてWebDirect(WD)の導入事例を探してみました。
 以下は見つかった記事の要約、編訳となります。 

※WebDirectが2013年12月にお目見えしてから1年半。まだまだ導入事例は少ない感じです。Ver14で状況は変わるのでしょうか。

【WebDirect の導入事例】

1. Braun Electric Company, Inc. (米国カリフォルニア州)


 電設会社。
 435人以上の従業員の安全を FileMaker Go for iPad/iPhone で管理。
 SeedCode 社の GoMaps プラグインを併用し、従業員の現在地を GoogleMap で確認。

 今後は複数の業務処理の自動化に向けて、WebDirect を導入していく“予定”とのこと(予定なんで、これ、全然導入事例ではないです。GoMapsがCoolそうなんで、思わず載せました。すみません)。

 参照元:http://www.filemaker.com/solutions/customers/stories/braun-electric-company.html 
 参考リンク: GoMaps プラグイン(英語)

2. Annex Medical, Inc. (米国ミネソタ州)


  医療用精密機器製造会社。
 従業員数 20人。
 社内のシステムを FileMaker Go for iPad でフル活用。
 品質記録、検品、工数管理、原料管理、在庫管理、配送、送り状作成までをトータルに行っている。

 作業効率化のためにダッシュボードをWebDirect で公開し、従業員の作業工数をチェックできるようになっている。 

 参照元:http://www.filemaker.com/solutions/customers/stories/annex-medical-inc.html

3. Cure Kids (ニュージーランド・オークランド)


 児童健康研究所。

 乳幼児突然死のリスク計算アプリを WebDirect メインで開発。

 データ入力を行うと、瞬時に死亡率のリスク計算ができるところがウリ。 
 開発期間が数週間だったにもかかわらず、ここ一年間で大きな修正はない。
 今後はカスタム開発を行い、ソリューションを完全レスポンシブな Web アプリケーションに発展させる予定(うーん、このWDソルーションはCWPソルーションに置き換わるのか。 WDで超高速開発して急場を凌だり、あるいはWDでプロトタイプを作成してエンドユーザに試用してもらう。で、本番システムはCWPで開発、みたいな)。

 参照元:http://www.teamdf.com/work/cure-kids
 開発元:http://www.teamdf.com/


【WebDirect 導入の具体例を示しているエンドユーザ】

1. Beko BBL (ドイツ・ケルン)


 プロバスケットボールリーグ。
 32 人の審判と 10 人のスタッフ監督で運用中。

 全国バスケットボールリーグの所属審判を WebDirect および FileMaker Go で管理。


 (動画はドイツ語)


 
 スケジュール、評価、目標達成度、その他要素を含むすべての関連データを iPhone またはiPad で審判に公開。
 審判は、どこにいても iPhone または iPad を使い、 WebDirect や FileMaker Go 経由でシステムにアクセスしてデータ入力可能。
 
 一元管理された目標達成やその他要素を含む情報は、リーグ管理者および審判が人選に利用。

 FileMaker プラットフォームで審判データベースを開発することにより、人材管理を実現。
 所在地情報をはじめ、年間出場試合数、身体データ、資格情報、関連情報、一般・技術審判の区分などを含む試合関連情報に関する個人データを管理。

 参照元:http://www.filemaker.com/de/solutions/customers/stories/bbl.html 

2. Akubra Hats (オーストラリア・ニューサウスウェールズ州)


 服飾品製造業。
 
 生産管理・受注管理に会計パッケージを統合させたシステムを FileMaker プラットフォームで開発。
 新たに導入されたレポート機能によって、季節ごとの商品在庫レベルを把握しやすくなり、在庫回転率が向上。
 早期受注にも対応でき、受注状況の確定も迅速化。

 システム導入後、一年間で受注レコード 2万件(受注明細レコード数 25万件、関連サイズ別レコードも含めると 56万件)を管理。
 工場および事務処理の一日 20 時間相当の業務をこのシステムで実現。
 今後のシステム最適化により、さらなる業務効率化が期待される。

 FileMaker Go と FileMaker WebDirect の併用により、モバイル顧客および遠隔顧客のニーズにも対応。
 また、2015 年の小売業者向けオンライン受注システム導入に向けて WebDirect によるモジュールをテスト運用中。


 参照元:http://www.filemaker.com/au/solutions/customers/local_stories/akubra-hats.html
 

3. サンラモン市街化区域(スペイン)


 都市開発事業。

 マドリードの民間開発区域、サンラモン市の 2000人の居住者を、18人の従業員により24時間体制で監視するシステムを運用。
 一日 3 シフト制でサンラモン市内を監視。
 訪問者・車両登録処理を含め、地域の安全を目指すのが基本目的。
 
 FileMaker Go および WebDirect によるアクセス。

 email を利用した居住者自宅訪問の実現。
 FileMaker Go for iPad を使ったレコード承認、訪問スケジュール管理
 WebDirect を使った居住者データベース管理
 
 より安全でシンプルな承認作業と堅牢なアクセス管理を実現。

 居住者に公開しているデータベースは二種類。
 居住者連絡先詳細データベースは地域事務所が WebDirect を使って更新。
 登録車両情報データベースは居住者自身が編集可能。

 訪問者がある場合は、e-mail または SMS で訪問者情報を監視員に送信。
 これにより 訪問者登録に要する時間を98% 削減。

 FileMaker Go for iPad による訪問者登録処理が可能になり、業務が簡略化されるとともにセキュリティログの記録量が 300% 増加。


 参照元:http://www.filemaker.com/es/solutions/customers/local_stories/Ciudad_San_Ramon.html



【WebDirect を使ったソリューションを提供している業者の開発例】

1. Contraflow (オーストラリア)


 道路交通網関連団体の計画作業と管理サービスを提供するシステムを構築。
 150人の従業員による内勤作業・オンサイト作業の両方に対応したあらゆる管理業務向けのソリューション。

 25 人の FileMaker Pro ユーザ、80人の FileMaker Go ユーザ、関連会社 5 社による WebDirect アクセスによりシステムを運用。

 【導入効果】
 コンプライアンスと安全性の向上、監査時不適合案件の減少、
 ワークフローのペーパーレス化。即時更新、各ステージの時間短縮、
 カオス化の完全排除、効率化されたプロセス、 自動 SMS 送信により電話による通話を廃止
 拠点呼び出しの時間と労力の削減、給与計算の自動化
 回転率の予測作業の迅速化と単純化、人員管理、必要車両とVIP 客の特定


参照元: http://info2.filemaker.com/Contraflow_Contraflow.html

2. SeedCode Calendar for WebDirect (米国)


 WebDirect 対応の FileMaker Pro 向けカレンダープラグイン。
 カレンダーの週間表示、月間表示、 テーマ切替、ガントチャート表示などに対応。

(動画は英語)



 その他詳細は SeedCode 社の製品ページをご参照ください。
 SeedCode Calendar for WebDirect



弊社でも FileMaker 13 版 WebDirect 対応の在庫管理テンプレート製品『FMEasy在庫IWP/WD R1.5』を販売しております。

FMEasy在庫 IWP/WD R1.5 製品紹介ページはこちら
 
この動画には WebDirect の動画部分は含まれていませんm( _ _ )m インスタントWeb(IWP)の動画となっております。 14も出たことだし、WD部分の動画も作ろうか、と思う今日この頃です。
  


(亀)

2014-06-30

インスタント Web/WebDirect対応在庫管理テンプレート『FMEasy在庫 IWP/WD R1.5』を本日リリース

 本日、『FMEasy在庫 IWP/WD R1.5』(フリー版)のダウンロードと販売を開始。


 ホントは昨年末にインスタントWeb(IWP)に対応の「FMEasy在庫 IWP R1.5」としてリリースする予定が、同時期に IWP の後継WebDirect(WD)を含む FileMaker Pro 13 がリリースされ、「タイミング、悪!ヽ(`Д´)ノ」、 と思いつつ、「WDにも対応させよう」と思い直し、艱難辛苦の末、今日を迎えることができました\( ̄▽ ̄;)/。


 以下、 本製品についての若干のご説明。


製品概要


  『FMEasy在庫 R1.0』 に検索・入力支援機能を付加し、インスタントWebとWebDirectに対応させたのが本製品です。


製品種類

  • フリー版(無料) ― データ入力無制限
  • 開発版(価格:¥54,000、税込) ― FileMaker Pro 12/13 Advancedにより開発可

 本製品リリース後も、在庫管理テンプレート『FMEasy在庫 R1.0』(フリー版/開発版 ¥26,250)は引き続きダウンロード/購入可。

開発方針


こんな感じで開発してみました。

  1. インスタントWeb(IWP)/WebDirect(WD)の両方に対応させる
  2. 入出庫・在庫の基本機能は『FMEasy在庫 R1.0』をそのまま踏襲
  3. FileMaker/IWP/WD間で、できるだけレイアウトを共有する(下記※参照)
  4. 検索・入力支援機能 ― 取引先または商品のレコードが千~1万件を超す場合、FileMaker標準の 関連フィールドによる値一覧は実用に耐えない(特にWeb環境下) ― ので、検索・入力支援機能を搭載する(後述)
  5. 検索・入力支援機能の流用性 ― 本製品をカスタマイズして売上/入金/仕入/支払/受注/発注等々の機能を付加する場合、取引先、得意先、仕入先、商品の入力が必要となるが、その時に検索・入力支援機能を簡単に流用できるように設計する
  6. 検索・入力支援機能は FileMaker/IWP/WD の3プラットフォームで利用できること
  7. WDの実行速度を落とさないように、レイアウトテーマは前版「FMEasy在庫 R1.0」の「レトロ」から「クラッシック」に変更 ― この為、本製品R1.5と前版R1.0の画面がかなり異なっている

※レイアウト共有で工数減?

 レイアウトを共有するとレイアウトだけでなくスクリプトも共有できる可能性が高まり、工数削減につながりそうだが、レイアウトを弄る度にFileMaker/IWP/WD、3つのプラットフォームでレイアウトのズレを気にしなければならなくなり、実際の工数減に繋がるかは微妙です。
 おおざっぱな方 ― 多少、オブジェクトが被ったりズレたりしても気にしない人はレイアウト共有し、細かいことが気になる人はレイアウトを分けた方が幸せかもしれないです。

 それともかく、本製品はIWPの入力更新系画面を除き、できるかぎり3プラットフォーム間でレイアウトを共有しています。

検索・入力支援機能


本製品のキモはなんと言っても検索・入力支援機能。
下図はWebDirect環境のChromeの画面。

[取引先の検索・入力支援機能]

※取引先画面で検索支援機能を使う
“検索支援”クリック検索支援画面が開く→取引先名を入力して“表示”表示された一覧から目的とする取引先を選択クリック元の取引先画面に戻り選択した取引先が表示される。

※出庫/入力画面で入力支援機能を使う
“選”クリック入力支援画面が開く得意先または仕入先名を入力して“表示”表示された一覧から目的とする得意先/仕入先を選択クリック元の出庫/入庫画面に戻り選択した得意先/仕入先が入力される

注:実行元の画面により、検索・入力支援画面に表示されるボタン、表記、機能が若干異なります。



[商品の検索・入力支援機能]

※商品画面で検索支援機能を使う
“検索支援”クリック検索支援画面が開く商品名を入力して“表示”表示された一覧から目的とする商品を選択クリック元の商品画面に戻り選択した商品が表示される

※出庫/入力画面で入力支援機能を使う
明細の“選”クリック入力支援画面が開く商品名を入力して“表示”表示された一覧から目的とする商品を選択クリック元の出庫/入庫画面に戻り選択した商品が入力される
  • 実行元の画面により、検索・入力支援画面に表示されるボタン、表記、機能が若干異なります。
  • 入力支援画面で[伝票単価][数量]を入力すると、その値が入出庫明細の単価と数量に入力されます。



Blog連動


 いくつかの問題もあります。 例えば、インスタントWeb(IWP)/WebDirect(WD)では満足な印刷ができない。これは FileMaker Serverの問題ですが、回避策がないこともないです。
 それは、ネットワーク上に印刷専用の FileMaker クライアント(FileMaker Robot)を常に起動しておき、IWP/WDクライアント(ブラウザ)から印刷リクエストがないか常に監視し、リクエストがあればFileMaker Robotから印刷を行うようにスクリプトを作成し、そのスクリプトを常に実行した状態にしておきます。

 別の問題として、IWPではダイアログボックス表示のスクリプトステップが使用できないため、レコード削除実行時に確認のダイアログが表示されずに即刻レコードが削除されてしまう、ということがある。

 また、 WDは各種ブラウザとの互換性が低いがFileMaker クライアントの再現性が高いのでインストラネットで、IWPは各種ブラウザとの互換性が高いので不特定多数対象のインターネットで使用したいが、WD/IWPの同時使用は可能か…等。 こうした問題・課題について、できるだけ本Blogで取り上げていきたいです。


サポート

前版インシデント2→今版5インシデント(365日間有効)に!

 ご質問については、Blog 記事として回答させて頂くこともあります →例1とか例2とか。


講習とか


 本製品をベースに在庫管理を学んでみたいという方はこんなのとか、IWPをやってみたいという方はこんなのとか、WDとはなんぞやという方はこれとか、あります。

 それでは足りない!、開発支援とかコンサルティングを!という方はこちら

 その他の在庫関連記事を読む
 その他の WebDirect 関連記事を読む

(土屋)

2014-05-19

FileMaker IWP と SQL-Server 2000 によるソフトハウス用ライセンス販売管理システム

 ユーザに特定のブラウザを強制できない状況、不特定多数のユーザがアクセスする環境では WebDirect を使用できないため、IWP(インスタントWeb)が有用ですが、現状として WebDirect が限られたブラウザのみしかサポートしない状況で、IWP(またはその機能)の提供を打ち切っちゃう FileMaker ってなんなの……。

  さて、小社では自社ソフトウェアのユーザ管理用に Microsoft SQL-Server 2000(以下、Ms-sql)とASPをしたシステムを開発し長らく運用してきておりますが、1 年半ほど前にフロントエンド部を Active Server Page から FileMakerに 置き換えた、ということは以前、本Blogでご紹介いたしました。

 この前システムは10年以上ユーザ情報と製品サポートの記録用に運用してきましたが、昨年 5 月『売上猫くん Standard R5』をリリースしたのを機に一念発起し、ソフトウェアライセンスのWeb販売機能追加を含め、大幅に機能を拡張することにしました。


開発環境

MS SQL-Server 2000 (同左)
MS SQL-Server Management Studio Ver 9 (同左)
FileMaker Pro Server 12 Advanced (FileMaker Pro Server 11 Advanced)
FileMaker Pro 12 Advaned(FileMaker Pro 11 Advanced)
注:( )内は、前回開発時の環境

※なぜいまさらMs-sql 2000なのか?

な ぜ前世紀の遺物の Ms-sql 2000 を使い続けるのか?というと、FM が公式にはサポートしていないSQLデータソースを操作できるのか試してみたい、という好奇心からです。
 ちなみに、FM12 が公式にサポートしている Ms-sql は2005と2008のみ。 前回、Ms-sql 2000→2008 へのアップグレードは簡単にできることを確認していますので、問題が発生時したらアップグレードするつもりでしたが、現在まで問題なく運用できております。

注:FM13 が公式にサポートしている SQL データソースはこちらになりますが、例によって旧版 SQL データソースはいとも簡単にリストから外されているのであった……
 

FileMaker 13 でもはやサポートされなくなった IWP をいまさら使う理由は次のとおり。

  1. PHPに比べ非常に短期間で開発が可能
  2. 必要最低限の機能で満足できる(JavaScriptなどを使用したゴージャスなインタフェイスは要らない)
  3. ヘビーなトラフィックが発生しない
  4. 何かあればサーバを再起動できる程度の余裕がある
上記 1. が IWP 採用の最大のメリットで、今回の開発では30人日程でカットオーバーできました。

※なぜWebDirect(WD)ではないのか?

  1. ブラウザの互換性が低い(不特定多数がWebアクセスする環境では使えない)
  2. ハードウェア/ソフトウェアのコスト
WDは¥100万~数百万の投資が普通にできる企業がイントラネットで利用するってことで。


ライセンス販売管理システムの仕様

仕様は以下のとおり。

No AP 機能名 内容/仕様
1 FM カスタマ管理 カスタマ(顧客)管理、Webログイン用アカウント管理
2 FM ライセンス管理 ・複数ライセンス管理(同一カスタマが複数の製品を所有することを想定、メール/葉書等の重複送信を防ぐ)
・入金確認後、Webでカスタマが登録した情報を元に、ユーザ(ライセンス)情報の登録/更新を行う。同時に、製品情報(製品用パスワード)等を登録完了通知メールとして送信
3 FM メール送信 ユーザを検索し、対象ユーザにアップグレード等の情報を一括送信。
4 FM 送信文章管理 メールで送信する文章を作成。ここで登録した内容をEvaluateし、ユーザ/商品毎の変数を評価(例:本文中に表示する宛名やアカウント情報をユーザ毎に変更する)
5 FM 送信履歴管理 ユーザ毎にメール/葉書などの送信履歴を保存
6 FM 葉書 アドレスが無効または不明でメールが送信されなかったユーザに対し、葉書(表裏面)を印刷する
7 FM サポート管理 ・サポート期間、インシデント消費状況を管理
・サポート内容を記録
8 FM 商品管理 ・複数商品対応
・同一商品の複数種類対応(例えば、『売上猫くん Standard R5』には、シングルユーザ版、マルチユーザ版、開発版の3種類がある)
・シリアルNo(ライセンスNo)生成
9 Iwp ログイン カスタマ毎に登録してあるアカウント情報をもとに認証
10 Iwp ユーザ情報更新 ユーザ情報の登録/更新/チェック
11 Iwp アカウント情報更新 アカウント/パスワードの登録/更新/チェック
12 Iwp 商品選択・購入 ・新規購入とアップグレード購入の両方に対応
・アップグレードというソフトウェア特有の販売形態に関連した各種制御(所有ライセンス数に基づくアップグレード)
13 Iwp 確認メール 注文確定後、カスタマに対して確認メールを送信
注:AP列の「FM」はFileMaker Pro 12/13で、「Iwp」はWebブラウザ がIWPにアクセスして利用するの意。


主な画面

FM で本アプリを起動時に表示される初期メニュー。
 [ClientMode]で「1:IWP」を選択すると、それ以降はブラウザの動作をシミュレート、デバッグはFMで行う。
図1 FileMakerクライアントで表示されるMenu画面


 カスタマが Web で入力した情報を基に、カスタマ画面上の情報が更新・作成される。
 ライセンスの購入・アップグレード履歴は、「購入履歴」タブに表示される。
 住所/電話等の情報は変更されうるので、カスタマ側で最新の情報を、購入履歴では購入時点の情報(ピンク部分)を保持する。

図2 FileMaker クライアントで表示されるカスタマ画面 ― 購入履歴タブ


 「サポート履歴」タブでは行ったサポート内容を入力・記録する。尚、このタブを開くと、ライセンス付属のサポートの有効期限を表示したサポート状況ウインドウが表示される。


図3 FileMaker クライアントで表示されるカスタマ画面 ― サポート履歴タブ


 メールの送信文章を入力。[送信内容]はEvaluate()されるので、フィールド名や変数を指定可。

図4 FileMaker クライアントで表示される送信文入力画面


 今回の開発の肝はソフトウェアライセンスのショッピング機能。
 下図はそのまた肝の購入申込画面(FireFox使用時)。

 登録ユーザがブラウザを使用しログインすると本画面が表示され、カスタマ情報とともに所有する[現有ライセンス]が画面左下に、その右側にアップグレード可 能な商品情報が表示される。
 “カゴへ”をクリックすると、その商品が買い物カゴに入り、「買い物カゴ」タブが表示される。
 「新規購入」タブでは(アッ プグレードではない)購入可能な商品が表示される。必要に応じてアカウント情報を含む「お客様情報」欄の情報を更新し、商品を買い物カゴに入れて“確認 画面へ”をクリックすると、FMServerは入力情報をチェックしエラーがなければ確認画面を表示する。
 確認画面で“注文を確定する”をクリックする と、FMServerはカスタマ情報を更新するとともに、購入確認メールをユーザに対して送信する。
 なお、既存カスタマの場合、アカウント名/パスワードを 変更して“注文を確定する”と即座にデータベースに反映される。
 
図5 ブラウザに表示されるアップグレード・新規申込画面

 IWP と侮るなかれ。
 結構なモノが構築可能なのです。

以上

(土屋)

追記:
ショッピングモジュールに加え、 CRM(Customers Relationship Management)モジュールのユーザサポート機能を公開。詳しくはこちら


【IWP関連記事】

【IWP関連の製品・サービス】

2014-01-27

WebDirect の Web ブラウザ互換性

 いくつかの Web ブラウザを用いて、FileMaker Sever 13 WebDirect へのアクセス実験を行いました。

 FileMaker 社が公式にサポートしていない Web ブラウザでの実験も行っております。

(2014/01/30 更新)
 *1 上表で (サポート) はFileMaker社が公式にサポートするブラウザ、(非サポート) は公式にはサポートを表明していないブラウザ。
 当方の実験では、サポート対象のはずの Internet Explorer 9 でアクセスすると、遅すぎてとても実用向きではないという結果になりましたが、この辺はもしかするとレイアウトを軽量化することで速度を改善できるのかもしれません。


 これから WebDirect の導入をお考えの方は、参考にしていただければと思います。

2014-01-24

WebDirect 開発の勘どころ

 インスタント Web (IWP) の後継版として、WebDirect が FileMaker Server 13 に搭載されましたが、今回は WebDirect の機能概要をご紹介したあとに、WebDirect 向けの開発の勘どころをご紹介します。

 なお、今回の記事の作成にあたっては、Richard Carlton Consulting Inc. で提供されている WebDirect の概要と最適化のプレゼンテーションビデオをベースに、当社の知見も交えて開発のヒントをまとめてみました。


※本記事は FileMaker Server 13 の WebDirect 機能(2014/01/24 時点)を中心に書かれたものです。

※2017年5月10日に FileMaker  Server 16 が発売されました。
FileMaker 16 WebDirect に関する記事も併せてご覧ください。
WebDirect は 16 で実用段階に近づくか? ― JMeter による WebDirect 14/15/16 比較

【WebDirect の特長】

  1. WebDirectを使用するにはFileMaker Server 13 と同時接続(ライセンス)が必須
  2. IWP の後継版? 但し、WebDirectがサポートするブラウザ数は減っている
  3. Web プログラミングの知識がなくても、基礎的な FileMaker Pro 開発経験があれば OK
  4. FileMaker Pro クライアントと(ほぼ)同内容をブラウザ上に展開
  5. FileMaker Pro 13  の機能の多くを Web ブラウザ上で実行、特にIWPに比し、実行可能なスクリプトステップが増えている
 

【WebDirect vs IWP】

以下の 旧版FileMaker の IWP (Instant Web Publishing) との相違表をご覧いただくと、さらに機能の概要がつかめると思います。

WebDirect と IWP の機能相違表


参考記事:Comparing FileMaker WebDirect to Instant Web Publishing


【WebDirect導入時の問題】

WebDirect 導入にあたっては以下の問題に特に留意する必要があります。

1. WebDirect の同時接続可能数はデフォルトでは 1。WebDirectの利用者数に応じて同時接続(ライセンス)の買い増しが必要(後述)。

2. 不特定多数を対象とした中大規模なサイトには向かない。WebDirect互換ブラウザが限られている(後述)。

3. 現時点で WebDirect のモバイル機器(タブレット/スマホ)に対するサポートが限定的(公式には非サポート)

4. 最大同時接続数が50、また同時接続が増えるとサーバのスペックも増す

5. WebDirect ではまともな印刷/PDF出力ができない。


【WebDirect対応システム開発のヒント】


 WebDirect のプロジェクトに着手するまえに、上述の WebDirect できること/できないことをまず認識し、プロジェクトを実施するかどうか決定します。
 状況によっては、プロトタイプを作成し、実際に近い運用環境でテストを行うことも検討してください。
 開発に際しては WebDirect の特性を意識した開発を行う必要があります。

 以下の FileMaker 13 WebDirect Overview and Optimization Presentation では開発ステップを提示しています。



FileMaker 13 WebDirect Overview and Optimization Presentation
Richard Carlton Consulting Inc.
このサイト、さすがプロ、素晴らしい  \(^o^)/

 以下、上記の動画を参考に WebDirect 導入・開発のポイントをまとめてみました。


ステップ1: 必要なライセンス種類/同時接続数の分析



 WebDirect を使用するユーザ候補を選定し、それらのユーザがWebDirectのサポートするブラウザを使用し、さらにWebDirectがサポートする機能のみで十分業務を行えるか検討し、最終的なWebDirectのユーザ数を決めます。

 たとえば、請求書などの帳票を印刷はWebDirect では扱えないため、FileMaker Pro や iPad を使用する必要が出てきます。
 WebDirect(及びGo) のを使う場合は、使用ユーザ数に応じた同時接続ライセンスを購入する必要があります。


 2014年1月24日現在、FileMaker Server 13 本体(99,000円)に 5 接続ユーザライセンスを付ける場合、別途104,400 円分のライセンス料を支払う必要があります。

 また最大ユーザ数≠同時接続数ではないことも少し考慮にいれましょう。
 例えば、WebDirectを使用する営業担当が10 人いたとしても、それほど頻繁にアプリを使わない場合、同時接続ライセンスは 5 で済む可能性もあります。


ステップ2: ブラウザ互換性の検討



 公式サイトによると、DirectWeb でサポートされている Web ブラウザはつぎのとおりです。 
なお、「FMEasy在庫 IWP/WD R1.5」という当社の製品でテストしたとろでは、IE11やChrome の上位バージョンでも動作しました。

〇Windows
Internet Explorer 9.x
Internet Explorer 10.x
Google Chrome 27.x

〇Mac OS X
Safari 6.x
Safari 7.x
Google Chrome 27.x

 WebDirect非互換のブラウザを使用している場合、互換ブラウザをインストールする必要があります。

 また、当方で上記に挙げたブラウザで動作や実行速度の検証を行っていますが、ブラウザによって動作にバラつきがあるので、使用を予定する各ブラウザによるテストも重要です。

 弊社での Web ブラウザ別パフォーマンス検証結果は、こちらの記事をご覧ください。
 WebDirect の Web ブラウザ互換性


 WebDirect で公開したデータベースを Web ブラウザで開く時、FileMaker Server はレイアウト上のオブジェクトをCSS、HTML5、Web互換の画像データとして生成・転送するため、レイアウトに配置するオブジェクトは少なければ少ないほどページ読み込み速度は速くなります。

 したがって必要に応じて、WebDirect 用と FileMaker Pro 用のレイアウトに分け、プラットフォーム別に動作するようにシステム構築するのが良いのでしょうが、そうすると開発工数が増えてしまうので、悩ましいところではあります。

 ちなみに、弊社で開発中の『FMEasy在庫 IWP/WD R1.5』はWebDirectに対応する予定ですが、FileMakerとWebDirectで原則、同じレイアウトを使用するようにし開発工数を減らしています。また、レイアウトはできるだけシンプルにし、できるだけ適用するテーマのママ、手を加えないようにしています。


ステップ3: インスペクタのスタイルを使用し表示速度をUp


 Web ブラウザの画面表示速度は、CSS、HTML5、画像データの転送量に依存し、レイアウトの作成方法によりこれらの転送量も大きく増減します。
 表示速度を向上させるには、WebDirect に最適化されたレイアウトを作成することが重要で、そのためにはレイアウトモードで利用する「インスペクタ」の「スタイル」を使用します。この「スタイル」にはレイアウトレベルのスタイルとテーマレベルのスタイルがあり、この2つを使用することによりアプリケーション内でCSSが共有されるため、表示速度が向上します。この「スタイル」の使用方法については、機会があれば改めてご紹介したいと思います。

 前述のビデオのプレゼンターによると、スタイルを使用していない旧レイアウトで生成されるデータ量と、スタイルを使用したレイアウトで生成されるデータ量を比較したところ、 850KB から425KB に減ったとのことでした。
 これは、ブラウザでのレイアウトの読み込み速度が 2 倍速くなる可能性があることを意味しています。

※WebDirect では書式コピーツールを使わない


右図のレイアウトの書式コピーツールを使うと、オブジェクトごとに個別のスタイルとして CSS および XML に書式が登録されてしまうため、余分なデータ転送が発生してしまいます。
 代わりに、スタイルを使いましょう。

【FileMaker Pro 12/FileMaker Pro 13/WebDirect のハイブリッド環境で FileMaker Pro データベースを公開するには】

 FileMaker Pro 13 のファイル拡張子は .fmp12 のため、FileMaker Pro 12 と互換性があります。

 このため、FileMaker Server 13 でデータベースを公開すれば、FileMaker Pro 13 および WebDirect のみならず、FileMaker Pro 12 クライアントからも同データベースを利用できることになります。
 このような複数のアプリケーションバージョンに対応したシステム環境を「ハイブリッド環境」と呼びます。

 ハイブリッド環境において、それぞれの FileMaker Pro クライアントの動作条件を満たすようにする場合は、最もスペックの低いユーザに合わせて開発する必要があります。

 つまり、ハイブリッド環境では FileMaker Pro 12 でレイアウトが適正に表示されることを前提にしたうえで、FileMaker Pro 13 および WebDirect でもアクセスできるように調整していくことになります。

 ハイブリッド環境向けに開発を行う場合は、以下のような点に留意する必要があります。

案1) FileMaker Pro 12/13/Webdirect で共用されるレイアウトを作成するなら、FileMaker Pro 13 のテーマ、およびカスタムスタイルの使用は避ける。

 FileMaker Pro 13 で導入されているテーマおよびカスタムスタイルは、FileMaker Pro 12 では十分に表示できないものが含まれています。

 このため、レイアウトの調整は基本的に FileMaker Pro 12 で行い、表示チェックを FileMaker Pro 13 で行うようにするのが無難といえます。

案2) WebDirect 専用レイアウトを作る

 先にご紹介したとおり、WebDirect のパフォーマンスは Web ブラウザに依存します。
 Web ブラウザの読み込み時間を考慮すると、レイアウトのデータサイズは小さければ小さいほど良いということになります。

 しかし、FileMaker Pro 12 のレイアウトは、「インスペクタ」の「スタイル」で最適化されていないため、WebDirect クライアントで表示すると、Web ページの読み込みに時間がかかってしまいます。

 Web ページ読み込み速度を優先するなら、FileMaker Pro 13 で WebDirect 専用のレイアウトを作成し、カスタムスタイル設定で軽量化させたものを使うようにすると、WebDirect クライアントもデータベースに快適にアクセスできるようになるでしょう。


※本項の記述は上記ビデオを参考にしています。
 FileMaker Pro 13でレイアウトを保存すると FileMaker Pro 12 での表示が若干異なったり、FileMaker Pro 12で行ったレイアウト設定(特にフィールド内のインデント設定)が消失してしまったりすることがあります。

 しかしながら、常に FileMaker Pro 12 を使用してレイアウト開発を行っていると、FileMaker Pro 13 の資産を十分に活かせませんし、後続の FileMaker データベース製品のことを考えると仕様に無理が出てくる可能性が高くなるでしょう。

 したがって、クライアント別のレイアウトの切り分けを十分に行ったうえで、レイアウトを含む開発はすべて FileMaker Pro 13 で行い、FileMaker Pro 12 で表示チェックのみを行うというのがより現実的といえるかもしれません。

【その他の開発ヒント】


 WebDirect が FileMaker Server 13 に搭載されているといっても、従前のデータベースを配置して公開しただけでは十分なパフォーマンスを得られない可能性が高いため、WebDirect による同時接続ユーザ数、およびレイアウトデータの転送量を意識した設計と最適化が必要になります。

 こちらも併せてご参照いただければ幸いです。
 パフォーマンスの最適化(PDF 『FileMaker 14 WebDirect ガイド』より)


 最後に、上記で書ききれなかった WebDirect の開発ヒントをいくつかご紹介します。

  1. レイアウトに配置する画像やオブジェクトは必要最低限に  ボタン、アイコン等にグラフィックを使うと、Web ブラウザでのロードに時間がかかります。

  2. WebDirect で使うテーマはシステム全体でできるだけ統一する
     たとえば、顧客マスタで「クール」というテーマを使い、売上画面で「エレクトリック」というテーマを採用すると、Web ブラウザで画面切替するたびにキャッシュ読み込みが発生するため、表示速度が遅くなります。
  3. FileMaker Pro のような新規ウィンドウを開くことはできない
     新規ウィンドウを仮想ウィンドウとして開くことはできますが、複数ウィンドウ上または複数タブ上に異なるレコードまたは異なるレイアウトを表示することはできません。

  4. タブはできるだけ使わない
     レイアウトに配置できるタブは入力フィールドの整理に役立ちます。
     しかし、WebDirect では初回ロード時に最上位のタブが読み込まれた後、ユーザがタブ切替を行うたびに ブラウザ→ WebDirect FileMaker Server 13 → WebDirect へのリクエストが発生するため、これがパフォーマンス低下につながることになります。

  5. ソートは FileMaker Server 13 側で実行されるので高速になる
     WebDirect 自身にはデータベースエンジンが搭載されていないため、データベースエンジンが行うべき操作はすべて FileMaker Server 13 側で実行されることになります。
     
     このため、FileMaker Pro 13 クライアントでレコードソートをしたときよりも、WebDirect でソートしたときの方が処理速度が速かったという結果も出ています。

     上記のビデオによると、35万件のレコードをソート実験した結果、WebDirect で 35 秒、FileMaker Pro クライアントで 227 秒と、実に 400% 近くのソート速度の差が出ています。

 以上、WebDirect を使ったデータベース開発の参考にしていただければ幸いです。


参考記事(英語):
FileMaker 13's WebDirect: I want to like it. I really do.
What is FileMaker WebDirect?
Comparing FileMaker WebDirect to Instant Web Publishing

その他の WebDirect 関連記事を読む

亀澤