阿凡达架构平台(Avatar Architecture Platform)(三)

这里把组成平台的各个部分简单介绍一下吧,篇幅所限,点到为止

=============================================================================

设计器(Designer

         设计器提供流程、表单界面、对象界面、报表界面的设计,以及提供编码的简单IDE(可在现成的IDEEclipse上做插件)。

设计器将分为两个模式,一个是原形模式,另一个是架构模式,原形模式下功能简化、少量校验,方便快速搭建原形;架构模式下,包含全部功能,校验较多,如ErrorWarning等,用于实现产品功能。两种模下设计的是同一种内容。

         设计器提供版本控制的功能,类似SVN/CVS,以支持团队协作架构。

         设计器提供模板功能,可以把设计好的内容存为模板,模板可以参数化,方便批量设计类似的模型。

         设计中的各种控件(比如流程的活动,表单的文本框等)也可以组合为新的控件,存为自定义控件,方便重复使用控件。

         设计有调试模拟运行功能,可以在设计好之后马上运行演示、测试。

 

元数据(Meta)

         元数据是用来描述流程、界面、模型、组件、部署等。元数据可以理解为一种规范、一种协议,是连接设计器和真实世界的桥梁。元数据比如工作流可以遵循BPMN的规范,可以根据需要扩展规范,遵循规范的好处是不用重新设计,而不是其他。界面的规范好像也有不少,选择规范可以用别的设计器工具来设计再导入。其他的对象设计(类图)可以裁减UML2.0,但是最好能包含数据库的设计(参考Enterprise Architecture)。

因为从外观上看到的、设计好的内容,都需要通过元数据映射到物理代码。

        

世界创建器(World Generator

         元数据如何映射的问题上,存在两种观点。一种是虚拟机(解释器)+元数据模式;另外一种是元数据编译成代码的模式。我以前倾向于前一种模式;现在我倾向于后一种。主要原因:代码的性能高、解释器模式实现复杂。

根据元数据,创建目标环境代码,c/java/c#/python等都应该支持。对于多种语言的支持,可以提供不同语言版本的平台库,或者一个语言版本库(c的比较容易封装成java/c#/python)封装成不同的语言的版本。

元数据编译成代码的模式存在两个问题,一个问题是平台本身的升级会影响到生成的代码;另外一个问题是手工的脚本(代码)如何同步模型。第一个问题,可以采取事件机制,提供各种操作的接口,保证接口的稳定。第二个问题,要么只有正向的过程,每次都是在设计器中写好脚本,生成的代码不允许修改;要么只允许在固定的接口中写代码,能反向回去。初级用户用只正向的方式,高级用户能使用反向功能。

         自动文档也很有用,可以在设计器中写备注,最后生成使用指南文档。

自动化测试可以仿照Load Runner的脚本录制,记录测试者的点击轨迹,自动生成自动测试脚本,后台的数据也可以自动生成。

 

架构示意图    

 

部署工具(Deployment Tool)

         分布式部署流程、模块、对象,以及管理数据库。维护所有流程、模块、组件、数据的通信方式以及地址。比如采购模块放在虚机1上,库存模块放在虚机2,采购后入库这个流程通过消息管道连接这两个虚机上的模块。既可以按照业务来划分,比如财务、CRM、进销存分开;也可以按照横向的比如业务单据处理、查询报表、流程运行分开;还可以把后台数据大表拆分成多个子表。

         部署工具另外一个功能是管理监控服务器的资源,程序的运行情况,如果有资源异常需要调整部署。

        

消息管道(Message Piple)

         提供流程活动间、异构系统间、各模块间的通信,提供长事务。现在流行SOASaaS、云计算等概念,分布式部署必不可少,在分布式组件间如何通信就是一个问题。因此,需要具有一个消息通道。异步消息,可以提升系统的可扩展性、伸缩性以及吞吐量。消息应该是点对点的,不需要一个总的控制点,因为总的控制点比较容易成为瓶颈。

         消息管道可以采用类似ICE的机制,能够跨平台、多语言。

         消息管道要保证数据一定会送到,因此要有故障恢复机制,可能需要消息的序列化;对于事务性的各种消息,要提供分布式事务的机制。

         消息管道还有一个功能就是和各种异构系统的连接,如数据库、HttpSoapFtpSocket……,甚至和OracleSAP等产品也可以对接。

        

各种可选部件(Choice Department)

         组织架构(Organization Structure):组织架构、岗位设置等

         权限模型(Right Model):RBACRole Base Access Control),功能权限和数据权限

         国际化(Internationalization):多语言、日期、时间、货币、数量等方式

         时间表(Schedule):定时器组件,可以定期执行一些任务,如后台程序、如发消息、短信、预警等

         即时通信(IM):局域网内的即时通信工具

         终端适配器(Terminal Adapter):HttpWAP、短信、IM工具、Mail

====================================================================================

阿凡达架构平台(一)

阿凡达架构平台(二)

阿凡达架构平台(三)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值