EEPCloud 雲端開發工具
訊光科技/Andy Kao
前言
隨著雲端科技的興起,帶來了另一個嶄新時代,雲端科技已被公認為全球最重要科技趨勢之一,這個趨勢也正襲捲著整個世界,科技大廠們,無不爭相加入戰局,就深怕晚了一步而錯失商機。對你我而言,不管是從個人還是企業的角度,已經天天在我們面前上演著,從個人Email到雲端共享空間,從即時通到紅不行的FaceBook;企業也一樣,從實體機到虛擬主機,從公司內部移往外部託管,從應用系統發展到雲端服務等,幾乎都在不知不覺中推著我們得步伐前進著。
嚴格來說,雲端科技其實它並不算是甚麼新的科技,它只是一種概念。如下圖主要分成三種服務概念(IaaS,PaaS,SaaS等),右邊則是該項科技目前所投入的國際大廠:
其中與我們資服產業最有關係的就是「SaaS」, 所謂Software as a Service代表『軟體即是服務』的概念,當然它也不是甚麼新發明,10年前就有所謂的ASP(Application Service Provider)業者,就是早期的租賃業者,只要能將應用系統可以透過網路來執行,就可以經營這樣的商業模式,只是當時市場概念不夠成熟,能接受的客戶較少而已。在SaaS概念中只是增加了虛擬化技術與大型化應用,就是可以隨時定義或依使用量增加服務主機與資料庫主機等,並且能因應大型化所需的Load Balance平衡負載技術等等,而這些技術也不是想像中這麼新這麼難達成。
EEPCloud概念及特色
基於此,EEPCloud就因此應運而生,透過最新雲端概念將EEP開發方式以網路方式(雲端服務)來呈現,同業或企業可以用EEPCloud隨時隨處來開發並直接佈署成最新的雲端服務應用系統,也可以是當作雛形開發或是系統分析與設計之工具,並可以列印系統文件等,最後如果有必要也可以自動產生元件碼給Visual Studio 2012來編譯擴充功能。其發展概念與特色如下:
1. 快速的開發:從Table Schema建立到以Wizard建立資料存取服務,再到頁面或報表的產生,全自動化生產,僅僅數分鐘即可完成。
2. 快速的學習:開發者只要透過Wizard學習即可,其他都只需學習元件屬性設定即可,可不必Coding也可快速完成工作。
3. 所見即所得:雲端工具最難的技術就是「What you see is what you get」所見即所得的開發方式,在EEPCloud中如同在你的桌面工具般拖拉自如,開發人員以直觀的設計方式,無需關心所使用的網頁技術基礎,大大提升系統的開發與維護能力。
4. 減少溝通成本:EEPCloud可使SA(系統分析師)直接開發,除了減少與開發者溝通成本之外,也可以大幅降低開發成本達1倍以上。
5. 80/20法則:80%以上工作都可以在EEPCloud中高速完成,剩下的20%工作可透過程式開發來完成特殊需求,如果功能不足還可以產生EEP元件程式碼給Visual Studio 2012中來編譯與擴充功能。
6. 隨時隨處:以Web為Base的開發工具可讓你隨時隨處進行開發與設計的工作,立即設計不必經過編譯即可立即執行,並有多人同時設計的機制與版本管理功能,更讓你容易進行異地開發與外包的工作。
7. 多種體驗:你只要設計一次,就可以享用多種不同的呈現風格,如可以使用Silverlight或Web(HTML-5)的風格呈現,明年還會多一種jQuery-Mobile的格式,讓你可以在不同的個人設備上呈現不同的風貌。
8. 簡單編程:EEPCloud具有簡單程式寫作工具,可以寫入簡單C#程式碼並可在EEPCloud中直接編譯執行,來滿足簡單的程序開發需求。
9. 系統文件產出:透過EEPCloud,你可以隨時產生多種系統文件,如Table Schema、資料服務架構、WEB頁面、報表格式等等。
EEPCloud架構
EEPCloud是基於Silverlight/HTML5的雲端開發工具,在EEPCloud中我們共分成6大功能:資料字典(DD)功能、 Table 資料結構管理、Service資料服務開發、Page開發、Report開發與系統文件輸出等等。透過Table Schema建立或導入(從異地上傳轉入)資料庫後,定義好資料字典,就可以透過Wizard來產生Server端的資料服務(Data Access),然後可以產生Page網頁與Report報表等等,透過Run與Preview功能可以進行立即執行與預覽功能等,最後還可以同步產生系統文件。下圖為EEPCloud的架構圖。
EEPCloud功能簡介
透過雲端,開發者只要有帳號就可以Login進入EEPCloud的設計首頁,如下:
1. 其中 ① 的區域為主功能表區域,內有:
File用來新增/修改/刪除Solution方案所使用。
Database用來新增一個雲端資料庫或連線到一個實體的資料庫。
Security用來設定使用者帳號或群組及其使用權限等。
Document用來輸出各種系統文件。
Run用來立即執行結果。
2. 區域②為當前方案(Solution)的列表,方案中共可以分為下列幾種型態(節點)
D.D.(資料字典) :用來新增與更改Table Schema 及欄位的共同字典與屬性。
Service:用來設定各模組的資料存取服務(Data Access),也就是Server端的商業邏輯。
Page:用來設定各頁面的內容,可以輸出成Web或Silverlight等不同的頁面內容。
Report:用來設定報表的格式與輸出(使用Excel格式)
3. 點選左邊的②會打開新相對的③內容區域,如下:
Table Schema:如下的Table結構設定畫面。
Service:如下資料存取服務元件的設計內容。
Page:如下頁面的設計內容。
Report:如下報表的設計內容。
4. 點選③內容區域內的元件時,區域④就代表該元件的屬性設定,可以根據個別的元件來設定之。
結語
EEPCloud並不是要取代傳統的開發模式或原來的EEP,畢竟使用雲端概念確實帶來了方便與許多好處,但也不是100%完整解決方案。很多做不到的功能與需求必須有彈性變化時,也是必須回到傳統的Coding方式,這時移回Visual Studio與EEP環境上來開發就顯得很重要,畢竟後者才能根本去解決所有問題。因此EEPCloud的定位會放在系統雛形開發或方便你做SA/SD並印出系統文件的工具,當然,如果你的系統不大,使用界面不講究(盡量以現成為主),要Coding的功能也不多的話, EEPCloud確實也可以單獨來完成開發的工作,這樣EEPCloud就像極早期訊光的Visual DBTOOLS系列這種簡樸產品風格。
誠如上文所言,雲端科技不是一個新的技術,而是一種新的生活模式與概念,對於身為軟體開發者的我們,開發模式將會有一波革命,或許是明年或許是幾年後,越來越成熟的雲端技術將讓我們業者可以開發得更快更有效率,隨時隨處可以開發,並更容易整合與進行變更維護等等。讓每五到十年的產業革命中,可以脫離老是成為犧牲受害者的宿命,期待雲端可以為我們產業帶來更多的希望與未來。
|