Windows Workflow Foundation:建议如何设计架构
我们正在基于我们的自定义框架(库)运行多个相同的 ASP.NET 应用程序(每个客户一个)。每个应用程序都使用自己的数据库(连接字符串术语中的初始目录)。现在我们想向应用程序添加工作流功能(当然是 4.0;)。因此,所有应用程序的特定工作流程都是相同的,只有每个工作流程的一些初始设置可能会有所不同,例如,在一个应用程序中,电子邮件将发送给用户 X,但在其他应用程序中,将发送给用户 Y。
我有几个常见问题如何设计架构:
(1)工作流数据库可以为所有应用程序共享吗?
(2) 在哪里托管工作流引擎 - 在我们的自定义 Windows NT 服务中还是在 IIS 中?选择合适主机的标准是什么?
(3)工作流引擎应该如何与应用程序通信?应用程序是否应该调用工作流主机中配置的某些 WCF 端点 API,反之亦然 - 每个应用程序是否应该提供 WCF 端点 API 并且工作流引擎将调用它?那么工作流引擎如何识别应用程序呢?这两种情况可能都需要一些应用程序标识符作为 API 调用中的参数?
(4) 我们还希望根据工作流程状态将一些信息存储到应用程序数据库中。是否可以?
感谢您的建议!
We are running several the same ASP.NET applications (one per customer) based on our custom framework (libraries). Each application use its own database (Initial Catalog in the term of connection string). Now we would like to add workflow capability (of course 4.0 ;) to the applications. So the particular workflows will be the same for all the applications only some initial settings of each workflow can vary, e.g. in one application the e-mail will be send to the user X, but in other application to the user Y.
I have several general questions how to design architecture:
(1) Can be the workflow database shared for all the applications?
(2) Where to host workflow engine - inside our custom windows NT service or inside IIS? What are the criteria to choose the right host?
(3) How the workflow engine should communicate with applications? Should application call some WCF endpoint API configured in workflow host or vice verse - should each application provide WCF endpoint API and workflow engine will call it? How then the workflow engine will identify applications? Both cases requires probably some application identifier as a parameter in API calls?
(4) We would like to also store some information to the application databases based on the workflow states. Is it possible?
Thanks for suggestions!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我将遵循罗伯特的建议并写单独的问题。这是第一个 Windows Workflow Foundation:多个应用程序
I'll follow Robert's suggestion and write separate questions. Here is the first one Windows Workflow Foundation: Multiple applications