throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2007/0038683 A1
`
`Dixon et a1.
`(43) Pub. Date:
`Feb. 15, 2007
`
`US 2007003 8683Al
`
`(54) BUSINESS INTELLIGENCE SYSTEM AND
`METHODS
`
`Related US, Application Data
`
`(75)
`
`Inventors: James Dixon, Winter Park, FL (US);
`Doug Moran, Merritt Island, FL (US);
`Marc Batchelor, Winter Springs, FL
`(1J3)
`
`Correspondence Address:
`GOODWIN PROCTER LLP
`PATENT ADMINISTRATOR
`EXCHANGE PLACE
`BOSTON, MA 02109-2881 (US)
`
`(73) Assignee: Pentaho Corporation, Orlando, FL
`
`(21) Appl. No.:
`
`11/493,943
`
`(22)
`
`Filed:
`
`Aug. 3, 2006
`
`(60) Provisional application No. 60/705,576, filed on Aug.
`4, 2005.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F 17/30
`(52) UHS Cl.
`.............................................................. 707/202
`
`(57)
`
`ABSTRACT
`
`In general, the invention relates to a business intelligence
`.
`.
`.
`platform. In one aspect, data is logged such that information
`about execution instances can be obtained. In another aspect,
`action sequences are developed, stored, and executed, such
`that use of a variety of components can be specified.
`
`SERVER
`M
`
`WORKBENCH .
`E
`
`'NBOX
`ALERTER
`19$
`
`.129
`
`FRAMEWORK
`m
`
`COMPONENTS
`fl
`
`BI SYSTEM
`
`000001
`000001
`
`BSP SOFTWARE LLC 1002
`BSP SOFTWARE LLC 1002
`
`

`

`Patent Application Publication Feb. 15, 2007 Sheet 1 of 5
`
`US 2007/0038683 A1
`
`SERVER
`1%
`
`WORKBENCH 7
`fl);
`
`INBOX
`ALERTER
`1%
`
`199
`
`FRAMEWORK
`
`COMPONENTS
`1—07
`
`Bl SYSTEM
`
`FIG. 1
`
`000002
`000002
`
`

`

`Patent Application Publication Feb. 15, 2007 Sheet 2 of 5
`
`US 2007/0038683 A1
`
`CLIENTS
`
`SYSTEM
`MONITORING
`.2033
`
`WEB SERVICE
`CLIENT
`a9
`
`WEB
`BROWSERS
`2.19
`
`INBOX
`ALERTER
`21.1
`
`SNMP/J MX
`
`SOAP/WSD
`
`HTTP
`
`RSS
`
`SERVICES / UDDI @
`
`—
`
`SINGLE SIGN ON A2
`—
`JAVA SERVER PAGES,
`SERVL—ETSPORTLETS
`N-AVIGATION
`CO_MPONENTS
`
`RUNTIME/
`
`SOLUTION
`213 REPOSITORY
`
`SOLUTION ENGINE fl
`
`AUDITING 215
`
`COMPONENTS go_7
`
`n:
`mg”4.4
`DLI.
`0x
`mm
`IO0
`(I);
`
`EXPORTING
`
`DASHBOARDS
`
`PIVOTVIEWS
`
`
`
`ANALYTICVIEWS
`
`
`
`APPINTEGRAT‘N
`
`
`
`BUSINESSRULES
`
`DATAMINING
`
`
`
`AUDITREPORTS
`
`AUDIT
`REPOSITORY
`
`ETL 245
`
`WORKFLOW
`ENGINE
`
`I SCHEDULER
`
`B
`
`SCHEDULER
`REPOSITORY
`
`DATA
`SOURCES
`
`-DATA
`-MART
`252
`
`APPLICATION
`INTEGRATION]
`
`(1%
`
`DATA MINING
`LEGEND:
`REPOSITORY
`—> CONTROL FLOW
`--->- DATA FLOW
`
`WORKFLOW
`REPOSITORY
`
`APPLICATION
`DATA
`
`000003
`000003
`
`

`

`Patent Application Publication Feb. 15, 2007 Sheet 3 of 5
`
`US 2007/0038683 A1
`
`zo_mmm>
`
`405.200
`
`Emhm>m
`
`zOEfiOm
`
`zo_._._z_u_mo
`
`meE
`
`
`
`flag»;..............mzazm20:30.0,
`
`
`
`
`
`
`
`mow>>Ooz_>>
`
`mm>mmw52:
`
`XE:mow>>ooz_>>
`
`mm>mmm
`
`i029w5025
`
`wllzmjo
`
`>mO._._won_mE
`
`mEfiznm
`
`
`
`:mzOEfiOmzO:.<O_><zQz<mmo_>mmm
`
`mwmjom
`
`
`
`Iozmmxmo>>OI<H2m_n_
`
`>>O._u_<55A---
`
`
`
`
`
`>>O.EAomhzooAIHozmwmfi
`
`mm.=u_._._n_3<
`
`
`>motwonm—m
`
` m5.3
`
`
`
`
`
`._mn_O_>_$30.Eonmmmwmzfinmom<OmIm<DOz_z=>_<H<o>>Ofixmo>>
`
`
`
`
`
`
`mngwmommzoawomo._._n_m_mmjzm”$29memJOszoz__>_o<
`zoEoné20:38........n02:52
`
`
`
`.onx:.c:\oms=maouc_>>mzazmmszwmo
`
`.mohxwmo.Oz_z__>_<H<owmmoomm
`
`
`
`
`
`
`
`oz_z=>_<._.<o_>>O._n_v_m0>>
`>mo._._mon_mmD>motmonmE
`
`>>O._n_v_m0>>
`
`mzmuzm
`
`000004
`000004
`
`
`
`

`

`Patent Application Publication Feb. 15, 2007 Sheet 4 0f 5
`
`US 2007/0038683 A1
`
`29:on20.2020;
`
`:023m5:Ezmzohmzoo
`
`.........v®AEEEVmzazm20:38I
`
`
`I
`mzazmMEotwonmm265%;
`EotmonmmE.
`
`20:38292922oz<$235069
`$szzo:<o_§<
`zO:.<o_._n_n_<
`mmkfimoimmpzmmmamoHzmjo
`
`
`
`
`>._._m:om_mzO_._.<o:n_n_<zO_._.<o_._n_n_<
`
`<><fi
`
`
`
`mm>mwmmmmwmo
`
`26:6528AI“ozmofl20:53am:
`
`
`
`
`26:<53i---.....\zoEEoEz
`
`
`
`mymocwonmmMWm265%;m20:53am:
`‘\ll!
`
`EocmonmmEocmoamm
`
`20:38
`
`000005
`000005
`
`
`

`

`Patent Application Publication Feb. 15, 2007 Sheet 5 of 5
`
`US 2007/0038683 A1
`
`ASSIGN SESSION ID
`
`@
`
`GENERATE ‘IST AUDIT DATA
`
`m
`
`ASSIGN EXEC INSTANCE ID
`
`m
`
`
`
`
`
`
`
`
`
`
`GENERATE 2ND AUDIT DATA
`
`5—20.
`
`GENERATE LOG ENTRIES
`
`5—25.
`
`
`
`FIG. 5
`
`000006
`000006
`
`

`

`US 2007/0038683 A1
`
`Feb. 15, 2007
`
`BUSINESS INTELLIGENCE SYSTEM AND
`METHODS
`
`RELATED APPLICATIONS
`
`[0001] This application claims the benefit of US. Provi-
`sional Patent Application Ser. No. 60/705,576, entitled,
`“BUSINESS INTELLIGENCE SYSTEM AND METH-
`
`ODS,” filed on Aug. 4, 2006, incorporated herein by refer-
`ence.
`
`COPYRIGHT NOTICE
`
`[0002] A portion of the disclosure of this patent document
`contains material that is subject to copyright protection. The
`copyright owner has no objection to the facsimile reproduc-
`tion by anyone of the patent document or the patent disclo-
`sure, as it appears in the Patent and Trademark Office patent
`file or records, but otherwise reserves all copyright rights
`whatsoever.
`
`APPENDIX ON COMPACT DISC
`
`[0003] This application includes an Appendix of computer
`code on compact disc, hereby incorporated by reference, in
`the file named “appendix-l-source.txt.txt,” created on Aug.
`3, 2006, and of size 314,516 bytes, and the file named
`“appendix—l—source—2.txt,” created on Aug. 3, 2006, and of
`size 39,900 bytes.
`
`BACKGROUND
`
`[0004] Business Intelligence is a sector of the information
`technology (IT) market that includes applications and tools
`for gathering, reporting, and analyzing business data. Tra—
`ditional Business Intelligence (BI) tools are costly, complex
`and fall significantly short of enabling enterprises to achieve
`the sought-after benefits in efficiency and effectiveness.
`Software vendors promise that BI will provide the aggre-
`gation, analysis, and reporting capabilities necessary to
`transform data into the high-value insight that allows man-
`agement
`to make more timely and informed decisions.
`Unfortunately this typically amounts to little more than
`reporting and reporting alone is not enough.
`
`[0005] For example, in BI systems, it is difficult to track
`the performance and execution of automated tasks in dis-
`tributed and long-running processes. Information describing
`errors, warnings, informational messages and diagnostics is
`usually written to text files (log files) sequentially without
`any context about the task being executed at the time. For
`example if an error is detected attempting to send an email
`or format a report, the error message does not include the
`email recipient or the name of the report.
`
`[0006] To compound this problem, messages about many
`tasks executing in parallel typically are written to the same
`location, making it
`impossible to determine if adjacent
`messages are related to each other. Some processes take a
`long time to complete and include dormant periods. It may
`be impossible to determine which messages relate to any
`other given messages. For example, the process of fully
`assimilating a newly hired employee into an organization
`can take weeks and involve many diverse tasks. Each of
`these tasks differs in the component that is executing each
`task, the date and time of execution of each task, and the
`person or system completing each task, but they are all
`inherently connected to the process they are a part of.
`
`In addition, with current solutions, it can be diffi-
`[0007]
`cult to manage a business process with software applications
`that have been designed solve a specific business need.
`Individual applications are not “aware” of the process in
`which they take part which makes it difficult to integrate
`them. Existing solutions to this problem fall
`into three
`categories: Monolithic applications, Workflow Engines and
`Custom programming.
`
`[0008] Monolithic Applications are large programs or
`suites of programs that try to solve every part of every
`business problem. Unfortunately,
`it is difficult to predict
`what problems will need to be solved as the business
`environment changes every day e.g. Sarbanes-Oxley or the
`invention of e-commerce, and so these systems may need
`frequent updates. Also,
`this approach does not allow a
`company to select the best solutions available as they are
`locked into one application or vendor.
`
`[0009] Workflow management systems allow the business
`process to be defined and managed. Application interfaces
`are available but require application programming to imple-
`ment, and they may need to be updated as application
`interfaces change.
`
`[0010] Custom programming can be used to solve larger
`problems using standalone applications. Custom program-
`ming of solutions is expensive and dilficult to maintain. It is
`also difficult and time consuming to modify as the business
`requirements change.
`
`SUMMARY OF THE INVENTION
`
`In a business intelligence application workflow,
`[0011]
`processes often create many sub-processes and the messages
`and events of the sub-process cannot be related to the
`messages and events of the parent process unless the rela-
`tionship between the processes is known and maintained.
`
`In one aspect, some embodiments of the present
`[0012]
`invention facilitate improved development and debugging of
`business systems, through the use of improved logging of
`message and events, in which the context of such messages
`and events within the system operation can be identified. For
`example, this allows a system administrator to identify the
`system and/or subsystem in which an event is associated,
`and take appropriate action.
`
`In general, in one aspect, the invention relates to a
`[0013]
`system for logging data, including an audit data store for
`storing information about instances of processes; and a log
`file that includes for each log file entry an identifier of the
`executing instance that generated the entry. The audit date
`store includes information about the process instances as
`they relate to the operations of the system. The information
`in the log file entry can be used to collect information from
`the audit data store, such that the operational tasks that
`resulted in the logged events can be identified.
`
`In general, in another aspect, a method for logging
`[0014]
`data in a business process workflow includes assigning a
`session identifier to a user session upon initiation by a user
`of the user session, and generating first audit data compris-
`ing the session identifier and a user identifier. The method
`includes assigning an instance identifier to an execution
`instance initiated by the user during the user session, and
`generating second audit data comprising the session identi-
`fier and the instance identifier. The method also includes
`000007
`000007
`
`

`

`US 2007/0038683 A1
`
`Feb. 15, 2007
`
`generating log entries during the execution of the execution
`instance, the log entries including the instance identifier. The
`audit data may be included in an audit data database table,
`in a file, in a log file, or any other suitable data store.
`
`[0015] A user or a software program can use the audit data
`to associate log file entries with execution instances, ses-
`sions, and users. For example, log entries may be associated
`with a session based on the second audit data. The session
`
`may be associated with a user based on the first audit data.
`
`the execution instance
`In some embodiments,
`[0016]
`includes tasks to be performed on behalf of the user. For
`example, the execution instance may include a reporting
`task, a notification task, a query, and so on. The tasks may
`generate log entries using a log function. The log function
`may be provided by an application, logging tool, and so on.
`Log entries may be generated upon an error, and/or also
`upon the start, operation, or completion of an execution
`instance, or the components called by an execution instance.
`
`In one embodiment, the initiation of a user session
`[0017]
`includes authentication of the user.
`
`In general, in one aspect, a system for logging data
`[0018]
`in a business process workflow, includes an audit data store
`for storing identifiers of execution instances, session iden-
`tifiers, and user identifiers; and a log file that includes for
`each log file entry generated by an execution instance an
`identifier of the execution instance that generated the entry.
`
`In general, in another aspect, a method for execut-
`[0019]
`ing applications that form a business process includes defin-
`ing an action sequence that includes a description of busi-
`ness intelligence processes to call and the order in which
`they should be called, storing the action sequence in a
`solution repository, and executing the action sequence such
`that the business intelligence processes defined in the stored
`action sequence are called in the order specified, thereby
`implementing a business process.
`
`In one embodiment, the action sequence includes a
`[0020]
`description of components to call and the order in which
`they should be called. The action sequence may be imple-
`mented in self-describing language, such as XML. The
`execution may be performed by a runtime engine. The
`method may also include any or all of developing the action
`sequence, testing the action sequence, and validating the
`action sequence.
`
`[0021] The solution repository may be a database or other
`suitable for storing action sequences. The solution reposi-
`tory may include version control and other auditing and
`safeguards.
`
`In various embodiments, the business intelligence
`[0022]
`processes may be business intelligence platform compo-
`nents.
`
`In some embodiments, the output of one compo-
`[0023]
`nent in the action sequence is provided as input to a next
`component in the action sequence.
`
`sequence in a solution repository, and a runtime engine for
`executing the action sequence such that the business intel-
`ligence processes defined in the stored action sequence are
`called in the order specified, thereby implementing a busi-
`ness process.
`
`In general, in another aspect, the invention relates
`[0025]
`to a method for executing applications that form a business
`process. The method includes defining an action sequence
`that includes a description of processes to call and the order
`in which they should be called. The method includes storing
`the action sequence in the solution repository, and perform-
`ing the tasks defined in the stored action sequence, thereby
`implementing a business process.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`In the drawings, like reference characters generally
`[0026]
`refer to the same parts throughout the different views. Also,
`the drawings are not necessarily to scale, emphasis instead
`generally being placed upon illustrating the principles of the
`invention.
`
`[0027] FIG. 1 is a block diagram of an embodiment of the
`invention.
`
`[0028] FIG. 2 is a block diagram of an embodiment of the
`invention.
`
`[0029] FIG. 3 is a block diagram of an embodiment of the
`invention.
`
`[0030] FIG. 4 is a block diagram of an embodiment of the
`invention.
`
`[0031] FIG. 5 is a flowchart depicting an embodiment of
`the invention.
`
`
`
`DETAILED DESCRIPTION
`
`In one embodiment, a BI platform is process-
`[0032]
`centric, and uses a workflow engine as a central controller.
`The workflow engine uses process definitions to define
`business intelligence processes that execute on the platform.
`The processes may be customized and new processes can be
`added. The processes are defined in a standard process
`definition language that is externally viewable, editable, and
`customizable such that there is no hidden business logic. The
`platform may include components and reports for analyzing
`the performance of the processes. Logging, auditing and
`security are built in at the core and are utilized automatically
`to ensure that there is always an accurate audit trail available
`for both governance and performance monitoring.
`
`[0033] Such a BI platform may be considered solution-
`oriented because the operations of the platform are specified
`in process definitions and action documents that specify
`every activity. These processes and operations collectively
`may define a solution to a business intelligence problem that
`may be easily integrated into business processes that are
`external to the platform. The definition of a solution may
`contain any number of processes and operations.
`
`the platform includes a BI
`In one embodiment,
`[0034]
`In general, in another aspect, a business intelli-
`[0024]
`server, a BI workbench, and desktop inboxes. The BI server
`gence platform for executing applications that form a busi-
`includes a BI framework and BI components. The server
`ness process, includes a development environment for defin-
`also includes a runtime engine, which is driven by the
`ing an action sequence comprising a description of business
`workflow engine, and which coordinates the execution and
`intelligence processes to call and the order in which they
`should be called, a solution engine for storing the action
`communication between BI components. In one implemen—
`000008
`000008
`
`

`

`US 2007/0038683 A1
`
`Feb. 15, 2007
`
`tation of a server includes one, two, or more of the following
`features: common metadata in the form of solution definition
`documents; common user interfaces and user interface com-
`ponents; security; email and desktop notifications; installa-
`tion, integration and validation of all components; sample
`solutions; application connectors; usage and diagnostic
`tools; design tools; customization and configuration; and
`process performance analysis reports and ‘what-if’ model-
`mg.
`
`[0035] The BI Workbench is a set of design and admin-
`istration tools that may be integrated into an Integrated
`Development Environment, such as the popular Eclipse
`environment, available from the Eclipse Foundation. These
`tools allow business analysts or developers to create reports,
`dashboards, analysis models, business rules, and BI pro-
`cesses. BI solutions may be designed using the BI work-
`bench and deployed to the server.
`
`[0036] The inboxes may deliver tasks and report and/or
`exception notifications. In various embodiments, the desk-
`top inboxes may be, for example, an RSS reader, email client
`software, an instant messenger client, or a special-purpose
`inbox alerter.
`
`In one embodiment, the system is implemented as
`[0037]
`a combination of original source code and open source
`components that have been integrated to form a scalable,
`sophisticated BI platform that may include such features as
`a J2EE server, security, portal, workflow, rules engines,
`charting, collaboration, content management, data integra-
`tion, analysis, and modeling features of the system. Many of
`these components may be standards-based.
`
`in one embodiment, an
`[0038] Referring to FIG. 1,
`embodiment of a BI Platform 100 includes a server 102, a
`workbench 103, and an inbox alerter 104. The user can
`configure the server 102 using the workbench 103. The
`server 102 includes functionality for running the BI plat-
`form, as configured by the user 101 using the workbench
`103. The inbox alerter 104 is used to notify the user 101
`when there is a message for the user 101 from the server 102.
`
`implemented with an email or instant message program,
`toolbar, or other message alert.
`
`In various embodiments, the Pentaho BI Platform
`[0042]
`integrates workflow, business rules,
`information delivery
`and notification, scheduling, auditing, application integra-
`tion, content navigation, user interfaces, design and admin-
`istration tools with reporting, analysis, dashboards, and data
`mining components and engines.
`
`In general, The architecture of the Pentaho BI
`[0043]
`Platform has many advantages. For example, by building,
`integrating, and enhancing use of open source components
`into a single integrated platform, the cost of BI implemen-
`tations is drastically reduced. Lower cost of ownership
`means resources can be invested elsewhere, such as increas-
`ing the scope of the Business Intelligence project and
`deploying more advanced content and capabilities to end
`users. In other words, a significantly higher percentage of
`the project budget can be spent on requirements gathering,
`implementation, and services increasing the successfulness
`of the project. Delivering the software with no cost for
`prototyping enables prototyping to be performed for any
`duration required. Delivering the software with no cost for
`prototyping enables project requirements iterations to be
`perfom1ed for any duration required.
`
`[0044] A workflow-based platform provides a true ser-
`vice-oriented architecture that makes it easier to integrate
`Business Intelligence into any business process. A work-
`flow-based platform the system also makes it easier to
`cluster and scale. Process performance reports allows busi-
`ness intelligence projects to be continually tuned and
`improved. Information delivery and notification into the
`platform reports, analysis, tasks, and decisions points can be
`routed anyone involved in a business process. Multiple rules
`engines allows business logic to be customizable. Incorpo-
`rating reporting, analysis, and dashboards into the platform
`provides for an increase in sophistication of the business
`intelligence solution that be performed at a pace that is right
`for the organization.
`
`[0045] Data mining features allows advanced data analy-
`sis to be added in a timely basis. Integrating auditing and
`audit reports, system monitoring, and administration fea-
`tures into the platform the system makes it easy to maintain.
`By providing intuitive user interfaces that are readily cus-
`tomizable, the system is easier to use and the cost of training
`users is reduced.
`
`In one embodiment, the server 102 may include a
`[0039]
`framework 106 and components 107. The server may run
`inside a J2EE compliant web server such as Apache, JBOSS
`AS, WebSphere, WebLogic and Oracle AS. The framework
`106 and components 107 may run or be embedded within
`such a web server other servers or applications. Components
`107 are modules that may be added to or removed from the
`system for specific functionality and configuration.
`
`[0040] The platform 100 may be integrated with external
`systems that provide data to drive the reporting engine and
`that receive events from the workflow engine.
`
`[0041] The inbox alerter 104, optional in some embodi-
`ments, is software that may be installed on machines of the
`users that wish to take advantage of its functionality. In
`various embodiments, the inbox alerter 104 may provide
`many ease-of—use features such as notification of new work-
`flow tasks, notification of report delivery, and management
`of off-line content. In some embodiments, the inbox alerter
`104 uses an RSS standard feed provided by the server 102,
`and may be implemented using any RSS reader that supports
`authenticated feeds. The inbox alerter can be used to receive
`
`Implementation of the platform involved defining
`[0046]
`requirements for the architecture, determining whether to
`design and build each component or use existing third party
`ones (e.g., open source components), identifying suppliers
`for each of the many components/projects, research on each
`component/project, installing and configuring each compo-
`nent, designing and implementing an integration layer for
`each component, designing and implementing consistent
`user interface components, designing and implementing
`consistent administration tools, design and implementing
`analysis and modeling tools, designing and implementing
`the common services and infrastructure, designing and cre-
`ating repositories, designing and implementing new com-
`ponents or enhance existing components with new function-
`ality, integrating security, integrating auditing, design and
`implement process performance reports, and create a com-
`notifications from the server. The inbox alerter may be
`mon definition language.
`000009
`000009
`
`

`

`US 2007/0038683 A1
`
`Feb. 15, 2007
`
`[0047] Referring to FIG. 2, relationships of major com-
`ponents within an exemplary server architecture 200 are
`shown. The solution engine 201 serves as a central controller
`and manages access to the components. The other compo-
`nents of the server may make use of the solution engine 201
`for information about the available solution documents 221,
`for security, for information about reports and workflow
`items, for data, and for auditing.
`
`[0048] For a particular solution, the behavior, interopera-
`tion, and user interaction of each sub-system may be defined
`by a collection of solution definition documents. These
`documents are managed by the solution engine 201, and
`implemented, for example, by the workflow engine 215. In
`various embodiments, the solution definition documents are
`XML documents that contain definitions of business pro-
`cesses (e. g., XPDL) and definitions of activities that execute
`as part of processes, on demand, or called by web services.
`These activities include definitions for data sources, queries,
`report templates, delivery and notification rules, business
`rules, dashboards, and analytic views. They also may specify
`the relationships between these items. The solution defini-
`tion documents can be copied from one server to another and
`may be freely distributed. More than one solution can
`execute in the server at the same time.
`
`[0049] The services of the framework (e.g., Solution
`Engine 201, Services/UDDI 203, Auditing 205, Components
`207) provide web services to external applications (e.g.,
`System Monitoring 208, Web Service Client 209, Web
`Browsers 210, and Inbox Alerter 211), and have access to the
`same solution engine 201 as the user interface components
`(e.g., Single Sign On 212, Java Server Pages, Servlets,
`Portlets 213), and may be called by the workflow engine 215
`and scheduler 216 to execute system actions.
`
`[0050] The server 200 contains engines (e.g., OLAP
`engine 219, reporting engine 220) and components 207 for
`reporting, analysis, business rules, email and desktop noti-
`fications, and workfiow. These components may be used
`together, as specified by the solution documents, so that they
`can be used to solve a specific business intelligence problem.
`
`In various embodiments, the platform may include
`[0051]
`embedded repositories that store data used to define, execute
`and audit a solution. For example, the platform may include
`a solution repository 221 that includes metadata to define
`solutions, a runtime repository (shown in this embodiment
`as using the same repository as the solution repository 221)
`that includes items of work that the workflow engine is
`managing, and an audit repository 223 that includes tracking
`and auditing information.
`In various embodiments,
`the
`repositories may be stored inside an RDBMS that is external
`to the platform, such as FireBird (in a preferred embodi-
`ment) or MySQL. These repositories can may be imple-
`mented with other commercially available relational data-
`bases such as those available from Oracle, SQLServer or
`DB/2, for example. The solution repository and the work-
`flow repository, for example, may be different tables in the
`same database.
`
`content generated by each component may be relevant for
`each user’s roles. In one embodiment, component content
`can be retrieved as XML, HTML, or displayed by portlets
`according to the JSR-168 specification. In this manner, the
`portlets may be embedded into any portal that supports the
`JSR 168 standard such as IBM WebSphere, OracleAS
`Portal, and BEA WebLogic Portal. XSL and CSS stylesheets
`used by the components to generate reports online and report
`content may accessible to a user and can be fully customized
`using the workbench.
`
`In various embodiments, the server contains infra-
`[0053]
`structure for system administration. This may include sys-
`tem monitoring (SMNP) services, usage reports, Web Ser-
`vice support, configuration validation tools, and diagnostic
`tools.
`
`[0054] The server also may include components and
`related engines to provide advanced process performance
`reporting and analysis. This may include “slice-and-dice,
`”“what-if,” and data-mining capabilities that can be per-
`formed on the attributes of workflow items, individual tasks,
`users, and services involved in workflow tasks. The server
`also may include a tool for Enterprise Application Integra-
`tion (EAI)/Extraction, Transformation, and Load (ETL) 245.
`
`In various embodiments, the BI platform may be
`[0055]
`built with open source components, and may be run in open
`source or proprietary application server. The platform may
`be integrated with external applications that provide data
`251, 252 to drive the solutions. This data may be loaded into
`a data warehouse or data mart 252 using an ETL tool.
`
`In various embodiment, auditing is built into the
`[0056]
`platform components. The platform may provide process
`perfomiance reports by extracting historical and real-time
`data from the workflow and auditing repositories,
`for
`example, using the audit reports component to display the
`reports.
`
`In some embodiments, the platform is designed
`[0057]
`such that engines and components may be added or
`removed. Each engine typically has corresponding compo-
`nent(s) that integrate the engine into the platform. Engines
`can be switched out for other engines or added to the
`platform if the necessary components are created.
`
`In various embodiments, multiple rules engines
`[0058]
`may be included in the platform so that business logic is
`exposed and can be customized easily. Additional rules
`engines can be added to the system. The business rules
`engines are external to the components, and any component
`may utilize any rules engine 265.
`
`[0059] Not all components are shown in FIG. 2. Other
`components (not shown) include email, printing, message
`formatting, workflow instance attribute management, and
`process performance reporting and ‘what-if’ analysis.
`
`In various embodiments, the J2EE Server provided
`[0060]
`is JBoss AS, but any Java JDK 1.4 compliant application
`server can be used.
`
`[0052] The server 200 allows the various functions of the
`platform to be presented to users in a consistent, familiar
`look and behavior. For example, one component may gen-
`erate a list of reports that a user has access to, a second may
`list the task-related deadlines in a calendar, and a third may
`In various embodiments, the platform includes an
`[0062]
`show the current tasks that the user needs to complete. The
`open source On—Line Analytical Processing (OLAP) engine
`000010
`000010
`
`the Platform provides
`In various embodiments,
`[0061]
`user interfaces built with Java Server Pages (JSPs), servlets
`and portlets. Third party or customized JSPs, servlets or
`portlets also may be used.
`
`

`

`US 2007/0038683 A1
`
`Feb. 15, 2007
`
`that allows multidimensional data to be navigated, reported,
`and analyzed, referred to as Mondrian, but any MDX-
`compliant OLAP server could be used,
`for example,
`Microsoft OLAP Services and Hyperion Essbase.
`
`In various embodiments, the platform provides a
`[0063]
`javascript-based and SQL-based rules engines and may
`include support for such rules engines as ILOG JRules,
`Drools and Jess.
`
`In various embodiments, the platform may inte-
`[0064]
`grates and enhance existing popular third-party open source
`components, such as one or more of Mondrian OLAP Server
`and jPivot Analysis Front-End, Firebird RDBMS, Enhydra
`ETL, Shark and JaWE Workflow, JBoss Application server,
`Hibernate and Portal, Weka Data Mining, Eclipse Work-
`bench and BIRT reporting components, JOSSO single sign-
`on and Lightweight Directory Access Protocol (LDAP) (A
`standard protocol for accessing properties about resources,
`e.g. employees or web services) integration, and the Mozilla
`Rhino Javascript Processor.
`
`In various embodiments, the platform can utilizes
`[0065]
`such open standards and protocols as XML markup lan-
`guage; JSR-947JCP’s Rules Engine API; JSR-l687JCP’s
`Portlet Spec; SVG 7W3C’s Scalable Vector Graphics;
`XPDL iWFMC’s XML Process Definition Language;
`XForms W3C’s Web Forms; MDX iMicrosoft’s OLAP
`Query Language; WSBPEL iOasis’s Web Services Busi-
`ness Process Execution Language (A standard system used
`to orchestrate workflows across multiple services); WSDL
`7W3C’s Web Services Description Language; and SOAP
`7W3C’s Simple Object Access Protocol.
`
`In one exemplary embodiment, a preconfigured
`[0066]
`sample deployment is provided so that the platform can be
`tested quickly and easily. The deployment includes JBoss
`Application Server; JBoss Portal V2.0, a JSR-l68 certified
`portal server; Example JSPs that demonstrate platform com-
`ponent usage; Sample data; Sample reports and BI pro-
`cesses; users and roles used in the examples.
`Workbench
`
`[0067] Referring to FIG. 3, an embodiment design and
`administration workbench provides easy to use design tools
`for reports, dashboards, analytic views; a workflow process
`designer; business rules editors; a data mining console for
`data preparation; and OLAP modeling tools. The workbench
`generates workflow definitions and Solution Definition files
`311 that are used by the server to execute BI solutions. The
`workbench creates an audit trail for the creation and editing
`of solution definition documents that is stored in the audit
`
`repository 313. A version control system 323 can be used to
`maintain the Solution Definition documents and provide
`synchronization and versioning capabilities. The workbench
`allows solutions, reports, queries, business rules, dash-
`boards, and workflows to be viewed and edited graphically.
`The BI Workbench may be a Java application that is installed
`on system admi

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket