我们可以肯定地说,如果ESB提供了业务流程功能,那么它就有资格成为BPM的实现?
我了解BPM的目的不同,那就是对某些业务流程进行建模,并且可以通过任何简单的Java/J2EE应用程序,复杂的SOA应用程序或某些声称提供BPM的应用程序来实现这些业务流程的实现。那正确吗?
最佳答案
第一个问题:
您的声明对仅建模请求-响应交互的某些业务流程有效。
但是,对于复杂的业务流程,我们需要考虑业务流程功能之外的其他功能。在这里,我列出了一些这样的方案。
第二个问题:
是的。但是与您提到的实现机制相比,BPM引擎有很多优点。
一个优点是,不可能达到BPM引擎从Java应用程序提供的建模抽象级别。假设我们使用JAVA应用程序来实现业务流程逻辑,并且该业务流程已投入生产。假设我们需要更改其合作伙伴服务的端点URL。在这种情况下,现在需要修改,重新编译和重新部署到生产系统中的业务流程实现。如果我们使用诸如WS-BPEL之类的业务流程语言标准来实现业务流程,则可以非常轻松地更改业务流程配置并将其推回生产环境。这样可以提高效率并降低业务维护成本。
同样,还有其他原因,例如容易适应性和灵活性。
关于soa - BPM与ESB-编排?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10108465/