APaaS產(chǎn)品設(shè)計(jì)之?dāng)?shù)據(jù)模型(表單設(shè)計(jì)器)

1 評(píng)論 4839 瀏覽 28 收藏 35 分鐘

本文介紹了APaaS產(chǎn)品中的數(shù)據(jù)模型(表單設(shè)計(jì)器)的作用和實(shí)現(xiàn)方式。通過(guò)表單模型和數(shù)據(jù)表格容器,可以實(shí)現(xiàn)用戶(hù)友好的數(shù)據(jù)輸入和驗(yàn)證,以及數(shù)據(jù)的存儲(chǔ)和展示功能。

一、為什么要講

做了近四年的SaaS產(chǎn)品經(jīng)理,我想講講為什么需要APaaS,因我們公司做的是面向建筑設(shè)計(jì)領(lǐng)域的協(xié)同辦公平臺(tái),我們的核心是圍繞以項(xiàng)目全生命周期為主,提供涵蓋項(xiàng)目經(jīng)營(yíng)管理系統(tǒng)(項(xiàng)目立項(xiàng))、項(xiàng)目管理系統(tǒng)、協(xié)同設(shè)計(jì)系統(tǒng)(CAD)、電子出圖系統(tǒng)、電子檔案管理系統(tǒng)、出版管理系統(tǒng)。

過(guò)程中遇到以下兩個(gè)問(wèn)題:

  • 對(duì)企業(yè)自身來(lái)講,100家企業(yè)會(huì)有100種業(yè)務(wù)場(chǎng)景和流程,所以說(shuō)無(wú)法通過(guò)簡(jiǎn)單的SaaS系統(tǒng)去進(jìn)行適配,而企業(yè)一般也不可能因?yàn)橄到y(tǒng)的引進(jìn),從而去改變自身的業(yè)務(wù)流程。
  • 這些企業(yè)中有些需求已經(jīng)通過(guò)其它廠商解決了,會(huì)形成數(shù)據(jù)孤島。比如考勤用釘釘、HR用薪人薪事、審批用泛微、項(xiàng)目管理用我們的、財(cái)務(wù)系統(tǒng)用金碟。

1. 實(shí)現(xiàn)思路

1)每個(gè)企業(yè)都有其獨(dú)特的業(yè)務(wù)流程和需求,作為垂類(lèi)領(lǐng)域SaaS平臺(tái),就需要進(jìn)行面向企業(yè)場(chǎng)景的定制化改造。

定制化改造的核心是貼合企業(yè)的業(yè)務(wù)流程,即SOP(標(biāo)準(zhǔn)作業(yè)流程)。通過(guò)對(duì)企業(yè)的業(yè)務(wù)流程進(jìn)行深入理解和分析,可以通過(guò)表單的編排和流程的編排來(lái)實(shí)現(xiàn)系統(tǒng)的構(gòu)建。

這樣的定制化改造可以滿(mǎn)足企業(yè)對(duì)業(yè)務(wù)信息錄入、OA系統(tǒng)、HR系統(tǒng)、工單系統(tǒng)等各種需求。使用APaaS(應(yīng)用平臺(tái)即服務(wù)),可以實(shí)現(xiàn)面向企業(yè)定制場(chǎng)景的基礎(chǔ)系統(tǒng)的快速搭建APaaS提供了表單的編排和流程的編排功能,使企業(yè)能夠根據(jù)自身的業(yè)務(wù)需求和流程特點(diǎn),快速構(gòu)建定制化的系統(tǒng)。

此外,APaaS還提供了分析看板和權(quán)限管控等功能,進(jìn)一步增強(qiáng)了系統(tǒng)的靈活性和可定制性。

2)設(shè)計(jì)原則是:各大模塊可獨(dú)立存在,也可以組裝在一起使用。

支持API和excel從各大平臺(tái)直接接入至平臺(tái)。市場(chǎng)角度來(lái)說(shuō)先滲透進(jìn)企業(yè)內(nèi)部,同時(shí)也實(shí)現(xiàn)數(shù)據(jù)一致性。

2. APaaS(Application Platform as a Service)開(kāi)發(fā)的核心價(jià)值可以總結(jié)為以下幾點(diǎn)

1)產(chǎn)出可復(fù)用模型,快速開(kāi)發(fā)并提升部署效率

APaaS開(kāi)發(fā)平臺(tái)提供了一系列的可復(fù)用組件、模塊和功能,開(kāi)發(fā)人員可以通過(guò)拖拽、配置和定制的方式快速構(gòu)建應(yīng)用程序。

這些可復(fù)用的模型和組件可以被多個(gè)應(yīng)用程序共享和重復(fù)使用,大大縮短了開(kāi)發(fā)周期,提高了部署效率。

2)降低使用門(mén)檻,敏捷適應(yīng)業(yè)務(wù)需求

傳統(tǒng)的應(yīng)用開(kāi)發(fā)需要開(kāi)發(fā)人員具備一定的編程和技術(shù)能力,而APaaS開(kāi)發(fā)平臺(tái)通過(guò)提供可視化的界面和簡(jiǎn)化的開(kāi)發(fā)工具,降低了應(yīng)用開(kāi)發(fā)的技術(shù)門(mén)檻。

非專(zhuān)業(yè)開(kāi)發(fā)人員也能夠通過(guò)APaaS平臺(tái)進(jìn)行應(yīng)用開(kāi)發(fā),快速適應(yīng)和響應(yīng)業(yè)務(wù)需求的變化。

3)打通數(shù)據(jù)孤島

企業(yè)中常常存在著各種數(shù)據(jù)孤島,數(shù)據(jù)存儲(chǔ)在不同的系統(tǒng)和應(yīng)用中,互相隔離且難以共享。

APaaS開(kāi)發(fā)平臺(tái)提供了數(shù)據(jù)集成和連接的能力,可以通過(guò)簡(jiǎn)單的配置和綁定,將不同系統(tǒng)和應(yīng)用中的數(shù)據(jù)進(jìn)行整合和共享,實(shí)現(xiàn)數(shù)據(jù)的打通和流動(dòng)。

除了以上核心價(jià)值,APaaS開(kāi)發(fā)還具備一定的靈活性和通用性。開(kāi)發(fā)者可以根據(jù)自身需求自由定義前端界面組件、數(shù)據(jù)源綁定方式、數(shù)據(jù)模型、業(yè)務(wù)邏輯和工作流等,甚至可以進(jìn)一步修改源碼,定制符合特定業(yè)務(wù)需求的應(yīng)用程序。

這種靈活性和通用性使得APaaS開(kāi)發(fā)能夠適應(yīng)不同行業(yè)和企業(yè)的需求,提供個(gè)性化的解決方案。

總體而言,APaaS開(kāi)發(fā)的核心價(jià)值在于提供快速開(kāi)發(fā)、部署和適應(yīng)業(yè)務(wù)需求的能力,通過(guò)產(chǎn)出可復(fù)用模型和打通數(shù)據(jù)孤島,幫助企業(yè)提高效率、降低成本,并加強(qiáng)業(yè)務(wù)的靈活性和可持續(xù)發(fā)展能力。

二、那我們來(lái)講講什么是數(shù)據(jù)模型

前面提到了APaaS平臺(tái)通過(guò)數(shù)據(jù)模型+角色權(quán)限+視圖+流程可以快速產(chǎn)出可用模型。那么今天就來(lái)說(shuō)說(shuō),其核心之一的數(shù)據(jù)模型。

數(shù)據(jù)模型是一種概念性的表示,用于描述現(xiàn)實(shí)世界中的數(shù)據(jù)、數(shù)據(jù)之間的關(guān)系以及數(shù)據(jù)的屬性。它是對(duì)數(shù)據(jù)的組織、結(jié)構(gòu)和語(yǔ)義的抽象和規(guī)范化。數(shù)據(jù)模型通常用于設(shè)計(jì)和構(gòu)建數(shù)據(jù)庫(kù)系統(tǒng)、信息系統(tǒng)和軟件應(yīng)用程序。

常見(jiàn)數(shù)據(jù)模型:

  • 關(guān)系型數(shù)據(jù)模型(如關(guān)系數(shù)據(jù)庫(kù)):使用表格和關(guān)聯(lián)關(guān)系來(lái)組織數(shù)據(jù)。
  • 層次數(shù)據(jù)模型:數(shù)據(jù)以樹(shù)狀結(jié)構(gòu)組織,每個(gè)節(jié)點(diǎn)可以包含多個(gè)子節(jié)點(diǎn)。
  • 面向?qū)ο髷?shù)據(jù)模型:數(shù)據(jù)以對(duì)象的形式組織,包括屬性和方法。
  • 文檔數(shù)據(jù)模型:數(shù)據(jù)以文檔(如JSON、XML)的形式組織。

關(guān)系型數(shù)據(jù)模型

關(guān)系型數(shù)據(jù)模型對(duì)應(yīng)的數(shù)據(jù)庫(kù)自然就是關(guān)系型數(shù)據(jù)庫(kù)了,這是目前應(yīng)用最多的數(shù)據(jù)庫(kù)。(關(guān)系型數(shù)據(jù)庫(kù)如MySQL、Oracle、Microsoft SQL Server)

定義:關(guān)系型數(shù)據(jù)模型是一種基于關(guān)系(表格)的數(shù)據(jù)組織方式,其中數(shù)據(jù)以二維表格的形式存儲(chǔ)。它通過(guò)定義表格、行和列之間的關(guān)系來(lái)表示數(shù)據(jù)。

每個(gè)表格代表一個(gè)實(shí)體,每行代表一個(gè)數(shù)據(jù)記錄,而每列代表一個(gè)數(shù)據(jù)字段或?qū)傩浴?/p>

關(guān)系型數(shù)據(jù)模型具有以下特性:

  • 表格結(jié)構(gòu):關(guān)系型數(shù)據(jù)模型使用表格作為數(shù)據(jù)存儲(chǔ)的基本單位。每個(gè)表格由列和行組成,列定義了數(shù)據(jù)的屬性,而行表示數(shù)據(jù)的具體記錄。
  • 實(shí)體關(guān)系:關(guān)系型數(shù)據(jù)模型支持多個(gè)表格之間的關(guān)聯(lián)關(guān)系。這些關(guān)聯(lián)關(guān)系通過(guò)定義主鍵和外鍵來(lái)建立,以實(shí)現(xiàn)表格之間的數(shù)據(jù)關(guān)聯(lián)和查詢(xún)。
  • 數(shù)據(jù)一致性和完整性:關(guān)系型數(shù)據(jù)模型通過(guò)定義約束條件和規(guī)則,確保數(shù)據(jù)的一致性和完整性。主鍵約束保證每行數(shù)據(jù)具有唯一標(biāo)識(shí),外鍵約束保證表格之間的關(guān)聯(lián)關(guān)系正確。
  • 靈活性和擴(kuò)展性:關(guān)系型數(shù)據(jù)模型具有良好的靈活性和擴(kuò)展性。它可以適應(yīng)不同類(lèi)型和結(jié)構(gòu)的數(shù)據(jù),支持添加、刪除和修改表格、列和記錄等操作。
  • 數(shù)據(jù)獨(dú)立性:關(guān)系型數(shù)據(jù)模型具有數(shù)據(jù)獨(dú)立性的特性。這意味著數(shù)據(jù)的邏輯表示與物理存儲(chǔ)相分離,可以在不影響應(yīng)用程序的情況下進(jìn)行物理存儲(chǔ)結(jié)構(gòu)的改變。
  • 查詢(xún)語(yǔ)言:關(guān)系型數(shù)據(jù)模型使用結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)作為數(shù)據(jù)操作和查詢(xún)的標(biāo)準(zhǔn)語(yǔ)言。SQL提供了豐富的查詢(xún)功能,包括選擇、插入、更新和刪除數(shù)據(jù)的操作。
  • 數(shù)據(jù)安全性:關(guān)系型數(shù)據(jù)庫(kù)提供了安全性機(jī)制,如用戶(hù)身份驗(yàn)證、訪問(wèn)控制和數(shù)據(jù)加密,以保護(hù)數(shù)據(jù)免受未經(jīng)授權(quán)的訪問(wèn)和惡意操作。
  • 并發(fā)控制:關(guān)系型數(shù)據(jù)庫(kù)支持并發(fā)控制機(jī)制,以處理多個(gè)并發(fā)的事務(wù)。并發(fā)控制確保在多個(gè)用戶(hù)同時(shí)訪問(wèn)和修改數(shù)據(jù)時(shí),數(shù)據(jù)的一致性和隔離性得到保證。

這些特性使得關(guān)系型數(shù)據(jù)模型成為企業(yè)內(nèi)部信息化產(chǎn)品中常用的數(shù)據(jù)模型,適用于許多應(yīng)用場(chǎng)景,如數(shù)據(jù)管理系統(tǒng)、企業(yè)資源規(guī)劃(ERP)系統(tǒng)、客戶(hù)關(guān)系管理(CRM)系統(tǒng)等。

三、關(guān)系型數(shù)據(jù)模型的實(shí)現(xiàn)方式——數(shù)據(jù)表格

關(guān)系型數(shù)據(jù)模型使用數(shù)據(jù)表格來(lái)表示實(shí)體、屬性和它們之間的關(guān)系。

1. Microsoft Excel≠數(shù)據(jù)表格

Microsoft Excel 不是像 MySQL 或 Oracle 那樣的傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) (RDBMS)。

雖然 Excel 確實(shí)具有一些類(lèi)似于關(guān)系數(shù)據(jù)模型的功能,例如將數(shù)據(jù)組織到表中以及定義表之間的關(guān)系的能力,但它并不完全遵守關(guān)系數(shù)據(jù)庫(kù)的原則。

Excel 主要是一種電子表格應(yīng)用程序,允許用戶(hù)以表格格式存儲(chǔ)和操作數(shù)據(jù)。 它提供數(shù)據(jù)輸入、計(jì)算、格式化和可視化的功能。 雖然它可以處理結(jié)構(gòu)化數(shù)據(jù)并執(zhí)行基本數(shù)據(jù)分析,但它缺乏關(guān)系數(shù)據(jù)庫(kù)的一些關(guān)鍵特性,例如數(shù)據(jù)完整性約束、數(shù)據(jù)查詢(xún)能力(如 SQL)以及對(duì)復(fù)雜事務(wù)的支持。

Excel 通常用于個(gè)人和小規(guī)模的數(shù)據(jù)管理任務(wù),但它可能不適合處理大量數(shù)據(jù)或復(fù)雜的關(guān)系數(shù)據(jù)模型。 對(duì)于更高級(jí)的關(guān)系數(shù)據(jù)庫(kù)需求,通常會(huì)采用專(zhuān)用的 RDBMS 解決方案。

2. 數(shù)據(jù)表格的構(gòu)成要素

數(shù)據(jù)表格通常由以下要素構(gòu)成:

  • 表名(Table Name):數(shù)據(jù)表格在數(shù)據(jù)庫(kù)中有一個(gè)唯一的名稱(chēng),用于標(biāo)識(shí)和引用該表格。
  • 列(Column):數(shù)據(jù)表格由多個(gè)列組成,每一列代表一個(gè)屬性或字段。列定義了數(shù)據(jù)的類(lèi)型、長(zhǎng)度以及其他約束條件。
  • 行(Row):數(shù)據(jù)表格中的每一行表示一個(gè)數(shù)據(jù)記錄或?qū)嶓w,也稱(chēng)為元組(Tuple)。行包含了與列相對(duì)應(yīng)的實(shí)際數(shù)據(jù)值。
  • 主鍵(Primary Key):主鍵是用于唯一標(biāo)識(shí)每一行的一列或一組列。主鍵的值必須是唯一的且不為空,用于保證每一行的唯一性和檢索的準(zhǔn)確性。
  • 外鍵(Foreign Key):外鍵是用于建立表格之間關(guān)系的列,它引用了其他表格的主鍵。外鍵用于確保數(shù)據(jù)表格之間的引用完整性和一致性。
  • 約束條件(Constraints):約束條件定義了數(shù)據(jù)的完整性規(guī)則,用于限制數(shù)據(jù)的取值范圍和關(guān)聯(lián)關(guān)系。常見(jiàn)的約束條件包括唯一約束、非空約束、默認(rèn)值約束等。
  • 索引(Index):索引是一種數(shù)據(jù)結(jié)構(gòu),用于加快數(shù)據(jù)表格的檢索速度。索引可以基于一個(gè)或多個(gè)列,通過(guò)預(yù)先排序和組織數(shù)據(jù),提供更高效的數(shù)據(jù)訪問(wèn)。
  • 其他屬性和選項(xiàng):數(shù)據(jù)表格還可以具有其他屬性和選項(xiàng),如表格注釋、觸發(fā)器、視圖等,用于進(jìn)一步管理和操作數(shù)據(jù)。

這些構(gòu)成要素共同定義了數(shù)據(jù)表格的結(jié)構(gòu)、數(shù)據(jù)類(lèi)型、約束條件以及與其他表格之間的關(guān)系,使得數(shù)據(jù)能夠被有效地存儲(chǔ)、查詢(xún)和操作。

3. 典型的數(shù)據(jù)表格例子之Mysql

傳統(tǒng)開(kāi)發(fā)模式下,開(kāi)發(fā)人員會(huì)根據(jù)業(yè)務(wù)需求建表。

1)創(chuàng)建數(shù)據(jù)模型

Contract表格表示合同信息,包含ContractID作為主鍵,表示合同的唯一標(biāo)識(shí),以及其他屬性如ContractName、StartDate和EndDate。

Party表格表示相關(guān)方信息,包含PartyID作為主鍵,表示相關(guān)方的唯一標(biāo)識(shí),以及其他屬性如PartyName、Address和ContactNumber。

ContractParty表格用于建立Contract表格和Party表格之間的關(guān)系,它包含了ContractID和PartyID作為外鍵,分別與Contract表格和Party表格的主鍵關(guān)聯(lián),以及Role屬性表示相關(guān)方在合同中的角色。

2)設(shè)計(jì)表

3)預(yù)覽表

四、APaaS平臺(tái)怎么通過(guò)可視化界面把表單設(shè)計(jì)與數(shù)據(jù)庫(kù)建表工作結(jié)合起來(lái)

1. 通過(guò)容器的方式實(shí)現(xiàn)數(shù)據(jù)表格其在可視化界面的渲染

APaaS平臺(tái)通常通過(guò)以下方式來(lái)實(shí)現(xiàn)數(shù)據(jù)表格容器:

  1. 可視化表格設(shè)計(jì)器:提供可視化的表格設(shè)計(jì)器,允許用戶(hù)以圖形化的方式創(chuàng)建和設(shè)計(jì)數(shù)據(jù)表格。用戶(hù)可以通過(guò)拖放和設(shè)置屬性來(lái)定義表格的列和屬性。
  2. 數(shù)據(jù)模型定義:允許用戶(hù)定義數(shù)據(jù)模型,包括表格和列的結(jié)構(gòu)。用戶(hù)可以定義列的數(shù)據(jù)類(lèi)型、長(zhǎng)度、約束條件等。
  3. 表格操作和行為:提供一系列操作和行為選項(xiàng),用于對(duì)數(shù)據(jù)表格進(jìn)行操作和處理。例如,用戶(hù)可以定義增加、刪除、修改表格記錄的操作,以及表格之間的關(guān)聯(lián)關(guān)系和查詢(xún)操作。
  4. 數(shù)據(jù)綁定:支持將數(shù)據(jù)表格與其他組件或數(shù)據(jù)源進(jìn)行綁定。這意味著表格可以顯示和編輯與其他組件或數(shù)據(jù)源相關(guān)聯(lián)的數(shù)據(jù)。用戶(hù)可以指定數(shù)據(jù)源,如數(shù)據(jù)庫(kù)表、API接口或其他數(shù)據(jù)服務(wù)。
  5. 用戶(hù)界面定制:允許用戶(hù)自定義表格的外觀和行為。用戶(hù)可以調(diào)整表格的樣式、布局和交互方式,以滿(mǎn)足特定的需求。
  6. 數(shù)據(jù)驗(yàn)證和約束:提供數(shù)據(jù)驗(yàn)證和約束機(jī)制,以確保數(shù)據(jù)的完整性和一致性。用戶(hù)可以定義列級(jí)別和表級(jí)別的約束條件,如唯一性約束、非空約束等。
  7. 數(shù)據(jù)過(guò)濾和排序:支持對(duì)表格數(shù)據(jù)進(jìn)行過(guò)濾和排序。用戶(hù)可以定義過(guò)濾條件,以便只顯示滿(mǎn)足條件的數(shù)據(jù)。同時(shí),用戶(hù)可以指定排序規(guī)則,對(duì)表格數(shù)據(jù)進(jìn)行排序。
  8. 數(shù)據(jù)導(dǎo)入和導(dǎo)出:提供數(shù)據(jù)導(dǎo)入和導(dǎo)出功能,以便將表格數(shù)據(jù)從外部源導(dǎo)入到表格中,或?qū)⒈砀駭?shù)據(jù)導(dǎo)出到外部文件或數(shù)據(jù)存儲(chǔ)中。

1)騰訊微搭

① 功能展示

在頁(yè)面設(shè)計(jì)組件中,提供數(shù)據(jù)容器:

數(shù)據(jù)容器組件介紹:

  • 數(shù)據(jù)列表:適用于從數(shù)據(jù)源中查詢(xún)多條數(shù)據(jù),并將返回列表循環(huán)展示的場(chǎng)景,如查詢(xún)用戶(hù)列表。
  • 數(shù)據(jù)詳情:適用于從數(shù)據(jù)源中查詢(xún)一條數(shù)據(jù),并將返回?cái)?shù)據(jù)展示的場(chǎng)景,如查詢(xún)?cè)L客預(yù)約詳情。
  • 表單容器:快捷實(shí)現(xiàn)表單數(shù)據(jù)的提交與展示場(chǎng)景。綁定數(shù)據(jù)源后,可根據(jù)字段類(lèi)型自動(dòng)生成單行輸入、下拉選擇、提交按鈕等組件。
  • 數(shù)據(jù)表格:以表格形式展示多行數(shù)據(jù),支持對(duì)數(shù)據(jù)進(jìn)行排序、搜索、分頁(yè)、自定義顯示內(nèi)容和操作。

數(shù)據(jù)列表顯示效果如下圖所示:

數(shù)據(jù)詳情顯示效果如下圖所示:

表單容器顯示效果如下圖所示:

數(shù)據(jù)表格顯示效果如下圖所示:

目前微搭已經(jīng)實(shí)現(xiàn)根據(jù)選擇的數(shù)據(jù)表,可以直接生成選擇表對(duì)應(yīng)的列表、創(chuàng)建、更新、詳情頁(yè)面。用戶(hù)體驗(yàn)絕佳!

② 操作演示

創(chuàng)建模型應(yīng)用:選擇數(shù)據(jù)源(創(chuàng)建數(shù)據(jù)表、表字段、表關(guān)系),數(shù)據(jù)源支持跨應(yīng)用共享選擇。必須選擇一個(gè)數(shù)據(jù)源才能走下一步。

選擇完成之后,會(huì)自動(dòng)生成如所下圖所示幾個(gè)頁(yè)面,列表、創(chuàng)建、更新、詳情。這個(gè)地方特別符合用戶(hù)心智模型,點(diǎn)贊!??!

對(duì)于組件的解釋?zhuān)S詳情跳轉(zhuǎn)鏈接,這個(gè)細(xì)節(jié)特別好,點(diǎn)贊!

③ 技術(shù)實(shí)現(xiàn)

騰訊微搭使用 Kubernetes 作為其應(yīng)用程序容器的管理和編排平臺(tái),通過(guò)利用 Kubernetes 的自動(dòng)化和彈性能力,提供高效、可靠的微信小程序開(kāi)發(fā)和部署環(huán)境。

2)Microsoft Power Apps

① 功能展示

  • “編輯”窗體:則用戶(hù)可以編輯相應(yīng)字段、創(chuàng)建記錄,以及將所做的更改保存到數(shù)據(jù)源。
  • “顯示”窗體:則用戶(hù)可以顯示某個(gè)記錄的所有字段,或者只顯示您指定的字段。

② 操作演示

選擇“編輯”窗體:

關(guān)聯(lián)了數(shù)據(jù)源的表單,不支持刪除:

這個(gè)細(xì)節(jié)特別好,值得點(diǎn)贊?。。?/p>

③ 技術(shù)實(shí)現(xiàn)

在 Microsoft Power Apps 中,應(yīng)用程序的運(yùn)行和托管是在 Microsoft Azure 云平臺(tái)上進(jìn)行的。Azure 提供了一系列的托管服務(wù)和平臺(tái)功能,用于運(yùn)行和擴(kuò)展 Power Apps 應(yīng)用程序。

Microsoft Azure 平臺(tái)本身支持容器化應(yīng)用程序的部署和管理,并提供了 Azure Kubernetes Service(AKS)作為托管 Kubernetes 服務(wù)。這使得開(kāi)發(fā)人員可以在 Azure 上部署和管理基于Kubernetes 的應(yīng)用程序。

但這與 Microsoft Power Apps 平臺(tái)本身的功能和架構(gòu)是分開(kāi)的,Power Apps 并不直接使用 Kubernetes 作為其容器管理解決方案。

2. 怎么做

有兩種開(kāi)發(fā)方式:

  • 表單驅(qū)動(dòng)。在表單驅(qū)動(dòng)的開(kāi)發(fā)方式中,應(yīng)用的核心是表單。開(kāi)發(fā)者通過(guò)定義和配置表單來(lái)構(gòu)建應(yīng)用的用戶(hù)界面和交互邏輯。表單中包含了輸入字段、驗(yàn)證規(guī)則、布局等信息,用于收集用戶(hù)輸入的數(shù)據(jù)并進(jìn)行處理。表單驅(qū)動(dòng)的開(kāi)發(fā)方式更加關(guān)注用戶(hù)界面和交互邏輯的設(shè)計(jì),開(kāi)發(fā)者需要根據(jù)具體的業(yè)務(wù)需求來(lái)創(chuàng)建和配置表單,定義數(shù)據(jù)的輸入、展示和驗(yàn)證方式。
  • 模型驅(qū)動(dòng)。在模型驅(qū)動(dòng)的開(kāi)發(fā)方式中,應(yīng)用的核心是數(shù)據(jù)模型。開(kāi)發(fā)者通過(guò)定義和配置數(shù)據(jù)模型,包括實(shí)體、屬性、關(guān)聯(lián)關(guān)系等,來(lái)構(gòu)建應(yīng)用的數(shù)據(jù)結(jié)構(gòu)和業(yè)務(wù)邏輯。應(yīng)用的用戶(hù)界面和功能是基于數(shù)據(jù)模型自動(dòng)生成的,開(kāi)發(fā)者可以通過(guò)配置數(shù)據(jù)模型的屬性、視圖、操作等來(lái)定義用戶(hù)界面和交互邏輯。模型驅(qū)動(dòng)的開(kāi)發(fā)方式強(qiáng)調(diào)數(shù)據(jù)驅(qū)動(dòng)的應(yīng)用開(kāi)發(fā),開(kāi)發(fā)者主要關(guān)注數(shù)據(jù)模型的設(shè)計(jì)和配置,而較少關(guān)注具體的界面設(shè)計(jì)和編碼。

騰訊微搭和Microsoft Power Apps都是都采用了表單驅(qū)動(dòng)和模型驅(qū)動(dòng)相結(jié)合的開(kāi)發(fā)模式來(lái)實(shí)現(xiàn)表單設(shè)計(jì)器

騰訊微搭,它結(jié)合了表單驅(qū)動(dòng)和模型驅(qū)動(dòng)的特點(diǎn)。在微搭中,可以通過(guò)簡(jiǎn)單的表單配置來(lái)創(chuàng)建用戶(hù)界面和交互邏輯,快速構(gòu)建數(shù)據(jù)錄入和展示界面。

同時(shí),微搭也支持通過(guò)數(shù)據(jù)模型的定義和配置來(lái)實(shí)現(xiàn)更復(fù)雜的業(yè)務(wù)邏輯和數(shù)據(jù)關(guān)聯(lián)。開(kāi)發(fā)者可以根據(jù)具體的需求選擇合適的方式進(jìn)行開(kāi)發(fā),靈活地使用表單驅(qū)動(dòng)和模型驅(qū)動(dòng)。

Microsoft Power Apps,它同樣采用了表單驅(qū)動(dòng)和模型驅(qū)動(dòng)的混合模式。在Power Apps中,可以通過(guò)拖拽和配置表單控件來(lái)創(chuàng)建用戶(hù)界面,并通過(guò)設(shè)置控件的屬性和事件來(lái)定義交互邏輯。

此外,Power Apps還提供了數(shù)據(jù)模型的支持,開(kāi)發(fā)者可以定義實(shí)體、屬性和關(guān)聯(lián)關(guān)系,并使用公式和規(guī)則來(lái)實(shí)現(xiàn)數(shù)據(jù)的處理和業(yè)務(wù)邏輯。通過(guò)表單驅(qū)動(dòng)和模型驅(qū)動(dòng)的結(jié)合,Power Apps提供了更靈活、細(xì)粒度的開(kāi)發(fā)方式。

核心設(shè)計(jì)思路:

  • 數(shù)據(jù)源綁定。將數(shù)據(jù)源綁定邏輯從表格組件中分離出來(lái)。這可以通過(guò)創(chuàng)建一個(gè)數(shù)據(jù)服務(wù)或數(shù)據(jù)層的模塊來(lái)實(shí)現(xiàn)。該模塊負(fù)責(zé)與數(shù)據(jù)源進(jìn)行通信,獲取數(shù)據(jù),并將數(shù)據(jù)傳遞給表格組件進(jìn)行顯示。這樣,表格組件只需要專(zhuān)注于展示數(shù)據(jù)和用戶(hù)交互,而不需要處理數(shù)據(jù)獲取的細(xì)節(jié)。
  • 容器和內(nèi)容分離。將表格組件放置在一個(gè)獨(dú)立的容器組件中。容器組件負(fù)責(zé)管理表格的布局和樣式,并提供必要的交互功能,如排序、篩選等。表格組件則負(fù)責(zé)渲染和展示數(shù)據(jù),并處理用戶(hù)交互事件。通過(guò)將容器和內(nèi)容分離,可以實(shí)現(xiàn)更好的模塊化和組件重用性。

1)數(shù)據(jù)表格搭建

實(shí)現(xiàn)思路:

  1. 準(zhǔn)備數(shù)據(jù):首先,準(zhǔn)備需要展示的數(shù)據(jù)。數(shù)據(jù)可以來(lái)自數(shù)據(jù)庫(kù)、API接口、本地文件或其他數(shù)據(jù)源。確保數(shù)據(jù)的結(jié)構(gòu)和格式與表格組件所期望的一致。
  2. 選擇表格組件:根據(jù)需求和技術(shù)棧,選擇適合的表格組件或庫(kù)來(lái)渲染數(shù)據(jù)表格。
  3. 綁定數(shù)據(jù):將準(zhǔn)備好的數(shù)據(jù)綁定到表格組件中。
  4. 設(shè)置表格屬性:根據(jù)需要,配置表格的屬性和樣式??梢栽O(shè)置列的名稱(chēng)、數(shù)據(jù)類(lèi)型、排序方式、篩選選項(xiàng)、分頁(yè)設(shè)置等。此外,你還可以自定義表格的樣式、顏色和布局。
  5. 處理交互和事件:根據(jù)需要處理表格的交互和事件。例如,你可以添加點(diǎn)擊表頭排序、選中行、編輯數(shù)據(jù)、刪除數(shù)據(jù)等功能。通過(guò)監(jiān)聽(tīng)表格組件的事件或使用相應(yīng)的API方法,來(lái)實(shí)現(xiàn)這些交互和操作。
  6. 渲染表格:在可視化頁(yè)面中使用相應(yīng)的代碼將表格組件渲染出來(lái)。這通常涉及在HTML文件中插入表格組件的標(biāo)記,并在適當(dāng)?shù)奈恢檬褂肑avaScript代碼將其實(shí)例化和渲染。

① 騰訊微搭

功能展示

數(shù)據(jù)源:騰訊云微搭低代碼的數(shù)據(jù)源提供了數(shù)據(jù)集合本身的存儲(chǔ)以及操縱數(shù)據(jù)的各種方法,本質(zhì)上是一系列操作數(shù)據(jù)的方法集合。低碼平臺(tái)提供了數(shù)據(jù)源管理功能,可以創(chuàng)建、管理多個(gè)數(shù)據(jù)源。

數(shù)據(jù)源類(lèi)型及功能概覽:

操作演示

新建數(shù)據(jù)模型(創(chuàng)建表):

設(shè)計(jì)表字段屬性:

通用選項(xiàng)集(合同狀態(tài)、合同類(lèi)型),通用選項(xiàng)集管理就是枚舉值的管理:

表與表是怎么關(guān)聯(lián)的,例如下圖所示:為合同相關(guān)字段,提供數(shù)據(jù)類(lèi)型:關(guān)聯(lián)關(guān)系,關(guān)聯(lián)模型選擇對(duì)應(yīng)的表“相關(guān)方”,關(guān)聯(lián)類(lèi)型選擇:“1:1”,“N:1”的關(guān)系。

以及刪除“相關(guān)方”時(shí),對(duì)應(yīng)的“合同”數(shù)據(jù)不刪除就是當(dāng)“合同”與“相關(guān)方”有關(guān)聯(lián)數(shù)據(jù)時(shí),“相關(guān)方”不允許被兩個(gè)選項(xiàng)。這一點(diǎn)微搭考慮很到位。

數(shù)據(jù)源管理

在對(duì)應(yīng)數(shù)據(jù)模型后面,提供了對(duì)該數(shù)據(jù)的管理入口。

② Microsoft Power Apps

功能展示

數(shù)據(jù)源的類(lèi)型:數(shù)據(jù)源可連接到云服務(wù),或者,可以位于應(yīng)用本地。

連接的數(shù)據(jù)源:最常見(jiàn)的數(shù)據(jù)源是可用于檢索和存儲(chǔ)信息的表。 可以利用到數(shù)據(jù)源的連接,采用 Microsoft Excel 工作簿、使用 Microsoft Lists 創(chuàng)建的列表、SharePoint 庫(kù)、SQL 表和許多其他格式來(lái)讀取和寫(xiě)入數(shù)據(jù),并將這些數(shù)據(jù)存儲(chǔ)在 OneDrive for Business、DropBox 和 SQL Server 等云服務(wù)中。

除表以外的其他數(shù)據(jù)源包括電子郵件、日歷、Twitter 和通知,但本文并不介紹其他這些類(lèi)型的數(shù)據(jù)源。

操作演示

創(chuàng)建應(yīng)用,創(chuàng)建表,設(shè)計(jì)表:

使用“顯示”窗體容器,關(guān)聯(lián)對(duì)應(yīng)數(shù)據(jù)源:

數(shù)據(jù)管理,可以添加修改數(shù)據(jù):

2)表單模型搭建

表單模型是指在應(yīng)用程序或系統(tǒng)中用于收集和處理用戶(hù)輸入數(shù)據(jù)的結(jié)構(gòu)化數(shù)據(jù)模型。它定義了表單中的字段、驗(yàn)證規(guī)則、默認(rèn)值和其他相關(guān)屬性。

表單模型的構(gòu)成要素,表單模型的構(gòu)成要素包括以下幾個(gè)方面:

  1. 表單字段(Form Fields):表單字段是表單模型的核心要素,用于收集用戶(hù)輸入的數(shù)據(jù)。每個(gè)表單字段代表一個(gè)特定的數(shù)據(jù)項(xiàng),例如文本輸入框、下拉列表、單選按鈕、復(fù)選框等。每個(gè)字段具有唯一的標(biāo)識(shí)符和相關(guān)的屬性,如字段類(lèi)型、驗(yàn)證規(guī)則、默認(rèn)值等。
  2. 標(biāo)簽(Labels):標(biāo)簽用于描述表單字段的用途或含義,提供給用戶(hù)一個(gè)可見(jiàn)的文本標(biāo)識(shí),幫助他們理解字段的目的。標(biāo)簽通常顯示在字段前面或上方。
  3. 輸入控件(Input Controls):輸入控件是用戶(hù)與表單字段進(jìn)行交互的界面元素。根據(jù)字段的類(lèi)型,輸入控件可以是文本輸入框、下拉列表、單選按鈕組、復(fù)選框等。輸入控件允許用戶(hù)輸入、選擇或修改數(shù)據(jù)。
  4. 默認(rèn)值(Default Values):某些字段可以設(shè)置默認(rèn)值,作為初始值或推薦值。默認(rèn)值可以預(yù)先填充字段,減少用戶(hù)的輸入工作量,同時(shí)提供了一些合理的選項(xiàng)。
  5. 驗(yàn)證規(guī)則(Validation Rules):驗(yàn)證規(guī)則定義了對(duì)用戶(hù)輸入數(shù)據(jù)進(jìn)行驗(yàn)證的規(guī)則和條件。驗(yàn)證規(guī)則用于確保輸入數(shù)據(jù)的合法性和完整性,可以包括必填字段、數(shù)據(jù)格式、范圍限制、唯一性檢查等。驗(yàn)證規(guī)則可以提供及時(shí)的錯(cuò)誤提示,幫助用戶(hù)糾正錯(cuò)誤并提供有效的數(shù)據(jù)。
  6. 提交按鈕(Submit Button):提交按鈕用于觸發(fā)用戶(hù)完成表單輸入并提交數(shù)據(jù)的操作。當(dāng)用戶(hù)點(diǎn)擊提交按鈕時(shí),表單數(shù)據(jù)將被發(fā)送到后端進(jìn)行處理或存儲(chǔ)。
  7. 取消按鈕(Cancel Button):取消按鈕允許用戶(hù)放棄當(dāng)前的表單輸入操作,返回上一步或退出表單頁(yè)面。

這些要素共同構(gòu)成了表單模型,提供了一種結(jié)構(gòu)化和用戶(hù)友好的方式來(lái)收集和處理用戶(hù)輸入的數(shù)據(jù)。通過(guò)合理設(shè)計(jì)表單字段、標(biāo)簽、輸入控件、驗(yàn)證規(guī)則等要素,可以提升用戶(hù)體驗(yàn)、確保數(shù)據(jù)的準(zhǔn)確性和完整性,以及滿(mǎn)足特定應(yīng)用場(chǎng)景的需求。

① 騰訊微搭

組件列表詳見(jiàn):https://cloud.tencent.com/document/product/1301/59110

② Microsoft Power Apps

組件列表詳見(jiàn):https://learn.microsoft.com/zh-cn/power-apps/maker/canvas-apps/add-configure-controls

五、結(jié)論

本文詳細(xì)描述了APaaS產(chǎn)品中數(shù)據(jù)模型(表單設(shè)計(jì)器),本質(zhì)來(lái)看:表單模型是一種用于收集和驗(yàn)證用戶(hù)輸入數(shù)據(jù)的模型。它定義了數(shù)據(jù)輸入的結(jié)構(gòu)、字段和驗(yàn)證規(guī)則。表單模型提供用戶(hù)界面,用于展示字段和接收用戶(hù)的數(shù)據(jù)輸入。

通過(guò)表單模型,可以收集用戶(hù)提交的數(shù)據(jù),并進(jìn)行驗(yàn)證以確保數(shù)據(jù)的合法性和完整性。而數(shù)據(jù)模型負(fù)責(zé)數(shù)據(jù)的結(jié)構(gòu)化存儲(chǔ)和查詢(xún),使用數(shù)據(jù)表格容器是數(shù)據(jù)模型在可視化界面的實(shí)現(xiàn)方式,另外還提供數(shù)據(jù)源的管理。

扮演的角色

數(shù)據(jù)表格容器用于數(shù)據(jù)的存儲(chǔ)和展示,而表單模型用于數(shù)據(jù)的輸入和驗(yàn)證。

數(shù)據(jù)表格容器提供了數(shù)據(jù)的結(jié)構(gòu)化存儲(chǔ)和查詢(xún)功能,而表單模型提供了一種用戶(hù)友好的方式來(lái)收集和驗(yàn)證用戶(hù)輸入的數(shù)據(jù)。

  • 數(shù)據(jù)輸入:表單模型提供用戶(hù)界面,用戶(hù)可以填寫(xiě)表單字段并提交數(shù)據(jù)。
  • 數(shù)據(jù)驗(yàn)證:表單模型可以驗(yàn)證用戶(hù)輸入的數(shù)據(jù),確保數(shù)據(jù)的合法性和完整性。
  • 數(shù)據(jù)存儲(chǔ):通過(guò)數(shù)據(jù)表格容器,將表單中的數(shù)據(jù)存儲(chǔ)到適當(dāng)?shù)谋砀裰?,以便后續(xù)的數(shù)據(jù)處理和查詢(xún)。
  • 數(shù)據(jù)展示:數(shù)據(jù)表格容器可以用于展示存儲(chǔ)的數(shù)據(jù),將數(shù)據(jù)以表格的形式呈現(xiàn)給用戶(hù)或其他系統(tǒng)進(jìn)行查看和分析。

本文由@高姿態(tài) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自 Unsplash,基于CC0協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 太牛了,講清了數(shù)據(jù)模型的來(lái)龍去脈,小白都能看懂,給作者一鍵三連~

    來(lái)自廣東 回復(fù)