BPMS 还是单纯的编程? [英] BPMS or just plain programming?

查看:15
本文介绍了BPMS 还是单纯的编程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在实施业务流程时,您更喜欢什么(从您的开发人员的角度来看)?

What do you prefer (from your developer's point of view) when it comes to implement a business process?

业务流程管理系统 (BPMS) 还是您最喜欢的带有所需工具和框架的 IDE(例如报告工具)?

A Business Process Management System (BPMS) or just your favorite IDE with the needed tools and frameworks (a reporting tool for example)?

在您看来,与带有您的个人工具和框架的 IDE 相比,BPMS 的最大优势是什么?

What is from your point of view the greatest Benefit of a BPMS compared to an IDE with your personal tools and frameworks?

好的.也许我应该更具体一点……我了解了一种特定的 BPMS,它应该可以通过配置规则轻松实现业务流程.但是对于我作为开发人员来说,很难使用该系统.我想使用可以重构的文本文件,并且我希望能够为我必须做的工作选择正确的技术或框架.相反,系统会强制我进行配置.

OK. Maybe I should be more specific... I got to know one specific BPMS which should make it easy to implement a business process by configuring rules. But for me as a developer it is hard to work with the system. I would like to work with text files which I can refactor and I would like to be able to choose the right technology or framework for the job I have to do. Instead the system forces me to configure.

有一些规则可以让我使用 java,但即便如此,我也必须坚持使用系统编辑器而不使用智能感知等.

There are rules where I can use java, but even then I have to stick to the systems editor without intellisense etc.

所以这让我找到了自己问题的答案——我想使用我习惯使用的工具,而不是必须学习如何使用 BPMS(至少是我知道的那个),因为它限制了我更多比它有帮助.我所知道的 BPMS 是一个难以摆脱的框架!目前,我更喜欢像 Grail 这样的框架,而不是我知道的任何 BPMS.

So this leads me to the answer of my own question - I would like to use the tools I am used to instead of having to learn how to work with a BPMS (at least the one I know) because it limits me more than it helps. The BPMS I know is a framework from which it is hard to escape! At this time, I would prefer a framework like Grail over any BPMS I know.

因此,也许更具体的问题是:您是否有同样的感觉,或者是否有 BPMS 支持您成为开发人员并像开发人员一样思考,或者它们中的大多数是否会迫使您以不同的方式完成工作?

So maybe the more specific question is: do you feel the same or are there BPMSes which support you in beeing a developer and think like a developer or do most of them force you to do your job a different way?

推荐答案

不确定您到底要问什么,但 BPM 与纯编程的选择将取决于需求.业务流程"在软件工程中是一个相对模糊的术语.

Not sure what exactly you ask, but the choice BPM vs. plain programming will depend on the requirements. A "business process" is a relatively vague term in software engineering.

这里有几个标准来评估您的需求:

Here are a few criterion to evaluate your needs:

  • 规则的复杂性 - 您的流程中体现的决策/规则是否简单、复杂、可配置、硬编码?
  • 流程的波动性 - 您的流程多久更改一次?谁应该能够做出改变?
  • 集成需求 - 您的流程是使用多个异构服务实现的,还是全部使用同一种语言实现?
  • 同步/异步 - 您的进程是否长时间运行"并需要处理异步操作?
  • 人工任务 - 您的流程是否涉及人工交互,并根据他们的角色/职责将任务分配/路由给人们?
  • 流程监控 - 您希望对正在执行的现有流程实例进行何种级别的控制?您是否需要审核操作等?
  • 错误处理 - 根据前面的几点,您打算如何处理错误,或重试错误的流程执行?
  • complexity of the rules - Are the decisions/rules embodied in your process simple, complicated, configurable, hard-coded?
  • volatility of the process - How frequently does your process change? Who should be able to make the change?
  • integration need - Is your process realized using multiple heterogenous services, or is all implemented in the same language?
  • synchronous/asynchrounous - Is your process "long-running" with the need to handle asynchronous actions?
  • human tasks - Does your process involves human interaction, with task being assigned/routed to people according to their roles/responsibilities?
  • monitoring of the process - What is the level of control you want on the existing process instances being executed? Do you need to audit the actions, etc. ?
  • error handling - Depending on the previous points, how do you plan to deal with errors, or retry of faulty process execution?

根据这些问题的答案,您可能会意识到您的流程更接近于简单状态 包含一些可以按顺序执行的动作和决策的图表,或者您可能会意识到您需要更详细的内容,并且您不想自己重新实现所有这些.

Depending on the answer to these questions, you may realize that your process is closer to a simple state chart with a few actions and decisions that can be executed in a sequence, or you may realize that you need something more elaborated, and that you don't want to re-implement all that yourself.

普通编程成熟的 BPM 解决方案(例如 Oracle BPM 套件,其中包含 BPEL规则引擎等),还有中间解决方案jBPMWindows Workflow Foundation 可能还有很多其他的.这些中间解决方案通常是很好的权衡.

Between plain programming and a full-fledge BPM solution (e.g. Oracle BPM suite which contains BPEL, rule engine, etc.), there are intermediate solutions such as jBPM or Windows Workflow Foundation and probably a lot of others. These intermediate solution are frequently good trade-off.

这篇关于BPMS 还是单纯的编程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆