企業應用程序開發人員發現RAD(快速應用程序開發)不只僅是開發,還有不少其餘功能。還有快速編碼,供應和部署的概念。這種增長的便利性給企業開發人員帶來了難題,尤爲是那些只專一於建立應用程序並將那些應用程序的調配和交付交給IT經理的開發人員。抽絲剝繭,細說架構那些事——【優銳課】java
因爲跨平臺的要求,移動性計劃和BYOD(自帶設備)策略的採用,建立和交付給用戶的應用程序的方式必須進行重大的工做流更改。畢竟,開發人員沒有足夠的帶寬爲他們如今必須支持的各類平臺(Windows,IOS等)建立單獨的應用程序,而且IT部門再也不擁有將這些多個應用程序手動交付給具備如下功能的各類平臺的資源:經過企業傳播。sql
總部位於加州山景城的WaveMaker Inc.可能很是適合那些困擾開發人員的棘手問題,例如部署,複雜的DevOps和多個目標環境。WaveMaker以WaveMaker Enterprise的形式構建了該解決方案,WaveMaker Enterprise是一種企業級的Web應用程序開發平臺,該平臺將設計,RAD,部署以及版本控制集成到一個光滑的程序包中,該程序包能夠做爲虛擬設備在現場安裝,也能夠經過平臺即服務(PaaS)模型,不須要本地安裝或配置。數據庫
簡而言之,WaveMaker Enterprise將「快速」投入到開發和部署中。安全
儘管市場上確實有數十種(甚至數百種)RAD工具,但WaveMaker Enterprise確實可以經過採用一些很是獨特的概念,技術和意識形態來與競爭對手區分開來,這些概念,技術和意識形態有望改變企業開發人員對構建和開發的見解。部署應用程序。網絡
WaveMaker Studio最使人印象深入的部分可能在於應用程序的部署方式。該公司建立了一種一鍵式部署方法,該方法可經過Docker容器交付應用程序,而Docker容器是一種基於Linux的新興操做抽象思想,可提供虛擬化應用程序交付的許多好處,而無需操做系統和虛擬機管理程序的開銷。即便能夠寫有關Docker容器及其提供的好處的書,這裏最好仍是說WaveMaker經過利用Docker容器採用了前瞻性策略。架構
可是,快速部署只是三合會的一部分,這使得WaveMaker Enterprise成爲那些開發Web應用程序的候選人。WaveMaker Enterprise難題的另外兩個部分是開發和集成形式。併發
WaveMaker Enterprise的開發部分由WaveMaker Studio主持,WaveMaker Studio是一個集成了RAD流程的集成開發環境(IDE)。可是,WaveMaker Studio不能在真空中運行。它被稱爲企業開發人員網絡(EDN)的企業包圍,它是一個基於Web的GUI,將開發過程的管理與以項目爲中心的方法結合在一塊兒,該方法包含了必定程度的社交協做。app
圖1:Enterprise Developer Network充當項目門戶,以控制對WaveMaker Studio的訪問,同時使與應用程序開發項目有關的人員處於已知狀態。框架
經過EDN,開發人員能夠定義和建立項目,管理對項目的訪問權限,並使參與者隨時瞭解一個或多個項目的狀況。當用戶單擊Studio選項卡時,將啓動WaveMaker Studio應用程序,而後用戶能夠在項目(應用程序)上工做。數據庫設計
圖2:WaveMaker Studio提供了用於建立新項目,在IDE中打開現有項目或管理項目的控件。
WaveMaker Studio提供的IDE/RAD工具集使人印象深入。在IDE中,開發人員可使用拖放工具快速設計頁面,表格,表單等。儘管大多數RAD工具都但願具備這些功能,但WaveMaker還經過合併數據庫控件進一步向前邁進了一步。
經過使用WaveMaker Studio,開發人員能夠快速佈置UI,而後使用數據庫中可用的數據變量填充UI。WaveMaker提供了小部件,這些小部件是可用於填充頁面的預約義控件/功能的片斷。窗口小部件可用於定義能夠驅動表單輸入的布爾邏輯控件(例如複選框)。其餘窗口小部件包含諸如對話框,字段等功能。可是,WaveMaker還包括一組使人印象深入的圖表小部件,可用於快速建立圖形,圖表或其餘數據可視表示形式。
圖3:IDE的設計器部分提供了幾個拖放控件;這些控件不包含任何控件。這些控件使開發人員可使用用戶界面元素快速填充頁面。開發人員還能夠從小部件,主題和預製代碼中進行選擇,以進一步自定義UI。
所以,只需單擊幾下鼠標,開發人員就能夠構建輸入表單,基於屏幕的報表,圖表,圖形以及幾乎任何其餘提供響應功能的UI驅動元素。還包括設備屏幕仿真器,可準確顯示頁面在特定設備(例如平板電腦,智能手機或PC)上的顯示方式。換句話說,WaveMaker Studio包含使用RESS建立「響應式」設計應用程序所需的設計元素,所以開發人員只須要建立一個UI,而後便可經過使用WaveMaker的「 Smart Layout」擴展跨多個設備進行翻譯。
WaveMaker Studio的另外一個重要元素是DBD(數據庫設計器),它使開發人員可以直觀地建立數據庫佈局和表格。再一次,使用拖放工具將數據庫模式組合在一塊兒,而後能夠將其與IDE一塊兒使用以對應用程序操做進行原型設計。DBD還能夠導入現有的數據庫模式,從而使開發人員也可使用預約義的數據庫。使用DBD建立的任何數據庫模式均可以與應用程序一塊兒快速導出,並容許在必要時使用應用程序建立新的數據庫。
圖4: 使用WaveMaker Studio提供的集成工具能夠直觀地完成數據庫設計。支持拖放,使開發人員能夠快速填充數據庫字段以對應用程序進行原型製做。
即便WaveMaker Studio的IDE提供的RAD功能能夠知足大多數開發人員的需求,但開發人員仍須要注意一些細微差異。首先是生成的代碼的質量,它是使用Java,Spring,Hibernate和AngularJS等標準技術做爲Maven項目生成的。實際上,這意味着WaveMaker Studio建立的代碼是徹底兼容的,能夠做爲WAR文件部署到大多數支持AngularJS的Java框架中。
儘管這種兼容性是值得歡迎的,可是使用外部JDE(例如Eclipse)併發處理生成的代碼的能力將給開發人員留下深入的印象,而全部這些都不影響WaveMaker Studio的功能。簡而言之,代碼仍然與WaveMaker Studio兼容,從而使開發人員在應用程序編碼和設計上擁有空前的自由。
如前所述,WaveMaker Enterprise可被視爲三重功能:開發,部署和集成。三合會難題的最後一部分是以整合的形式出現的,這對不一樣的人可能意味着不一樣的事情。在WaveMaker的狀況下,集成歸結爲利用API,可以使用API中包含的集成組件將不一樣的應用程序綁定在一塊兒。
大多數開發工具將集成元素留給第三方或外部工具集,一般須要不一樣組的編碼人員/開發人員根據提供給他們的規範來構建API。WaveMaker Enterprise採用了不一樣的方法,並整合了一個徹底集成的API生成系統,該系統利用了WaveMaker Studio IDE的功能並整合了RAD意識形態。
圖5:API設計器容許開發人員快速製做,測試和記錄API,其餘應用程序可使用這些API,從而在應用程序之間提供必要的集成度,以提供可靠的最終用戶體驗。
WaveMaker的API設計器使用選擇和單擊的意識形態來快速向下鑽取處理應用程序數據的各類元素。簡而言之,若是開發人員想要建立一個能夠訪問某些信息子集或將值返回給另外一個應用程序的API,則開發人員能夠快速選擇相關的流程並將其發佈爲API。此外,開發人員還能夠定義可用性,將其限制爲「僅應用程序」,「私有」,「公共」或對全部外部源均不可用,從而提供了更高的安全級別。
感謝閱讀!歡迎完善交流。另外分享一份的java架構思惟導圖,你們能夠對照知識點參考學習。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java乾貨