什么是EAI,BPI与中间件是什么意思

服务热线:400-702-1168 ()
您好,访客
||||||||||
纵谈EAI、BPI与中间件[1]
发布时间: 12:19:00&&来源:&&作者:&&点击:229
  中间件是一个非常普及的名词了,但也还是一个定义并不完全准确的名词。特别是近几年EAI(企业应用集成)和BPI(业务流程集成)越来越多地被大家所提及的时候,中间件的定义就更模糊了。有把EAI/BPI归为中间件的说法,也有对中间件概念进行扩展的说法。无论那种说法,关键的是弄清两者的关系,从而使得我们在具体的应用中选择合适的技术才是最重要的。本文就是以此为目标,谈谈笔者的看法,起到抛砖引玉的作用。
  什么是中间件
  中间件这一概念是在应用架构(Application Architecture)的发展历程中,伴随着三层(3-Tiers)或多层(n-Tiers)结构应运而生的。在三层或多层结构出现之前,应用通常采用两层结构,即客户/表示层和服务器/数据层。为了解决交易问题、应用逻辑共用问题和松偶合问题,在客户/表示层和服务器/数据层之间引进了中间层,这就是中间件。通常,中间件分为交易中间件、应用中间件和消息中间件:
  * 交易中间件:交易中间件的出现是为了解决交易(Transaction)的问题,特别是包含多个资源系统时的交易问题。交易中间件的典型例子就是Tuxedo和CICS。
  * 应用中间件:应用中间件是三层(3-Tiers)或多层(n-Tiers)应用架构的核心部分,最典型的应用中间件是以CORBA和J2EE为基础的应用中间件。今天以J2EE为基础的应用中间件逐渐为业界广泛采用。
  * 消息中间件:消息中间件是应运松偶合的概念而产生的中间件,主要以队列(Queue)和发布定阅(PUB/SUB)为消息传输机制。典型的产品有Vitria的Communicator和IBM的MQ等。
  中间件保证了系统的异构性、扩展性和分布运行的可行性,但它们所解决的问题主要是具体应用的实现。
  什么是EAI/BPI
  以EAI/BPI为基础的集成技术则不同,它所关心的不是具体应用开发的问题,而是如何把一个企业的各种应用集成为一体,解决部门与部门以及企业与企业的协同和自动化问题。虽然集成技术是在消息中间件基础上发展起来的,但经过十多年的发展,它早已远远超出了消息中间件的范畴,而是像操作系统和数据库一样,成为一个企业或政府机构IT基础设施的重要组成部分,是企业架构师和CIO必须首先考虑的问题。
  消息中间件是EAI/BPI的一部分,但EAI/BPI不仅仅是消息中间件。除了消息中间件之外,EAI/BPI还包含了:
  * 连接器和连接技术
  * 数据转换
  * 元数据管理
  * 业务流程管理
  * 业务流程分析与监测等
  第一代EAI技术的特点是利用可靠的消息中间件、丰富的连接与转换技术及全面的元数据(META DATA)管理与应用能力,解决了信息共享与信息交换的问题,同时也使得企业的IT系统容易维护与管理,为企业节省了IT花费。但这种EAI技术所解决的问题更多地集中在数据层面,而不是业务层面。
  20世纪Array0年代中后期,企业业务的迅速发展以及与电子商务的结合对应用集成解决方案提出了更高的要求,局限于信息集成的第一代EAI技术很难实现企业业务流程的自动处理、管理和监控,因此,基于业务流程管理/集成(BPM/BPI)的第二代EAI技术应运而生。这一代EAI技术通过实现对企业业务流程的全面分析管理,可以满足企业与客户、合作伙伴之间的业务需求,实现端到端的业务流程,顺畅企业内外的数据流、信息流和业务流。第二代EAI技术是当前集成技术发展的主流。
  目前,EAI技术正向第三代集成技术演变,这就是“预制集成”,它根据不同行业集成技术的特点,推出基于行业的预建构集成包,预先解决行业共性的问题,从而缩短EAI项目开发周期。预制集成产品的关键点在于它的“可复用性”、“可扩展性”和“灵活性”,这样一来才能保证在产品化的同时,企业又能基于自身业务的需求进行灵活的配置和扩展。
[1] &[2] &
以上内容由
搜集整理,如转载请注明原文出处,并保留这一部分内容。
  “华夏名网” http://www.sudu.cn 和 http://www.bigwww.com 是成都飞数科技有限公司的网络服务品牌,专业经营虚拟主机,域名注册,VPS,服务器租用业务。公司创建于2002年,经过6年的高速发展,“华夏名网”已经成为我国一家知名的互联网服务提供商,被国外权威机构webhosting.info评价为十大IDC服务商之一。
华夏名网网址导航:
上一篇:下一篇:
(4918次点击) (2771次点击) (4160次点击) (2795次点击) (2376次点击) (3733次点击) (3572次点击) (2360次点击) (2530次点击) (2440次点击)
(3419次点击) (3236次点击) (3247次点击) (3994次点击) (2416次点击) (2325次点击) (3217次点击) (3626次点击) (2357次点击) (2341次点击)
& SUDU.CN 飞数科技 版权所有
电话总机:028-91 94
公司地址:四川省成都市青龙街51号倍特康派大厦10楼5号博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)> OPC-全开放控制系统的中间件技术(2)
OPC-全开放控制系统的中间件技术(2)
&&&&二 FCS统一体系结构 &&&&笔者在文献[1]中详述了FF-H1两种设计思路所形成的体系结构。把I/O点分散予以数字化再赋以智能化的H1园卡思路就仪表智能化而言是可取的;然而就构成控制回路而言则难以恭维;它还不如现已从人们记忆中淡忘了的单回路数字调节器。后者构成一个闭环控制单回路或一个简单串级控制回路勿须借助通信就能实施。这种分散到无以复加而必须把PV值从变送器借助通信按时送到阀门上的H1园卡才能进行闭环控制运算,不但加重了通信的负荷,更增加了其复杂程度。形成闭环控制的及时性(Timelines)要求必须进行实时性的强制通信,随机性的不时之需的人机操作及/或修改以及传送报警与历史趋势要求的三种通信要求无疑使通信复杂化;逐点分散构成一个控制系统就必须统一号令――统一时钟与调度,即LAS;而为了控制的可靠性则必须对现行LAS者有冗余措施,而且这种冗余是在线冗余或称任务冗余,其技术难度远大于常规的离线冗余(Back-up)。凡此种种,均是由逐点彻底分散而酿成的。 &&&&笔者对仪表数字化、智能化并无贬意。无须赘言:要智能化必须先数字化。文献[2]提到无A/D、D/A而提高精度,这种提法欠妥。事实上,就测量而言,非电量变成电量几乎全是模拟值电量,将此微弱电平经前置放大后(1伏电平左右)直接进行逐次比较型的A/D转换,与对4~20mA或1~5V输入进行A/D转换比较,只不过是避免了中间级或后置放大的误差而已。至于数字化以后的智能化,则全是软件考虑了,这就有赖于“仁者见仁,智者见智”。 &&&&如文献[1]所示,把DCS控制站整体搬至现场的局部集中体系结构将是FCS的主流结构,除已述之外尚有以下特点: &&&&(1) 控制站的控制功能与构成系统的性能及采用通信协议是各自独立的,因而已为现行各种通信协议的FCS所采用。 &&&&(2) 把DCS与PLC在结构形式上予以统一。长期以来,人们一直把DCS与PLC予以区分,这其实是一种误解。事实上,两者均是可编程控制器,只是PLC多偏重处理开关量,大多进行逻辑运算,因而价格较之DCS便宜一些。然而,随着PLC处理模拟量能力的增强,两者在功能上已难分伯仲了!反之,倒是结构与安装上不同而使人们仍加以区分。一般,DCS多是大机柜安装在控制机房内,而PLC常挂壁安装 ,如该图下部所示,FCS在外形、安装上已消除这种区分了。可能有人会问,控制装置的生命之泉――电源如何考虑?使用现有的24V仪表电源或高于12V的电源并以12V的蓄电池与之并联供电就可简单解决。 &&&&(3) 该控制站是局部集中控制的,当无Timelines要求时,可采用以太网予以联网通信,这已为各种标准的FCS所认同。这样,从物理层至链路层采用以太网协议,而网络层采用IP,传输层采用TCP或UDP。OPC服务器主要引入DCOM技术,后者使得基础的网络通信协议对OPC客户机/服务器透明。DCOM可以使用如UDP、TCP/IP和IPX各种传输工具发送信息,DCOM使用的是相同的OPC应用程序。如此,不但OPC就交换数据信息而言提供了一个全开放的统一系统平台,而且连具体传输信息的通信协议也都采用以太网+TCP(UDP)/IP了!这在具体实施上也都趋于一致,无疑极大方便了用户正常的维护处理。 &&&&然而,就以太网的应用,笔者还有一些逆耳之言。早在1991年,国产第一套DCS――友立2000在沧州炼油厂FCC装置投运时,笔者就实际体会过。该系统的MMI―操作站与控制站就用全输速率为10M的以太网联网,各控制站之间无Timelines要求的信息要交换,而且该局域网总共站点数小于10个,其使用相当成功!但是,近几年来,以太网成了大热门,并企望一网到底,甚至像FF-H1那样赋予本安性能。笔者不但在[1]中,而且还在上面再次阐明:就IEEE802.3规约而言,随机取得通信权的以太网通信不能满足有Timelines要求形成闭环控制回路的需求。通信全输速率即使达到1G,但最大1024个网站的局域网中若有300个I/O点各自都作为网站需要抢通信权的话,其碰撞是无法避免了,这有损于闭环控制。 可能有人争辩说,可采用优先级,但是,优先级多,就无优先可言了,这也不是IEEE802.3本意。至于采取其它措施,例如HUB(集线器)等,则成本上升,采用以太网的优势也就减弱了,另则能否安装于工业现场?笔者对于以太网传输距离在100m以内能否应用于工业现场已心存疑虑了,至于一网到底乃至在国家已经多处立项进行攻关开发,实在是感叹不已!笔者可能不幸而言中:最终只可能一纸报告交帐了!
&&&&三 FCS的竞争将聚焦于应用软件的竞争 &&&&取决于应用软件,而整个系统的可靠性也与应用软件的可靠性息息相关。笔者在文献[3]中赞同文献[4]的观点而在此处延伸至FCS:FCS的竞争多半取决于谁能拥有解决复杂控制问题的先进软件。 &&&&笔者长期从事石油化工生产过程计算机控制的开发应用,对此感触甚深。应用软件有稳态优化、先进控制及基础控制软件等,而其能否取得实效则在更大程度上取决于对生产过程的了解深度。 &&&&近些年来,按长官意志办事变相“强行”推销国外优化、先进控制软件的事,笔者有亲身体会。然而,大多都象“保健品”那样效果难以言明。投入不少而效果不大的原因,笔者分析主要有以下几点: &&&&(1) 对生产工艺及其控制要求并非十分了解而应付之事有之,例如对渣油汽化工艺一无所知的某外国软件商拿到合同后向笔者咨询之事令笔者嗤之以鼻;某厂优化及先进控制项目仅由外商以合同金额叁千分之一不到的代价装了两台微小量程的H2流量计使操作工有据可依而获效益;搞FCC(催化裂化)优化先进控制开发者不知回炼比降低是否是效益的直接体现。 &&&&(2) 优化或先进控制的目标不符合要求,例如,大多炼厂炼量不足,而指标却是处理量最大而不是轻油收率最高等。 &&&&(3) 优化的指标大多是稳态指标,然而实际生产过程不是因原料变化(例如原油供应变化)或加工方案变化或其它原因而常处于动态过程之中,就是稳态时间太短,致使指标游移不定而收效甚少。 &&&&自从DCS介入过程控制以来,国内对DCS的使用大多停留在代替常规仪表的水平上,如何充分发挥其潜力或开发一些新型控制算法有针对性地解决诸如炼厂原油切换带来波动、缩短切换动态过程等则基本上无人问津,绝无立项啃这种“硬骨头”的,而且也不可能为解决生产实际问题在国家立项攻关的。大多均因水平低无多少高深理论、数学推导而不屑一顾!事实却不然。以笔者致力于大型氨厂一段转化炉水/碳控制系统的开发、设计、实施[5]而言,深深体会到:只有比工艺人员在某些方面对工艺及控制要求的了解程度还深,才能搞好基础控制与先进控制。该系统国外原设计十分差强人意,常导致全厂联锁跳车!笔者曾针对四川化工厂、大庆化肥厂及齐鲁二化现场提出按预联锁概念设计控制方案,但三个厂的原料气供应不一样而又作不同的具体处理,以后者的设计实施方案[5]最为完备,完全解决该厂因原料含碳量波动而带来的生产问题。这其中,按实际负荷与标称负荷,以及返氢量的扣除等概念的使用与计算,是笔者对该生产工艺了解的深度出乎于工艺人员意料之外,该系统在现场投运大获成功而长期交付使用。但是,某博士生导师此后在某现场投运同样系统时却招致全厂联锁跳车。此处并非揭人之短,而只是想说明这样一个问题:解决实际工程问题并非不屑一顾之易事,尚宜正视之而不要回避! &&&&文献[5]中提到,该系统在现场投运之前发现了该DCS中某种功能模块的问题后,反映至该公司总部未获答复,后来笔者在自己开发的功能模块中发现问题所在后轻易而举地解决了。同样,赋予预联锁功能的控制系统对实施控制算法的功能模块有逻辑量同步处理要求,据之开发的功能模块应用软件岂不是有其独到之处。笔者设计这套控制系统当时使用C3变字长浮点运算使控制站的时空开销大增,原本可以使用255个功能模块的,但实际只使用80个模块就无Free Time了。当然,这对现在CPU芯片而言已不成问题了。另外,据笔者体验:DCS或新型FCS,其中应用软件―功能模块如按OPC标准有互操作要求的话,其难度与复杂程度远超过原有的。而且,互换性测试通过了,未必其可靠性就不出问题。上面提到Y公司DCS控制模块问题,在20吨快锅(大修后开工先投运)点火不到2小时就导致熄火!所以,对控制算法的功能模块必须要由有工程经验者逐一仿真调试,应做到万无一失才可找一个现场测试投运,到现场考核是绝对不允许调试改程序的!这就是开发控制功能(模块)程序难点所在。还因为如此,其它计算机软件都有升级换代的,唯独只有控制功能模块无升级换代,常见的只有功能模块扩充或引入新的功能模块。例如,Y公司功能模块尽管扩充了很多,但类似于常规仪表的4个端子结构一直沿用其现有DCS产品。
&&&&四 建议国内业界致力于FCS系统集成 &&&&目前,扬长避短进行新产品开发事例屡见不鲜。就FCS而言,国外一些著名厂家并非全部自行开发研制,在其发布的新产品中采取“拿来主义”――购买OEM产品甚或买断性及/或委托开发部件再予以集成成自己品牌的系统者并非罕见。然而,我国以往并非如此,而是由国家出钱作为攻关课题予以大包大揽。一些扯着大旗当虎皮者在申请立项争钱方面尽显其能事。结果,花了国家几千万搞FF(H1园卡)产品及HART产品,在“九.五”期间未见产业化,“十.五”再追加!反过来,如若花这些钱委托国外厂商开发或合作开发,则早已产业化了!事实上,H1园卡是装在变送器及阀门上的,试问国产变送器有多少?而合资的绝不会采用国产H1园卡!这种几千万的攻关立项论证过吗?论证的专家学者是不懂还是“走过场,装糊涂”?未获国家任何资助一民营企业则早已将HART协议产业化并首先通过该基金会认证,那些拿了超过买断性委托开发所需费用一倍以上的国家拨款者该如何交帐?这其中是否有学术腐败? &&&&往者不可谏!建议国内业界有识之士与企业购买OEM产品予以系统集成为自己品牌的产品参与市场竞争。这一建议是基于以下考虑。 &&&&(1) 全开放的FCS其应用(层)程序与包括硬件与系统软件(内含通信部分)的系统平台已可彼此完全独立,能够任意选购不同厂家的系统平台予以即插即用,因而进行集成在技术上无任何障碍。 &&&&(2) 购买OEM产品,或是成为该厂商的系统联盟商,利用其作为OEM产品的系统平台集成自己品牌的FCS能扬长避短,争得投入市场的时间。事实上,FCS产品的系统平台包含许多高新技术,技术复杂,完全自己开发已被证实在目前无此可能。“九.五”课题国家投入巨资,组织国内各有关单位、企业会战5年,结果如何呢?从NI公司买了开发工具历时5年以上还无法在H1园卡上实现LAS。现实情况是,国内工业用的计算机硬件产品打开市场难度大,用国外的系统平台与国外产品竞争就可平起平坐一争高低了;而且系统平台的更新、升级全由OEM厂商考虑,因而该FCS系统产品就可永远处于国际先进水平。 &&&&(3) 国内从事工程应用还是有力量的,其中从事应用软件开发力量只要予以发现重用,在经验与知识水平上完全不亚于国外系统集成厂商的系统工程师;至于从事工程应用的技术力量则更不成问题。 &&&&(4) 最重要的是集成产品的利润如何呢?据笔者初步了解,从国外专门从事OEM产品生产的公司,例如NI公司购买一套装备FCC的FCS系统平台,其售价只有现行DCS的1/3不到,这还不包括作为其联盟商大批量可享受近50%的价格优惠。 &&&&(5) 只要不大的一次性投资把应用软件――功能模块挂到系统平台上,联成一套FCS系统,之后几乎不要什么投入,仅需按定单配置系统即可。 &&&&“仁者见仁,智者见智”,笔者相信业界有识之士会认真考虑这一建议的。事实上,国内已成品牌的某DCS公司也是沿集成道路走过来的,期望国内FCS集成品牌早日面市。
本文地址 :
------分隔线----------------------------Self-generation of a data warehouse from an enterprise data model of an EAI/BPI infrastructure
United States Patent 7487173
A data warehouse is generated by incorporating data warehouse information in business objects to provide subscribed business objects and generating star-schema tables of the data warehouse from the subscribed business objects. Data from subscribed business objects may be logged when an event of the subscribed business objects is processed, for example, by an integration node, and the logged data incorporated into the star-schema tables of the data warehouse.
Inventors:
Medicke, John A. (Raleigh, NC, US)
Russell, Feng-wei Chen (Cary, NC, US)
Application Number:
Publication Date:
02/03/2009
Filing Date:
05/22/2003
Export Citation:
International Business Machines Corporation (Armonk, NY, US)
Primary Class:
Other Classes:
707/999.1,
707/999.101,
707/999.102,
707/999.103
International Classes:
G06F17/30; G06F17/00; G06Q10/00
Field of Search:
707/103R, 707/103Y, 707/100, 707/102, 707/101
View Patent Images:
&&&&&&PDF help
US Patent References:
Casati et al.707/100Gudbjartsson et al.707/16668253Thompson et al.707/106609123Cazemier et al.707/4Nishikawa et al.707/10Linstedt707/1026442269Ehrlich et al.379/265.036418450Daudenarde707/2006411961Chen707/1026212524Weissman et al.707/1016138121Costa et al.707/1005675785Hall et al.395/613
Foreign References:
CAJPASTAR SCHEMER RETRIEVING SYSTEM AND PROGRAM RECORDING MEDIUM THEREFORWOA2METHOD AND APPARATUS FOR PROCESSING BUSINESS INFORMATION FROM MULTIPLE ENTERPRISES
Other References:
Lin et al. “A Database Application Generator for the WWW,” Journal of the Chinese Institute of Engineers. 1998, vol. 21, No. 3, pp. 337-346.
Taylor, Art, “Java-Charging the Data Warehouse,” Database Programming & Design. 1997, vol. 10, No. 10, p. 58.
Zheng Bin xiang et al. Abstract of“Design of object-oriented data warehouse using snow-star schema: its application in the power system of Bao Steel Group,” Journal of Applied Sciences. Jun. 2002, vol. 20, No. 2, pp. 165-168.
Convis et al. “Development Metrics,” Research Disclosure, Jul. 1989.
Gopalkrishnan, “Star/Snow-Flake Schema Driven Object-Relational Data Warehouse Design and Query Processing Strategies,” Data Warehousing and Knowledge Discovery. Proc. First International Conf. Florence, Italy, Aug. 30-Sep. 1, 1999.
Ravat et al. “A Temporal Object-Oriented Data Warehouse Model,” Database and Expert Systems Applications. Proc. 11 th International Conf., London, UK, Sep. 4-8, 2000.
You et al. “On Agent based visual Data Mining for Intelligent Web Browsing with E-Commerce Applications,” IEEE International Fuzzy Systems Conference, 2001.
Primary Examiner:
Pham, Hung Q.
Attorney, Agent or Firm:
Stevens & Showalter LLP
That which is claimed is:
1. A method of providing a self-generating data warehouse, comprising: generating extended business objects that are utilized in a data warehouse wherein: each extended business object stores corresponding business data and also stores data w and the data warehouse information of each extended business object includes information that specifies the attributes thereof that contain business data to be logged into data warehouse tables and information from which data warehouse
automatically generating descriptions of star-schema tables of the data warehouse based at least in part upon the data warehouse information incorporated into the exten generating star-schema tables of the data warehouse based at least in part upon the automatically generated descriptions of star-schema tables, wherein the generated star-schema tables of the data warehouse are stored separately from the exten generating mapping rules for mapping business data contained in the specified attributes of associated extended business objects to corresponding star-schema tables o extracting business data from the extended business objects and storing the extracted business data to an audit log when an event of the extended business objects is processed based upon the gen and incorporating the extracted business data from the audit log into the corresponding star-schema tables of the data warehouse according the generated mapping rules.
2. The method of claim 1, wherein generating extended business objects that are utilized in a data processing system wherein each extended business object stores data warehouse information and the data warehouse information of each extended business object includes information from which data warehouse tables are generated, comprises. incorporating as part of said data warehouse information, at least one of: primary key information that indicates whether an attribute of a corresponding extended business object will work as a primary key
foreign key information that indicates the relationship between a corresponding extended business object and other exten fact table foreign key information that indicates how to generate the defini and/or fact table measure information that indicates whether an attribute of a corresponding extended business object should be a measure of a fact table.
3. The method of claim 1, wherein generating star-schema tables comprises: generating a dimension table from data warehouse information of at least one exte and generating a fact table from data warehouse information of at least one extended business object.
4. The method of claim 3, wherein generating a dimension table and generating a fact table comprise: generating a data definition language (DDL) description of the dimension table from the data warehouse information of at least one exte then generating a DDL description of the fact table from the data warehouse information of at least one exte and then executing the DDL descriptions of the dimension table and the fact table to generate the dimension table and the fact table.
5. The method of claim 3, wherein generating star-schema tables further comprises generating a predefined dimension table in addition to the dimension table generated from the data warehouse information contained in at least one extended business object.
6. The method of claim 5, wherein generating star-schema tables further comprises populating a dimension branch table associated with the predefined dimension table.
7. The method of claim 1, wherein generating star-schema tables comprises: categorizing extended business objects as one of either transactional business objects or informatio generating a dimension table from data warehouse information of an extended business object categorized as an informati and generating a fact table from data warehouse information of an extended business object categorized as a transaction business object.
8. The method of claim 1, wherein extracting data from extended business objects comprises: determining if an integration node event associated with a selected extended business and extracting business data from the selected extended business object if the integration node event associated with the selected extended business object has occurred.
9. The method of claim 8, wherein extracting business data from extended business objects and storing the extracted business data to an audit log further comprises implementing the audit log as a staging database and/or a flat file.
10. The method of claim 9, further comprising: transforming the data in the staging database and/or flat file based
and loading the transformed data into the star-schema tables of the data warehouse.
11. A computer program product for providing a system for self-generating a data warehouse, comprising: a computer readable medium having computer readable program code embodied therein, the computer readable program code comprising: computer readable program code configured to implement a business object designer that generates extended business objects that are utilized in a data warehouse wherein: the business object designer configures each extended business object to store corresponding business data and also store data w and the data warehouse information of each extended business object includes information that specifies the attributes thereof that contain business data to be logged into data warehouse tables and information from which data warehouse
automatically generate descriptions of star-schema tables of the data warehouse based at least in part upon the in the data warehouse information incorporated into the exten computer readable program code configured to implement a star-schema manager that automatically generates descriptions of star-schema tables of the data warehouse based at least in part upon the data warehouse information incorporated into the extended business objects and generates star-schema tables of the data warehouse from automatically generated descriptions of star-schema tables of the data warehouse, wherein the generated star-schema tables of the data warehouse are stored separately from the exten computer readable program code configured to generate mapping rules for mapping business data contained in the specified attributes of associated extended business objects to corresponding star-schema tables o computer readable program code configured to implement an audit log engine that extracts business data from the extended business objects and stores the extracted business data to in an audit log when an event of the extended business objects is processed based upon the gen and computer readable program code configured to implement a transformer/loader that loads the extracted business data stored in the audit log into the data warehouse by populating the star-schema tables of the data warehouse with the extracted business data stored in the audit log according to the generated mapping rules.
12. The computer program product of claim 11, wherein the information from which data warehouse tables are generated, which is included in the data warehouse information of each extended business further comprises at least one of: primary key information that indicates whether an attribute of a corresponding extended business object will work as a primary key
foreign key information that indicates the relationship between a corresponding extended business object and other exten fact table foreign key information that indicates how to generate the defini and/or fact table measure information that indicates whether an attribute of a corresponding extended business object should be a measure of a fact table.
13. The computer program product of claim 11, wherein the computer readable program code configured to implement the star-schema manager is further configured to generate a dimension table from data warehouse information of at least one extended business object and to generate a fact table from data warehouse information of at least one extended business object.
14. The computer program product of claim 13, wherein the computer readable program code configured to implement the star-schema manager is further configured to generate a data definition language (DDL) description of the dimension table from the data warehouse information of at least one extended business object, then generate a DDL description of the fact table from the data warehouse information of at least one subscribed extended business object and then execute the DDL descriptions to generate the dimension table and the fact table.
15. The computer program product of claim 13, wherein the computer readable program code configured to implement the star-schema manager is further configured to generate a predefined dimension table in addition to the dimension table generated from the data warehouse information contained in at least one extended business object.
16. The computer program product of claim 15, wherein the computer readable program code configured to implement the star-schema manager is further configured to populate a dimension branch table associated with the predefined dimension table.
17. The computer program product of claim 11, further comprising computer readable program code configured to categorize extended business objects as one of either transactional business objects or informatio and wherein the computer readable program code configured to implement the star-schema manager is further configured generate a dimension table from data warehouse information of at least one extended business object categorized as an informational business object and to generate a fact table from data warehouse information of at least one extended business object categorized as a transactional business object.
18. The computer program product of claim 11, wherein the computer readable program code configured to implement the audit log engine is further configured to determine if an integration node event associated with a selected extended business object has occurred and to extract business data from the selected extended business object if the integration node event associated with the selected extended business object has occurred.
19. The computer program product of claim 18, wherein the computer readable program code configured to implement the audit log engine is further configured to implement the audit log as store the extracted data in a staging database and/or a flat file.
20. The computer program product of claim 19, further comprising computer readable program code configured to implement a transformer/loader is configured to transform the data in the staging database and/or the flat file based on the mapping rules and to load the transformed data into the star-schema tables of the data warehouse.
Description:
FIELD OF THE INVENTIONThe present invention relates to data warehouses and more particularly to the creation and/or maintenance of data warehouses.BACKGROUND OF THE INVENTIONWith increases in the use of computers to collect and store data and with increases in computer based transactions, such as over the Internet, there has been a proliferation of databases containing large amounts of historical data commonly referred to as “data warehouses.” For example, as more and more data is collected regarding consumer purchase and/or shopping habits, this data may be stored in a data warehouse for subsequent analysis. Other uses of data warehouses include, for example, data warehouses of genetic or other scientific data.While the particular data may vary for different data warehouses, in general, data warehouses are databases of historical data that may utilize a “star-schema” database structure. A data warehouse is typically present to users through a multi-dimensional hypercube and provides an ad hoc query environment. Furthermore, the data warehouse will, typically, contain a large amount of data and have a complex structure.The multi-dimensional hypercube, typically includes several “dimensions” where each dimension includes “members.” The members of a dimension may have a hierarchical structure. A “measure” of a dimension or dimensions may be incorporated into a data warehouse as a pre-calculated value. Thus, a measure is a computer member. For example, a measure may be incorporated into a meta-outline of a data warehouse. In such a way, the pre-calculated “measure” may be made available to users of the data warehouse. Pre-calculated measures of dimensions of a data warehouse are sometimes referred to as “analytics” of a data warehouse.Because of the size and complexity of data warehouses, they are typically created, administered and maintained by an information technology specialist. As such, creation, modification and/or analysis of data warehouses may be a costly and time consuming proposition.For example, in creating a data warehouse, an enterprise data architecture is typically analyzed and represented in the data warehouse. After this analysis, the data is extracted, transformed and loaded into the data warehouse from other, dissimilar databases. This analysis and creation of the data warehouse architecture and the extraction, transformation and loading of data may be very costly and time consuming. As such, the usefulness and/or timeliness of data warehouse applications may be reduced.Furthermore, the data warehouse star-schema database and integration hub used for integrating data in the data warehouse are, conventionally, separate isolated applications even though the data warehouse contains the superset of data which includes the transaction information in the hub. The information in the integration hub is not transparent to the warehouse. The integration hub transforms the data once for integration purposes and is, typically, managed and/or created by information technology experts that understand the data format, type and meaning and are relied on to transform, extract, and load the data again.Recently, Enterprise Application Integration (EAI) and/or Business Process Integration (BPI) have been utilized to integrate multiple applications through enterprise application techniques, such as integration brokers and/or integration buses. Furthermore, these tools have been extended to manage business processes through business process integration techniques. These application and/or business process integration techniques, collectively and individually, are referred to herein as an integration node. The integration node provides business objects that characterize business information and/or transactions. These business objects, therefore, reflect the business processes of a business and/or the data about such business processes.SUMMARY OF THE INVENTIONEmbodiments of the present invention provide methods, systems, and computer program products for generating a data warehouse by incorporating data warehouse information in business objects to provide subscribed business objects and generating star-schema tables of the data warehouse from the subscribed business objects. Data from subscribed business objects may be logged when an event of a subscribed business object is processed and the logged data incorporated into the star-schema tables of the data warehouse.In further embodiments of the present invention, data warehouse information incorporated with generated business objects includes log formation, primary key information, foreign key information, fact table foreign key information, and/or fact table measure information.In additional embodiments of the present invention, generating star-schema tables includes generating a dimension table from data warehouse information of a subscribed business object and generating a fact table from data warehouse information of a subscribed business object. Additionally, subscribed business objects may be categorized as transactional business objects or informational business objects. In such a case, a dimension table may be generated from data warehouse information of a subscribed business object categorized as an informational business object and a fact table may be generated from data warehouse information of a subscribed business object categorized as a transaction business object.In still other embodiments of the present invention, generating a dimension table includes generating a data definition language (DDL) description of the dimension table from the data warehouse information of a subscribed business object. Then, a DDL description of the fact table is generated from the data warehouse information of a subscribed business object. Then, the DDL descriptions are executed to generate the dimension table and the fact table.In particular embodiments of the present invention, generating star-schema tables also includes generating a predefined dimension table. In such embodiments, a dimension branch table associated with the predefined dimension table may also be populated.In additional embodiments of the present invention, logging data from subscribed business objects is provided by determining if an integration node event associated with a subscribed business object has occurred and extracting data from the subscribed business object if the integration node event associated with the subscribed business object has occurred. The extracted data may be stored in a staging database and/or a flat file. Mapping rules may be defined that map data from business objects to star-schema tables of the data warehouse. The logged data may be incorporated into the star-schema tables of the data warehouse by transforming the data in the staging database and/or a flat file based on the mapping rules and loading the transformed data into the star-schema tables of the data warehouse.In still further embodiments of the present invention, a system for generating a data warehouse includes a business object designer configured to incorporate data warehouse information in business objects so as to provide subscribed business objects. A star-schema manager is configured to generate star-schema tables of the data warehouse based on the incorporated data warehouse information of the subscribed business objects. An audit log engine is configured to extract information from subscribed business objects and store the extracted information in an audit log. A transformer/loader is configured to load the information stored in the audit log into the data warehouse by populating the star-schema tables of the data warehouse with the information stored in the audit log.In yet additional embodiments of the present invention, the data warehouse information included in the business objects by the business object designer includes log formation, primary key information, foreign key information, fact table foreign key information, and/or fact table measure information.Furthermore, the star-schema manager may be further configured to generate a dimension table from data warehouse information of a subscribed business object and generate a fact table from data warehouse information of a subscribed business object. Subscribed business objects may be categorized as either transactional business objects or informational business objects and the star-schema manager may be configured generate a dimension table from data warehouse information of a subscribed business object categorized as an informational business object and generate a fact table from data warehouse information of a subscribed business object categorized as a transaction business object.The star-schema manager may also be configured to generate a data definition language (DDL) description of the dimension table from the data warehouse information of a subscribed business object, then generate a DDL description of the fact table from the data warehouse information of a subscribed business object and then execute the DDL descriptions to generate the dimension table and the fact table. The star-schema manager may also generate a predefined dimension table. In such a case, the star-schema manager may be further configured to populate a dimension branch table associated with the predefined dimension table.The audit log engine may be configured to determine if an integration node event associated with a subscribed business object has occurred and extract data from the subscribed business object if the integration node event associated with the subscribed business object has occurred. The audit log engine may also be configured to store the extracted data in a staging database and/or a flat file.Mapping rules that map data from business objects to star-schema tables of the data warehouse may be defined and the transformer/loader may be configured to transform the data in the staging database and/or a flat file based on the mapping rules and load the transformed data into the star-schema tables of the data warehouse.As will further be appreciated by those of skill in the art, while described above primarily with reference to method aspects, the present invention may be embodied as methods, apparatus/systems and/or computer program products.BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram of a data processing system suitable for use in embodiments of tFIG. 2 is a more detailed block diagram of a system according to embodiments of tFIGS. 3A and 3B are block diagrams illustrating systems that provide self-generating data warehouses according to embodiments of tFIG. 4 is flowchart illustrating operations according to embodiments of tFIG. 5 is a flowchart illustrating operations for generating extended business objects according to embodiments of tFIG. 6 is a flowchart illustrating operations of a star-schema manager according to embodiments of tFIG. 7 is a diagram of exemplary extended business objects and corresponding fact and dimension tables according to embodiments of tFIG. 8 is a flowchart illustrating operations of an audit log engine according to embodiments of t andFIG. 9 is a flowchart illustrating operations of a transformer/loader according to further embodiments of the present invention.DETAILED DESCRIPTION OF THE INVENTIONThe present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which illustrative embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodime rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.As will be appreciated by one of skill in the art, the present invention may be embodied as a method, data processing system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects all generally referred to herein as a “circuit” or “module.” Furthermore, the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium. Any suitable computer readable medium may be utilized including hard disks, CD-ROMs, optical storage devices, a transmission media such as those supporting the Internet or an intranet, or magnetic storage devices.Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java(R), Smalltalk or C++. However, the computer program code for carrying out operations of the present invention may also be written in conventional procedural programming languages, such as the “C” programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).The present invention is described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.Various embodiments of the present invention will now be described with reference to the figures. FIG. 1 illustrates an exemplary embodiment of a data processing system 130 suitable for use in accordance with embodiments of the present invention. The data processing system 130 typically includes input device(s) 132 such as a keyboard or keypad, a display 134, and a memory 136 that communicate with a processor 138. The data processing system 130 may further include a speaker 144, and an I/O data port(s) 146 that also communicate with the processor 138. The I/O data ports 146 can be used to transfer information between the data processing system 130 and another computer system or a network. These components may be conventional components, such as those used in many conventional data processing systems, which may be configured to operate as described herein.FIG. 2 is a block diagram of data processing systems that illustrates systems, methods, and computer program products in accordance with embodiments of the present invention. The processor 138 communicates with the memory 136 via an address/data bus 248. The processor 138 can be any commercially available or custom microprocessor. The memory 136 is representative of the overall hierarchy of memory devices containing the software and data used to implement the functionality of the data processing system 130. The memory 136 can include, but is not limited to, the following types of devices: cache, ROM, PROM, EPROM, EEPROM, flash memory, SRAM, and DRAM.As shown in FIG. 2, the memory 136 may include several categories of software and data used in the data processing system 130: the operating system 252; the application programs 254; the input/output (I/O) device drivers 258; and the data 256. As will be appreciated by those of skill in the art, the operating system 252 may be any operating system suitable for use with a data processing system, such as OS/2, AIX or System390 from International Business Machines Corporation, Armonk, N.Y., Windows95, Windows98, Windows2000 or WindowsXP from Microsoft Corporation, Redmond, Wash., Unix or Linux. The I/O device drivers 258 typically include software routines accessed through the operating system 252 by the application programs 254 to communicate with devices such as the I/O data port(s) 146 and certain memory 136 components. The application programs 254 are illustrative of the programs that implement the various features of the data processing system 130 and preferably include at least one application which supports operations according to embodiments of the present invention. Finally, the data 256 represents the static and dynamic data used by the application programs 254, the operating system 252, the I/O device drivers 258, and other software programs that may reside in the memory 136.As is further seen in FIG. 2, the application programs 254 may include a business object designer module 260, a star-schema manager module 262, an audit log engine module 264, a transformer/loader module 266 and an integration node module 268. The business object designer module 260 may be used to generate extended business objects as described herein. The extended business objects may include information from which the star-schema manager module 262 can generate tables for a data warehouse as described herein. The audit log engine 264 may extract data when an event of a subscribed business object is processed, for example, by the integration node module 268. The integration node module 268 utilizes the business objects defined for an enterprise to control application and/or business process integration. The transformer/loader module 266 may transform the data extracted by the audit log engine 264 and load the transformed data into the tables created by the star-schema module 262 so as to populate the data warehouse with data.The data portion 256 of memory 136, as shown in the embodiments of FIG. 2, may include business objects 270, tables for defining a data warehouse 272 and/or a staging database 274. The business objects 270 may provide information for generation of the tables 272. The staging database 274 may provide data extracted from the subscribed business objects 270 that is loaded into the tables 272 of the data warehouse.While the present invention is illustrated, for example, with reference to the business object designer module 260, the star-schema manager module 262, the audit log engine module 264, the transformer/loader module 266 and the integration node module 268 being application programs in FIG. 2, as will be appreciated by those of skill in the art, other configurations may also be utilized while still benefitting from the teachings of the present invention. For example, one or more of the business object designer module 260, the star-schema manager module 262, the audit log engine module 264, the transformer/loader module 266 and/or the integration node module 268 may also be incorporated into the operating system 252 or other such logical division of the data processing system 130. Thus, the present invention should not be construed as limited to the configuration of FIG. 2 but is intended to encompass any configuration capable of carrying out the operations described herein.Furthermore, while each of the business object designer module 260, the star-schema manager module 262, the audit log engine module 264, the transformer/loader module 266 and the integration node module 268 are illustrated in a single data processing system, as will be appreciated by those of skill in the art, such functionality may be distributed across one or more data processing systems. For example, the functionality of one or more of the business object designer module 260, the star-schema manager module 262, the audit log engine module 264, the transformer/loader module 266 and/or the integration node module 268 may be provided on one or more data processing systems that are separate from the data processing system that provides the functionality of other ones of the business object designer module 260, the star-schema manager module 262, the audit log engine module 264, the transformer/loader module 266 and/or the integration node module 268. Thus, the present invention should not be construed as limited to the configuration illustrated in FIGS. 1 and 2 but may be provided by other arrangements and/or division of function between data processing systems.Embodiments of the present invention will now be described with reference to FIGS. 3A and 3B which are block diagrams illustrating system for providing self-generating data warehouses according to embodiments of the present invention. The systems in FIGS. 3A and 3B utilize Enterprise Application Integration (EAI) and/or Business Process Integration (BPI), where business objects are defined for an enterprise. The enterprise data model instantiated in the EAI/BPI infrastructure is utilized for creating a self-generating data warehouse solution. EAI/BPI tools define the enterprise data model as a set of standard business objects for the enterprise. These business objects can be used to define the historical data model and then map that model to a star-schema for the data warehouse definition and to the mapping definitions to load the data warehouse.As seen in FIG. 3A, extended business objects 300 are generated by the business object designer 302. In particular embodiments of the present invention, the business object designer 302 may be WebSphere Business Integration business object designer from International Business Machines Corporation, Armonk, N.Y. Conventional business objects may be modified to extend the conventional business objects to include information from which a data warehouse may be generated. In particular, the graphic user interface provided by WebSphere Business Integration may be modified such that, in addition to the basic fields provided by WebSphere Business Integration, the following fields are added:
Log: indicates whether this attribute will be logged if an event of this businessPrimary key: indicates whether this attribute will work as the primary key inForeign key: indicates the relationship between this business object and otAs Fact Table's Foreign key: indicates whether this field will work as the foreign key for a specific attribute in the fact table, it is the indicator of how to generate the defiAs Fact Table Measure: indicates whether the attributes should show up as the measure in the fact table.
Table 1 below is an example of these fields for an “Order” business object.
TABLE 1Example Fields of Extended Business ObjectAs FactAs FactTable'sTable'sOrder BOLogP KeyForeign KeyForeign KeyMeasureSalesYesYesOrder IDYesYesOrderDateYesCustomerIDYesYes -CustomerSales RegionYesOrderLineYesYes -ItemProduct The business object designer 302 may be utilized to create the extended business objects 300 by creation of business objects and/or by modification of existing business objects. Thus, for example, predefined business objects may be provided with the EAI/BPI system and those predefined business objects may be modified to provide the extended business objects 300.The business object designer 302 may also generate mapping rules 314 that map the data from the extended business objects 300 to data to populate tables of a data warehouse.As is further illustrated in FIG. 3A, the star-schema manager utilizes the information from the extended business objects 300 to generate data definition language (DDL) that generates the data warehouse tables 306. In particular, the dimension tables 308, the fact tables 310 and the dimension branch tables 312 may be generated from the DDL generated by the star-schema manager 304. The tables 306 of the data warehouse may include dimension, fact and/or dimension branching tables that are predefined as well as those that are generated from the extended business objects 300. Thus, for example, marketing, time and other standardized dimensions may be provided by predefined dimension tables. Such predefined tables may be selected by a user so as to be selectively incorporated in a self-generated data warehouse. Also, predefined tables may be selectively modified by the extended business objects so as to add/delete fields (columns), members or the like so as to provide customized tables that define the data warehouse.Mapping rules 314 are also generated by the star-schema manager 304 as part of the data warehouse generation. Alternatively, the business object designer 302 or other such module, may generate mapping rules 314 that map the data from the extended business objects 300 to data to populate tables of a data warehouse. For example, the mapping rules 314 may be created utilizing EAI/BPIMap designer that may be provided as part of an EAI/BPI system, such as those discussed above from International Business Machines Corporation. Such a mapping may take advantage of the nature of the created business objects to map data from the extended business objects to dimension and/or fact tables.For example, business objects may, in general, be classified as one of two types: those that are tra and those that serve as vehicles for information exchange. Classification of business objects may provide for sorting the full body of business objects into those that are informational and those that are transactional. The informational business objects define the dimension member candidates for the star schema. The transaction business objects define the fact table entry candidates.Thus, the decomposition of business objects allows the user to define the associations that will generate the star schema DDL from the business objects and also defines the mapping to transform the audit log data into the appropriate data warehouse entries. Output of the classification and mapping process may populate a mapping table that transforms business objects into table updates (either for the dimension tables or for the fact tables).As is further illustrated in FIG. 3B, an integration node 320, which may be a conventional business process manager such as those provided in EAI/BPI systems from International Business Machines Corporation, Armonk, N.Y., utilizes the extended business objects 300 in a conventional manner. However, when the integration node 320 processes an event of an extended business object 300, referred to herein as a subscribing or subscribed business object, the audit log engine 330 extracts data from the subscribing business object and stores this data in a staging database and/or flat file 332. An event that may result in the extraction of data may include, for example, instantiation of a business object or other such activity indicating EAI/BPI collaboration.The data in the staging database and/or flat file 332 is used by the transformer/loader 340 which utilizes the mapping rules 314 to map the data from the subscribing business objects to the tables 308, 310, 312 of the data warehouse 306 and to load that data into the tables 308, 310, 312.Operations for generating a data warehouse from business objects according to certain embodiments of the present invention are illustrated in FIG. 4. As seen in FIG. 4, extended business objects that include information associated with the data warehouse are generated (block 400), for example, by use of the business object designer 302. Star-schema tables of a data warehouse are built from the business objects that include the data warehouse information (block 402), for example, by the star-schema manager 304. Data from subscribing business objects is received and stored in a log when an event of a subscribing business object is processed (block 404), for example, by the audit log engine 330. The data from the log is transformed and loaded in the tables of the data warehouse (block 406), for example, by the transformer/loader 340.FIG. 5 illustrates operations of a business object designer, such as the business object designer 302, according to embodiments of the present invention. As seen in FIG. 5, extended business objects are created (block 500), a log table is specified for the extended business objects (block 502) and logging fields are also specified for the extended business objects (block 504). The log table may be used to store the data extracted from the business object and the logging fields may specify which fields of the business object have data logged.As is further illustrated in FIG. 5, a primary key is specified for the business object (block 506) and foreign keys are also specified (block 508). The primary key may be one or more fields of the business object and the foreign key may be one or more fields of the business object. Fact table keys are also specified (block 510) as well as measure fields of the fact table (block 512).FIG. 6 illustrates operations of a star-schema manager, such as the star schema manager 304 of FIG. 3A, according to certain embodiments of the present invention. Operations of FIG. 6 may be provided to define tables in a target database to provide a data warehouse. The target database may contain predefined tables that provide basic infrastructure of a data warehouse. The operations of FIG. 6 may be carried out to provide business object specific information in the target database that may further define the star-schema of the target database.As seen in FIG. 6, dimension tables DDL is generated by the star-schema manager (block 600). As discussed above, dimension tables may be generated based on a categorization of a business object as an informational business object. From the data warehouse information contained in the extended business objects that are informational, the dimension tables of the data warehouse may be specified in DDL. Thus, the DDL of the dimension tables may be generated based on the features specified in the extended business objects. Dimension tables should be generated before fact tables due to dependency issues. Pre-canned (i.e. predefined) dimension tables, such as time and market dimensions, may also be specified in addition to those dimension tables generated from extended business objects.As is further illustrated in FIG. 6, fact table DDL is also generated by the star-schema manager (block 602). As discussed above, fact tables may be generated based on a categorization of a business object as a transactional business object. From the data warehouse information contained in the extended business objects that are transactional, the fact tables of the data warehouse may be specified in DDL. Thus, fact table DDL may be generated based on the specifications from users. The fact table will contain foreign keys to the dimension tables and, thus, is generated later than dimension tables.The fact and dimension tables are then generated based on the fact and dimension table DDL (block 604). The generation of the dimension and fact tables may be provided, for example, by connecting to the target database and the star-schema tables created by Java database connectivity (JDBC) connector.Dimension branch tables of the target database may also be populated (block 606). For example, the dimension branch tables for the pre-canned dimensions, such as time and market dimension tables, may be populated with members. These pre-canned or default dimension members may have standardized features and hierarchies which may be common among many enterprises and, therefore, may be predefined.FIG. 7 illustrates example subscribing business objects, default dimension tables and a fact table generated from the subscribing business objects. As seen in FIG. 7, default dimension tables include a Market dimension table 700 and a Time dimension table 702. Also illustrated is a fact table 704, a Product business object 706, a Customer business object 708 and an Order business object 710. The Product business object 706 and the Customer business object 708 are informational business objects and, therefore, a Customer dimension table (not shown) and Product dimension table (not shown) would be generated from the Customer business object 708 and the Product business object 706, respectively. The Order business object 710 is a transactional business object and, therefore, would be incorporated in a fact table.Referring to the example in FIG. 7, the star-schema manager will generate the DDL's illustrated below. In the present example, the Time and Market dimensions already exist because they contain more standardized data and can be predefined and packaged. The following shows the DDL's generated for Product, Customer dimensions as well as the fact table (Sales).create table PRODUCT(as product dimension)(ProductIdINTEGER not null,ManufactureId VARCHAR(80),ProductNameVARCHAR(80),ProductFamilyIdVARCHAR(80),primary key (ProductId));create table CUSTOMER(as customer dimension)(CustomerIdINTEGER not null,FirstNameVARCHAR(80),LastNameVARCHAR(80),AddressVARCHAR(80),CityVARCHAR(80),primary key (CustomerId));create table Sales(represent the fact table)(CustomerIdINTEGER,ProductIdINTEGER,MarketIdINTEGER,TimeId INTEGER,AMOUNTFLOAT(53),CONSTRAINT FK_CustomerId FOREIGN KEY (CustomerId)REFERENCES Customer (CustomerId) ONDELETE CASCADE,CONSTRAINT FK_ProductId FOREIGN KEY (ProductId)REFERENCES Product (ProductId) ONDELETE CASCADE,CONSTRAINT FK_MarketId FOREIGN KEY (MarketId)REFERENCES Market (MarketId) ONDELETE CASCADE,CONSTRAINT FK_TimeId FOREIGN KEY (TimeId)REFERENCES Time (TimeId) ONDELETE CASCADE);
Thus, as seen in FIG. 7, the fact table 704 includes as foreign keys the CustomerId from the Customer business object 708, the ProductId from the Product business object 706, the MarketId from the Market dimension table 700 and the TimeId from the Time dimension table 702. The fact table 704 also includes the sales field from the Order business object 710 as the measure of the fact table 704. Furthermore, as discussed above, with some dimension tables, the star-schema manager automatically populates the dimension branch. For example, as is further illustrated in FIG. 7, the market dimension can have a predetermined region branch dimension and state branch dimension. Similarly, the time dimension may be populated with hierarchical information, such as quarter, month, or weeks, etc.FIG. 8 is a flowchart illustrating operations of an audit log engine, for example, the audit log engine 330 of FIG. 3B, according to certain embodiments of the present invention. As seen in FIG. 8, the audit log engine waits for a the integration node to process an event of a business object (block 800). When an event occurs (block 800), if the event is from a subscribed business object (block 802), the audit log engine logs the information specified as log fields in the business object in a staging database and/or flat file (block 804). The audit log engine then waits for the next event (block 800). If the event is not from a subscribed business object (block 802), the audit log engine waits for the next event (block 800). Thus, when the integration node processes the events of the subscribed business objects, the audit log engine automatically logs the specified business object information in either a staging database (such as an operational data store (ODS)) or in a flat file.FIG. 9 is a flowchart illustrating operations of a transformer/loader, for example, the transformer/loader 340 of FIG. 3B, according to certain embodiments of the present invention. As seen in FIG. 9, the transformer/loader obtains an element of the subscribed business object (block 900) and mapping rules for the element (block 902). In particular embodiments of the present invention, elements of a subscribed business objects are those fields or variables a business object that are indicated as being logged (see e.g. FIG. 7). If the element is a foreign key of a fact table (block 904), the dimension table key value for the foreign key is obtained based on the value of the element and the dimension table key value is used as the value of the element (block 906). The target table and column for the mapping of the element is also determined (block 908) and the target updated with either the element value or the dimension table key value (block 910). If there are more mappings for the element (block 912), then operations continue from block 902 with the next mapping being obtained. If there are no more mappings for the current element (block 912), it is determined if there are more elements of the subscribed business object (block 914). If there are more elements (block 914), then operations continue from block 900 by obtaining the next element of the subscribed business object. If there are no more elements (block 914), then updating of the tables of the data warehouse are completed for the subscribed business object.As discussed above, embodiments of the present invention may simplify the creation of data warehouse star-schema and may accelerate the building of a data warehouse by leveraging business objects in EAI/BPI systems because business objects encapsulate transaction related information and business objects also have interrelationship with other business objects. Business objects may be used as building blocks for data warehouse modeling and the star-schema manager may create DDL's for a star-schema definition based on a user's specification of the business objects. An audit log engine may capture the specified information that pertains to the data warehouse from the business objec

我要回帖

更多关于 tomcat中间件是什么 的文章

 

随机推荐