这段时间,我一边研究网上公开的调度工具TASKCTL,一边看大鹏嘚吧嘚,一边是惊喜,一边是欢乐。大鹏嘚吧嘚有五宗最,很八卦,让我也给TASKCTL凑五宗罪,这绝对值得我们ETL技术人员学习与思索。
TASKCTL是C/S模式的技术平台,客户端与服务端的安装绝对傻瓜化,无需文档,只需按y或回答下一步,整个过程不超过十分钟就可搞定,这在专业技术领域,绝对是少有的。想想国内外其它专业调度工具,两个小时能搞定,就恭喜你了。
TASKCTL服务端是纯c编写的技术平台,无需数据以及其它第三方中间件或技术平台支撑。我想这种设计,在专业调度领域,不论是国外的control-M ,ETL-Automation,还是国内的 Moia、ETL-Plus等,它们无不需要数据库或其它第三方技术平台支撑,你在维护调度时绝对需要相当丰富的知识才够哦!
TASKCTL流程设计是围绕具有一定语法规则并以XML为载体的文本代码为核心进行设计的。刚开始,我一看代码,我认为不友好,但用一段时间,立即改变我的看法。感觉非常奇特,非常新颖,也非常快捷。为此,我和我同事做了一个比较,共同设计一个100个任务其具有一定控制规则的流程,我用taskctl,他用Control-M,我半个小时搞定,他几乎用了两个小时。当他通过一个一个对话框定义任务保存并切换时,我在一个平面文件中疯狂的Ctl-C,Ctl-V。
在TASKCTL官方资料,好像也特意提到这是该软件独特的理念,说传统调度流程设计的本质是配置理念,而TASKCTL采用代码开发的理念,对此,我还没理解透,但体验却的确不一样。
另外,TASKCTL也有图形托拽并通过一个个属性框方式来设计流程,但我认为,这是taskctl为初学者设计的,反正我熟悉了代码规则后,我还是用代码方式设计,那个快是图形对话框根本不能比的。
流程图之于调度,价值不用说,用途不用说,反正太重要了。但纵观调度领域专业软件,你可能大失所望,要不没有(数据领域巨人-TD的ETL-Automation就没有),要不很简陋。当然,Control-M的流程图,曾经一度,我非常推崇,毕竟在该领域,老大当了很多年,寂寞啊。但是,当我看到TASKCTL的流程图时,我只能说,Control-M,你老了,就流程图,在调度领域,taskctl与你相比,它与你相距多年,而你与它相距太远。
TASKCTL流程图,不仅优于它精美,更贵于它的实用性。我认为,技术上,绘制一个流程图很简单,但要设计一个适用调度领域的流程图很难,这点从众多的调度软件流程图现象就知道了。
这个现象其实说明一个软件设计最核心,也是我们常常提到的功能适用性问题。调度的流程图与一般流程图相同点都是节点图标加线条,而最大的不同点在于调度流程图组织的不是几个或十几个节点,它常常组织的是几十个几百个甚至上千上万个节点。而流程图的目的不是为了画图而画图,最重要的目的需要图形来直观体现关系。很多软件在几十几百个节点面前,蜘蛛网很美,关系却非常纠结,而TASKCTL的流程图不仅在于它的精美,而且它的图形不论数量多少它的排版永不凌乱,关系永远清晰;同时,为了使大量节点图形具有可操作性,它的组织通过子流程、模块等方式非常灵活,并且,它还有很多技术特征来适应图形节点的定位,搜索,以及全局展示直观展示等操作技巧。
这种设计,我刚开始一直很奇怪,感觉是多余的,很不明白这种设计的用途,一度认为是该软件在秀设计。有了直观桌面软件还要什么字符界面呢,后台最多设计点与维护相关的功能即可(比如Contol-M),但使用一段时间,我才发现,我等长期做数据的后台人员,是何等迷恋后台命令方式。我曾经有个同事,长期做数据,习惯键盘操作,在桌面端都不用鼠标,各种操作在键盘上流畅的跳跃时,他眼睛都放出骄傲的眼神。有些时候,我们知道软件的本质时,才发现图形只是外表,其实那就是01abcde的无穷组合,鼠标也罢,键盘也罢,图形也罢,字母也罢,都是在反应同一东东。
TASKCTL字符端应用系统从另一层面满足了不同人员的使用,从这一点,我认为是可贵的,因为这些应用完全是为技术人员设计,而客户完全不关心这些东东。它没完全把经力放在更多华丽的功能上,以此来博取客户的一笑,它想到了我们非常苦逼的技术人员,我们不是买单的人,但它确实为我们做了很多。
最后,我想对该软件提几点建议: