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设计规范() ,“X+”平台动态载入解析执行应用脚本(BizXML)。

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

c) 辅助工具——代码自动生成

BizTool自动化工具可根据数据库表结构自动生成应用代码(BizXML)、运行测试、修改等()。

 


d) 辅助工具——业务逻辑可视化设计

使用业务逻辑可视化编辑工具xLogicDesigner生成的代码可以被 “X+”动态调用与执行()。

例如,假设我们需要计算会员的级别,

会员
类别
界定标准
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="" 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+”()

x+Logic表格逻辑规则引擎()

分分钟定制您的个性化软件应用()

x+(xPlus,,乘加)部署指南()

开始部署您的应用:
posted on 2022-08-10 10:05  BizFree  阅读(938)  评论(0编辑  收藏  举报