本發明涉及電信移動業務開發技術領域,并且更具體地,涉及一種組件和模板的可視化開發方法及系統。
背景技術:
隨著信息時代的快速發展,電信移動業務的部署越來越復雜。為了滿足復雜多變的電信移動業務,需要開發各種定制化的組件來支撐電信移動業務的可視化編排。而現有技術中的定制化的組件和模板開發,會耗費大量的工作量,而且入門門檻也比較高。
技術實現要素:
本發明實施例提供一種組件和模板的可視化開發方法及系統,以解決現有組件和模板開發方法工作量較大,且入門門檻較高的問題。
根據本發明的第一方面,提供了一種組件和模板的可視化開發方法,該方法包括:注冊數據源;創建組件,并根據數據源,配置組件的屬性;根據業務需要,注冊對應的模板類型,并在模板類型中加載業務所需的組件,設置模板類型對應的代碼模板;注冊模板,并選擇該模板的模板類型和數據源,根據該模板的模板類型、數據源以及代碼模板,生成對應的源碼。
可選地,注冊數據源的步驟包括:注冊在線數據源、離線數據源和javascript對象表示法json數據源中的至少一種。
可選地,創建組件,并根據數據源,配置組件的屬性的步驟包括:創建組件,并設置組件的屬性頁的頁面類型,在屬性頁中添加屬性,設置屬性的顯示方式;根據數據源,為組件的屬性配置數據,設置屬性的校驗規則和校驗提示。
可選地,根據該模板的模板類型、數據源以及代碼模板,生成對應的源碼包括:根據該模板的模板類型和數據源,為該模板配置組件以及代碼模板;對 該模板中的組件進行編排,設置組件的屬性,并根據編排結果以及代碼模板,生成對應的源碼。
可選地,代碼模板包括:另一種標記語言yaml模板、可擴展標記語言xml模板以及結構化查詢語言sql模板中的至少一種。
根據本發明的第二方面,還提供了一種組件和模板的可視化開發系統,該系統包括:注冊模塊,用于注冊數據源;組件創建模塊,用于創建組件,并根據數據源,配置組件的屬性;模板類型生成模塊,用于根據業務需要,注冊對應的模板類型,并在模板類型中加載業務所需的組件,設置模板類型對應的代碼模板;模板注冊模塊,用于注冊模板,并選擇該模板的模板類型和數據源,根據該模板的模板類型、數據源以及代碼模板,生成對應的源碼。
可選地,注冊模塊用于:注冊在線數據源、離線數據源和json數據源中的至少一種。
可選地,組件創建模塊包括:創建單元,用于創建組件,并設置組件的屬性頁的頁面類型,在屬性頁中添加屬性,設置屬性的顯示方式;屬性配置單元,用于根據數據源,為組件的屬性配置數據,設置屬性的校驗規則和校驗提示。
可選地,模板注冊模塊包括:模板配置單元,用于根據該模板的模板類型和數據源,為該模板配置組件以及代碼模板;編排單元,用于對該模板中的組件進行編排,設置組件的屬性,并根據編排結果以及代碼模板,生成對應的源碼。
可選地,代碼模板包括:yaml模板、xml模板以及sql模板中的至少一種。
本發明的上述一個或多個技術方案包括以下有益效果:
本發明實施例中,通過注冊數據源;創建組件,并根據數據源,配置組件的屬性;根據業務需要,注冊對應的模板類型,并在模板類型中加載業務所需的組件,設置模板類型對應的代碼模板;注冊模板,并選擇該模板的模板類型和數據源,根據該模板的模板類型、數據源以及代碼模板,生成對應的源碼。降低了對開發人員java、html5開發能力的要求,使得開發人員可以更多的關注于業務邏輯,并且降低了開發過程中語法錯誤出現的機率,提高了開發效率。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明的第一實施例的組件和模板的可視化開發方法的流程圖;
圖2為本發明的第二實施例的組件和模板的可視化開發方法的流程圖;
圖3a為本發明的第三實施例的組件和模板的可視化開發系統的結構圖;
圖3b為本發明的第三實施例的組件和模板的可視化開發系統的另一結構圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例都屬于本發明保護的范圍。
第一實施例
請參閱圖1,圖1示出了本發明的第一實施例的組件和模板的可視化開發方法的流程圖,具體步驟如下:
步驟101,注冊數據源。
需要說明的是,步驟101中,用戶可以根據業務需要注冊各種不同類型的數據源。可以是注冊在線數據源,也可以是注冊離線數據源,還可以是注冊json數據源。數據源中的數據可以在后續配置組件屬性時使用。
步驟102,創建組件,并根據數據源,配置組件的屬性。
需要說明的是,組件是具有屬性的,因此需要為組件的屬性配置相應的數據,可以通過引用步驟101中注冊的數據源中的數據,為組件中的屬性配置相應的數據。
步驟103,根據業務需要,注冊對應的模板類型,并在模板類型中加載業務所需的組件,設置模板類型對應的代碼模板。
需要說明的是,通過根據業務需要,注冊對應的模板類型,能夠使得系統 可以支持多個產品模板,并支持模板可擴展性。每一模板類型可以根據業務需要加載不同組件。而模板類型的代碼模板則可以根據業務需要設置為各種不同規范的模板。
步驟104,注冊模板,并選擇該模板的模板類型和數據源,根據該模板的模板類型、數據源以及代碼模板,生成對應的源碼。
需要說明的是,由于模板類型具有對應的組件以及代碼模板,因此當模板的模板類型以及數據源確定時,系統就可以準確地為該模板配置組件以及代碼模板,并為組件的屬性配置數據。然后經過系統對該模板的編排,就可以生成與代碼模板相對應的源碼。
本實施例,通過注冊數據源;創建組件,并根據數據源,配置組件的屬性;根據業務需要,注冊對應的模板類型,并在模板類型中加載業務所需的組件,設置模板類型對應的代碼模板;注冊模板,并選擇該模板的模板類型和數據源,根據該模板的模板類型、數據源以及代碼模板,生成對應的源碼。降低了對開發人員java、html5開發能力的要求,使得開發人員可以更多的關注于業務邏輯,并且降低了開發過程中語法錯誤出現的機率,提高了開發效率。
第二實施例
請參閱圖2,圖2示出了本發明的第二實施例的組件和模板的可視化開發方法的流程圖,具體步驟如下:
步驟201,注冊數據源。
需要說明的是,用戶可以根據業務需要注冊各種不同類型的數據源。可以注冊在線數據源,可以通過url、用戶名和密碼建立連接關系,通過接口讀取數據并展現,例如從某個外部環境上獲取的元數據信息集合,包含目標環境上的各種信息。也可以注冊離線數據源,可以在系統中手動添加離線數據。還可以注冊json數據源,可以直接輸入json代碼格式的數據。數據源中的數據可以在后續配置組件屬性時使用,即數據源提供數據字典的功能。
步驟202,創建組件,并設置組件的屬性頁的頁面類型,在屬性頁中添加屬性,設置屬性的顯示方式。
需要說明的是,步驟202中可以基于html5的web框架創建組件。創建的組件一般具有唯一標識,系統根據這個標識來識別組件。組件是具有屬性的, 而屬性是分類的。因此可以對組件的每個屬性頁設置相應的頁面類型,例如可以將屬性頁設置為普通頁、tab頁或者是復合表格頁中的一種。
設置完組件的屬性頁的頁面類型后,就可以在屬性頁中添加相應的屬性,并設置屬性的顯示方式,例如可以將屬性的顯示方式設置為單復選框、下拉列表、文本框或輸入框中一種。
步驟203,根據數據源,為組件的屬性配置數據,設置屬性的校驗規則和校驗提示。
需要說明的是,步驟203中,為組件的屬性配置數據時,可以引用上述數據源中的數據為組件的屬性配置數據,并且為組件的屬性設置校驗規則和校驗提示。
步驟204,根據業務需要,注冊對應的模板類型,并在模板類型中加載業務所需的組件,設置模板類型對應的代碼模板。
需要說明的是,通過根據業務需要,注冊對應的模板類型,使得系統可以支持多個產品模板,并支持模板可擴展性,通過不同的模板類型對應不同的產品,實現模板設計器可擴展。可以基于html5的web框架注冊模板類型。模板類型可以根據業務需要加載不同組件。即模板類型是一個結構,組件和數據則是結構的內容。而把結構和內容聯結起來就是代碼模板。而且模板類型對應的代碼模板可以根據業務需要,設置為各種規范的模板,如yaml模板、xml模板以及sql模板。
步驟205,注冊模板,并選擇該模板的模板類型和數據源。
需要說明的是,步驟205中可以基于html5的web框架注冊模板。注冊模板時可以根據業務需求選擇該模板的模板類型以及數據源。以便系統后續可以準確地為該模板配置組件以及代碼模板,并為組件的屬性配置數據。
步驟206,根據該模板的模板類型和數據源,為該模板配置組件以及代碼模板。
需要說明的是,由于模板類型具有對應的組件以及代碼模板,因此當模板的模板類型以及數據源確定時,系統就可以準確地為該模板配置組件以及代碼模板,并為組件的屬性配置數據。
步驟207,對該模板中的組件進行編排,設置組件的屬性,并根據編排結 果以及代碼模板,生成對應的源碼。
需要說明的是,步驟207是在模板設計器中對該模板進行編排,設置組件的屬性,其中組件在模板設計器中可視化部分體現為一個圖標,一般對應為一個在下游環境中可執行的代碼單元。編排完成后,模板包含了如下信息的綜合體:由組件、連線等組成的圖形信息;組件的屬性數據;模板自身的參數信息。系統根據編排結果以及代碼模板,就可以實時生成與代碼模板相對應的源碼供不同的下游系統環境調用運行。
本實施例,通過注冊數據源;創建組件,并設置組件的屬性頁的頁面類型,在屬性頁中添加屬性,設置屬性的顯示方式;根據數據源,為組件的屬性配置數據,設置屬性的校驗規則和校驗提示;根據業務需要,注冊對應的模板類型,并在模板類型中加載業務所需的組件,設置模板類型對應的代碼模板;注冊模板,并選擇該模板的模板類型和數據源;根據該模板的模板類型和數據源,為該模板配置組件以及代碼模板;對該模板中的組件進行編排,設置組件的屬性,并根據編排結果以及代碼模板,生成對應的源碼。降低了對開發人員java、html5開發能力的要求,使得開發人員可以更多的關注于業務邏輯,并且降低了開發過程中語法錯誤出現的機率,提高了開發效率。
第三實施例
請參閱圖3a,圖3a示出了本發明的第三實施例的組件和模板的可視化開發系統的結構圖,圖3a所示的系統300包括:注冊模塊301,組件創建模塊302,模板類型生成模塊303以及模板注冊模塊304,其中:
注冊模塊301,用于注冊數據源。
組件創建模塊302,用于創建組件,并根據數據源,配置組件的屬性。
模板類型生成模塊303,用于根據業務需要,注冊對應的模板類型,并在模板類型中加載業務所需的組件,設置模板類型對應的代碼模板。
模板注冊模塊304,用于注冊模板,并選擇該模板的模板類型和數據源,根據該模板的模板類型、數據源以及代碼模板,生成對應的源碼。
在圖3a的基礎上,可選地,組件創建模塊302包括:創建單元3021以及屬性配置單元3022,模板注冊模塊304包括:模板配置單元3041以及編排單元3042,參見圖3b,其中:
創建單元3021,用于創建組件,并設置組件的屬性頁的頁面類型,在屬性頁中添加屬性,設置屬性的顯示方式。
屬性配置單元3022,用于根據數據源,為組件的屬性配置數據,設置屬性的校驗規則和校驗提示。
模板配置單元3041,用于根據該模板的模板類型和數據源,為該模板配置組件以及代碼模板。
編排單元3042,用于對該模板中的組件進行編排,設置組件的屬性,并根據編排結果以及代碼模板,生成對應的源碼。
上述系統300能夠實現圖1至圖2的實施例中系統實現的各個過程,為避免重復,這里不再贅述。
本實施例,通過注冊數據源;創建組件,并設置組件的屬性頁的頁面類型,在屬性頁中添加屬性,設置屬性的顯示方式;根據數據源,為組件的屬性配置數據,設置屬性的校驗規則和校驗提示;根據業務需要,注冊對應的模板類型,并在模板類型中加載業務所需的組件,設置模板類型對應的代碼模板;注冊模板,并選擇該模板的模板類型和數據源;根據該模板的模板類型和數據源,為該模板配置組件以及代碼模板;對該模板中的組件進行編排,設置組件的屬性,并根據編排結果以及代碼模板,生成對應的源碼。降低了對開發人員java、html5開發能力的要求,使得開發人員可以更多的關注于業務邏輯,并且降低了開發過程中語法錯誤出現的機率,提高了開發效率。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的實施例中,應該理解到,所揭露的系統和方法,可以通過其它的方式實現。例如,以上所描述的系統實施例僅僅是示意性的,例如, 模塊的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以權利要求的保護范圍為準。