您的位置:首页 > 运维架构 > 网站架构

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

2010-02-03 23:05 239 查看
这里把组成平台的各个部分简单介绍一下吧,篇幅所限,点到为止
=============================================================================
设计器(Designer
设计器提供流程、表单界面、对象界面、报表界面的设计,以及提供编码的简单IDE(可在现成的IDE如Eclipse上做插件)。
设计器将分为两个模式,一个是原形模式,另一个是架构模式,原形模式下功能简化、少量校验,方便快速搭建原形;架构模式下,包含全部功能,校验较多,如Error、Warning等,用于实现产品功能。两种模下设计的是同一种内容。
设计器提供版本控制的功能,类似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)
提供流程活动间、异构系统间、各模块间的通信,提供长事务。现在流行SOA、SaaS、云计算等概念,分布式部署必不可少,在分布式组件间如何通信就是一个问题。因此,需要具有一个消息通道。异步消息,可以提升系统的可扩展性、伸缩性以及吞吐量。消息应该是点对点的,不需要一个总的控制点,因为总的控制点比较容易成为瓶颈。
消息管道可以采用类似ICE的机制,能够跨平台、多语言。
消息管道要保证数据一定会送到,因此要有故障恢复机制,可能需要消息的序列化;对于事务性的各种消息,要提供分布式事务的机制。
消息管道还有一个功能就是和各种异构系统的连接,如数据库、Http、Soap、Ftp、Socket……,甚至和Oracle、SAP等产品也可以对接。

各种可选部件(Choice Department)
组织架构(Organization Structure):组织架构、岗位设置等
权限模型(Right Model):RBAC(Role Base Access Control),功能权限和数据权限
国际化(Internationalization):多语言、日期、时间、货币、数量等方式
时间表(Schedule):定时器组件,可以定期执行一些任务,如后台程序、如发消息、短信、预警等
即时通信(IM):局域网内的即时通信工具
终端适配器(Terminal Adapter):Http、WAP、短信、IM工具、Mail
====================================================================================
阿凡达架构平台(一)
阿凡达架构平台(二)
阿凡达架构平台(三)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: