![]() |
揭开ABACUS下一代产品的面纱(二)奥博克下一代产品是基于SOA架构的思想,采用Http协议,XML的传输格式,客户端采用C++(设备相关)与Powerbuilder等开发工具,Serve端采用Java语言及J2EE环境的全新信息产品体系。我们暂叫她为“Xpos”。 Xpos具备了无与伦比的优势与竞争力: ◇组件自检自测(Introspect) 我们常见的网络中的某些硬件设备,如:打印机带有自检功能,用户可以在需要的时候,只需要按一个键,就可以开启打印机的自检功能,并能得到一个自检报告,用户根据自检报告并按照用户手册的指导进行简单的维修,或者供专业技术工程师维修使用。 在Xpos中,我们对整个软件系统(“网络”)每一个组件(“打印机”)都设计了各自的自检功能。开发人员在发布组件前,开启组件的自检功能,检测组件是否“合格”,通过后再发布。在系统首次使用时,自动依次启动各组件的自检功能进行自检。自检功能的开启是开关式并且是可定义的。组件的首次自检通过后,开关自动关闭,系统下次正常启动时不再启动自检功能。在用户的使用过程中,如果有需要,用户可以自行开启某组件的自检功能,进行组件自检。 这样的优点在:大大提高产品质量,每一个组件都是经过自检再“组装”成系统的。问题范围易界定,容易找出问题的所在。测试难度低,测试周期短。 对比:在传统的软件中,是整个系统测试(“整机测试”),难以找出问题的所在,测试复杂、周期长,对测试人员要求高。 组件自检自测可细分为: ——组件的完整性自检:即在组件的功能方面,每个零件的职责是否达到。 ——数据库一致性自检:用于测试在数据库中,某零件所需的表、字段、触发器、存储过程等是否符合要求。 ◇性能智能侦测 用户在使用系统时,常发现某功能或整个系统特别慢,但并不知道问题在哪里。 在传统的技术中,技术人员采用的是“断点”测试的方法,这是一种破坏性测试,类似在医学中的“创伤性手术”,技术人员首先是“猜测”问题出在哪里,然后再相应的程序代码中插入“断点” ,并将插入了“断点”的程序在用户的环境中运行,才有可能找出问题,最后再解决问题。这种方法的弊端在:是破坏性测试,需要在用户的环境中(往往测试环境不会出问题),查找问题的周期长,难以找到真正原因。 在Xpos中,在零件的运行过程中,通过性能智能侦测功能,自动记录性能开销状况和运行情况,并通过性能日志接口,发送到外部独立的性能日志中,配合外部独立的监控台监控日志(并非监控零件本身)。这种性能智能侦测的性能开销在外部独立部件中,不会影响零件自身的正常工作。性能智能侦测功能也是开关式的,在有必要时(如感到系统性能降低,运行慢)才开启。与传统技术比较的优势在:是一种“无创诊断”,对用户系统无破环性;很容易查找问题和界定问题;有数据依据,非人为的感觉判断;即开即用,无等待时间(不需要等待程序员的个人判断、写断点、传递程序的时间)。 ◇服务自检 客户端:怎样知道服务是否存在? 服务端:提供的服务是否满足客户端的需求? 服务自检功能用于验证服务与需求的双向存在与一致性。 好处:高效、准确、快速。 ◇国际化 在Xpos中,我们把所有与语言相关的资源(Resource)抽取出来,作为一个独立的零件。不同的国家地区使用不同的语言零件。扩展只需要开发不同的语言零件即可。 可以应用于: ——不同国家 ——多语种混用:在跨国企业中,常见多语种混用的现象。如在同一系统中,经营者用中文,收银员用英文。 在传统软件系统中采用汉化版、韩语版、俄语版等等,就是修改整个系统的所有源代码中与语言相关的地方。工作量大,并且一种语言就有一个软件版本,这样就出现了同一软件的多种版本。当软件有修改时,需要同时修改多个版本,这样就常发生主版本已经修改,而其他版本有遗漏的现象。难以灵活处理多语种混用的情况。
|