让软件飞——“X+”技术揭秘

 

1.     引言... 2

2.     “X+”是什么?... 3

3.     “X+”让软件飞... 4

4.     技术剖析... 5

5.     简单示例... 7

 

1.      引言

是不是觉得手机越来越慢,常常需要重启或重做系统?

是不是觉得电脑越来越慢,留您在无尽的等待中?

有时候它们不像是在跑,更像是在走,甚至是——爬!!!

不是您手机/电脑配置低,都是软件惹得祸!

 

早先提软件需求厂商却迟迟不能交付?

软件总需要频繁的升级安装?

软件开发周期长,个性化能力差

 

在某些设备上软件没法运行甚至没法安装

软件BUG频发总是Crash

跨设备能力差,兼容性不好

 

……

 

我们越来越离不开软件,常常希望它能“飞”起来!

2.      X+”是什么?

“X+” 3UCS推出的一套集应用设计与运行的SOA软件应用运行平台,包括服务端、PC客户端、手机客户端、Web Service,典型应用方向为信息化互联网+、云计算、CRMOAERP、呼叫中心等。

 

3.      X+”让软件飞

“X+”3UCS)肩负着“让软件飞”的使命,并且她做到了:

a)      软件应用定制的速度飞快,相同要求软件应用的定制所需时间不足传统软件定制10%

b)      软件运行速度飞快,相同要求的业务处理速度相当于传统方式的510倍。

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)。

应用设计人员只需编写简单的脚本描述即可,而无需学习掌握CC++JavaPHP之类的专业程序设计语言。

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="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+