作者:CppExplore   http://www.cppblog.com/CppExplore/http://blog.csdn.net/cppexplore同步发布。
近3年没发文章,谨以本文总结我和团队兄弟们3年在业务之外的工作成果。

1 产品目标

降低高性能服务领域开发门槛,提高开发效率,同时解决测试、运维、监控、数据分析中的各类问题。

围绕此目标,sBPM(snda Business Process Management:盛大业务流程管理)将流程管理概念延伸到高性能服务器领域,使用SOA服务编排配置方式进行服务开发与组装,提供外围支持工具,封装监控、告警、日志类基础功能。

2 产品功能

1)支持SOA服务路由

2)支持SOA服务编排:对多个服务进行调用流程编排

Ø 通过sBPEL语法(xml风格)描述业务流程

Ø 编排流程支持:并行调用、串行调用、跳转流程,支持根据服务任意返回值、流程内变量等进行跳转或赋值操作。

Ø 支持对编排结果嵌套编排

Ø 编排目标原生支持sBPM自定义二进制协议,通过外部适配支持对HTTP协议以及其他协议进行编排。

3)支持服务编排语法进行服务开发

Ø 通过异步插件机制可任意扩展编排目标,已支持:本地内存、memcache、redis、mysql、oracle,且针对各数据源特点不同分别支持一致性hash、分库分表等策略。通过对基础存储进行编排达到服务开发的目的

Ø 通过同步插件机制可任意扩展流程内编排逻辑,已支持大量常用逻辑插件。

4)提供BPEL4WS语法向sBPEL语法转换工具,可使用BPEL4WS可视化流程编排工具进行编排

5)提供配置接口、明细日志、性能数据接口、业务量数据接口、告警接口等支持。尤其对实时日志分析提供特别支持。

6)对编排结果接口,提供HTTP/TCP两类通用授权网关对外暴露。提供TCP接口的同步、异步IPC调用。

7)对编排结果接口,提供可视化测试用例编辑器以及自动化运行器。

3 类似产品比较

在后端服务器领域,没有类似支持SOA服务编排的产品,其他领域产品存在部分类似点,比较如下:

1)    sBPM与ESB比较

ESB是对已存在的复杂异构环境的黏合剂,主要强调消息路由、协议适配。

sBPM拥有完善产品线,虽有扩展机制支持组合已有系统,但更侧重于从无到有开发全新系统;sBPM虽支持消息路由功能,但更强调服务编排功能。

通过ESB的协议适配机制可以大大加强sBPM的编排能力,可作为sBPM的补充。

2)sBPM与BPEL4WS类产品、jBPM比较

BPEL4WS使用XML语法描述业务流程,由BEA、IBM和Microsoft编写和公布,是针对WEB服务的SOA组合编排,代表产品众多,不详举。

sBPM使用sBPEL描述业务流程,提供BPEL4WS语法向本语法翻译工具,可复用BPEL4WS的可视化流程开发工具,与BPEL4WS定位于WEB服务编排不同,sBPM侧重于高性能后端服务,通过内置插件以及扩展服务不限编排组合对象,可以是基础服务、cache、本地内存、redis、mysql、oracle、http接口等。

jBPM使用自定义jpdl描述业务流程,提供可视化流程编辑器、调试器,定位为信息化、工作流领域,不强调编排目标与性能,更重视流程数据持久化、与人交互流程。

4 产品优点

1) 产品线完善:覆盖编排运行容器、可视化编排工具、可视化测试工具、运营支撑平台等。

2) 缩短产品开发时间:基于sBPM产品开发新产品,完全配置方式,颠覆传统开发方式,将产品研发时间完全缩短到产品需求提炼过程。

3) 提高产品质量:开发过程不会引入bug,节省测试成本。

4) 产品高可扩展、可维护:流程配置完全贴近业务本质,保护流程投资。流程编排方式更容易产生更强大、功能更完善的产品,维护更直接简单。

5) 高性能:sBPM将性能与稳定性做为本产品第一竞争力,容器在初始化阶段解析流程文件到内存结构,运行中采用全异步机制。基于sBPM配置产生的产品天生具有高性能,高于手写方式。

6) 可运营性:sBPM产品融合我方实际运营经验,关注配置、告警、性能、日志、安全等方面。

5 产品使用情况

通过近3年持续发展与推广,sBPM已在盛大基础平台内广泛使用,涵盖认证、注册、用户信息、计费、安全等业务。目前sBPM产品已管理过10T关系型数据库、几十亿记录,涵oracle、mysql、hbase、memcache、redis多种数据源,每日外部请求量近10亿次,内部组合调用过30亿次。

6 产品展望

1)将sBPM独立产品化,与内部运营支撑系统藕荷部分重构为插件接口,裁减掉不适合产品化部分。

2)将sBPM和私有云概念结合,搭建PAAS平台,对外提供运营服务。

sBPM产品介绍的更多相关文章

  1. FastReport产品介绍及免费下载地址

    公司地址: 俄罗斯 公司网址: http://www.fast-report.com 详细信息: 由技术总监Alexander Tzyganenko创建于1998年,Fast Reports, Inc ...

  2. 构建一个用于产品介绍的WEB应用

    为了让用户更好地了解您的产品功能,您在发布新产品或者升级产品功能的时候,不妨使用一个产品介绍的向导,引导用户熟悉产品功能和流程.本文将给您介绍一款优秀的用于产品介绍的WEB应用. 就像微博或邮箱这类W ...

  3. CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 转载

    CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 2016年09月01日 13:56:30 疯子19911109 阅读数:4823 标签:  ...

  4. 【转】虚拟化(一):虚拟化及vmware产品介绍

    由于公司最近在做虚拟化监控,因此就需要把虚拟化方面的知识给学习总结一下,对于虚拟化的概念,摘自百度百科,如下:         虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机 ...

  5. WIZnet相关产品介绍

    WIZnet  自1998年在韩国创立以来,一致专注研发全硬件TCP/IP协议栈芯片.同一时候开发设计相关网络模块和无线产品,同一时候 WIZnet 鼓舞开源硬件.相关开源硬件产品也已层出不断. 主要 ...

  6. 虚拟化(一) -VMware产品介绍

    https://www.cnblogs.com/zhrngM/p/9547928.html 由于公司最近在做虚拟化监控,因此就需要把虚拟化方面的知识给学习总结一下,对于虚拟化的概念,摘自百度百科,如下 ...

  7. Nagios学习实践系列——产品介绍篇

    Nagios介绍 Nagios是一款功能强大.优秀的开源监控系统,它能够让你发现和解决IT架构中存在的问题,避免这些问题影响到关键业务流程. Nagios最早于1999年发布,它在开源社区的影响力是相 ...

  8. iNeedle产品介绍

    一.产品简介 1.产品背景 1.您曾经遇到过下面的问题和烦恼吗?2.当网站上线以后,如何实时的了解网站的运行状况?3.当网站访问速度慢,是升级服务器?还是升级带宽?还是优化网站代码?4.当网站新上线一 ...

  9. 华为WLAN产品介绍-05

    无线AP与AC的区别 WLAN系统一般由AC(接入控制器)和AP(无线接入点)组成. 无线AP,为Access Point简称,一般翻译为“无线访问节点”,它是用于无线网络的无线交换机,也是无线网络的 ...

随机推荐

  1. MVC初学1

    MVC - Model ,View, Control 主要的程序思想:约定优于配置 百度下载程序:百度一下 密码:654321 百度视频地址:百度一下

  2. memcached 入门

    memcached 是什么? Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. memcached 能够做些什么? 适用于大型网站,处理千万及的数据,而且 ...

  3. jquery学习之旅

    在jQuery中,css()方法的功能是设置或获取元素的某项样式属性. $<"div">.css("font-weight","bold& ...

  4. Firebug中命令行栏(Commandlinie)的使用介绍和总结

    Commandlinie是Firebug中总有用的一个特性.如果你有Microsoft Visual Studio的使用经验,你就会知道“Immediate Window” 和“Watch Windo ...

  5. StrongReference

    原创作品:未经本人允许,不得转载前段时间写项目时遇到了一个问题,就是从网络获取图片资源的问题,总是出现OOM异常,经过几天的努力,终于处理的还算是可以使用,OOM的处理一直都是很头疼的问题.对于三级缓 ...

  6. Android中WebView的JavaScript代码和本地代码交互的三种方式

    一.Android中WebView的漏洞分析最近在开发过程中遇到一个问题,就是WebView使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视 ...

  7. git+Coding.netの小试牛刀

    一.将本地项目推送到Coding中 1.在Coding中新建项目,填写项目名称和项目描述,设置属性,勾选初始化仓库

  8. EFBaseDal新增删除方法

    public T Delete(int id )        {            var entity = db.Set<T>().Find(id);            T t ...

  9. Nodejs and json

    http://cnodejs.org/topic/51bbe16960af11cd33304b75 http://www.cnblogs.com/nano/archive/2012/05/09/249 ...

  10. Android 判断是否联网 是否打开上网

    ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ...