JobBOSS²連携ガイド SkyPlanner APSで生産スケジューリング
このガイドでは、パートナー企業やITチームに向けて、ECIのJobBOSS²とSkyPlanner APSを連携する方法を解説します。SkyPlannerはECIが提供するAPIを使い、JobBOSS²と双方向に連携します。
- OrdersとOrder Line Items、Order Routings、Estimates、Routingsと資材、Work Centers、Employees、Company Calendar、Job Requirements、発注明細を取り込みます。
- 計画した開始日と終了日を、Order Routingの各工程に書き戻します。
- 必要に応じて、作業者の作業時間記録をTime Ticket Detailsとして書き戻せます。
- SkyPlannerのWebhookが、スケジュールの変更を発生時に通知します。
SkyPlannerチームが導入時にお客様のJobBOSS²環境に合わせて連携を設定し、稼働開始後もサポートします。このガイドは、連携作業に参加するパートナーや開発者、またはSkyPlannerの公開REST API(APIリファレンス)を使って自ら開発したい方を対象としています。米国の受注加工企業では、すでにこの方法で連携を実現しています。
JobBOSS²の連携インターフェース
ECIは、製造業向けAPIとそのOpenAPI仕様をECIの製造業向けAPIドキュメントサイトで公開しています。スケジューリングに関係するのは、次の二つです。
- JobBOSS² API (v1)。RESTとJSONを使うJobBOSS²専用のAPIです。受注、Order Line Items、Order Routings、Estimates、Routings、資材、Job Requirements、Work Centers、Company Calendar、Employees、発注、Time Tickets、Time Ticket Detailsの読み書きに対応しています。ECIは “is currently only supported for JobBOSS² hosted (Cloud) customers.”(現在はJobBOSS²のホスティング型〔クラウド〕をご利用のお客様のみをサポート)と明記しています。
- ECI ERP API (v2.1)。Deacom、M1、JobBOSS²に共通で使える、製品に依存しないREST APIです。JobBOSS²では、jobs、job operations、job materials、parts、part operations、work centers、purchase order lines、timecard linesを扱います。ECIは “the actual ERP database could be a cloud hosted ERP or on premises install,”(実際のERPデータベースはクラウド型でもオンプレミス型でも利用可能)と説明しており、オンプレミスのJobBOSS²ではこちらを使います。
両APIには、次の共通の規則があります。lastModDate[gte]=などのフィルター式、fields=パラメーター、sort=、およびtakeとskipによるページングを使います。takeの既定値は200です。”All dates submitted to the API are assumed to be in UTC.”(APIに送信する日時はすべてUTCとして扱われます。)
どちらのAPIにも、ECIの次のルールが適用されます。”All APIs must be activated by ECI before use.”(すべてのAPIは、使用前にECIによる有効化が必要です。)早めにECIの担当者に依頼してください。
認証とアクセス
- APIユーザー。連携には、ECIのIntegration Engine Management Consoleで発行したAPIユーザーを使います。呼び出し先の製品、顧客、データベースは、このAPIユーザーによって決まります。
- OAuth 2.0クライアントクレデンシャル。クライアントIDとシークレットを使い、Authentication APIのトークンエンドポイントでトークンを取得します。以降のすべての呼び出しで
Authorization: Bearer [token]を送信します。 - スコープ。APIユーザーには、下のマッピング表に必要なリソースへのアクセス権限だけを付与してください。
SkyPlanner側のREST APIはAPIトークン(SkyPlanner Settings > API)で認証し、仕様はSwagger/OpenAPIで公開されています。最初の呼び出し手順は連携チュートリアルで確認できます。
イベントとポーリング
ECIのどちらのAPIにも、Webhookに関する記載はありません。JobBOSS²側のデータはポーリングで取得します。Order Line Items、Order Routings、発注明細をlastModDateで前回実行後の更新分に絞り込み、takeとskipでページングします。頻度は工場ごとに設定し、作業は数分おき、在庫は毎時といった間隔で取得します。
SkyPlannerは状態やスケジュールが変わるとWebhookを送信するため、書き戻し側はイベント駆動で処理します。
データマッピング
| JobBOSS²のオブジェクト(JobBOSS² APIのリソース) | SkyPlannerのオブジェクト | 連携方向 | 連携頻度 |
|---|---|---|---|
Estimates(/estimates)、資材(/materials) | 製品、資材、製品構成 | JobBOSS² → SkyPlanner | 初回取り込み後、変更時 |
Routings(/routings):作業区、段取り時間、サイクルタイム、チーム人数、作業に使う機械 | 所要時間と段取り時間を含む工程 | JobBOSS² → SkyPlanner | 初回取り込み後、変更時 |
Work Centers(/work-centers):シフトごとの稼働時間、シフト1~3の稼働有無、稼働日 | リソース、リソースグループ、効率 | JobBOSS² → SkyPlanner | 初回取り込み後はまれに更新 |
Company Calendar(/company-calendars)、Employees(/employees) | シフト、非稼働日、人員 | JobBOSS² → SkyPlanner | 毎日、またはSkyPlanner側でシフトを管理 |
OrdersとOrder Line Items(/order-line-items):作業番号、納期、優先度、製造数量 | 納期と優先度を含む受注 | JobBOSS² → SkyPlanner | 数分おきにポーリング |
Order Routings(/order-routings):作業工程、ステータス、残り作業時間 | 工程ごとの作業 | JobBOSS² → SkyPlanner | 数分おきにポーリング |
Job Requirements(/job-requirements)、発注明細(/purchase-order-line-items) | 資材所要量、納入日別の発注 | JobBOSS² → SkyPlanner | 毎時、またはスケジューリング実行時にポーリング |
Order RoutingのestimatedStartDate、estimatedEndDate、workCenter、employeeCode(PATCH) | 工程ごとの計画開始・終了日時、機械、作業者 | SkyPlanner → JobBOSS² | スケジュール変更時にSkyPlannerのWebhook経由で送信 |
| Time Ticket Details(POST):作業、工程、作業区、従業員、段取り時間、サイクルタイム、完成数と廃棄数、開始・終了時刻 | 作業時間記録と作業者による実績報告 | SkyPlanner → JobBOSS² | 書き戻しを選択した場合、実績報告ごと、またはシフトごと |
| JobBOSS²には該当なし | 段取り時間マトリクス、使用可能数に制約のあるリソースとしての工具、代替の機械と人員 | SkyPlannerで管理 | 導入時に設定 |
オンプレミスのJobBOSS²では、同じオブジェクトをERP APIのリソース/jobs、/job-operations、/job-materials、/parts、/part-operations、/work-centers、/purchase-order-linesから読み込み、作業時間記録を/timecard-linesに送信します。
連携パターン
1. マスタデータの初回取り込み。Estimates、Routings、資材、Work Centers、Company Calendar、Employeesを読み込みます。作業区の対応付けは慎重に決めてください。旋盤が四台ある作業区は、一つのリソースグループ、または四つのリソースとして登録し、SkyPlannerが機械ごとに作業順序を決められるようにします。
2. 作業の同期。未完了のOrder Line Itemsを、対応するOrder Routings、Job Requirements、未完了の発注明細とともに読み込みます。SkyPlannerは発注済みの資材を発注の納入日から使用可能として扱い、発注がDeliveredになった時点で在庫を更新します。保留中と完了済みの作業は対象から除外してください。
3. スケジュールの書き戻し。エンジンが工程を配置または移動すると、SkyPlannerのWebhookを起点に/api/v1/orders/{orderNumber}/order-line-items/{itemNumber}/order-routings/{stepNumber}へのPATCHが実行されます。estimatedStartDateとestimatedEndDateをUTCで設定し、SkyPlannerが工程を別の機械や担当者に移した場合は、workCenterとemployeeCodeも設定します。この日時は、Whiteboard、Planning Board、Scheduling Advisorですでに表示されている作業工程に反映されます。
4. 製造現場での実績報告。作業者はSkyPlanner Mobile ConfirmationsまたはProduction Timerで作業を記録し、その作業時間記録をもとにスケジュールが最新の状態に保たれます。実績時間をJobBOSS²に書き戻すかどうかは選択できます。書き戻す場合、各実績報告は段取り時間、サイクルタイム、数量を含むTime Ticket Detailになります。書き戻さない場合は、引き続きJobBOSS²でデータを収集し、SkyPlannerはOrder Routingsから進捗を読み取ります。
5. データの管理責任と競合時のルール。稼働開始前に、次の内容を文書化してください。
| データ | 管理元 |
|---|---|
| Estimates、Routings、数量、納期、作業ステータス | JobBOSS² |
| 工程の実行順序、開始・終了時刻、工程ごとの機械と作業者 | SkyPlanner |
| 段取り時間マトリクス、工具と作業者の要件、代替リソース | SkyPlanner |
| シフトと非稼働日 | 要件定義で選定した一つのシステム |
| 作業時間票、資材払出、入荷、原価計算 | JobBOSS²で管理。同システムに入力するか、SkyPlannerの作業時間記録から送信 |
作業工程の日時を書き込むシステムは一つに決めてください。SkyPlannerでスケジューリングする作業は、WhiteboardではなくSkyPlannerで再調整します。計画担当者がSkyPlanner上で作業を移動すると、その日時がJobBOSS²に反映されます。
標準的な導入手順
通常、導入はオンボーディング開始から数週間で完了します。その前に、JobBOSS²からCSVまたはExcelで出力したWork Centers、工順、未完了の作業を使い、30日間の無料トライアルでスケジュールを検証してください。
- マッピング。マッピング表、データの管理責任に関するルール、同期頻度、作業時間票を書き戻すかどうかを確定します。
- ECIへの利用申請。 ECIにJobBOSS² APIまたはERP APIの有効化とAPIユーザーの作成を依頼します。サンドボックスの会社環境がある場合は、そこでテストします。
- 初期データの取り込み。 Estimates、Routings、Work Centers、カレンダー、従業員を取り込みます。
- 作業と購買発注の同期。
lastModDateによるフィルタリング、ページング、リトライを組み込んだポーリングを行います。 - SkyPlannerでの制約設定。 段取り時間マトリクス、工具、作業ごとの必要人数、代替の機械や作業者を設定します。
- スケジュールの書き戻し。 SkyPlannerのWebhookを起点にOrder RoutingへのPATCHリクエストを送信します。必要に応じてTime Ticket Detailsも書き戻します。
- 並行テスト。 現在の計画ボードと並行してSkyPlannerを運用し、日付を比較してマスタデータを修正します。
- 本稼働。 データが一致したら、書き戻しを有効にします。
JobBOSS²連携で事前に検討すべきこと
- ホスティングかオンプレミスか。 ホスティング環境ではJobBOSS² APIを使用します。オンプレミス環境ではERP APIを使用しますが、利用できるリソースの一覧が異なります。ステップ1で連携方式を確定してください。
- 日時はすべてUTC。 APIはUTCで日時を読み書きします。工場の現地時刻に変換しないと、7:00開始の作業が別の時刻に設定されてしまいます。
- 作業区の内訳を把握する。 作業区は、機械、機械群、セル、作業者のいずれかを表します。SkyPlannerは、工順の各工程に設定された機械台数とチーム人数から、その工程に必要なリソース数を判断します。
- 外注工程。 作業区ではなく外注先が指定された工程は、自社の生産能力ではなくリードタイムとして扱います。所要時間のみの工程としてモデル化してください。
- 工程の重複と無人運転。 工順の各工程には、重複実行や無人運転のフラグを設定できます。無人運転を正しく計画できるよう、両方のフラグを連携先にも引き継いでください。
- 時間の単位。 段取り時間とサイクルタイムにはそれぞれ単位があります。また、待ち時間は機械の稼働時間ではありません。取り込み時に単位を変換しないと、すべての所要時間が誤った値になります。
- ページング。 デフォルトのページサイズは200件です。読み取り時は必ずページングを行ってください。
JobBOSS²連携の設定とサポートの担当
- SkyPlannerチームが導入時の設定と本稼働後のサポートを担当します。 対象は、合意したリソースとポーリングルールの範囲です。JobBOSS²の運用は工場ごとに異なります。その運用ノウハウを連携設定に反映します。
- 担当のJobBOSS²パートナーも参加できます。 パートナーはお客様の環境を把握しているため、SkyPlannerチームと協力し、ECIへのAPI有効化やAPIユーザー作成の手配を進められます。
- 自社の開発者による拡張も可能です。 APIトークンを使い、SkyPlannerのREST APIで開発できます。APIトークンさえあれば着手でき、必要に応じてSkyPlannerチームが支援します。連携に関する技術資料は、SkyPlanner連携ドキュメントをご覧ください。
SkyPlannerは5リソース込みで月額199 €から利用でき、請求は月払いです。連携費用は、お客様の工程と要件に合わせ、利用プランとともに事前にお見積もりします。詳しくは、料金、JobBOSS²での生産能力を考慮した生産スケジューリング、JobBOSS²のページ、SkyPlannerの機能、ERP連携一覧をご覧ください。
SkyPlannerを活用する製造業の企業
2時間毎週の作業時間を削減
「SkyPlannerによって、当社の生産計画はExcelの表計算から、リアルタイムの生産最適化へと進化しました。」
Kalle Kalliomäki、サプライチェーンスペシャリスト
UTU · 配電盤・開閉装置
生産計画にかかる作業時間を毎週2時間削減し、新しい作業キューも数秒で製造ラインに届きます。
+90%生産効率が向上
「生産効率が90%向上しました。」
Abdul Rucyinga、IT部門責任者
Laboratory & Allied · 医薬品製造
生産効率が90%向上し、全リソースを対象とした三か月分の最適化された計画を30分未満で作成できます。
1,000件単位の製造指図を自動でスケジューリング
「生産をこれまでとは違う形で管理できるようになり、生産能力への理解もまったく違うレベルに達しました。」
Hannu Ryynänen、CEO
Mamec · 産業用ミキサー、ポンプ、ハイテク製品の受託製造
数千件の製造指図を自動でスケジューリングし、組織全体で生産状況をリアルタイムに把握できます。
98%納期遵守率が約50%から向上
「SkyPlannerは、当社の納期遵守率を維持するうえで決定的な役割を果たしています。」
Hannu Lahtinen、代表取締役
KJH-Comp · 板金加工・受託製造
納期遵守率は約50%から最高98%まで向上しました。以前は二人必要だったスケジューリングを、今では一人の管理者が担当しています。
よくある質問
JobBOSS²にAPIはありますか?
はい。ECIはJobBOSS² APIと、製品に依存しないERP APIを公開しています。どちらもOpenAPI仕様を備えたREST APIです。JobBOSS² APIでは、ホスティング環境の受注、Order Routings、Estimates、Work Centers、購買発注、Time Ticketsを読み書きできます。
JobBOSS²との連携では、どのように認証しますか?
OAuth 2.0のクライアントクレデンシャル方式を使用します。ECIがAPIを有効化した後、Integration Engine Management ConsoleでAPIユーザーを発行し、各リクエストにBearerトークンを付与します。
JobBOSS²はWebhookに対応していますか?
ECIのAPIドキュメントにはWebhookの記載がないため、工場ごとに設定した間隔で、lastModDateフィルターを使ってJobBOSS²をポーリングします。SkyPlanner側では独自のWebhookにより、スケジュールの変更を発生時に送信します。
計画日付はどのようにJobBOSS²へ書き戻されますか?
作業の工程ごとに書き戻します。SkyPlannerは各Order Routingに対してPATCHを実行し、estimatedStartDateとestimatedEndDateを更新します。工程の担当機械や作業者が変わった場合は、workCenterとemployeeCodeも更新します。
JobBOSS²パートナーはECI APSとSkyPlannerのどちらを提案すべきですか?
複数のリソースの実際の能力を考慮した生産スケジューリングを数週間で稼働させたいお客様には、SkyPlannerです。ECI APSはLYNQを基盤とする別のアドオンです。SkyPlannerはECI純正のJobBOSS² APIで接続し、段取り替え、作業チーム、治具、資材を計画して、自動で再計画します。月額199 €から利用できます。