2009-05-26 47 views
4

我刚刚开始了一家新的通信公司,我们正在寻找一个工作流程/内联网系统来管理工作和流程。工作流程系统

基本上,我们从客户端接收数据文件,然后通过我们的系统进行处理。

  1. 接收数据文件(FTP,电子邮件等)
  2. 过程数据文件(具有数据映射到文件中,或定制软件包ETL通用脚本)。增加了地址值
  3. 创建的PrintStream(发送处理后的数据文件转换为后记/ PDF合成引擎),或创建电子邮件输出
  4. 发送输出到生产车间(复制到打印机的输入流,邮件机)
  5. 过程的其他流(例如发送电子邮件/传真,上传到电子归档)
  6. 更新内部系统(如仓库库存,发票)

我们还有很多其他的内部业务流程(如后处理损坏的输出,处理死/返回的邮件)。

我试图保持所有元素分离。有些将成为现成的(例如,打印流构图,电子邮件发送/管理,CRM)。有些将在室内建造(例如重新处理损坏的产品)。

但是,我正在寻找一些能够将它们结合在一起的东西,并将业务工作流程过程纳入其中。调度作业,依次启动数据处理任务和管理错误。很多这将有人的步骤。此外,还要加入SLA管理和业务活动监控/报告。

一个关键的要求很快就是自动文件接收和处理(即目录监视和匹配客户端/应用程序)。

我渴望易于管理和维护的东西(例如,将新步骤添加到工作流或条件逻辑等)。

我意识到这是一项很大的工作,目前我们专注于每个组件并将手动流程置于适当的位置,直到我们获得一个系统来管理它。我们不想设计一个庞大的定制系统来捆绑它,但宁愿看购买某种工作流程或集成系统。

有什么建议吗?我看了一下Biztalk,但不确定它是否过度或不适合仅适用于内部系统。我接触过的另一款产品是Sagent自动化,但它看起来有点小瑕疵。

- 编辑 -

忘了提,我们现有的技能主要是微软。因此,任何基于Microsoft技术/ .Net的应用程序都是可取的。但是,如果有一个梦幻般的产品,我们不会提高

回答

3

检查Apache的Active MQ。它实现了Java消息服务1.1规范,servlet API上的图层,并且具有许多可满足您需求的功能。你也可以在Camel上分层,这增加了许多enterprise integration patterns的丰富实现。通常,JMS消息被保存在事务数据库中,该数据库可以配置为提供极高的容错度(例如RAID,主备备份数据库机器对,事务日志文件的多个副本)。在数据库的顶部可以去多,负载均衡应用服务器的机器运行Active MQ,给你的可扩展性和高可用性。我想你会发现,如果你使用Active MQ作为你的公共消息总线,你可以以非常分离的方式编写你的组件。

在JMS中,当消息被消费者去排队时,耗时的过程稍后必须确认该消息被成功地处理。如果确认没有及时进来,JMS系统将恢复该消息,以另一种耗时的过程,可以尝试来处理它。这意味着您可以运行应用程序的多个副本以获得可靠性和容错性。

看看O'Reilly的Java Message Service, 2nd Edition,其本周刚出来。

不同的途径将考虑BPEL(业务流程执行Languge)。

编辑:我不是很熟悉微软的产品,但MSMQ看起来像JMS的等价物。

应该能够在Microsoft环境中使用ActiveMQ。他们声称支持“cross language clients”喜欢“C#和.NET”。即使这样做有问题,由于ActiveMQ有一个用于排队和排队消息的基于Java servlet的API,外部世界只需要向ActiveMQ服务器发送HTTP请求即可。这应该限制你的团队需要学习的数量。祝你好运,这听起来像一个很棒的项目!

0

SharePoint的工作流引擎工作得很好。您可以使用SharePoint设计器或Visual Studio 2008构建工作流程。它使用Windows Workflow,它类似于BizTalk(如果不是相同的引擎),但没有BizTalk的其他服务可能不是您的应用程序所必需的。