TWaver介绍
TWaver是一款图形界面组件产品,电信行业的朋友用它开发网管图形界面,非电信行业的用它制作的表格,指标图表,流程图。TWaver让界面开发变得简单,几行代码就可以实现组件与数据的绑定,组件与组件间的同步交互。TWaver提供多种界面组件,支持多种编程语言,这意味着无论你使用Java,.NET,Flex,还是JavaScript,都可以选择TWaver作为图形界面的解决方案。
TWaver的图形组件
TWaver最核心的组件是的拓扑图,以图形化的方式直观展示各种设备、线路甚至逻辑元素的分布和状态,具有着丰富的表现形式:气泡信息,染色和边框,告警渲染,动画效果等等。围绕着拓扑图组件,TWaver还提供了传统的通用组件,比如树组件、表格、树表格、属性页、图表(饼图,线图,柱状图……)等等。
TWaver的数据模型
对于终端客户,所看到的TWaver是各种窗体和控件,但这些并不是TWaver的全部,对开发者而言,TWaver最核心的是它统一的数据模型和设计模式。TWaver中有一个名为DataBox(TWaver Java中的TDataBox,TWaver Flex和TWaver .NET中的DataBox<>,ElementBox)的数据容器,负责管理图形元素,就像HTML中的DOM树、Java Swing中的TableModel、ListModel那样,DataBox管理着所有的图形数据,由它驱动到所有的TWaver视图组件。从MVC设计模式的角度看,DataBox数据容器扮演的是控制器(Controller)角色,是一个中间人,协调基本数据与视图界面的通讯和交互。如果把TWaver比做人,那么DataBox就是人的大脑,各个组件就是它不同的侧面,人的喜怒哀乐都由大脑控制和反馈。
TWaver是什么?
用一句话概括:TWaver是一种高效轻量的图形界面解决方案,提供多种语言开发平台,关注于电信网管行业,但不局限于电信行业。
TWaver提供图形界面解决方案
TWaver是一款中间组件产品,专注于图形组件,需要二次开发,提供图形界面一站式解决方案。
关注于图形界面
TWaver关注于图形界面,不是后台技术,也不是系统集成,我们的目标是让枯燥冰冷的数据,直观漂亮的展现。大家看到TWaver的第一眼,就是一系列图形组件,包括拓扑图,树,表格,属性页,图表……TWaver研究界面的每一个像素,关心细微之处的呈现。
TWaver提供了多种图形元素,比如节点,连线,分组,跟随者,附件等等,每一种图形都具有数十种样式属性,设置不同的样式,实现丰富的呈现效果。以网元标签为例,它是节点的一种附件元素,一个小小的标签可以设置位置,对齐方式,颜色,字体,背景色,渐变色填充,边框,HTML支持,气泡形式等诸多属性。由此多个附加元素组合而成的节点对象,就可以展现更丰富的信息,和呈现效果。
图形数据模型
TWaver所有的数据模型都围绕图形,TWaver网元主要是图形元素,而非业务元素,如TWaver Java中的Rack,Card,Port虽然代表可某类业务类型,但具体的业务属性还需要用户去添加,TWaver提供的多是图形属性,因此为了让它变得丰满,满足实际业务需要,我们在实际使用时,需要另外封装一层,或者追加更多的业务属性,以“Port”元素为例,描述设备端口,twaver.Port类中并没有端口流量,传输速率,几针几口,双工模式之类的属性,而只是定义了端口图片,端口边框,端口所在面板等等,这些都是界面呈现需要的。也正因为如此,在TWaver Flex和TWaver .NET版本中,连Port这样的对象也不存了,只是在Demo中给与体现。
例外的是Alarm元素,在Alarm对象上你可以找到告警时间,告警原因属性,这些在界面上不一定需要, TWaver提供了一套告警机制,定义了告警对象,告警级别,告警状态,告警统计,告警模型类, 这些正是TWaver为电信网管行业的特殊扩展。
需要二次开发
TWaver不是一款最终应用软件,需要进行二次开发,就像积木搭建房子,TWaver提供漂亮的积木,协助用户搭建自己的高楼大厦。
TWaver的直接客户是谁?
TWaver的直接客户是软件集成商,面向的是开发人员,我们乐于也善于与开发人员打交道,TWaver团队以开发人员为主,这也使得我们与客户有更多共同语言。因为TWaver不是最终的应用软件,其价值需要由我们的客户来体现,经过你们的二次开发,TWaver才能有机会展现在用户的桌面和终端界面之上。
同时TWaver是一款商业软件,我们出售许可和服务,提供文档,培训和技术支持,为用户提供一站式的图形界面解决方案,让我们的客户能在更短的时间内作出更好的界面效果。
TWaver组件具备高效轻量的特点
程序界面,没人喜欢臃肿和缓慢,程序用户体验的第一要素是流畅,如果界面布局缓慢,动画假死,程序庞大,没有人愿意去使用。优秀的后台,如果让界面拖了后腿,看不到背后的故事,令人不禁惋惜,所以TWaver一直遵循高效轻量的设计理念。
高效
高效主要从界面承载能力来体现,TWaver中用呈现的节点和连线数量作为评判。因为编程语言的差异性,不同语言平台有不同的性能表现:TWaver Java 拓扑图组件支持上万数量级节点的呈现,表格组件支持十万行数据。TWaver Flex和TWaver .NET稍弱,建议Flex控制在2000数量级,.NET为5000。
下面的三张性能分析报表分别反映了TWaver Java/Flex/.NET三款产品的性能特点,完全使用TWaver自己的图表组件制作的。可以看到TWaver Java中加载8000节点和1600条连线,拓扑图在一秒钟能完全呈现;TWaver Flex下2000节点和400连线总计渲染时间为2.2秒;TWaver .NET Silverlight运行环境中4000节点和800连线呈现时间约1.4秒。
轻量
TWaver的小巧也是其受欢迎的原因之一,对于一款中间组件,控制软件体积与女生控制体重一样重要。TWaver核心包一直控制着较小的体积,TWaver Flex和TWaver .NET的核心类库大小约1MB,TWaver Java核心包(twaver.jar)稍微大些,为1.8MB。体积虽小,内容丰富,以TWaver Java为例,twaver.jar中有了十几种图形和网元类型,提供了树,表格,属性页,拓扑图,图表等多种组件,还支持数据的导入导出,图片导出,SVG导出功能。
关注于电信网管行业,但不局限于此
电信网管行业应用
TWaver一直关注于电信网管行业,针对电信行业封装了相关的业务模型,比如设备面板,子网,总线,告警机制等等。从05年到现在,我们的客户大多是电信行业,这为我们积累了大量行业经验,积攒了很多的客户案例和解决方案。很多时候客户引领我们方向,TWaver的完善得益于客户千奇百怪的需求,TWaver很多示例都是客户需求的成果,感谢客户让我们成长,同时,TWaver也将这些经验回馈给客户,用心的交流,手把手的支持,就像两种思想的对话,让彼此都能受益。
其他行业的应用
虽然TWaver更关注于电信行业,但作为基本的图形界面呈现需求,推广到其他领域是完全可行的。在不同行业,基本的图形界面元素具有通用性,拓扑图也可以应用于电力,石油,资源等领域,而表格,树,图表的应用场景更加广泛,是通用的组件。TWaver在其他行业也有精彩的案例,下图中的ERP系统广泛使用了TWaver的拓扑图组件,表格,图表:
支持多种语言平台
TWaver支持多种语言平台,目前提供了Java,Web,Flex,.NET四大分支,此外还有TWaver GIS扩展分支,TWaver GIS分支在不同语言平台有不同的扩展包实现,目前包括:TWaver GIS for Java,TWaver GIS for JS,TWaver GIS for Flex。
未来我们将提供HTML5的版本以及TWaver 3D产品,这两个产品已经在小范围试用,不久将会推广。