2024-04-03

旧FileMaker で開発した受注・送状発行システムを運送会社のEDIに対応させる

物流の2024年問題と宅配EDIへの対応

 当社では2009年にFileMaker 11を使用し、受注・請求・宅配送状発行のシステム(簡太郎君)を開発しました。本システムのお客様は運送会社であり、お客様の取引先である数十の農園や農家に配布され稼働しています。ユーザはフルーツ等の農産物の顧客・受注管理、請求書発行、宅配送状の印刷を簡太郎君を使用して行っています。


EDIに対応する新簡太郎君のメニュー画面(ブリッヂ社製)― 2024年6月リリース予定

 さて、運送業界では2024年4月からトラックドライバーに時間外労働の960時間上限規制が適用され、国内の輸送能力が今後不足する可能性が指摘されています。いわゆる物流の2024年問題(全日本トラック協会サイト)です。同サイトによると、労働時間が削減される一方でトラックドライバは不足しており、「営業用トラックの輸送能力が2024年には14.2%さらに2030年には34.1%不足する可能性がある」と記載されています。

 こうした状況で運送業界では、IT技術を使用した業務の効率化(DX)が強く求められており、今回、簡太郎君もEDI対応による業務の効率化を行うこととなりました。

運送EDIシステムの構成

  下図がEDI対応バージョンの新簡太郎君のシステム構成図となります。
 簡太郎君の各ユーザ(農園等)は顧客からの注文を受注画面で入力し、送状を作成・印刷します。ユーザはその日の出荷作業が終わったら、集約サーバに送信します。集約サーバでは多数の顧客から送信されてくる送状データを蓄積・集約しておき、予め設定した時刻になると送状データをまとめて各運送会社に自動送信します。

 集約サーバで一旦データを集約する理由は運送会社の要請によるもので、個々のエンドユーザと契約を締結するのが煩雑で時間がかかるということのほか、エンドユーザのサポートの負担を回避したいということがあると思われます。

簡太郎君の送状データフロー図


簡太郎君のEDI対応

 2009年にリリースされた簡太郎君はFileMaker 11で開発及びランタイム化されているため、FileMakerのライセンスは必要とせず、Windows 10/11でも稼働します。
 農園等のユーザは顧客から注文を受けると、受注画面で依頼主、送り先、商品などの情報を入力した後、送状を作成します。このとき12桁の送状番号が自動生成されされます。荷物が複数の個口に分かれる場合は、送状を個口分作成します。

受注画面の送状タブ

 “送状印刷”または“印”をクリックすると送状が印刷されます。

ヤマト:レーザープリンター用A4マルチ伝票(品番322)

 その日一日の発送が終わった時点で、下図の"EDI送信"ボタンを実行して送状データを集約サーバに送信します。


集約サーバ

 集約サーバは FileMaker Server 2023 により構成されており、Amazon AWS EC2 上に存在します。 このサーバは多数の顧客から送信されてくるデータを常時受信し、蓄積します。
 本サーバにはスケジュールが設定されており、設定された時刻になると送状データをまとめて運送会社に送信します。

 運送会社によりAPIは異なります。本システムではヤマトについてはcURL、JP(日本郵便)についてはSFTPを使用してサーバから各社のEDIサーバにデータを送信します。

 集約サーバで一旦データを集約する理由は運送会社の要請によるものですが、個々のエンドユーザと契約を締結するのが煩雑で時間がかかるということのほか、エンドユーザのサポートが負担になるということがあると思われます。

お問い合わせ

 本システムのお問い合わせは以下のフォームをご利用ください。ブリッヂまたは当社よりご連絡差し上げます。


以上
(NuckyT)

2023-09-21

Quuppa用IPSアプリケーション ― QuickIPS for Quuppa

[English version]

お知らせ

QuickIPS for Quuppa のデモを提供しています。ご希望の方はこちらよりお申し込みください。

  土屋企画では、屋内位置測位システムQuuppa用のIPSアプリケーション『QuickIPS for Quuppa』 を2023年冬にリリースする予定です。 本製品はQuuppa Positioning Engine が提供する人・モノの位置情報を受信し、PC等の端末上にその位置をリアルタイムで表示する FileMaker で開発されたアプリケーションです。

 本稿では当製品に関して説明します。

Quuppaとは?

 Quuppaは屋内の人やモノの位置情報を提供するためのシステムであり、フィンランドQuuppa Oy社の製品です。同製品は Realtime Location System (RTLS) または Indoor Positioning System (IPS) と呼ばれます。 このシステムでは人・モノにタグ(ビーコン)と呼ばれる発信機を取り付けて、タグが発する信号をもとに人・モノの位置を算出します。GPSと似ていますが、衛星電波の届きにくい屋内での使用に特化し、GPSよりも測位精度が高いのが特長です。また、タグはBLEを使用しているため低電力で長期間の運用が可能です。



Quuppaは主としてタグ、ロケーター、測位エンジン(ソフトウェア)で構成されます。

タグ  

QT1-1 tag
人・モノに取り付け、信号を発信する。ビーコンと呼ばれることもある。
ロケーター

Q35 Locator
タグからの信号を受信して位置測位エンジンに送信。
位置測位エンジン(ソフトウェア)

Quuppa Positioning Engine
ロケーター経由で送られてくるタグ情報を受信、各タグの位置情報を算出してアプリケーションに渡す。要サーバ。


QuickIPS for Quuppa

 Quuppaの位置測位エンジンはタグの位置情報をUDP PushやRESTを介してCSV及びJSONの形式で提供しますが、人・モノの位置をマップ上に表示する等のユーザアプリケーションは導入企業が独自に開発することになります。しかし、このアプリケーションの開発には多くの時間と費用が発生します。この開発作業の工数を削減しするのが当社の QuickIPS for Quuppa です。

主な特長

1. IPS アプリケーションを短時間で導入が可能

 QuickIPS for Quuppa(以下、「QuickIPS」)はタグの所在地をマップ上に表示する「フロアマップ」機能を提供します。 導入は簡単で、フロア画像を取り込み座標を合わせる等の初期設定を行えば、すぐにフロアマップ上にタグの所在地を表示できます。

 QuickIPS により、IPSのシステム導入担当者は、プロジェクトの初期段階でエンドユーザが利用するアプリケーションをイメージすることができます。

2. FileMaker によるカスタマイズ

 QuickIPS は FileMaker で作成されており、開発版も提供される予定です。 FileMaker はローコード開発ツールとして定評があり、開発者は FileMaker により QuickIPS をカスタマイズすることにより短期間で高品質のIPSアプリケーションを開発することが可能です。

3. 多様なフロアマップ開発のツール

 QuickIPSは5種類のフロアマップを提供します。開発版を使用してのカスタマイズに際しては、FileMakerの標準機能に加え、JavaScriptライブラリの plotly(無料) や FileMaker PluginであるxmCHART(有償、サードパーティ製) を使用できます。

3-1. Scatterフロアマップ

 FileMakerの散布図グラフを使用して開発されており、機能は限定的ですが、開発は容易です。

3-2. Object フロアマップ

  FileMakerの機能(主にマージフィールドとスクリプト)を使用して開発されており、Scatterフロアマップに比べて高度な開発が可能です。尚、本フロアマップは他のフロアマップとは異なり、導入時のカスタマイズが必須であるため、開発版の購入が必要となります。

3-3. xmCHARTフロアマップ

 FileMakerプラグインのxmCHART(有償)により開発されており、同製品が提供するFileMake用外部関数使用によるフロアマップの開発が可能です。この外部関数の習得には一定の学習が必要となりますが、チャート作成の柔軟性及び拡張性に優れ、様々なチャートの作成にも利用できます。

3-4. Plotlyフロアマップ

 JavaScriptとJavaScriptライブラリのPlotlyを使用して開発されています。開発者はPlotlyのスキルを必要とされますが、チャート作成の柔軟性及び拡張性に優れ、様々なチャートの作成にも利用できます。

3-5. QuickIPSページ(FileMakerクライアントライセンス非依存)

 上述のフロアマップと異なり、FileMakerクライアントライセンスと必要とせず、ブラウザ上にフロアマップを表示します。同ライセンスが不要のため、多数のユーザがいる環境ではコスト的に有利です。

 但し、運用に際してはFileMaker Serverのライセンスが1つ、設定管理用にFileMaker Proのライセンスが1つが必要です。
 また、python、plotly、Flask、waitress などによるWebサーバの構築も必要となります。


3-6. 開発ツール比較表

 フロアマップは以下の5種類のツールを使用して開発されています。

マップ種類
(開発ツール)

導入時開発

開発難度

拡張性  開発に関する補足
1.Scatter

  • FM標準の散布図グラフを利用
  • Objectに比し簡単

2.Object 必須

  • FM標準のマージフィールドとスクリプトを使用しての開発
  • cm単位の座標はmに丸めている
  • FileMakerによる開発経験要
  • 開発には開発版が必要

3.xmCHART

  • xmCHART(別途購入要)を使用
  • xmCHARTの独自言語
  • FMの外部関数による開発
  • ヒートマップ、トラッキング(動線追跡)等の開発が可能

4.plotly

  • plotly(フリーウェア)とJavaScriptとplotlyを使用
  • ヒートマップ、トラッキング(動線追跡)等の開発が可能

5.QuickIPS pages
  • ブラウザ上で実行
  • 他のマップと異なり、端末毎にFileMakerクライアントライセンスを必要としない
  • JavaScriptとplotlyにより開発
  • 他のマップと比較し低機能
  • 開発難度は一番高い(非ローコード)
  • Webサーバ要

3-7. Picker によるタグ選択

 Pickerにより目的のタグを複数選択し、それらだけをフロアマップに表示することができます。
複数のタグを選択可

 尚、QuickIPSページでは本機能を利用できません。

4. オート、マニュアル、ヒストリの3つのモードに対応

 上記3-1~3-4のフロアマップは以下のモードに対応しています。

オート(AUTO):タグの位置をリアルタイムに自動的に表示
マニュアル(MANUAL):ユーザが更新ボタンをクリックすると、その時点のタグの位置情報を表示
ヒストリ(HISTORY):ユーザの指定により、データベースに保存された過去の位置情報を表示

5. 誤差グラフと誤差集計機能

 静止しているタグの座標を予めタグマスタに登録しておくことにより、実際の座標とQuuppaが算出する座標の誤差をグラフ化または集計表示します。算出座標の精度をチェックしながらロケータの配置を決定する時にご利用ください。


6. 多様なプラットフォーム上で利用可能

 QuickIPSの諸機能は各種プラットフォーム上で動作します。

No 機能 FM Pro FM Go WebDirect Browser 備考
1 環境設定(Conf)  
2 フロアマップ調整  
3 AUTO モード  
4 HISTORYモード  
5 MANUALモード  
6 Scatterフロアマップ  
7 Objectフロアマップ  
8 xmCHARTフロアマップ  
9 Plotlyフロアマップ  
10 QuickIPS page  
11 測位誤差集計  
12 測位誤差グラフ  
13 Picker (タグ選択)  

注:

  • 初期設定及びメンテナンスには、FileMaker Proが必要です。
  • WebDirectはFileMakerで作成した機能をWebブラウザ上で利用できるようにする FileMaker Server の機能です。WebDirectを使用するには、FileMaker Server に加え、ユーザ毎にFileMakerのクライアントライセンスが必要となります。


NuckyT

2023-07-06

FileMaker Server をアップデートするとやっぱ WebDirect が使用不能になった

 みなさんは運用中のサーバソフトウェアをどのタイミングでアップグレードしていますか? 当社では運用中のサーバに関するアップグレードがリリースされた場合、リリースノートを読み、重要なバグフィクスやセキュリティパッチが含まれるかどうかを確認し、これらに該当しない場合は直ぐにはアップグレードを行いません。 例えば、FileMaker Server で機能的なアップグレード(新しい機能追加や既存機能の改善のみ)があった場合は、リリースから数ヶ月経過するかマイナーバージョンが上がるまではそのアップグレードは行いません。これは、新しいアップグレードが含むかも知れない新たなバグを回避するためです(人柱が現れるのを待つ、とも言う)。

 さて今回、当社で運用中の FileMaker Server 19のアップグレードを行ったのですが、悪い経験は繰り返す則(マーフィーの法則)に従い、WebDirect が使用不能になりました。 そこで本稿ではこの経緯と対応方法をまとめました。 


対象読者


FileMaker Server(FMS) 19.x 環境で WebDirect を使用していたが、FMS をアップグレードしたら WebDirect が動作しなくなった方
 

WebDirect が動作しなくなった経緯

先日、FileMaker Server 19.0.1 を 19.6.3 にアップグレードしたところ、今まで動作していた WebDirect ページが開けなくなりました。以下のような HTTP エラー502.3 が出ます。

FileMaker Server Admin コンソールも、プライマリマシンがいつの間にか無効化された状態となっています。このまま有効化してもすぐに無効に戻ってしまいます。

 

アップグレードした途端に WebDirect が動かなくなるなら Java との互換性を疑え、ということで Claris 公式サイトを検索したところ、FileMaker Server 19.2~19.6 は Java 11 が推奨されているという表記をみつけました。

macOS および Windows 上で Web 公開を使用する場合の、JAVA_HOME 環境変数の活用について [Claris 公式サイト]


もともと使用していた Java が OpenJDK 8.0_252 だったため、上記ページを参考に OpenJDK 11 に入れ替えたところ WebDirect が復活しました。

作業内容

以下では Windows Server を使用した復旧方法を記します。
作業につきましては自己責任でお願いいたします。

  1. Windows サービスより FileMaker Server を停止させます。
  2. OpenJDK をダウンロードします。
    https://adoptium.net/temurin/releases/?version=11
    当方の場合は、msi インストーラーを選択しました。
     
     
  3. OpenJDK 11 をインストールします。いくつかオプション指定がありますが、デフォルトのままでOKです。
  4. OpenJDK 11 のインストールが終わったら、環境変数を手動で変更します。
    Windows Server のコントロールパネルを開き、システムとセキュリティ→システム→システムの詳細設定の順に選択します。
    システムのプロパティより、“環境変数”ボタンをクリックします。

     
  5. 環境変数の一覧から、JAVA_HOME 環境変数を特定し、設定値を新しい OpenJDK のインストールパスに変更します。
    たとえば以下のようになります。

    (変更前)



    (変更後)


  6. FileMaker Server 20.1 以降は Java ガベージコレクション用の PATH 指定が必要になるとのことで、併せて設定を行います。
    既存の Path システム環境変数に、%JAVA_HOME%\bin を追加します。たとえば以下のようになります。



  7.  つぎに、古い Javaのインストールフォルダを削除します。Program Files\FileMaker\FileMaker Server\Web Publishing\java あたりを探してみてください。
  8. Windows サービスより、FileMaker Server を起動します。起動後、FileMaker Server Admin コンソールの「コネクタ」タブより、プライマリマシンを有効にします。
  9. 以下のように、プライマリマシンが実行中になれば作業は終了です。

その他の WebDirect 情報については、以下のリンクをご参照ください。

FileMaker Server 18.0.2 以降での Java の変更
FileMaker Server と Java - 概要
Claris FileMaker WebDirect ガイド


(亀)


追記:
WebDirect、予想以上に情報少ないですね。導入しているところ、あるんでしょうか...