Database software can retrieve a vast quantity of data, however, the database software may lack the ability to display the data in an interactive graphical display. A developer may write software to generate a graphical display using the data from the database, however, writing customized graphic software can be time consuming and may involve programming expertise. A customized software may be used to generate the graphical display with controls that interact with the graphic display.
Embodiments relate to a computer-implemented method implemented on a non-transitory media that includes accessing one or more interface fields within an interactive graphic file, the file having been configured using an external connection interface. The method includes mapping on a display computer system the accessed one or more interface fields to data from one or more data sources, the mapping being performed based on user input via a graphical user interface. The embodiments include displaying on the display computer system a dashboard according to a configuration in the file, the dashboard shows an interactive graphical representation of the data from the one or more data sources.
Another embodiment may include, a computer-implemented method stored on computer readable media (i.e. one or more medium) for integrating visualization software with a data processing application to generate a dashboard. The configuration having been performed using a dashboard design system. This embodiment may include providing, using an external connection adapter, access to the one or more external interface first data ranges that may be configured to be displayed in the dashboard display and exporting the dashboard display to a graphic file format. Additionally or alternatively, embodiments may include accessing the one or more first data ranges from the dashboard display using a display computing system, connecting the one or more first data ranges to one or more second data ranges from one or more data sources, and displaying the dashboard display using data from the one or more second data ranges.
Another embodiment includes a user interface system that includes, an external connection adapter configured to access to one or more data fields within a file, a display computer system configured to map using a graphical user interface, the one or more data fields to data from one or more data sources and the display computer system configured to generate a dashboard display from a configuration in the file, the display including the data from one or more data sources and information from the one or more data fields.
Referring to
The system 100 shown in
The dashboard design system 101 may include, among other systems, dashboard converter logic 103, data range determination logic 105, dashboard component generator 107, external interface logic 109, graphic library 111, and network interface logic 115. The dashboard design system 101 may include data processing computing systems, for example, comprising one or more networked computers that are programmed to perform the operations described herein. These operations include computing and/or communicating with the display computer system 120. In another embodiment, computing or communicating may include receiving requests, processing the requests, sending an appropriate response to the data system 150, updating the data storage system 105, and generating a dashboard file using dashboard converter logic 103. As discussed in greater detail herein, a dashboard may show a graphical display of data, such as but not limited to, a one or more charts, graphs and so on. The display may be shown with or without interactive controls to modify data values that may modify the displayed components.
In an example embodiment, the dashboard design system 101 and the display computer system 120 may be configured by one or more software companies. In another embodiment the display computer system 120 may be a single computer system or a virtual computer system that may include multiple application systems. In another embodiment, the dashboard design system 101 and the display computer system 120 may be provided by an entity that uses software provided by one or more software companies. Other combinations such as, the dashboard design system 101 may be provided by one company and the display computer system 120 may be provided by another company. The display computer system 120 may comprise various application logics and assemble various programs to form one or more software programs that may be used by the dashboard design system 101 and the data system 150.
The embodiments may be utilized in a variety of ways. For example, a customer that owns a copy or has a license to use the dashboard software may generate a display that shows a chart or graph based on recently gathered data that resides in a data system 150 without writing new programming code. In another example, data replication may not be performed and data from various data sources may be displayed in a single dashboard. The user can view a dashboard with the most updated data. In another example, the data being shown in the graphical form may be current data that is stored in the data source. Various customized dashboards may be created and integrated into, for example, applications designed to provide better insight and visibility across organizations, improve operational efficiency and effectiveness, increase flexibility, or related applications that use the business context viewer, business suit applications, and so on. Customers or users can use the business list viewer to retrieve, organize, and aggregate application data and display the data using advanced visualization tools provided by the dashboard software such as, the dashboard tools mentioned above. The combination of customizable visualization and enhanced integration of the dashboard tool allows the business decision maker to benefit from insightful business analytics. The software company provider may create pre-programmed customized dashboards or templates using the dashboard software or templates.
In an example embodiment, the dashboard file converter logic 103 may convert application specific data structures and data, to be compatible with or match with dashboard provided external interface logic 109. The dashboard converter logic 103 allows business application structures that may be based on a high level programming language such as Java®, or other programming languages, to transfer and receive data from the dashboard external interface logic 109. In another example embodiment, the dashboard converter logic 103 may facilitate the communication between the graphical dashboard and the business application. The business application may be based on Java®, ABAP® (Advanced Business Application Programming), C++®, C#®, SQL®, or other high or low level programming languages. In another example embodiment, the dashboard design system 101 may use Adobe® Flash® or other graphic display technologies. In other embodiments, the dashboard design system 101 may use Flash Island or other visual display generation technologies to display the dashboard components and controls. In another embodiment, the dashboard design system 101 may generate a dashboard in various file formats. One such format may be a short web format (SWF). The SWF file format is a multimedia vector graphic file that may be displayed using a Flash® or Flash Island player. The use of the Flash® technology may be facilitated by the graphic library 111. The graphic library 111 may allow files to play as movies or generate visual displays of data. The library core may be a graphic renderer that is capable of being re-used in applications that play Flash files or Flash based dashboard files. In another embodiment, the file format may be HTML® based, such that the HTML® includes graphic display and interactive components, such as, HTML 5®, XML® or other formats.
The data range determination logic 105, dashboard component generator 107 and the external interface logic 109 each may be used for designing the dashboard. Prior to displaying a dashboard in a business application, a dashboard or SWF file may be generated. The dashboard or SWF file may specify the data range, type of components and the external interface. The data range determination logic 105 may be configured to specify the data range in the spreadsheet associated with the dashboard file that may be used to generate a visual display. For example, the data range may include two or more components, and the user may choose a particular data range as defining the “labels” of the chart and the user may choose another data range for the “values” that are associated with the “labels.” For example, as shown in
Another embodiment may include a dashboard component generator 107 that may allow a user to place components with various attributes onto a canvas. The canvas may be a space where various visual components may be arranged. For example, the user may select a component from a component panel that includes a plurality of components and place them on the canvas in relation to other components. The components may be provided by the dashboard software provider or be add-ons from another software provider. The components may include various categories, such as, add-ons, art and background, charts, containers, selectors, single value, multi-value, maps, text, and web connectivity components. The chart components may include various types of charts, such as, bar graphs, pie charts, line graphs and so on, examples shown in
Embodiments of an external interface logic 109 may allow a dashboard to expose selected data ranges associated with the dashboard display to a business software and related data sources. The access to the data ranges may create a framework that may be utilized by a graphical user interface to receive and send data into the dashboard or SWF file. The external interface logic 109 allows the business application software to export application data to be displayed in a dashboard in an interactive visual format.
Embodiments of a network interface logic 115 and 121 may connect the dashboard design system 101, display computer system 120 and data system 150 to each other, or to public networks. In one embodiment, network interface logic 115 and network interface logic 121 may be free from any communication during the execution of the dashboard or while the dashboard is being displayed. In this embodiment, the graphical file that has been configured by the computer system 101 may be stored in the data storage system 129. The graphic file may be used for data mapping (during configuration or design time) and for generating the graphical display during execution. The external adapter may facilitate the communication between data storage system 129 and the graphical file.
Alternatively or additionally, the network interface logics 115 and 121 may permit the computer systems 101, 120 and 150 to connect to each other and the other computer systems. For example, in the context of desktop/laptop computers, network interface logic 115 and 121 may comprise one or more computers or web servers that provide a graphical user interface for users that access the subsystems of system 101, 120 or 150 through the internet or an intranet protocol. Network interface logic 115, and 121 may also comprise other logics that may be configured to provide an interface for other types of devices such as mobile devices (e.g., cell phones, smart phones, and so on) and server-based computing systems.
In an example embodiment, the display computer system 120 may include, network interface logic 121, context viewer system 123, data storage system 129 and dashboard display system 140. In an alternative embodiment, the dashboard display system 140 may be included in the context viewer system 123. Such logics or systems may, in practice, be implemented in a machine (e.g., one or more display and other computers) comprising machine-readable storage media (i.e. cache, memory, flash drive or internal or external hard drive or in a cloud computing environment, non-transitory computer readable media or non-transmissible computer-readable media) having instructions stored therein which are executed by the machine to perform the operations described herein. The context viewer system 123 may be a program product that performs various processing functions such as receiving data from the data source, preparing data by aggregating and providing access to visualization capabilities, and so on. The data storage system 129 may store data related to the applications that are being executed or may be executed on the display computer system 120. In another embodiment, the data storage system 129 may store business application data or statistical data such as, business warehouse data. In an example embodiment, the dashboard display system 140 may be in communication with the display computer system 120 to display data in a dashboard in a visual manner or in visual components using graphics. Displaying data graphically may include displaying bar graphs and/or pie charts or other visual displays. In order to generate the dashboard display, the user may map dashboard data fields to the business application data fields. The mapping allows the dashboard tool to access data from the business applications without data replication. These features are discussed in greater detail below with reference to
Embodiments of the data storage system 129 may store a variety of information including application data in database 130. The application data database 130 may receive data from the data system 150. The data storage system 129 may provide data to the context viewer system 123. More specifically, the data storage system 129 may provide data to the data aggregation logic 127. The data storage system 129 may receive appropriate data mapping instructions from the data mapping logic 125 and query the data system 150 to correlate the data from one mapped field in the dashboard tool to the mapped fields in the application data 153.
Embodiments of the dashboard display system 140 may be provided on the display computer system 120. In an example embodiment, the dashboard display system 140 may transfer data from various data sources or data from various applications to external data ranges of the graphic file and display the graphical interface during runtime operations. The dashboard display system 140 may include all of the features discussed above with regard to the dashboard design system 101. Also, the dashboard display system 140 also includes a dashboard execution logic 142 and external interface logic 144. The external interface logic 144 may have similar features as the external interface logic 109 of the dashboard design system 101. The external interface logic 144 may expose selected data ranges of the dashboard to the business software data. The external interface logic 144 may allow the business application software to export application data to be displayed in the dashboard in a visual format instead of a textual format. During runtime when displaying the dashboard in the business application, the dashboard execution logic 142 is configured to receive the data from the business application and generate a Flash Island interactive display as designed by the dashboard design system 101 or dashboard display system 140.
The data system 150 includes an application logic 151 and application data 153. The data system 150 may be configured to provide data and communicate with the display computer system 120. The application logic 151 is the server side of the application that provides back end information to the context viewer system 123. For example, the application logic 151 may comprise an Enterprise Resource Planning (ERP), Customer Relation Management (CRM) or Business Intelligence (BI) system. Business intelligence may refer to computer-based techniques used to analyze business data, such as sales revenue by products and/or departments or associated costs and incomes. The application data 153 may include relational or other types of databases. The application data 153 includes various fields that may be mapped to the fields exposed by the external dashboard interface.
Referring to
A business user may perform the other steps of
Referring to
In another embodiment, the generic adapter 330 may convert the Flash Island properties into dashboard structures. In an example embodiment, the generic adapter 330 may be used to load external dashboard ranges during the configuration stage, at step 250. In this embodiment, the generic adapter 330 may push application data to the data ranges defined in step 250. In another embodiment, the generic adapter 330 may provide an application programming interface between the graphic player 310 and the server 370. The generic adapter 330 may load dashboard ranges automatically and the dashboard data ranges may be converted into XML strings. The XML string may be converted into Java® or ABAP® code which may be executed by the business application 384, to display a dashboard. The server 370 may include NetWeaver®, ABAP® or Java® language programming and the server may include various systems that are supported in the business software suit, the runtime 382, application 384, database 386 and business intelligence application 388. In another embodiment, the functionality of the server 370 may be implemented by the display computing system 120. In yet another embodiment the functionality of server 370 may be divided between the display computing system 120 and data system 150. In another embodiment, the graphic player 310 may be implemented on the dashboard design system 101. Additionally or alternatively, the functionality of the graphic player 310 may be implemented on the display computing system 120.
Referring to
Referring to
Referring to
Referring to
Referring to
The embodiments refer to a dashboard that may be a web-based or other technology based display on which real time data is collated, processed and displayed from multiple data sources that belong to one or more businesses. Other terms that may be used to describe a dashboard, include, digital dashboard, enterprise dashboard, business dashboard, executive dashboard, operational dashboard, BI dashboard, database dashboard, Web dashboard, performance dashboard, score card, KPI dashboard, metrics dashboard and so on. Dashboards may be designed to help any user monitor what's happening or has happened in the past visually or at a glance. Dashboards may provide the user a means to rapidly monitor the current status. Accordingly, dashboards must be designed to take advantage of the strengths of visual perception, cognition and work around or augment the users weaknesses.
Embodiments may include a system for displaying data stored on computer readable non-transitory media. The system configured to access one or more data fields within a file. The file having been configured using an external connection adapter. The system may include a display computer system configured to map the accessed one or more data fields to data from one or more data sources, the mapping being performed based on a user input via a graphical user interface. In this embodiment, the system may be configured to display on the display computer system a dashboard according to the configuration setting stored in the file, the dashboard may show a graphical representation of the data from the one or more data sources and information from the one or more data fields.
In another embodiment, the dashboard further comprising dashboard display system that processes the data from the one or more data sources and displays a visual representation of the data in a graph or chart form. Alternatively or additionally, the dashboard includes a component that may be modified by using a graphical user interface such that the dashboard display or components are modified.
In another embodiment, the file is generated by a first software program located in the dashboard design system that is configured to generate the dashboard. The display computing system may further comprise executing a second software program on the display computer system to retrieve the data from the one or more data sources and displaying the dashboard. The display computing system may include converting, using a generic adapter, the data from the one or more data sources into data structures that are compatible with a format of the graphic file.
Another embodiment may include converting the data from the one or more data sources into data structures that are compatible with a format of the file using the external connection adapter. Additionally or alternatively, the file may be a short web format file that exposes one or more data fields that may be mapped to fields in one or more data sources. In another embodiment, the mapping may occur via a graphical user interface free of receiving textual programming code from the user.
Another embodiment may include a computer-implemented method stored on a computer readable media. The method may include integrating visualization software with a data processing application that includes configuring a dashboard display using a dashboard design system, the dashboard display configured to use one or more first data ranges from a spreadsheet as example data. This embodiment may include using an external connection adapter to provide access to one or more first data ranges that are to be displayed in the dashboard display. Embodiments may include exporting the dashboard display in a graphic file format. Additionally or alternative embodiments may include accessing one or more first data ranges from the dashboard display using a display computing system. Various embodiments may include connecting one or more first data ranges to one or more second data ranges from one or more data sources. In addition this embodiment may include displaying the dashboard display using data from the one or more second data ranges.
The method may include connecting the dashboard display with the data using a graphical user interface that is free from receiving textual or textual programming code from the user. In this embodiment the method may include processing data from the one or more data sources and displaying a visual representation of the data in a graph or chart form. This embodiment may include a method that includes a component that may be modified by using a graphical user interface that results in a modification of the dashboard display. Another embodiment of the method may include a dashboard display generated by a first software program that is configured to generate a visual display. The embodiment may include executing a second software program on the display computer system to retrieve the data from the one or more data sources and displaying the dashboard and the method may include converting, using a generic adapter, the data from the one or more data sources into data structures that are compatible with a format of the file.
The exporting in this embodiment may include converting the data from the one or more second data sources into data structures that are compatible with the graphic file format. The method may include the converting being performed by an external interface adapter. Additionally the method may include the graphic file format being a short web format that allows a software to access the one or more first data ranges.
Another embodiment may include a user interface system that has an external connection adapter configured to provide access to one or more data fields within a file. This embodiment may include a display computer system configured to map using a graphical user interface the one or more data fields to data from one or more data sources. The display computer system may be configured to generate a dashboard display from a configuration in the file, the display may include the data from one or more data sources and information from one or more data fields. This embodiment may include a graphical user interface that is free of receiving textual programming code from the user.
Another embodiment may include a first software executed on a display computer system that is configured to generate the dashboard in a visual graphic display. This embodiment may include a second software program configured to execute on the display computer system to retrieve the data from the one or more data sources and display the dashboard display. This embodiment may include a generic adapter configured to convert the data from the one or more data sources into one or more data structures that are compatible with a format of the file. Another embodiment may include a component that is configured to be modified by a graphical user interface that results in modifying the dashboard display. In yet another embodiment an external connection adapter may be configured to convert the data from the one or more data sources into data structures that are compatible with a format of the file using the external connection adapter.
Embodiments refer to a user of a graphical user interface, which is a type of interface that allows users to interact with software programs in more ways than typing with hardware that displays images rather than text commands. A graphical user interface may offer graphical icons, and visual indicators, as opposed to text based interface. Many users prefer to use a graphical user interface instead of typing textual commands or programming code. Various programming software that are known as integrated development environments (IDE) may offer a graphical visual interface to develop programs. For example IDEs such as, Visual Studio, Delphi®, C++ Builder, EffelStudio, Xcode, Eclipse, NetBeans, and so on. Embodiments are not directed to graphical user interface software environments. The embodiments are directed to displaying a dashboard from one software application using another software application where both software applications are not software development applications.
The embodiments have been described with reference to drawings. The drawings illustrate certain details of specific embodiments that may be implemented by the systems and methods of the embodiments described above. However, describing the embodiments with drawings should not be construed as imposing any limitations that may be present in the drawings. The present embodiments contemplate methods, systems and program products on any non-transitory machine-readable media for accomplishing its operations. The embodiments may be implemented using an existing computer processor, or by a special purpose computer processor incorporated for this or another purpose or by a hardwired system.
As noted above, embodiments include program products or logics comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media may be any available media that may be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media may comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, non-transitory computer readable media or non-transmissible computer-readable media or any other medium which may be used to carry or store desired program code in the form of machine-executable instructions or data structures and which may be accessed by a general purpose or special purpose computer or other machine with a processor. Thus, any such a connection is properly termed a machine-readable medium. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.
Embodiments have been described in the general context of method steps which may be implemented in one embodiment by a program product including machine-executable instructions, such as program code, for example in the form of program modules executed by machines in networked environments. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Machine-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represent examples of corresponding acts for implementing the functions described in such steps.
As previously indicated, embodiments may be practiced in a networked environment using logical connections to one or more remote computers having processors. Those skilled in the art will appreciate that such network computing environments may encompass many types of computers, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and so on. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
An exemplary system for implementing the overall system or portions of the embodiments might include a general purpose computing computers in the form of computers, including a processing unit, a system memory or database, and a system bus that couples various system components including the system memory to the processing unit. The database or system memory may include read only memory (ROM) and random access memory (RAM). The database may also include a magnetic hard disk drive for reading from and writing to a magnetic hard disk, a magnetic disk drive for reading from or writing to a removable magnetic disk, and an optical disk drive for reading from or writing to a removable optical disk such as a CD ROM or other optical media. The drives and their associated machine-readable media provide nonvolatile storage of machine-executable instructions, data structures, program modules and other data for the computer. It should also be noted that the word “terminal” as used herein is intended to encompass computer input and output devices. User interfaces, as described herein may include a computer with monitor, keyboard, a keypad, a mouse, joystick or other input devices performing a similar function.
It should be noted that although the diagrams herein may show a specific order and composition of method steps, it is understood that the order of these steps may differ from what is depicted. For example, two or more steps may be performed concurrently or with partial concurrence. Also, some method steps that are performed as discrete steps may be combined, steps being performed as a combined step may be separated into discrete steps, the sequence of certain processes may be reversed or otherwise varied, and the nature or number of discrete processes may be altered or varied. The order or sequence of any element or apparatus may be varied or substituted according to alternative embodiments. Accordingly, all such modifications are intended to be included within the scope of the present embodiments. Such variations will depend on the software and hardware systems chosen and on designer choice. It is understood that all such variations are within the scope of the embodiments. Likewise, software and web implementations of the present embodiments could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various database searching steps, correlation steps, comparison steps and decision steps.
The foregoing description of embodiments has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the embodiments to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the embodiments. The embodiments were chosen and described in order to explain the principals and practical application to enable one skilled in the art to utilize the embodiments with various modifications as are suited to the particular use contemplated. Other substitutions, modifications, changes and omissions may be made in the design, operating conditions and arrangement of the embodiments without departing from the scope of the present embodiments.
Throughout the specification, numerous advantages of the exemplary embodiments have been identified. It will be understood of course that it is possible to employ the teachings herein without necessarily achieving the same advantages. Additionally, although many features have been described in the context of a particular data processing unit, it will be appreciated that such features could also be implemented in the context of other hardware configurations.
While the exemplary embodiments illustrated in the figures and described above are presently preferred, it should be understood that these embodiments are offered by way of example only. Other embodiments may include, for example, structures with different data mapping or different data. The embodiments not limited to a particular embodiment, but extends to various modifications, combinations, and permutations that nevertheless fall within the scope and spirit of the appended claims.