版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、BPM亍业趋势报告:Oracle BPM 套件 11g 先睹Bruce Silver Associates- BPM独立专家2010 年 6 月无障碍的 BPM随着BPM市场的成熟,现在是时候宣布专门的“适合目的 (fit-for-purpose) ”的BPM 套件时代正式来临了。不久前 BPM购买者还不得不在以人员为中心的一套流程解决方案与 以集成为中心的另一套流程解决方案之间做出选择。一些解决方案关注于业务增强,另一 些解决方案则对开发人员更有吸引力。一些 BPM歎件必须构建于SOA之上,于此同时,另 一些则完全忽略了 SOA。时光飞逝,今天的BPM购买者已不想在企业内引入更多的 BPMS
2、tt岛。他们需要一个单 一的BPMSP台实现无障碍的BPM可以同时适合以人员为中心的流程和以集成为中心的流 程,提供业务增强与丰富开发工具,基于模型,但又基于强大的SOAS础;并且他们还希望基于开放标准实现;此外,还需要采用主流技术。使得这些购买者的期望成为现实的关键是 BPMN.0,来自OMG&织的最新流程定义语言 规范。对于流程分析人员和架构师而言,BPMI如同流程图形符号一样熟悉,但是,BPMN2.0 在熟悉的图形形状和符号之下,额外提供了标准执行流程设计语言。 我们热切地等待第一 款基于BPMN 2.0的BPM套件,现在已经出现了: Oracle BPM 套件11g。本报告将带您先睹O
3、racle BPM套件11g,并且看到它确实在实现无障碍 BPM的目标上已 经前行了很长的路。 Oracle BPM 套件是 Oracle 融合中间件的一部分,将业务驱动的设计 与强大的人员为中心的BPM合成在一起,并具有来自Oracle公司的所有IT基础架构功能。 版本11g在一个功能强大的统一架构中(图1)组合了以前的两种互为替换的 BPM解决道 路:一种基于BPMN另一种则基于BPEL因此版本11g看上去就像是BPM市场的游戏改 变者。图 1.Oracle BPM 11g 架构BPMN 2.0 -从开始就设置了很高的横杆在过去数年中, BPMN1.x 几乎已经成为业务流程建模的标准。看上
4、去类似传统泳道图的 简单图形化符号形式,对业务用户很有吸引力。但是BPMF除了这些特点,还有一些对于可执行流程设计至关重要的特性,诸如:所有形状和符号的精确语义,都定义在一个清楚的元模型(metamodel)中;支持广泛的事件(某些事情发生的信号)和事件处理的图形化建模,对于异常情况 的建模至关重要; 以消息和信号事件方式支持流程间通讯,将流程的执行与客户、服务提供者和其他 内部流程之间的通讯链接起来。这一切都在流程图中清晰地表示出来。许多BPMSt分利用了 BPMN.x,在可执行流程设计中鼓励业务与IT的协同。在流程引 擎上执行需要的技术细节可以在图形中每个形状下定义,但是在过去,每个BPM
5、SfE是以自己私有方式实现的。在实施周期中,业务人员可以与流程设计者协同,但是设计细节对于 每一个BPMSfE是私有的。然而在BPMN 2.0中,这种限制没有了。执行需要的技术细节成 为了标准的一部分,从而使得 BPMN2.0 成为有效的新流程执行语言。它结合了标准流程运 行时的优势,同时具有标准化建模符号的业务增强固有特性。 Oracle BPM 11g 是第一个 基于可执行 BPMN 2.0的 BPMS。图形化流程模型的直接执行被称为 WYSIWYE: what you see is what you execute (所 见即所执行)。换句话说,您在图纸上看到的流程图, 事实上就是运行在
6、流程引擎中的流程。而目前的一些其他工具则不同,它们必须将 BPMN模型映射为BPEL来执行。WYSIWY意味 着没有循环问题,或对于BPMI模型业务不友好的限制。采用 WYSIWY方式,流程模型对于 开发者而言,除了业务需求之外,具有更多的意义。您看到的事实上就是您运行的。一些 特定的以人员为中心的BPMS也暂时具有 WYSIWYE但是采用了私有的运行时,并且没有一 个强大的SOA基础。Oracle BPM 11g基于世界级的SOA平台,采用最新BPM标准,实现了 WYSIWYEOracle 不仅仅是第一个推出了 BPMN 2.0的支持,并且在未来相当长的时间里,为 BPM 设置了相当高的竞争
7、门槛。今天,其他BPM例行公事一样地忽略了 BPM最强大的两个特征:事件处理和流程间通讯。如果需要支持的话,通常会以开发者编写脚本的方式,隐藏 在图形后面,而不是在BPMN中对流程分析员显示出来。因此,当有需要进行异常处理时, 许多BPMN 1.x的解决方法事实上不是 WYSIWY的。然而,Oracle BPM 11g则使得异常处 理和流程间通讯,如同它们实际执行一样,在BPMNB形中变得可见。Oracle支持所有三种最重要的BPMN事件类型:消息Message (点对点流程间通讯),错 误 Error (从子流程到父流程的异常传播) ,和定时器 Timer(deadline 触发的行为),再
8、 加上信号 Signal (常规目的的发布订阅集成) 。当在活动( Activity )的边界上画图时, 这些事件表示如果活动运行时事件触发器发生了,则流程会初始化一个边界事件之外的异 常流。(这个活动可以是简单任务或完整的子流程。 )如果活动完成而没有事件触发,那么 异常流就被忽略。 边界事件可以用来实现如下场景, 如描述客户在订单过程中发生了什么, 或者一个活动花了太长时间,又或者一个服务返回了一个异常(图2)。图2.Oracle支持所有重要的异常处理的 BPMI事件类型Oracle BPM套件11g既支持中断式边界事件(触发器会中止原来活动),也支持非中断 式边界事件(异常流与原来活动并
9、行运行)。Oracle也支持一种新的BPMN勾造,称为事件 子流程( event subprocess ),类似于边界事件,但是事件处理者运行在原来活动上下文之 中。在每一个图形形状之后,BPMN 2.0定义了自动化执行需要的技术细节,使得 BPM!真正 成为类似BPEL一样的流程执行语言。Oracle BPM套件11g也继续支持BPEL并且事实上, Oracle BPM套件11g可以同时地运行 BPEL和 BPMN 2.0流程。BPEL作为一个标准运行时 具有的许多优势也适用于 BPMN 2.0,诸如移植到第三方引擎,最终降低成本和业务风险。BPEL擅长于组合自动的服务,BPMN.0则在几个
10、方面更适合BPM它不限制流程模型在 严格的块结勾( block structure )中,这些块结勾会让业务人员很迷惑。此外,执行是直 接勾建在图形化符号之上的,而这些图形化符号已经被业务分析员和架勾师广泛采用。未 来,我们会看到:在SOA层,更多采用BPEL来组合自动化服务,而在 BPM层,更多采用 BPMN2.0实现端到端流程建模。Oracle BPM套件11g解决方案包括了同时运行的 BPMI和BPEL模块,并且通过消息彼此通讯。业务增强的实现很久以来,以人员为中心的纯 BPM供应商通过BPMN调业务增强,但是他们缺乏一个 强大的SOAS础。现在Oracle为基于SOA勺BPM带来了业务
11、增强实现。业务增强的关键是 前面已经讨论过的 WYSIWYE分析员使用的同一个流程模型也被用来执行。业务人员创建 的模型不仅仅是一个需求文档, 也是模型实现的一部分。 该特性大大鼓励了业务与 IT 在实 施周期内以紧密协同的方式实现迭代开发。 当前许多基于SOAK BPM套件采用BPM进行业 务层面的流程建模,这些模型通常被映射为不同的流程语言来执行,如BPEL那不是WYSIWYE在流程实施中限制了业务一IT的协同。但是,由于Oracle BPM套件11g在建模 和执行两个层面支持BPMN这就意味着您不必放弃WYSIWYE就可以将BPM勾建在强大的 SOA基础上。Oracle已经为BPM套件1
12、1g装载了必要的特性,以支持项目生命周期内的业务一IT协同。业务用户在浏览器界面的流程编写器(Process Compose)中创建BPM流程模型,利 用预先组装的角色、服务和类似流程组件的目录,作为实施设计的起点。流程编写器中的 文档字段可以获取使用场景的细节描述。 流程分析员使用流程编写器和基于 JDeveloper 的 BPMStudio 来进一步细化流程模型, 添加实施细节, 定义业务指示器( Business Indicator ) 来保留BAM数据(BAM Bus in ess Activity Mon itor),并且模拟流程以优化业务性能。流程开发者使用 BPMStudio 的
13、零编码工具创建更技术化的组件,如自动化服务、适配器和 调解流。所有的设计组件均通过 Oracle元数据存储(Oracle Metadata Store , MD$实现可重 用。在BPM Studio中,每个BPM项目都包括了一个业务目录(Business catalog ), 一个 共享流程相关对象(如服务、业务对象、事件和异常)的可重用容器。当BPM项目被发布为一个BPM项目模板后,业务目录中的对象就可以被流程分析员使用流程编写器进行再组 装。最终结果就是一个既支持从上到下(Top dowr),也支持从下到上(bottom up)实 施风格的BPM平台,敏捷的业务一IT协同贯穿其间(图3)。
14、图3.Oracle BPM 套件11g中的业务-IT 协同BPM StudioOracle BPM Studio 设计环境运行在 Oracle JDeveloper IDE 中。除了 BPMN 2.0流程编 辑器(图 4)之外, BPM Studio 提供了编辑器,编辑流程数据、组织角色、人工任务(包 括指派与用户界面)、业务规则、业务活动监视、以及完整BPM解决方案中的其他所有组件。 利用JDeveloper的角色设置,业务流程开发者和流程分析员会在BPM Studio中看到不同的编辑器。图 4.BPM Studio 中基于 BPMN 2.0的流程编辑器BPMStudio 也支持流程模型的模
15、拟分析,基于估计的参数得到期待的周期事件、吞吐量 与成本。 Oracle 模拟提供了大多数竞争工具中缺乏的高级特性,诸如支持业务日历和跨多 个流程的项目级模拟(图 5)。图 5.BPM Studio 中的项目级模拟流程编写器除了 BPM Studio 之外, Oracle 还通过第二个称为流程编写器(图 6)的工具支持业务 增强。流程编写器运行在浏览器中,而不是 JDeveloper 中,将访问扩展到了更广泛的业务 用户。与BPM Studio 一样,流程编写器也提供了 BPMI编辑功能,但是没有定义实施组件 的能力,诸如人工任务、服务、或业务对象。 编写器可以用来实现从上到下( Topdow
16、n) 的方式,在编写器中创建流程蓝图( Process blueprint ),本质上是流程模型注释,需要 使用BPM Studio的开发者完成这些流程注释;或者实现从下到上(bottom up)的方式, 使用业务目录中预先定义并呈现为项目模板( project templates )的组件,重新组合可 执行流程。正是因为流程编写器发展支持了广泛范围的流程设计对象,它将成为业务用户 与流程分析员手中建模和设计以人员为中心流程的完整工具。图6.流程编写器通过 Wet浏览器提供了基于BPMN 2.0的流程设计 每个项目模板包含了选定的组件,表示了人工任务、服务、业务对象以及更多。使用模 板,业务分
17、析员可以在一个新的或修改的流程中重用它们, 甚至无需接触 JDeveloper 就可以将它们直接部署在运行环境中。因为项目模板源自BPM项目,因此它们包含了定制化的约束,以提高流程管控,阻止选定特征的非授权修改。此外,流程编写器允许业务分析员 设计或修改活动指南和业务规则,我们将稍后在本报告中进一步讨论。表单设计对业务分析员而言, BPMStudio 允许通过一次点击,从指定任务数据和输出值(比如批 准或拒绝),自动生成基本的任务表单。此外,工具还提供了向导,简化了客户化任务表单 和屏幕流(Screenflow )的开发。BPM任务表单是基于 Oracle应用开发框架的(Application
18、 Development Framework,ADF) ,使用向导以 Java Server Page XML 文件( .jspx )方式配 置的。ADF是基于行业标准Java Server Face(JSF)的声明式框架。它包含了一系列丰 富的交互组件,零编码 WYSIWYG计器,和BPM特性向导,用来自动生成任务 UI表单。业 务用户可以拖拽表单设计组件,配置它们绑定到BPM数据和动作。ADF可以将任何后台数据源抽象为数据控制(Data control ),将其与BPM数据混搭 (mashup,创建出更丰富的表单。ADF也包含了丰富的数据可视化组件,包括一系列图表和图形,Gantt图表、m
19、ap查看器、层级查看器等,都可以容易地使用,创建出非常引人 注目的BPM表单。定制化任务表单支持丰富的标签化界面,包括了流程数据、图表和图形、 以及链接到流程模型的动作按钮(图 7)。图7.无需编码的向导配置式定制化 BPM任务表单业务规则业务规则使得组织可以将业务决定逻辑封装在可重用的组件中,这些组件在使用它们的 流程之外定义。大多数BPMS虽制流程设计者在BPM设计环境中定义的非常简单的规则和 需要与BPMSM成的第三方业务规则管理套件 BRM之间选择。Oracle则不同,Oracle在 BPMST具中捆绑集成了一个全功能的 BRMS, Oracle业务规则(Oracle Business
20、 Rules), 流程设计者可以从 BPM Studio 或流程编写器中访问。Oracle业务规则编辑器既支持IF/THEN规则,也支持决定表(Decision Table )。决定 表(图 8)中每个条件行( Condition )对规则集( Ruleset )测试数据输入的允许值,一 个规则集称为一个事实(Fact)。每列代表了一个特定的铲斗集(bucketset),一个枚举的 事实值或范围。一列内所有条件测试的组合指定了一个动作( action ),典型的动作是设置 数据输出值。完整的决定表定义了一个规则集,部署为一个业务规则组件,可以在BPMN流程中作为业务规则任务被调用。编辑器提供了
21、快速工具解决决定表中的缺口和冲突。业务规则可以用来简化网关上复杂的路由逻辑,细节的任务指派和工作流,以及动态服 务的选择。强大的业务易用的规则设计器,加上与BPMN流程模型的直接集成,这也是Oracle BPM 11g超出其他BPMSS决方案的另一个原因。图 8. 业务规则编辑器中的决定表设计流程分析流程分析(图9)通过BPM工作区记分牌或Oracle BA(套件中已捆绑集成 Oracle BAM 提供了流程性能监视的能力。活动和流程的开箱即用的度量( metrics )包括活动实例计数 和完成平均时间,按照流程、活动和参与者进行切分。除了这些预先定义的度量外,流程 设计者还可以使用业务指示器
22、( business indicators ,一种针对流程分析测量( measure) 和维度( dimension )的特殊类型的流程变量)创建定制化度量。 Oracle BPM 提供了一系 列预定义的立方(cube),也就是一些数据库结构,使得你可以根据各种维度来实时切分汇 聚的测量。业务分析员在流程中指定业务指示器和采样点,来配置流程分析。此外,他们也可以在 流程中定义测量标志(measurement mark)点,在这些点上,一个或多个指定的业务指示 器被采样,并写入流程分析数据库中。测量标志也可被用来定义流程开始和结束的间隔, 进行时间或成本分析。在运行时,流程分析数据可以各种用户配
23、置的方式(如图表和量表) 展现在BPM工作区或业务空间中。流程分析也支持流程立方(cube),实现与Oracle Business In tellige nee的集成,从而允许用户与BPM外卜的业务数据一起,进行多维度历史分析。图9.流程模型中定义的业务指示器和测量标志驱动着BPh工作区或流程空间中的性能记分牌强大的以人员为中心的 BPM过去,构建在强大SOA基础之上的BPM套件,在以人员为中心的BPM方面功能较弱。然 而, Oracle BPM 11g 提供了高级的人工任务支持,已经达到甚至超过了小的纯人工为中心 的工具。流程空间除了标准的BPM工作区(BPMWorkspace,常规的BPM
24、工作列表环境)之外,Oracle BPM 11g还提供了一个全新的、用户可配置的、基于Web2.0的协同环境,称为流程空间(Process Spaces)o 流程空间是 Oracle WebCenter Spaces 的 BPM实现,是一个构建在 Oracle WebCenter门户框架和ADF之上的基于角色的运行时环境。除了访问工作流任务和性能记 分牌之外,流程空间还可以支持业务用户的常规日常任务,诸如安排会议、电子邮件、以 及设计和运行时的团队协做。流程空间是 Oracle 称为社会化 BPM(Social BPM )的基础。 社会化BPM旨一个适合目的(fit-for-purpose)的
25、协作环境,充分利用了 Web 2.0和企业2.0 的技术,将流程任务和记分牌放在了社会化背景中,包括了团队日程、论坛、共享文 档和通知。图10.构建在Oracle WebCenter之上的流程空间是一个用户可配置的 Web2.0环境,混 搭了 BPM团队协作和其他组件Oracle WebCenter Spaces (图 10)中的每个标签代表了不同的应用、服务或组空间。 一个组空间是一些内容和服务的合集,用来帮助用户在一个特定任务上的协作。用户可以 访问预先定义好的空间,与此同时,用户也可以通过选择和安排组件自己定义空间。这些 组件来自目录化的组件,包括文档、论坛、小门户程序portlet、电
26、子邮件、搜索、RSS源、 外部Web 2.0小部件widget、当然也包括诸如任务列表这样的 BPMfi件。流程空间支持团 队协作,非机构化流程(即流程参与人需动态确定的流程) ,和围绕特定项目、任务或问题 的社会网络。活动指南对于许多以人工为中心的流程,在一个端到端流程上下文中,常规的工作列表和 BPMN 图形并不是为最终用户展现流程任务最直观的方式。为了解决这个问题, Oracle 创造了指南化业务流程(Guided business processes )的概念。在这里,流程设计者在 BPMN模型中定义里程碑(milestone )和一个被称为活动指南(Activity Guide)的选
27、择性最终用户 界面(图 11),用来通过里程碑跟踪流程轨迹。活动指南可在BPM Studio 或流程编写器中定义。图 11. 员工报到流程的活动指南人工工作流Oracle为BPMN 2.0流程使用了与BPEL 样的人工任务组件。BPM模型中的用户任务 没有直接执行任务表单和动作,而是在独立的人工工作流服务( HumanWorkflow Service ) 中实例化一个人工任务,并等待任务完成。这个任务在人工任务编辑器中定义,也就是 Oracle SOA套件中BPEL流程使用的同一个编辑器。在运行时,最终用户通过人工工作流 服务,与工作列表和任务表单交互。当用户完成一个任务时,人工工作流服务返回
28、完成状 态(称为任务输出)给流程,流程在收到返回后继续向下执行。使得这一切与其他BPM套件不同的就是审批链和与任务相关的类似人工工作流,这些工 作流被建模为人工任务组件的一部分,而不是流程的一部分。只有当整个任务,包括任务 相关的审批链完成了,人工工作流服务才会将输出返回给流程。 Oracle 将这些具有审批链 的复杂人工任务称为交互式活动( interactive activities )。这里有几种不同类型,代表 了不同类型的审批链。交互式活动通过将审批链和可重用任务组件封装,简化了流程逻辑。当然,设计者可以 使用老式的方式建模人工工作流,即在 BPMN流程中使用简单任务和建模审批链,但是
29、,在 许多流程中,使用交互式活动会更加方便。即席流程( Ad-hoc process )也可以应用在人工工作流中。指派的任务执行者可以在运 行时重新指派或委托任务,新的审批者可以在运行时被插入到审批链中(图12)。此外,与业务规则的紧密集成提供了动态工作流, 不仅仅在业务流程中做决定, 也基于规则提升、 提名、委托和人工任务负载均衡。图 12. 即席工作流中运行时插入额外审批者支持BPM和SOA的单一基础统一的运行时如果你想要一个BPMS具有业务增强的实现和强大的人工任务支持,那么你很可能不得 不放弃强大的SOAS础加集成BPM的方案。但是 Oracle BPM 11g则不是这样。Oracle
30、 BPM 套件架构(图13)是构建在世界级SOA基础之上的,具有统一的包含了 BPMN 2.0和BPEL 合成的运行时,人工任务管理,和业务规则等特征。 Oracle SOA 套件的可扩展网格基础 支持系统和人工工作流的非常高的交易量和成千上万的并发用户。集成层提供了一个共用 的JCA连接基础、Oracle适配器、Oracle服务总线、调解流、和基于策略的安全与服务质 量。你也可以得到UDDI身份服务、B2B服务、事件基础、和其他融合中间件的特征,而 这些特征在任何纯粹的以人工为中心的 BPM供应商那里都遗漏了。BPMN-SOA 连接与其他BPMSf同,Oracle使得流程模型中BPMF形状和
31、它们的SOA组件实现之间的连接 清晰可见并且可配置。BPMNB户任务调用人工任务组件;BPM业务规则任务调用业务规则 组件;BPMN艮务任务调用同步服务合成,包括 BPEL流程;BPMNS送/接收任务和消息事件 调用异步合成,包括其他 BPMN流程,和它们的回调。BPMN信号事件利用融合事件交付网 络( Fusion Event Delivery Network )的功能,实现基于业务事件的松耦合发布订阅集 成。BPMN昔误事件则引用BPM Studio业务目录中定义的异常。图 13. 统一的运行时架构Oracle没有强迫用户在BPEL和 BPMN 2.0之间做出选择。BPM 11g对两个规范
32、都提供 了流程引擎,而且构建在一个公共共享服务上。 BPEL将继续在定义自动化合成服务方面扮 演主要角色,而BPMN业务流程将调用这些合成服务。统一的 IDEJDeveloper中的BPM Studio是一个BPM SOA和ADF We开发的公共IDE。它包含了定 义BPMN流程、BPEL流程、合成服务、人工任务、业务规则、数据类型和用户界面的所有 编辑器。 BPM Studio 为开发人员和业务分析员提供了不同的模式,为不同人员呈现适合其 角色的编辑器。BPM项目中使用的所有组件集中在业务目录(bus in ess catalog )中,按 照模块(Module)组织起来。通过将一个项目保存为模板(Template),流程分析员可以通 过浏览器界面的流程编写器重新组装这些可执行的业务流程组件。统一的服务组件架构BPM和 SOA合成都通过服务组件架构(Service ComponentArchitecture ,SCA标准描 述。代表BPM项目中使用的流程、服务、人工任务、业务规则、适配器之间的连接,在SCA合成编辑器(图14)中建模为连线(Wire)。安全和服务质量属性可以使用 JDeveloper或 企业管理器在运行时定义的策略( Policy )指定给连线。调用项目组件的服务显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 配电厂安全责任制度范本
- 机关档案安全责任制度
- 2025年26届中国人民财产保险股份有限公司阳江市分公司招聘备考题库(含答案详解)
- 2025年包头市东河区教育系统校园招聘教师19人备考题库(内蒙古师范大学考点)及答案详解(新)
- 学生上下学接送责任制度
- 废钢生产安全责任制度范本
- 收费管理部使命责任制度
- 发电厂保温工岗位责任制度
- 村安全生产事故责任制度
- 采矿技术员安全生产责任制度
- 2026年春冀教版(新教材)小学数学二年级下册教学计划及进度表
- 新版部编人教版七年级下册道德与法治全册教案(完整版)教学设计含教学反思
- 广东科学技术职业学院珠海校区物业服务采购项目用户需求书
- 成都理工大学2026年选聘教辅工作人员(30人)笔试模拟试题及答案解析
- 保险代理销售佣金分成合同
- 空气能热泵系统安装施工方案
- 水利工程危大工程安全监理实施细则
- 抚育林施工方案(3篇)
- 【初中 物理】二力平衡课件-2025-2026学年人教版物理八年级下册
- 【华信咨询】中国智算中心(AIDC)产业发展白皮书(2024年)
- 2026年及未来5年市场数据中国吡咯喹啉醌PQQ行业发展潜力分析及投资战略数据分析研究报告
评论
0/150
提交评论