CN103177329A - 业务对象处理中基于规则的确定和验证 - Google Patents
业务对象处理中基于规则的确定和验证 Download PDFInfo
- Publication number
- CN103177329A CN103177329A CN2012105676863A CN201210567686A CN103177329A CN 103177329 A CN103177329 A CN 103177329A CN 2012105676863 A CN2012105676863 A CN 2012105676863A CN 201210567686 A CN201210567686 A CN 201210567686A CN 103177329 A CN103177329 A CN 103177329A
- Authority
- CN
- China
- Prior art keywords
- business object
- modeling
- node
- logic
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了对业务对象建模的方法。分析模块分析业务对象的元素。建模模块基于业务对象的元素对业务对象逻辑建模。实施模块实施已建模的业务对象逻辑。存储库存储已建模的业务对象逻辑。业务对象运行时模块运行已建模的业务对象逻辑。
Description
技术领域
本申请一般涉及对软件应用的业务对象建模的领域,而且在一个特定示例中,涉及业务对象处理。
背景技术
相比于其他软件应用,公司或企业的员工可能更熟悉一些软件应用。例如,员工可能非常熟悉个人生产力(personal productivity)应用(例如,MicrosoftOutlook),但是他们可能不熟悉后端业务软件应用(例如,业务智能;企业信息管理;企业绩效管理;治理、风险以及合规;分析软件应用)。具体来说,寻求建模和设计业务对象的员工需要经由预置安装(on-premise installation)来访问各种可用的分散工具。
附图说明
一些实施例通过示例方式示出,并且不受附图中的图的限制,在附图中:
图1是描述示例性实施例可以被部署在其中的示例性环境的框图;
图2是描绘建模工具的示范性实施例的框图;
图3是描绘根节点和根元素的示例性实施例的框图;
图4是描绘用于对业务对象建模的方法的示例实施例的流程图;
图5A是描绘对业务逻辑建模的示例性实施例的流程图;
图5B是描绘对业务逻辑建模的另一示例性实施例的流程图;
图6A示出了用于设置和检查逻辑类型的用户接口的示例性实施例;
图6B示出了用于基于连接的目标数据容器的用户接口的示例性实施例;
图6C示出了用于对条件建模的用户接口的示例性实施例;
图6D示出了用于生成消息的用户接口的示例性实施例;
图6E示出了用于设置常数值的用户接口的示例性实施例;
图6F示出了如何能够在简单的情况下对属性操控建模的用户接口的示例性实施例;
图6G示出了用于预定义的表达式的用户接口的示例性实施例;
图6H示出了用于公式的用户接口的示例性实施例;
图6I示出了用户接口的示例性实施例,其中设置关于项目的初始跟进代码(initial follow up code);
图6J示出了用于检查处理类型代码(processing type code)的用户接口的示例性实施例;
图7A示出了用于在节点级别对业务对象逻辑建模的用户接口的示例性实施例;
图7B示出了用于节点操作的用户接口的示例性实施例;
图7C示出了用户接口的示例性实施例;以及
图8是示例性计算机系统的框图,此处所描述的方法可以在该计算机系统上运行。
具体实施方式
在下面的描述中,为了解释目的,阐述了许多具体细节以便提供对本发明主题的各种实施例的透彻理解。然而,对于本领域技术人员而言将显而易见的是,实施例可以在没有这些具体细节的情况下实施。而且,为了避免在不必要的细节中模糊本发明的主题,公知的指令实例、协议、结构和技术没有被详细示出。如这里所使用的,术语“或”可以以包括或不包括的意义解释。术语“用户”可以被解释为人或机器。术语“接口”可以被解释为包括应用程序接口(API)或用户接口。术语“数据库”可以被解释为包括数据库或NoSQL或非关系数据存储(例如,谷歌的BigTable或亚马逊的Dynamo)。“业务对象”可以指对象,其代表软件应用内部的业务实体。例如,业务对象可以代表企业信息管理软件应用内部的人(例如,公司的雇员)或构思(例如,公司内的流程)。
公开了对业务对象建模的方法。分析模块分析业务对象的元素。建模模块基于业务对象的元素对业务对象逻辑进行建模。实施模块实施已建模的业务对象逻辑。存储库存储已建模的业务对象逻辑。业务对象运行时模块运行已建模的业务对象逻辑。
在一个实施例中,建模模块在业务对象的节点处对业务对象逻辑建模。建模模块确定业务对象的节点的值,基于该值验证节点,生成与节点的验证相对应的消息,并且基于业务对象的节点的值来修改业务对象的实例。
在一个实施例中,建模模块在业务对象的节点元素处对业务对象逻辑建模。建模模块确定业务对象的节点元素的值,基于该值验证节点元素,生成与节点元素的验证相对应的消息,并且基于业务对象的节点元素的值来修改业务对象的实例。
在另一个实施例中,业务对象处理框架使用确定和验证来实施业务对象逻辑。元数据存储库存储已建模的业务对象逻辑和预先存在的业务对象模型。元数据存储库包括存储库元模型。
对业务对象(BO)的建模和设计可以使用元数据存储库(MDRS)工作台来执行,而实施可以在诸如业务对象处理框架(BOPF)的实施框架中执行。
业务对象(BO)开发者先对节点的数据类型建模,然后对元数据存储库(MDRS)中的业务对象的结构建模。然后,开发者利用像BOPF、对象引擎、CRM文档框架和采购(procurement document framework)文档框架一样的框架来生成内部表示和数据库持久性。
业务对象在MDRS中建模,而实施方面在针对许多业务对象的业务对象处理框架(BOPF)中完成。业务对象在BOPF中针对业务逻辑实施确定和验证。本公开的重点是评估如何对MDRS中的这些确定和验证进行建模。
为了说明的目的,业务对象入站交付(Inbound Delivery)被用作本公开的参考。本公开中描述的本建模方法并不限于业务对象入站交付,而是也可以适用于其他类型的业务对象。这种业务对象(业务对象入站交付)将被分析,以评估能够被建模的业务逻辑的总的百分比。这种方法的优点是使BO元模型为中心,而且还减少开发者实施工作。这在扩展场景(extensibilityscenario)中也有帮助。
图1是描述示例性实施例可以被部署在其中的示例性环境100的框图。环境100包括一个或多个客户机(例如,业务对象开发者的客户机102和业务对象开发者的客户机104)。例如,客户机102、104可以是个人计算机。
在一个实施例中,客户机102可以被用于对业务对象建模。客户机104可以被用于访问和操作客户机102已建模的业务对象。客户机102可以运行网络浏览器(未示出)或软件应用(未示出)。例如,网络浏览器可以是通常用于访问计算机网络(诸如万维网)的任何浏览器。网络浏览器可以加载用户接口来创建业务对象并对业务对象建模。在另一个实施例中,软件应用可以加载用户接口来创建业务对象并对业务对象建模。
在另一个实施例中,网络浏览器或软件应用可以显示(例如,使用树控件)业务对象(BO)的可视化表示。业务对象的可视化表示可以包括业务对象的一个或多个数据项的可视化表示。业务对象的数据项可以是与由提供业务对象的应用所管理的业务对象相对应的数据单元。业务对象的可视化表示可以包括业务对象与业务对象的一个或多个数据项之间的关系的示图。业务对象的可视化表示还可以包括业务对象的一个或多个数据项之间的关系的示图。
环境100包括一个或多个服务机(sever machine)(例如,服务机108)。服务机108运行一个或多个应用(例如,业务对象应用109)。业务对象应用109包括建模工具110和业务对象运行时112。
建模工具110可以被配置为分析业务对象并且仿照经分析的业务对象对业务对象逻辑建模。业务对象可以对应于业务对象应用109内的一个或多个实体,其代表业务对象应用109所属的业务中的事物。例如,业务对象可以将数据库中的源数据结构映射到非信息技术分析员所使用的业务术语。业务对象也可以对应数据库或业务对象应用109的功能。例如,如果业务对象应用109是有关公司内部的职位空缺的候选人招聘的人力资源应用,则业务对象可以对应已申请职位空缺的人(例如,职位的候选人)。业务对象可以包括一个或多个数据项。业务对象的数据项可以对应于一个或多个附加应用针对该业务对象维护的任何数据。例如,数据项可以是由业务对象代表的人(例如,公司空缺职位的候选人)的简历,或者数据项可以是由业务对象代表的人(例如,公司的雇员)的时间卡。
在一个实施例中,建模工具110包括建模逻辑模块116和实施逻辑模块118。建模逻辑模块116可以被配置为基于业务对象的结构的值对业务对象进行建模。实施逻辑模块118可以被配置为在处理框架中实施已建模的业务对象逻辑。然后已建模的业务对象逻辑被存储在业务对象运行时112可访问的存储库114中。业务对象运行时112被配置为:为客户机104运行已建模的业务对象。
在一个实施例中,存储库114包括业务对象元模型模块120。例如,存储库114包括数据库,该数据库包括一个或多个表,一个或多个表包括元数据表和操作数据表。元数据表包括有关配置(例如,外观或行为)的数据。操作数据表包括描述或注释业务对象和业务对象的数据项之间(或者业务对象的数据项和附加数据项之间)的关联的数据。这种操作数据表可以与业务对象的元模型相关联。元模型可以定义业务对象和附加业务对象之间的关联、业务对象和业务对象的数据项之间的关联、或者业务对象的数据项和附加业务对象的数据项之间的关联。元模型也可以定义业务对象支持的动作(例如,将电子邮件或电子邮件的附件附加到业务对象的“附加(attach)”动作)。
客户机102、104和服务机108可以经由网络106彼此耦接。网络106使能系统之间的通信。因此,网络106可以是移动电话网络、普通老式电话(POTS)网络、有线网络、无线网络(例如,Wi-Fi或WiMax网络)、或它们的任何合适的组合。通信可以基于任何通信协议。通信协议的例子包括传输控制协议/网际协议(TCP/IP)、超文本传输协议(HTTP)、文件传输协议(FTP)、简单邮件传输协议(SMTP)、邮局协议(POP),互联网消息访问协议(IMAP)、无线接入协议(WAP)、地鼠(Gopher)、无线互联网协议和即时消息协议。网络106可以使用互联网、广域网(WAN)、局域网(LAN)、或它们的任何合适的组合来实施。
图2是描绘建模逻辑模块116的示范性实施例的框图。建模逻辑模块116包括分析模块202、建模模块204和实施模块206(例如,MDRS,也被称为代码生成模块)。分析模块202分析业务对象的元素。在一个实施例中,元素可以包括节点和节点元素。在另一实施例中,元素可以包括根和节点。相应元素的值由建模逻辑模块204来确定并被其用于对业务对象逻辑建模。在一个实施例中,建模逻辑模块204在服务器108处(图1)对元数据存储库(存储库114(图1))中的业务对象的结构建模。实施模块206在业务对象处理框架中实施已建模的业务对象逻辑。
为了说明的目的,分析模块202确定入站交付业务对象的元素,该入站交付业务对象是产品接收者所接收的货物的组合。入站交付包含以下几个主要部分:
根,其包含关于各方(parties)、位置、状态、日期的信息、以及具有关于将要交付的货物包装的信息的协议(agreement);
项目,其包含关于将要交付的产品及其数量的信息,以及关于各方和状态的信息。
作为例子,建模模块204可以基于检测到用户在网络浏览器内部的用户接口中做出的动作(例如,用户将新的数据项的可视化表示拖放到业务对象的可视化表示上)来为业务对象创建新的数据项。在这种情况下,建模模块204可以为业务对象创建新的数据项。这种新的数据项的创建可以基于建模模块204识别出该业务对象不存在与新的数据项相对应的数据项。这种新的数据项可以经由注册与该业务对象相关联。
建模模块204识别应用的业务对象之间的关系、每个业务对象和它们相关联的数据项之间的关系、以及每个相关联的数据项之间的关系。建模模块204可以基于查询包含业务对象的应用(例如,经由应用的API)来识别所述关系。建模模块204还可以通过分析所述关系的元模型来识别所述关系。
元模型不仅可以包括提供业务对象的应用维护的、业务对象之间(以及业务对象的数据项之间)的关系(例如,通过查询该应用获得的关系)的定义,而且也可以包括提供业务对象的应用不维护的、有关数据项的关系的定义。例如,建模模块204可以基于元模型中包括的定义来识别关系。元模型可以包括业务对象和业务对象的数据项之间(或者业务对象的数据项之间)的关系的定义,这些关系的定义独立于提供业务对象的应用。例如,元模型可以包括人的简历与代表人的业务对象之间的关系的定义,即使提供该业务对象的应用不知道这种关系。附加地或者可替换地,独立于提供业务对象的应用的关系的定义可以与元数据模型分离地存储(例如,这样的定义可以由业务对象应用109(图1)来维护)。以这种方式,建模模块204使用户能够将任何数据项与任何业务对象相关联。根据一个实施例,建模模块204可以在操作数据表中维护关系的定义。
在一个实施例中,在MDRS中对业务逻辑建模可以通过添加MDRS扩展来完成。扩展可以在能够对业务逻辑建模的节点元素级别和节点级别上构建。
可以存在两种业务逻辑:
“设置(Set)”以确定节点/节点元素的值,并基于该值修改BO。
“检查(Check)”以验证节点或节点元素,并给出适当消息。
用例的一些例子如下:
在节点元素处设置->基于一些条件设置元素的默认值
在节点元素处检查->检查元素的值是否是初始的,或者检查代码值的列表
在节点处设置->基于一定条件创建/删除节点
在节点处检查->检查子节点的存在
在一个实施例中,建模模块204在节点元素处执行建模。该想法目的在于为每个节点元素提供对业务逻辑建模的选项。提出以下结构用于建模:
逻辑类型(Logic Type):设置(Set)(类似于BOPF中的确定)
目标数据容器(Target Data Container):可以形成连接(join)以便获得将要对其应用逻辑的目标数据容器。用于连接的锚节点将是节点元素存在的节点。
条件(Condition):可以形成类似于FSI选择参数的复杂条件。当前节点或目标数据容器可以用来定义条件。
表达式(Expression):表达式定义将发生的实际修改。存在可能的、不同种类的表达式:
常数(Constant)-为节点元素设置常数值,
公式(Formula)-基于数据类型为节点元素计算结果值,
属性(Property)-为节点元素设置动态属性,例如,使其只读/使能等,
预定义(Predefined)-这对再次发生的特殊情况
逻辑类型(Logic Type):检查(Check)(类似于BOPF中的验证)
条件和目标数据容器(Condition & Target Data Container):类似于逻辑类型“设置”。
消息(Message):附加消息对象(对于每个节点在MDRS中可获得的)和所需的严重性和占位符。
图6A示出了用于设置和检查逻辑类型604的用户接口600的示例性实施例。消息对象602可以被附加到类型604。
图6B示出了用于基于连接的目标数据容器612的用户接口610的示例性实施例。
图6C示出了用于建模条件622的用户接口620的示例性实施例。条件622也可以被建模。存在连接符,该连接符可以采取用来连接表达式的值:(,)、=、AND、OR等。比较器用于比较值(EQ、NE、GE、LE、GT、LT等)。
图6D示出了用于生成消息632的用户接口630的示例性实施例。消息632(仅与“检查”类型逻辑有关)可以基于检查被生成并被显示。可以存在错误消息或警告/信息消息。由于现在在MDRS中对消息632建模,因此消息632可以基于在该系统中建模时的错误的严重性来选择。
图6E示出了用于设置常量值642的用户接口640的示例性实施例。在一些情况下,需要从接口中定义的常量中设置值,诸如这个示例性实施例。
图6F示出了用户接口650的示例性实施例,用户接口650被设计为允许属性操控(property handling)652在简单的情况中被建模。属性操控652是对业务对象建模的重要方面。目前,所有属性操控652都被编码。
图6G示出了用于预定义的表达式662的用户接口660的示例性实施例。以下是预定义的表达式662的常见用例:
-ID-UUID确定。在这种情况下,源BO和BO的参考域(reference field)(ID)、目标BO的节点和键(key)细节将被维护以确定UUID。
-检查唯一ID。在这种情况下,定义其ID应该唯一的复合键。例如,对于每个入站交付唯一的项目ID(item ID),复合键对应于项目ID+入站交付ID。
-检查有效字符集(定义正则表达式)。
图6H示出了用于公式672的用户接口670的示例性实施例。在下面的情况下,也可以在建模模块204(图2)中定义数据类型公式:
-如果数据类型是“日期(date)”,则可以定义公式,该公式包括基于当前日期和其他基于时间的标准对天的增加或删除。
-如果数据类型为“文本(text)”,则使用串接(concatenation)来定义公式应该是可以的。
-如果数据类型是“数字(number)”或“整数(integer)”,则使用计算来定义公式是可以的。
图6I示出了用户接口680的示例性实施例,其中基于不等于14的项目的条件684“类型代码(type code)”将关于项目的初始跟进代码(initial followup code)682设置为值“05”,而且关于项目的“发票到期票据代码(invoice duenote code)”是“初始(initial)”。
图6J示出了用于检查属性“处理类型代码(processing type code)”692的用户接口690的示例性实施例。使用用户接口来定义逻辑的另一个例子是检查属性“处理类型代码”是否是“初始”。在这个例子中,如果根节点上的“处理类型代码”是“初始”,则错误消息694被触发。
在一个实施例中,建模模块204(图2)在节点级别执行建模。在这里,每个节点将具有在节点级别对业务逻辑建模的选项。基于业务逻辑的种类,提出了以下结构:
逻辑类型:设置(类似于BOPF中的确定),
目标数据容器:可以形成连接以便获得目标数据容器,其中逻辑将被应用于该目标数据容器。用于连接的锚节点将是节点元素存在的节点,
条件:可以形成类似于FSI选择参数的复杂条件。当前节点或目标数据容器可以用来定义条件,
表达式:表达式定义将发生的实际修改。存在可能的、不同种类的表达式:
1)节点操作(Node Operation)-根据条件创建或删除节点
2)属性(Property)-为节点或子树设置动态属性或者设置与当前节点的关联。
逻辑类型:检查(类似于BOPF中的验证)
条件和目标数据容器:类似于逻辑类型“设置”。
消息:附加消息对象(对于每个节点在MDRS中可获得)和所需的严重性和占位符。
图7A示出了用于在节点级别对业务对象逻辑704建模的用户接口700的示例性实施例。不同的选项702是可能的:“1)节点操作”和“2)属性操控”。
图7B示出了对节点操作712建模的用户接口710的示例性实施例。业务对象节点实例可以根据具体情况来创建和删除。
图7C示出了用于设置节点级别属性722的用户接口720的示例性实施例。属性可以在节点级别、节点子树级别或关联级别设置。
实施模块206(图2)可以包括实施模块(MDRS)以便在服务器处在业务对象处理框架中生成业务对象的结构的实施方案。
图3是示出业务对象的结构的示例性实施例的框图。根302包含分析模块202(图2)需要的、关于将被建模的当前BO的一般信息(genericinformation),诸如名称、服务提供者类别、实施框架等等。
节点304对应被建模的BO将具有的所有节点。它们可以全部具有相同的元数据,而与它们特定的数据类型无关。分层图将被用在UI中以便绘制BO结构。
节点元素306、关联308、动作310和查询312是节点304的所有子节点,而且它们是BO的每个节点304都可以具有的元素。
虽然每个节点304都具有相应的节点元素306,但是并非每个节点304都必须具有关联308、动作310或查询312,因此节点304的子节点的势(cardinality)分别为1:1、0:1、0:1和0:1。
图4是描绘用于对业务对象建模的方法的示例实施例的流程图400。
在操作402,分析业务对象的元素。在一个实施例中,分析模块202(图2)执行分析,以确定业务对象的每个节点304和/或每个节点元素306(图3)处的值。
在操作404,基于业务对象的元素对业务对象逻辑建模。在一个实施例中,建模模块204基于分析模块202(图2)所确定的节点和/或节点元素的值对业务对象逻辑建模。
在操作406,在业务对象处理框架中实施已建模的业务对象逻辑。在一个实施例中,实施模块206在处理框架中生成并实施用于已建模的业务逻辑的代码。业务对象处理框架可以使用确定和验证来实施业务对象逻辑。
在操作408,将已建模的业务对象逻辑存储在业务对象运行时112(图1)可访问的存储库114中。已建模的业务对象逻辑可以由业务对象运行时112运行。在一个实施例中,已建模的业务对象逻辑被存储在存储库114的元数据存储库中,该元数据存储库已经包含预先存在的业务对象模型。元数据存储库中也可以存储存储库元模型。
图5A是描绘对业务对象逻辑建模的示例性实施例的流程图500。
在操作502,确定业务对象的节点的值。在一个实施例中,分析模块202(图2)执行分析,以确定业务对象的每个节点的值。
在操作504,基于节点的值验证节点。
在操作506,生成与节点的验证相对应的消息。在一个实施例中,建模模块204(图2)基于由分析模块202(图2)所确定的节点的值来对业务对象逻辑建模。
在操作508,基于业务对象的节点的值来修改业务对象实例。
图5B描绘对业务对象逻辑建模的另一示例性实施例的流程图510。
在操作512,确定业务对象的节点元素的值。在一个实施例中,分析模块202(图2)执行分析,以确定业务对象的每个节点元素的值。
在操作514,基于节点元素的值验证节点元素。在操作516,生成与节点的验证相对应的消息。在一个实施例中,建模模块204(图2)基于由分析模块202(图2)所确定的节点元素的值来对业务对象逻辑建模。
在操作518,基于业务对象的节点元素的值来修改业务对象实例。
模块、组件和逻辑
此处将某些实施例描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,在机器可读介质上具体实施的代码或者在传输信号中具体实施的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以以某种方式配置或排列。在示例性实施例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或者计算机系统(例如,处理器或一组处理器)的一个或多个硬件模块可以通过软件(例如,应用或应用的一部分)配置为操作以执行此处所描述的某些操作的硬件模块。
在各种实施例中,硬件模块可以以机械的方式或以电子的方式实施。例如,硬件模块可以包括永久配置为执行某些操作的专用电路或逻辑(例如,作为特定用途的处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))。硬件模块还可以包括暂时通过软件进行配置以执行某些操作的可编程逻辑或电路(例如,包含在通用处理器或其他可编程处理器内)。将要理解的是,可以通过成本和时间考虑来驱使以确定是以专用且永久配置的电路或是以暂时配置的电路(例如,通过软件配置)来以机械的方式实施硬件模块。
因此,术语“硬件模块”应该理解为包含有形实体,其是具有物理结构的实体,并被永久配置(例如,硬连线的)或者被临时或暂时配置(例如,编程的)以便以某些方式操作和和/或执行此处所述的某些操作。考虑其中硬件模块是临时配置的(例如,编程的)实施例,每个硬件模块不需要在任一时间的实例中进行配置或实例化(instantiated)。例如,在硬件模块包括使用软件配置的通用处理器的情况下,通用处理器可以被配置为在不同时间用作各自不同的硬件模块。因此,例如软件可以将处理器配置为在一个时间实例处构成特定的硬件模块,而且在不同的时间实例处构成不同的硬件模块。
硬件模块可以向其他硬件模块提供信息或从其他硬件模块接收信息。因此,所描述的硬件模块可以被视为以通信方式耦接。在同时存在多个这种硬件模块的情况下,通过连接硬件模块的信号传输(例如,在适当的电路和总线上)可以实施通信。在不同时间对多个硬件模块进行配置或初始化的实施例中,这些硬件模块之间的通信可以例如通过存储和检索存储结构中的信息来实施,其中多个硬件模块已经访问该存储结构。例如,一个硬件模块可以执行操作,并且将该操作的输出存储在该硬件模块以通信方式耦接的存储器设备中。然后,另一硬件模块可以稍后访问该存储器设备以检索并处理已存储的输出。硬件模块还可以初始化与输入设备或输出设备的通信,并且能够操作资源(例如,信息的集合)。
此处所描述的示例性方法的各种操作可以至少部分地通过暂时配置(例如,通过软件)或永久配置以执行相关操作的一个或多个处理器来实施。不论是暂时配置或永久配置,这种处理器可以构成操作以执行一个或多个操作或功能的处理器实施的模块。在一些示例性实施例中,此处所提及的模块可以包括处理器实施的模块。
类似地,此处所述的方法可以至少部分地由处理器实施。例如,方法的至少一些操作可以由一个或多个处理器或处理器实施的模块来执行。某些操作的性能可以分布在一个或多个处理器之中,不仅驻留在单一机器上,而且部署在多个机器上。在一些示例性实施例中,处理器或多个处理器可以位于单一位置处(例如,位于家庭环境、办公环境、或服务器群内),而在其他实施例中,处理器可以分布在多个位置处。
一个或多个处理器也可以操作以支持“云计算”环境中的相关操作的性能,或作为“软件即服务”(software as a service,SaaS)。例如,至少一些操作可以由一组计算机(作为例子,包括处理器的机器)执行,这些操作可通过网络(例如,网络106(图1))并通过一个或多个合适的接口(例如,应用程序接口(例如,API))访问。
电子装置和系统
示例性实施例可以被实施在数字电子电路中,或者实施在计算机硬件、固件、软件,或者它们的组合中。示例性实施例可以实施为计算机程序产品,即有形地具体实施在信息载体中的计算机程序,信息载体例如在机器可读存储设备中或者在传播的信号中,以供数据处理装置执行或者控制数据处理装置的操作,所述数据处理装置例如可编程处理装置、计算机或多个计算机。
计算机程序可以用任何形式的编程语言编写,包括汇编语言或解释语言,并且,它可以被以任何形式部署,包括作为独立的程序或者作为模块、组件、子程序或其他适于在计算环境中使用的单元。计算机程序可以被部署为在一个计算机上执行或在位于一个地点或跨过多个地点分布并被通信网络互连起来的多个计算机上执行。
在示例性实施例中,操作可以被一个或多个可编程处理器执行,所述可编程处理器执行计算机程序,以便通过对输入数据操作和产生输出来执行功能。方法操作还可以被专用逻辑电路执行,或者示例性实施例的装置可以被实施为专用逻辑电路(例如,FPGA或ASIC)。
计算系统可以包括客户端和服务器。客户端和服务器通常相互远离,并且典型地通过通信网络交互。依靠运行在各个计算机上并且相互具有客户端-服务器关系的计算机程序,建立客户端和服务器的关系。在部署了可编程计算系统的实施例中,将要理解的是,硬件架构和软件架构二者都要考虑。具体而言,将要理解的是,在永久配置的硬件(例如,ASIC)中、在暂时配置的硬件(例如,软件和可编程处理器的组合)中、或在永久和临时配置的硬件的组合中是否实施某些功能的选择可以是设计选择。下面陈述的是可以部署在不同的示例性实施例中的硬件(例如,机器)和软件架构。
示例性机器架构和机器可读介质
图8是采用计算机系统800的示例性形式的机器的框图,在该计算机系统800中可以运行用于使机器执行此处所讨论的任一或多个方法的指令。在可替换的实施例中,机器操作为独立的设备或者可以连接(例如,网络连接)至其他机器。在网络连接部署中,机器可以以服务器-客户端网络环境中的服务器或客户端机器的能力操作,或者作为对等(或分布式)网络环境中的对等机器。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web应用、网络路由器、交换机或网桥、或能够运行指定将由该机器处理的动作的指令(顺序或其他)的任意机器。而且,虽然仅示出了单一机器,但是术语“机器”还应该被认为包括单独或共同运行一组(或多组)指令以便执行此处所讨论的任一或多种方法的机器的任何集合。
示例性计算机系统800包括处理器802(例如,中央处理器(CPU)、图形处理器(GPU)或二者)、主存储器804和静态存储器806,它们通过总线808相互通信。计算机系统800还可以包括视频显示单元810(例如,液晶显示器(LCD)或阴极射线管(CRT))。计算机系统800还包括字母数字输入设备812(例如,键盘)、用户接口(UI)导航(或游标控制)设备814(例如,鼠标)、磁盘驱动器单元816、信号生成设备818(例如,扬声器)以及网络接口设备820。
机器可读介质
磁盘驱动单元816包括机器可读介质822,在机器可读介质822上存储有实时或利用此处描述的一个或多个方法或功能的、一组或多组指令和数据结构(例如,软件)824。在由计算机系统800运行指令过程中,指令824还可以完全地或者至少部分地存在主存储器804内和/或处理器802内,主存储器804和处理器802也构成机器可读介质。指令824还可以完全地或者至少部分地存在静态存储器806内。
虽然在示例性实施例中将机器可读介质822示出为单一介质,但是术语“机器可读介质”可以包括单一介质或多个介质(例如,集中式数据库或分布式数据库、和/或相关联的高速缓冲存储器和服务器),其存储一组或多组指令或数据结构。术语“机器可读介质”还应该被认为包括能够存储、编码或携带由机器运行且使机器执行此处所公开的一个或多个方法的指令的、或者能够存储、编码或携带由这种指令使用或与这种指令相关联的数据结构的任意临时性或非临时性介质。因此,术语“机器可读介质”应该被认为包括但不限于固态存储器、光介质和磁介质。机器可读介质的具体示例包括非易失性存储器,包括作为示例的半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;诸如内部硬盘和可移动磁盘的磁盘;磁光盘;光盘只读存储器(CD-ROM)和数字通用光盘(或数字视频光盘)只读存储器(DVD-ROM)盘。
传输介质
指令824还可以在使用传输介质的通信网络826上发送或接收。指令824可以使用网络接口设备820和多种已知传输协议(例如,超文本传输协议(HTTP))中的任意一种进行发送。通信网络的示例包括LAN、WAN、互联网、移动电话网、POTS网络、无线数据网络(例如,WiFi和WiMax网络)。术语“传输介质”应该被认为包括能够存储、编码或携带由机器运行的指令并且包括数字或模拟通信信号的非临时性介质,或者便于这种软件进行通信的其他非临时性介质。
虽然已经参照特定的示例性实施例描述了实施例,但是将明显的是,在不脱离本发明的更宽的精神和范围的情况下,可以对这些实施例做出各种修改和改变。因此,说明书和附图应被视为说明性的而不是限制性的意义。形成本发明的一部分的附图通过举例的方式而不是限制的方式示出特定的实施例,在特定的实施例中主题可以被实践。所示的实施例被足够详细地描述,以使本领域技术人员能够实践这里所公开的教导。其他实施例可以被利用并由其衍生,从而可以做出结构上和逻辑上的替代和变化而不脱离本公开的范围。因此,这种详细的描述不应被认为具有限制意义,并且各种实施例的范围仅由所附权利要求连同这些权利要求的等同物的全部范围来定义。
在这里,本发明主题的这些实施例可以被单独地和/或共同地称为术语“发明”,这仅仅为了方便并且如果实际上公开了一个以上的发明或发明构思,则不旨在将本申请的范围主动限制为任何单一的发明或发明构思。因此,尽管在这里已经示出并描述了特定的实施例,但是应当理解的是,计划用于实施相同目的的任何安排都可以取代所示的特定实施例。本公开旨在覆盖各种实施例的任何和所有改变或变体。阅读上述描述时,上述实施例和本文中没有具体描述的其他实施例的组合对本技术领域技术人员将是显而易见的。
Claims (20)
1.一种计算机实施的方法,包括:
分析业务对象的元素;
基于业务对象的元素对业务对象逻辑建模;以及
实施已建模的业务对象逻辑。
2.如权利要求1所述的计算机实施的方法,还包括:
将已建模的业务对象逻辑存储到业务对象运行时模块可访问的存储库中;以及
利用业务对象运行时模块运行已建模的业务对象逻辑。
3.如权利要求1所述的计算机实施的方法,还包括:
在业务对象的节点处对业务对象逻辑建模。
4.如权利要求3所述的计算机实施的方法,还包括:
确定业务对象的节点的值;
基于所述值验证节点;
生成与节点的验证相对应的消息;以及
基于业务对象的节点的值来修改业务对象的实例。
5.如权利要求1所述的计算机实施的方法,还包括:
在业务对象的节点元素处对业务对象逻辑建模。
6.如权利要求5所述的计算机实施的方法,还包括:
确定业务对象的节点元素的值;
基于所述值验证该节点元素;
生成与节点元素的验证相对应的消息;以及
基于业务对象的节点元素的值来修改业务对象的实例。
7.如权利要求2所述的计算机实施的方法,其中业务对象处理框架使用确定和验证来实施业务对象逻辑。
8.如权利要求7所述的计算机实施的方法,还包括:
将已建模的业务对象逻辑存储到元数据存储库中,所述元数据存储库存储预先存在的业务对象模型。
9.如权利要求8所述的计算机实施的方法,其中,所述元数据存储库包括存储库元模型。
10.一种系统,包括:
分析模块,用于分析业务对象的元素;
建模模块,用于基于业务对象的元素对业务对象逻辑建模;以及
实施模块,用于在业务对象处理框架中实施已建模的业务对象逻辑。
11.如权利要求10所述的系统,还包括:
存储库,用于存储已建模的业务对象逻辑;以及
业务对象运行时模块,其耦接到存储库,用于运行已建模的业务对象逻辑。
12.如权利要求10所述的系统,其中,所述建模模块在业务对象的节点处对业务对象逻辑建模。
13.如权利要求12所述的系统,其中,所述建模模块被配置为:
确定业务对象的节点的值;
基于所述值验证节点;
生成与节点的验证相对应的消息;以及
基于业务对象的节点的值来修改业务对象逻辑的实例。
14.如权利要求10所述的系统,其中,所述建模模块在业务对象的节点元素处对业务对象逻辑建模。
15.如权利要求14所述的系统,其中,所述建模模块被配置为:
确定业务对象的节点元素的值;
基于所述值验证节点元素;
生成与节点元素的验证相对应的消息;以及
基于业务对象的节点元素的值来修改业务对象的实例。
16.如权利要求10所述的系统,其中,所述业务对象处理框架使用确定和验证来实施业务对象逻辑。
17.如权利要求11所述的系统,还包括:
元数据存储库,用于存储已建模的业务对象逻辑和预先存在的业务对象模型。
18.如权利要求17所述的系统,其中,所述元数据存储库包括存储库元模型。
19.一种非暂时性机器可读存储介质,其存储指令,当该指令被至少一个处理器运行时,执行以下操作:
分析业务对象的元素;
基于业务对象的元素对业务对象逻辑建模;以及
实施已建模的业务对象逻辑。
20.如权利要求19所述的非暂时性机器可读存储介质,还包括:
将已建模的业务对象逻辑存储到业务对象运行时模块可访问的存储库中;以及
利用业务对象运行时模块运行已建模的业务对象逻辑。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/335,430 | 2011-12-22 | ||
US13/335,430 US9406044B2 (en) | 2011-12-22 | 2011-12-22 | Rule-based determination and validation in business object processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103177329A true CN103177329A (zh) | 2013-06-26 |
CN103177329B CN103177329B (zh) | 2017-07-18 |
Family
ID=47115182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210567686.3A Active CN103177329B (zh) | 2011-12-22 | 2012-12-24 | 业务对象处理中基于规则的确定和验证 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9406044B2 (zh) |
EP (1) | EP2608135A1 (zh) |
CN (1) | CN103177329B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103971211A (zh) * | 2014-05-29 | 2014-08-06 | 中国银行股份有限公司 | 一种信息处理方法及装置 |
CN106920026A (zh) * | 2015-12-28 | 2017-07-04 | Sap欧洲公司 | 对象注册 |
CN108011967A (zh) * | 2017-12-15 | 2018-05-08 | 四川长虹电器股份有限公司 | 基于aws微服务的图片上传方法 |
CN109784795A (zh) * | 2017-11-13 | 2019-05-21 | 阿里巴巴集团控股有限公司 | 库存状态计算方法、装置、设备和介质 |
CN111598539A (zh) * | 2020-05-14 | 2020-08-28 | 中国银行股份有限公司 | 基于业务建模的cics联机程序业务处理方法及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10503482B2 (en) * | 2014-09-26 | 2019-12-10 | Oracle International Corporation | Object mapping using intrinsic persistence metadata and pattern-based rules for mapping transformation |
US10503821B2 (en) | 2015-12-29 | 2019-12-10 | Sap Se | Dynamic workflow assistant with shared application context |
GB201615747D0 (en) | 2016-09-15 | 2016-11-02 | Gb Gas Holdings Ltd | System for data management in a large scale data repository |
US10579691B2 (en) * | 2017-09-27 | 2020-03-03 | Salesforce.Com, Inc. | Application programming interface representation of multi-tenant non-relational platform objects |
US10579692B2 (en) | 2017-09-27 | 2020-03-03 | Salesforce.Com, Inc. | Composite keys for multi-tenant non-relational platform objects |
US11714811B2 (en) | 2017-09-27 | 2023-08-01 | Salesforce, Inc. | Run-time querying of multi-tenant non-relational platform objects |
US11354332B2 (en) | 2020-05-20 | 2022-06-07 | Sap Se | Enabling data access by external cloud-based analytics system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1460572A2 (en) * | 2003-03-12 | 2004-09-22 | Microsoft Corporation | Parameterized and reusable implementations of business logic patterns |
US20060075396A1 (en) * | 2004-09-30 | 2006-04-06 | Surasinghe Lakshitha C | System and method for configurable trading system |
US20080155556A1 (en) * | 2006-12-22 | 2008-06-26 | Sap Ag | Providing a business logic framework |
EP2306384A1 (en) * | 2009-09-24 | 2011-04-06 | Avaya Inc. | Group compositing algorithms for presence background |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8015541B1 (en) * | 2002-10-24 | 2011-09-06 | Rage Frameworks, Inc. | Business process technology for the enterprise |
US8027922B2 (en) * | 2003-07-14 | 2011-09-27 | Sprint Communications Company L.P. | Integration infrastructure |
US20060031228A1 (en) * | 2004-05-20 | 2006-02-09 | Bea Systems, Inc. | Adaptive user interface for occasionally-connected application server |
US7313575B2 (en) * | 2004-06-14 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | Data services handler |
US7636911B2 (en) * | 2005-01-28 | 2009-12-22 | Microsoft Corporation | System and methods for capturing structure of data models using entity patterns |
US20060235899A1 (en) * | 2005-03-25 | 2006-10-19 | Frontline Systems, Inc. | Method of migrating legacy database systems |
US7761478B2 (en) * | 2005-11-23 | 2010-07-20 | International Business Machines Corporation | Semantic business model management |
US7770146B2 (en) * | 2006-05-19 | 2010-08-03 | Sap Ag | Computer software development incorporating core and compound services |
US7984417B2 (en) * | 2007-06-29 | 2011-07-19 | Sap Portals Israel Ltd. | Meta-model information associated with an enterprise portal |
US8468491B2 (en) * | 2009-07-29 | 2013-06-18 | Sap Ag | Systems and methods for integrating process perspectives and abstraction levels into process modeling |
-
2011
- 2011-12-22 US US13/335,430 patent/US9406044B2/en active Active
-
2012
- 2012-10-26 EP EP12007377.0A patent/EP2608135A1/en not_active Ceased
- 2012-12-24 CN CN201210567686.3A patent/CN103177329B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1460572A2 (en) * | 2003-03-12 | 2004-09-22 | Microsoft Corporation | Parameterized and reusable implementations of business logic patterns |
US20060075396A1 (en) * | 2004-09-30 | 2006-04-06 | Surasinghe Lakshitha C | System and method for configurable trading system |
US20080155556A1 (en) * | 2006-12-22 | 2008-06-26 | Sap Ag | Providing a business logic framework |
EP2306384A1 (en) * | 2009-09-24 | 2011-04-06 | Avaya Inc. | Group compositing algorithms for presence background |
CN102034144A (zh) * | 2009-09-24 | 2011-04-27 | 阿瓦雅公司 | 用于在场的群组组成算法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103971211A (zh) * | 2014-05-29 | 2014-08-06 | 中国银行股份有限公司 | 一种信息处理方法及装置 |
CN106920026A (zh) * | 2015-12-28 | 2017-07-04 | Sap欧洲公司 | 对象注册 |
CN106920026B (zh) * | 2015-12-28 | 2021-12-03 | Sap欧洲公司 | 对象注册 |
CN109784795A (zh) * | 2017-11-13 | 2019-05-21 | 阿里巴巴集团控股有限公司 | 库存状态计算方法、装置、设备和介质 |
CN108011967A (zh) * | 2017-12-15 | 2018-05-08 | 四川长虹电器股份有限公司 | 基于aws微服务的图片上传方法 |
CN111598539A (zh) * | 2020-05-14 | 2020-08-28 | 中国银行股份有限公司 | 基于业务建模的cics联机程序业务处理方法及系统 |
CN111598539B (zh) * | 2020-05-14 | 2023-05-02 | 中国银行股份有限公司 | 基于业务建模的cics联机程序业务处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US9406044B2 (en) | 2016-08-02 |
EP2608135A1 (en) | 2013-06-26 |
CN103177329B (zh) | 2017-07-18 |
US20130166472A1 (en) | 2013-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103177329A (zh) | 业务对象处理中基于规则的确定和验证 | |
US11985131B2 (en) | Descendent case role alias | |
CN109479061A (zh) | 遵从性违反检测 | |
US10296859B1 (en) | Workflow discovery through user action monitoring | |
US10296520B1 (en) | Social network analysis of file access information | |
CN111708801A (zh) | 报表生成方法、装置及电子设备 | |
US11171835B2 (en) | Automated generation of an information technology asset ontology | |
US9513876B2 (en) | Access operation with dynamic linking and access of data within plural data sources | |
US9454592B2 (en) | Managing, importing, and exporting teamspace templates and teamspaces in content repositories | |
CN111858615A (zh) | 数据库表生成方法、系统、计算机系统和可读存储介质 | |
US20120204161A1 (en) | Automated Code Map Generation for an Application Programming Interface of a Programming Language | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
Al-Ali et al. | Translating bpmn to business rules | |
Shrivastava | Learning Salesforce Einstein | |
US20180121314A1 (en) | Preemption of false positives in code scanning | |
CN108074074B (zh) | 整合装置及其整合方法 | |
WO2020129752A1 (ja) | オントロジー作成装置、方法およびプログラム | |
US11159638B2 (en) | Dynamic document access control in a content management system | |
US11977997B1 (en) | Tagging systems and methods for efficient cloud service provisioning | |
US20170277730A1 (en) | Keyword identification for an enterprise resource planning manager | |
US20240160611A1 (en) | Consolidating resource data from disparate data sources | |
Parkhomenko et al. | Cloud platform for software development | |
Orłowski et al. | Model of IoT design decision-making processes in Flow Based Programming systems | |
CA3224565A1 (en) | Multi-platform application integration & data synchronization | |
CN114218590A (zh) | 权限配置方法、装置、设备、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: German Waldo Applicant after: SAP AG Address before: German Waldo Applicant before: SAP AG |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |