1. 引言
2. “X+”是什么?
3. “X+”讓軟體飛
4. 技術剖析
5. 簡單示例
1. 引言
是不是覺得手機越來越慢,常常需要重啟或重做系統?
是不是覺得電腦越來越慢,留您在無盡的等待中?
有時候它們不像是在跑,更像是在走,甚至是——爬!!!
不是您手機/電腦配置低,都是軟體惹得禍!
早先提軟體需求廠商卻遲遲不能交付?
軟體總需要頻繁的升級安裝?
軟體開發周期長,個性化能力差
在某些設備上軟體沒法運行甚至沒法安裝
軟體BUG頻發總是Crash
跨設備能力差,兼容性不好
……
我們越來越離不開軟體,常常希望它能“飛”起來!
2. “X+”是什么?
“X+” 是3UCS推出的一套集應用設計與運行的SOA軟體應用運行平臺,包括服務端、PC客戶端、手機客戶端、Web Service等,典型應用方向為資訊化、互聯網+、云計算、CRM、OA、ERP、呼叫中心等,
3. “X+”讓軟體飛
“X+”(3UCS)肩負著“讓軟體飛”的使命,并且她做到了:
a) 軟體應用定制的速度飛快,相同要求軟體應用的定制所需時間不足傳統軟體定制10%,
b) 軟體運行速度飛快,相同要求的業務處理速度相當于傳統方式的5~10倍,
c) 后期維護方便快捷,相同業務變更/調整需求個性化修改調整所需時間不足傳統模式的10%,
d) 入門飛快,軟體應用設計人員要求低,無需專業編程功底,
e) 跨設備實作飛快,在PC客戶端定制的軟體應用無需修改直接應用于智能手機客戶端、網頁等方式,
f) 安裝部署飛快,傻瓜式安裝默認配置即可運行,單機支持多應用,增減應用簡單方便,
4. 技術剖析
“解耦”是“X+”平臺的核心思想,從軟體剝離出需要頻繁修改調整的部分成為獨立“應用”,將軟體開發與應用設計分離,下面從幾個方面來剖析:
a) 軟體架構
目前軟體的開發設計都是定向開發,即根據專案需求將相關的資料關系、業務邏輯、功能模塊及介面插件等揉合在一起并與人機互動整體開發(若涉及人機互動),代碼量巨大,如下圖所示,當所涉及的任意部分需要改變或調整(即使是一丁點邏輯或引數調整)都需要去修改程式(大部分需重新編譯發布),整個程序繁瑣耗時靈活性差、維護不方便,
“X+”的軟體架構的核心思想就是從軟體里剝離出應用界面(人機交換內容按鈕、輸入框等)、資料關系、業務邏輯等,將組合為應用,在其外圍設計,
軟體主體被定義為運行平臺,其不擁有具體應用,而是運行時按需加載應用,按照應用的設計意圖執行來實作專案需求,當專案需求發生調整僅需修改調整應用的內容,而軟體(主體)無需修改,如下圖所示,
按照“X+”架構,參與軟體開發的人員被分為軟體開發人員和應用設計人員,軟體主體由專業軟體開發人員完成、應用部分由應用設計人員(專注于互動、資料、業務等,少量簡單代碼)實作,
b) 設計語言
“X+”軟體內核(無論是服務端、PC客戶端、手機客戶端、WEB Service)全采用C++開發,確保運行穩定高效,
應用部分(應用界面、資料關系、業務邏輯)則直接用簡單腳本語言xml進行描述,并形成BizXML設計規范(http://3ucs.com/bizxml) ,“X+”平臺動態載入決議執行應用腳本(BizXML),
應用設計人員只需撰寫簡單的腳本描述即可,而無需學習掌握C、C++、Java、PHP之類的專業程式設計語言,
c) 輔助工具——代碼自動生成
BizTool自動化工具可根據資料庫表結構自動生成應用代碼(BizXML)、運行測驗、修改等(http://3ucs.com/fm98.html),
d) 輔助工具——業務邏輯可視化設計
使用業務邏輯可視化編輯工具xLogicDesigner生成的代碼可以被 “X+”動態呼叫與執行(http://3ucs.com/fm105.html),
例如,假設我們需要計算會員的級別,
| 會員 類別 |
界定標準 |
| A類 | 最近一年內內消費金額在2000元以上∕或年度消費頻次在4次及以上用戶 |
| B類 | 最近一年消費在1000-1999元以內∕或年度消費頻次在2次及以上用戶 |
| C類 | 最近一年消費在1-999金額∕或年度消費頻次在1次及以上用戶 |
| D1類 | 最近1-2年未消費 |
| D2類 | 最近2-3年未消費 |
| D3類 | 最近3年以上為消費 |
自動生成邏輯代碼(memberlevel.xml)然后,我們通過簡單的代碼將該邏輯嵌入到應用中去(見下節“簡單示例”),
5. 簡單示例
將上面的邏輯加入頁面展示出來,其BizXML代碼(logicdemo.xml)及運行于PC、手機客戶端和網頁的效果如下:
<?xml version="1.0" ?>
<WndTap Name="logicdemo" Text="表格邏輯">
<var name="MemberLevelTbl"><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="https://www.cnblogs.com/bizfree/p/memberlevel.xml"/></var>
<Ctrls>
<GroupBox Name="GroupBoxLogicM" Text="會員邏輯演示"><Ctrls>
<Label Name="lb_input1" Text="輸入1:" Size="50,20"/><ComboBox Name="annualamount" Size="100,100" Items="100|1000|2000" SelectedIndex="0"/>
<BR/><Label Name="lb_input2" Text="輸入2:" Size="50,20"/><ComboBox Name="annualtimes" Size="100,100" Items="1|2|5" SelectedIndex="1"/>
<BR/><Label Name="lb_input3" Text="輸入3:" Size="50,20"/><ComboBox Name="noneyears" Size="100,100" Items="1|2|5" SelectedIndex="1"/>
<BR/><Label Name="lb_output" Text="輸出:" Size="50,20"/><TextBox Name="EvalTblTest1" Size="50,20" ToolTip="EvalTableTest"></TextBox>
<Button Name="cal" Size="50,20" Text="計算">
<OnClick>
<EvalTbl rules="%{MemberLevelTbl}" table="memberlevel">
<inputs annualamount="%{annualamount}" annualtimes="%{annualtimes}" noneyears="%{noneyears}"/><outputs level="EvalTblTest1"/></EvalTbl>
</OnClick>
</Button>
</Ctrls></GroupBox>
</Ctrls>
</WndTap>
擴展閱讀
組件化軟體應用開源平臺“x+”(http://3ucs.com/fm103.html)
x+Logic表格邏輯規則引擎(http://3ucs.com/fm105.html)
分分鐘定制您的個性化軟體應用(http://3ucs.com/fm98.html)
x+(xPlus,,乘加)部署指南(http://3ucs.com/fm101.html)
開始部署您的應用: http://3ucs.com/x+轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/501461.html
標籤:其他
上一篇:用命令列使用 git
下一篇:讓軟體飛——“X+”技術揭秘
