Workflow system [closed]

心不动则不痛 提交于 2019-12-05 10:07:12

Check out Apache's Active MQ. It implements the Java Message Service 1.1 specification, layers on a servlet API, and has tons of features that should address your requirements. You can also layer on Camel, which adds a rich implementation of many enterprise integration patterns.

Typically, JMS messages are persisted in a transactional database, which can be configured to give you extremely high degrees of fault tolerance (eg, RAID, master-backup database machine pairs, multiple copies of transaction log files). On top of the database can go multiple, load-balanced app server machines running Active MQ, to give you scalability and high-availability. I think you'll find that you can write your components in a very decoupled fashion if you use Active MQ as your common message bus.

In JMS, when a message is de-queued by a consumer, the consuming process must later confirm that the message was successfully handled. If a confirmation does not come in in time, the JMS system will revive the message so another consuming process can attempt to handle it. This means you can run multiple copies of your application to gain reliability and fault tolerance.

Take a look at O'Reilly's Java Message Service, 2nd Edition, which just came out this week.

A different avenue would be to look into BPEL (Business Process Execution Languge).

Edit: I'm not very familiar with Microsoft offerings, but MSMQ seems like the equivalent to JMS.

You should be able to use ActiveMQ in a Microsoft environment. They claim to support "cross language clients" like "C# and .NET". And even if that should be problematic, since ActiveMQ has a Java servlet-based API for queueing and de-queuing messages, the outside world only has to be able to make HTTP requests to the ActiveMQ server. That should limit the amount of learning your team would have to do. Good luck, this sounds like an awesome project!

SharePoint has a workflow engine that works very well. You can build your workflow using SharePoint designer or Visual Studio 2008. It uses Windows Workflow, which is similar to BizTalk (if not the same engine), but without BizTalk's other services that may not be necessary for your application.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!