選擇最佳的設計優先技術來自動化您的商務程序

已完成

您想要為您的自行車租借事業,選擇能夠自動化預約程序的技術。

您想要該事業在您原始校園中運作的同時,簡化和現代化此程序。 您也想要整合自行車追蹤技術,這是在最近剛取得推行現有自行車租借事業權利的新校園內使用。

在此練習中,我們會仔細查看此案例,並選擇要使用的技術。

案例

在您的原始校園中,您有五間自行車出租店。 每個商店都有一份自行車出租清單,以及其自己的資料庫,記錄自行車、其功能,以及他們是否已經租在商店裡。

目前,每一輛自行車只能從其原始的店面租借。 當客戶將自行車返還到另外一間店面時,您的員工會將其移回資料庫中所列出該自行車所屬的原始店面。 您想要變更這段程序,讓每一輛自行車都能夠從任何一間店面租借。 但是,您想要確保員工能夠快速地找到每一輛自行車的位置。

在下一個州的大學裡,自行車租借事業投資了合作夥伴的系統來追蹤自行車位置。 當自行車回到商店時,會掃描自行車上的唯一條形碼。 自行車追蹤資料庫會自動使用掃描條碼的店面名稱更新。 當自行車與客戶離開一間店面時,其位置便會變更為「出租中」,且客戶的名稱也會記錄在不同資料行中。

這套系統證明了當客戶詢問具有特定框架大小和/或特定功能 (例如電動馬達或全地形懸吊系統) 的自行車時,將會非常有用。 若店面沒有具備合適設備的自行車,店面可以快速地找出符合該描述自行車的位置,取得自行車或將客戶轉介給正確的店面。 這套自行車位置資料庫擁有 REST API,讓您可以從其他系統呼叫它。

您的董事總經理想要清楚瞭解您開發的工作流程。 在過去曾發生文件與自訂程式碼不同步的問題,而您的主管想要在實作該處理程序同時進行觀察。

商務程序

您想要更新兩間校園的自行車保留與租借程序,將它調整為下列工作流程:

Decision flow diagram detailing the logic for the bike booking and rental process.

詳細資料如下︰

  1. 客戶在手機上、親自,或是透過網站要求自行車。
  2. 店面的員工會記錄客戶的詳細資料和框架大小。
  3. 客戶需要特定的功能,像是電動馬達、懸吊系統或拖車嗎? 若需要的話,那些功能又是什麼?
  4. 具有該框架大小和那些功能的自行車在哪? 這項資訊會從自行車位置資料庫取得,並透過條碼掃描系統維持在最新狀態。
  5. 在正確店面中是否有具有適當功能和框架大小的自行車? 若是,則預約該自行車。
    1. 若否,那最近的自行車在哪? 保留該自行車。
    2. 傳送電子郵件給員工,將自行車移動到客戶位置。
    3. 在新的位置掃描條碼。
  6. 將自行車交給客戶,並將位置更新為「出租中」。
  7. 取得客戶的付款。

這是簡化後的整個程序。 為了簡單起見,我們已省略邊緣案例,例如沒有具有所需框架大小或功能的自行車可供租用。 也許您可以想到其他此簡化程序並未涵蓋到的案例。

選擇 技術

讓我們看看可用來實作商務程序的 Azure 技術,並將它與自行車位置資料庫整合:

  • Microsoft Power Automate
  • Azure Logic 應用程式
  • Azure Functions
  • Azure App Service WebJobs

您可以使用這些技術中的任何一項,以及其他技術來建置商務程序的工作流程。 每個技術也能和任何 REST API 整合,讓您也可以使用其中的任何技術來與自行車位置系統整合。 如何從這些選項中選擇?

設計優先或程式碼優先?

我們知道您的總經理與其員工想要了解比檢查程式碼與實作更高一層的工作流程。 她也不喜歡描述程式的個別文件,因為它們很容易在程序變更時變得過時。

若您選擇設計優先方式,工作流程會在易於了解的設計介面上視覺化。 此外,該圖表也並非個別的文件,而是實作程序的圖片。 優點是圖表會在程序變更時更新。

基於這個理由,您選擇了設計優先方式。

Microsoft Power Automate 或 Azure Logic Apps?

現在您必須從兩個設計優先技術中選擇:

  • Microsoft Power Automate
  • Azure Logic 應用程式

在此案例中,並未建議店面員工應具備修改商務程序的能力。 此外,若要透過其 REST API 連線到自行車位置資料庫,您將需要建立自訂連接器。 這是開發人員的工作。

因此,將自訂連接器和工作流程的開發作業交給相同人員或小組,看起來似乎很合理。 由於他們必須是開發人員,因此最好使用 Azure Logic Apps。

在此練習示範中,我們只需了解商務程序和對象為何,便可將特定解決方案所使用的技術範圍縮小。