关于BPEL的两个话题

关于BPEL,网上有很多资料.所以就没有写自己的总结.但BPEL中有两个概念困扰了我很久,直到不久前才彻底明白.

第一个概念就是关于流程的编制和编排

编制:Orchestration.首先说明BPEL属于流程编制标准.
流程编制使用一个中心流程来协调不同的 Web 服务操作。这个中心流程了解编制的总体目标、涉及的操作以及操作的调用顺序。这种集中化管理使 Web 服务能够在不了解彼此影响的情况下进行添加和删除,还允许在出现错误和异常的情况下进行补偿。其结果可以看作一个新的Web Service,可以执行,只是执行的过程需要调用别的Web服务.

编排:Choreography.可描述多个贸易伙伴为了实现多组织业务功能而进行的交互。也就是说编排主要描述的不同流程之间的交互情况.例如,在供应链方面,实施产品采购可能涉及到多家公司的定单、发货通知单和资金的交互。编排不描述每个公司如何处理操作,只描述不同公司如何彼此交互。

BPEL属于编制标准,而BPMN,个人认为既可以描述流程编制也可以描述流程编排.在一个BPMN图中如果只含有一个流程,那么它表现的就是流程编制.而如果一个BPMN图中含有多个流程(存在于不同的POOL中),那么它就表现了流程编排.而BPMN的两个子类型Collaborative (Global) B2B Processes 协作图,Public (Abstract) Process 抽象图更清晰的表现了流程的编排.

而W3C的Web Services Choreography Description Language 简称WS-CDL更是专门的流程编排标准.而WS-CDL自认为可以包含流程编制,它才是SOA发展的方向.但目前WS-CDL还不成熟,而BPEL又有多家大公司支持,所以短期内,即使BPEL不如WS-CDL强大,BPEL还是会是SOA中流程标准中的主流.

第二个概念是人工流程

业务流程的完全自动化虽然非常不错,但在实际中却是不可能实现的,因为有些活动要求相关人员做出判断,或要借助人员的专业知识(例如手动处理异常情况或审批请求等),这些活动将始终由人进行。在整个业务流程中,和任何其他任务一样,人工任务是一项服务,不过是通过人员活动(而不是程序)实现的,由相关人员(而不是计算机)执行。

因此,在SOA 编程模型中,人员活动可以作为 Web 服务实现。该服务被调用时,将通知承担任务的个人进行相关工作,并将输入数据以恰当的形式传递给此人。任务完成后,将产生相应的结果,服务会返回到其调用方,并将此结果作为输出数据传递给调用方。该结果实际由相关人员得出这一事实可能对调用方完全透明。该场景采用异步调用来支持运行时间长的服务.
BPEL正是利用自己对异步服务的支持,使用这种方式来支持人工流程的.

目前的流程标准中,BPMN作为流程的标记标准,在其图示化的编辑器中是支持人工流程的.例如其ACTIVITY就有Manual的类型.而XPDL也是支持人工流程的.而BPEL为了弥补自己对人工流程支持上的不足,又定义了BPEL4PEOPLE的标准.
BPEL4People 扩展提供了通过嵌入人工任务扩展业务流程所需的扩展功能。它可处理将手动任务呈现为不透明的独立 Web 服务的场景.
采用PyQt5框架与Python编程语言构建图书信息管理平台 本项目基于Python编程环境,结合PyQt5图形界面开发库,设计实现了一套完整的图书信息管理解决方案。该系统主要面向图书馆、书店等机构的日常运营需求,通过模块化设计实现了图书信息的标准化管理流程。 系统架构采用典型的三层设计模式,包含数据存储层、业务逻辑层和用户界面层。数据持久化方案支持SQLite轻量级数据库与MySQL企业级数据库的双重配置选项,通过统一的数据库操作接口实现数据存取隔离。在数据建模方面,设计了包含图书基本信息、读者档案、借阅记录等核心数据实体,各实体间通过主外键约束建立关联关系。 核心功能模块包含六大子系统: 1. 图书编目管理:支持国际标准书号、中国图书馆分类法等专业元数据的规范化著录,提供批量导入与单条录入两种数据采集方式 2. 库存动态监控:实时追踪在架数量、借出状态、预约队列等流通指标,设置库存预警阈值自动提醒补货 3. 读者服务管理:建立完整的读者信用评价体系,记录借阅历史与违规行为,实施差异化借阅权限管理 4. 流通业务处理:涵盖借书登记、归还处理、续借申请、逾期计算等标准业务流程,支持射频识别技术设备集成 5. 统计报表生成:按日/月/年周期自动生成流通统计、热门图书排行、读者活跃度等多维度分析图表 6. 系统维护配置:提供用户权限分级管理、数据备份恢复、操作日志审计等管理功能 在技术实现层面,界面设计遵循Material Design设计规范,采用QSS样式表实现视觉定制化。通过信号槽机制实现前后端数据双向绑定,运用多线程处理技术保障界面响应流畅度。数据验证机制包含前端格式校验与后端业务规则双重保障,关键操作均设有二次确认流程。 该系统适用于中小型图书管理场景,通过可扩展的插件架构支持功能模块的灵活组合。开发过程中特别注重代码的可维护性,采用面向对象编程范式实现高内聚低耦合的组件设计,为后续功能迭代奠定技术基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值