您的位置:首页 > 其它

企业移动应用——技术平台体系

2012-10-23 18:29 531 查看


表现层:主要包含终端(WM、Android、ISO平台)、PC和Open API(开放的API)。

终端:主要包含离线、实时在线、Core和通用模块。对WM、Android和ISO各自有一套这样的技术框架。技术框架中既可只用离线方式或只用实时方式,也可把两者综合起来,某些业务功能用离线,某些业务功能用实时在线。



离线:终端离线使用,当有网络时,数据同步到云端,使用胖客户端+云存储。分表现层(画面)、业务逻辑层(业务逻辑处理)和数据访问层三层。"
  表现层负责画面的呈现;
  业务逻辑层负责业务逻辑的实现;
  数据访问层负责对数据库的基础操作,包含ADO.NET和ORMLite,简单对这两种方式进行封装,如拼接Sql、通过实体对象增删改等操作。
另外,会开启一条线程专门用于与后台数据的同步,该线程定时执行同步过程,在同步的过程中,首先判断是否有网络,只有网络连接时才进行数据同步。
  应用过程如下:

   


实时在线:终端实时在线使用,本地无数据库也无处理逻辑,当无网络时无法使用。终端处理主要包含向云端发出请求、云端通过业务配置平台返回画面数据到终端、终端通过画面解释器呈现画面、收集数据、通过云计算业务引擎把数据发往云端处理,云端返回处理结果等过程。
画面解释器负责把业务配置平台生成的画面数据(Json/XML)解释成终端画面,呈现出来。
云计算业务引擎负责把画面收集的数据向往云端处理。
  应用过程如下:

        


Core(内核):包含基画面和控件的封装、数据结构的封装、读取配置文件、字符串处理等通用的函数库。
通用模块:程序更新(终端程序的自动更新)、网络通知(网络连接上和连接断开时的通知)、电量通知(电量变化时通知)、提示信息通知(提示信息的显示,类似Android)等。

PC:主要包含业务功能、报表的可配置的画面和可定制开发的基画面、模版。另外,业务配置平台和应用平台管理通过PC来呈现。用ExtJs4.1。

Open API(开放的API):主要提供给外部人员的API。也就是对外对接的接口。

    附:客户端与云端的交互过程图

    


业务逻辑层:包含业务定位引擎、业务缓存、业务实现、实体和信息监视器5个核心和业务配置平台和应用平台管理2个模块。

    1、业务定位引擎:用于在业务缓存池里定位业务类和业务方法,并执行。
    2、业务缓存:包含缓存业务类、业务方法和业务对象。
           业务类及业务方式程序启动时加载。业务对象池类似数据库连接池,维护一个最大数和最小数,每次请求从中读取一个对象,执行完毕后返回业务对象池。

          


    3、业务实现:必须包含输入对象、输出对和数据库访问对象。实现终端的数据同步和程序更新的业务类。这里必须考虑对外开放的API。

          输入对象:初始化从客户端传过来的数据(参数和数据包),为执行业务方法做准备。
          输出对象:输出接口,主要是信息监视器对象。
          数据库访问对象:连接数据访问层的桥梁。
    4、实体:通过数据库生成的实体。

数据访问层:包含ADO.NET、ORM两个数据访问方式和触发器。

    1、ADO.NET:保留原始的数据库操作方式,同时封装Sql拼接等。
    2、ORM:使用Entity Framework。
    3、触发器:实现当有数据提交到云端数据库时触发其他动作,如将数据同步到客户的第三方系统上,也就是客户开放接口,我们主动做对接。

通道:包含业务过滤器、业务嗅探器、业务拦截器,有WCF、WebService和本地三种方式。

    1、业务过滤器:用于过滤不合法的请求。
    2、业务嗅探器:抓取通讯载体的数据进行分析,主要用于写操作日志,或其他用途。
    3、业务拦截器:保留。
    4、WCF:统一的访问接口,通过XML和Json传输。
    5、WebService:保留。
    6、本地:用于本应用本地调用其他业务方法和应用与应用之间做对接。

信息监视器:可通过对系统日志、操作日志、服务器日志、业务异常、调试跟踪信息和自定义信息输出到日志文件或控制台或窗口等中。

    在业务嗅探器、中间件服务或业务对象中都有信息监视器,用于输入或记录有用的信息系统、服务、业务信息。可只输出日志文件或控制台或窗口中,也可组合输入,也可定制某种信息输出到某个输出方式中。通过集线器(HUB)方式结合上在输出接口上加过滤器即可实现。如图:

    


业务配置平台:可配置PC端和终端的实时在线业务功能和报表的画面和业务逻辑。

应用管理平台:可部署应用,可管理应用的启用和停用、应用的运行时间、客户端在线情况、应用的更新履历等。

          
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: