BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Flux 7.7:增强的监控及安全的FTP能力

| 作者 Alexander Olaru 关注 0 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2008年3月10日. 估计阅读时间: 7 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Flux是一个使用Java编写的商业产品,提供了任务调度、文件传输以及工作流管理能力——它可以独立运行,也可以嵌入式软件组件方式在Java、J2EE和Web Services环境下运行。与Quartz以及其他完成类似功能的开源框架相比,Flux不仅可由开发者使用,还能让不懂技术的用户使用——他们可以通过Web或者桌面界面的方式设计工作流或者通过操作控制台(Operations Console)监视工作流执行情况。Flux通过使用触发器(triggers)、动作(actions)、流程(flows )来提供非常灵活的流程处理设置,而它们又可以组合起来以创建更复杂的流程图:

  • 动作action)执行一些功能,如开始一批任务、传输一个文件、更新数据库或者调用J2EE应用。当准备执行任务时,Flux通过调用用户定义的回调来与Java集成,并且在J2EE环境下可以调用session、消息驱动beans(message-driven beans)以及发送JMS消息。
  • 触发器trigger)可以触发一次、多次或者根据事件驱动来触发。Flux提供了一个预先定义好的触发器和动作套件,但是自定义的套件也可以被构建并集成到流程图中。
  • 流程flow)可以将触发器或动作彼此连接起来。一旦触发器被触发,流程会指引一个恰当的动作来执行。该执行既可以是无条件的(例如:当一个邮件触发器被触发时,执行就会无条件地转到数据库动作中)也可以是有条件的(例如:根据邮件的发送者不同,执行会进入不同的动作分支中)。 

我们可以通过Flux APIs以编程的方式来建立流程图,也可以通过Web设计器以图形化的方式来建立流程图,在之前的版本中已经存在Web设计器了,相对于已有的桌面设计器(用Swing构建的),它是我们的另一种选择。尽管Flux主要面向Java环境,但是它也可以调用和监控其他语言编写的批处理和可执行代码,这是通过Flux Agents实现的,它支持在远程机器上执行脚本。

在Flux7.7中 ,Web设计器已经得到了增强,可以建立与不同方式的文件传输相关的动作和触发器。在已有的使用SFTP主机的基于密码认证的基础上,又增加了基于证书的认证,以确保B2B文件传输的安全。Web设计器的另一个新特性是运行时的数据映射,它可以让开发者在一个任务和工作流中进行actions间的数据移动。

在与InfoQ的讨论中,Flux的主席David Sims谈到“要使得Web设计器达到桌面设计器的水准,还需要大约6个月的工作量”——他们之间的差别主要在于消息,信号和业务日历。另一个可嵌入到Web应用中的组件——操作控制台——在7.7中已经得到了改进:其可伸缩性更强,现在它可以监控数以千计的任务和流程图。

Flux Operations Console Grid

Sims谈到了Web设计器和操作控制台作为嵌入式组件的一个常见的场景:

典型地,在金融机构、金融软件公司或者其他企业中的Java开发团队对其应用进行扩建并在其应用中嵌入Flux任务、工作流和文件传输能力。然后该企业部署其应用,而IT职员的任务就是监控、控制和使用该应用。

这就是操作控制台的用武之地了。企业的IT职员可以使用它来控制任务、工作流以及文件传输,这些都是企业应用的一个内在部分。

作为一个简单的例子,考虑如下情况:某企业使用Flux引擎作为核心构建了一个基金账户管理软件。他们的Java应用需要初始化、跟踪以及管理基金和账户,但是IT职员需要从他们的角度做一些管理工作。IT职员需要使用Flux操作控制台对系统进行实时调整。

Flux7.7是完全兼容于之前的版本的,并且它不需要对数据库schema做任何改变,在这里数据库是可选的,它可用来对任务/工作流,定义和运行时任务执行信息进行持久化。Sims还与我们分享了Flux的一些技术细节以及新的web组件:

我们已经使用了相当多的JavaScript库和技术(GWT、Dojo、Prototype+Scriptaculous等等),并且我们正在利用支持的ExtJS部件(widgets)向RESTful架构进行迁移。

通过在浏览器中使用XPath直接读取大容量(5MB)的XML工作流,我们已经提高了可伸缩性。这大大降低了浏览器与服务器之间的Ajax通信,因为浏览器完全可以操纵工作流XML,当所有修改完成后,它再将结果发送到服务器端。与更多地使用Ajax请求以在服务器端执行任务的情况相比,这种方式要快90%以上。

与David Sims的交谈以他给出的Flux下一个版本的路线图作为结束:

在今年5/6月份,Flux8.0将会发布。Flux的API也将由从2000年开始一直采用的工厂设计模式转为POJO模型。POJO模型使得Flux可以更容易地集成到其他框架中,最明显的就是Spring。

在Flux8.0中,将会有更多的针对Flux引擎的JavaScript部件、BPM dashboard、流程图(任务/工作流/业务流程)、执行流程图、日志、审计、仓库、代理以及用户管理,用来查询和更新数据库表的新的数据库触发器和动作。

从HSQL升级到Derby。更新到Java 5,尤其是利用泛型来更好地注解使用集合的Flux APIs。根据用户的反馈有可能增加Flux REST API。一般来说,我们每隔四个月就会发布一个新的Flux版本。

在Flux的网站以及产品手册上有关于Flux的更多信息。

查看英文原文: Flux 7.7: Increased Monitoring and Secure FTP Capabilities
译者简介:张龙,同济大学软件工程硕士,现就职于理光软件研究所。主要从事文档工作流和办公自动化解决方案的研发工作。热衷于Java轻量级框架的研究,对敏捷方法很感兴趣。曾有若干年的J2EE培训讲师经历。参与InfoQ中文站内容建设,请邮件至china-editorial[at]infoq.com

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT