sBPM产品介绍
作者: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产品介绍的更多相关文章
- FastReport产品介绍及免费下载地址
公司地址: 俄罗斯 公司网址: http://www.fast-report.com 详细信息: 由技术总监Alexander Tzyganenko创建于1998年,Fast Reports, Inc ...
- 构建一个用于产品介绍的WEB应用
为了让用户更好地了解您的产品功能,您在发布新产品或者升级产品功能的时候,不妨使用一个产品介绍的向导,引导用户熟悉产品功能和流程.本文将给您介绍一款优秀的用于产品介绍的WEB应用. 就像微博或邮箱这类W ...
- CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 转载
CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念及 Chelsio T5 产品介绍 2016年09月01日 13:56:30 疯子19911109 阅读数:4823 标签: ...
- 【转】虚拟化(一):虚拟化及vmware产品介绍
由于公司最近在做虚拟化监控,因此就需要把虚拟化方面的知识给学习总结一下,对于虚拟化的概念,摘自百度百科,如下: 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机 ...
- WIZnet相关产品介绍
WIZnet 自1998年在韩国创立以来,一致专注研发全硬件TCP/IP协议栈芯片.同一时候开发设计相关网络模块和无线产品,同一时候 WIZnet 鼓舞开源硬件.相关开源硬件产品也已层出不断. 主要 ...
- 虚拟化(一) -VMware产品介绍
https://www.cnblogs.com/zhrngM/p/9547928.html 由于公司最近在做虚拟化监控,因此就需要把虚拟化方面的知识给学习总结一下,对于虚拟化的概念,摘自百度百科,如下 ...
- Nagios学习实践系列——产品介绍篇
Nagios介绍 Nagios是一款功能强大.优秀的开源监控系统,它能够让你发现和解决IT架构中存在的问题,避免这些问题影响到关键业务流程. Nagios最早于1999年发布,它在开源社区的影响力是相 ...
- iNeedle产品介绍
一.产品简介 1.产品背景 1.您曾经遇到过下面的问题和烦恼吗?2.当网站上线以后,如何实时的了解网站的运行状况?3.当网站访问速度慢,是升级服务器?还是升级带宽?还是优化网站代码?4.当网站新上线一 ...
- 华为WLAN产品介绍-05
无线AP与AC的区别 WLAN系统一般由AC(接入控制器)和AP(无线接入点)组成. 无线AP,为Access Point简称,一般翻译为“无线访问节点”,它是用于无线网络的无线交换机,也是无线网络的 ...
随机推荐
- MVC初学1
MVC - Model ,View, Control 主要的程序思想:约定优于配置 百度下载程序:百度一下 密码:654321 百度视频地址:百度一下
- memcached 入门
memcached 是什么? Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. memcached 能够做些什么? 适用于大型网站,处理千万及的数据,而且 ...
- jquery学习之旅
在jQuery中,css()方法的功能是设置或获取元素的某项样式属性. $<"div">.css("font-weight","bold& ...
- Firebug中命令行栏(Commandlinie)的使用介绍和总结
Commandlinie是Firebug中总有用的一个特性.如果你有Microsoft Visual Studio的使用经验,你就会知道“Immediate Window” 和“Watch Windo ...
- StrongReference
原创作品:未经本人允许,不得转载前段时间写项目时遇到了一个问题,就是从网络获取图片资源的问题,总是出现OOM异常,经过几天的努力,终于处理的还算是可以使用,OOM的处理一直都是很头疼的问题.对于三级缓 ...
- Android中WebView的JavaScript代码和本地代码交互的三种方式
一.Android中WebView的漏洞分析最近在开发过程中遇到一个问题,就是WebView使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视 ...
- git+Coding.netの小试牛刀
一.将本地项目推送到Coding中 1.在Coding中新建项目,填写项目名称和项目描述,设置属性,勾选初始化仓库
- EFBaseDal新增删除方法
public T Delete(int id ) { var entity = db.Set<T>().Find(id); T t ...
- Nodejs and json
http://cnodejs.org/topic/51bbe16960af11cd33304b75 http://www.cnblogs.com/nano/archive/2012/05/09/249 ...
- Android 判断是否联网 是否打开上网
ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ...