These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
As indicated above, the present invention provides an interactive data visualization tool. The interactive data visualization tool provides a richer, more sophisticated, interface for generating and rendering business components in a Component Business Model (CBM) map for various industries in real time. It provides an extremely dynamic approach which converts static information provided through a document (e.g., a spreadsheet) into a user interface (UI) which allows for total flexibility and rendering of various views and filters without the need to actually manipulate the underlying data. The interactive data visualization tool allows for asset reuse (already assembled industry and enterprise templates), allows for quick editing to tailor towards a target business, allows for quick attribution to drive the various facets of a business, and allows for a full round trip from the loading of the content into the interactive data visualization tool, to a download of the content to enable a user to easily manipulate the information to change the attributes as necessary.
An illustrative CBM data visualization (DV) process 20 in accordance with an embodiment of the present invention is depicted in
The data set provided by the data source 22 can include, for example, content 30, one or more layers 32, and attributes 34. The content 30, layers 32, and attributes 34 are imported by the CBM data visualization tool 26. Based on user input 36 provided via the UI 24, a user 38 can selectively filter out one or more layers 32, as indicated by arrow A, selectively display components 40 (e.g., based on attributes 34), as indicated by arrow B, and selectively apply attributes 34 to components 40, as indicated by arrow C, to generate a desired CBM map 28. The CBM map 28 typically comprises, for example, components 40 with thermal indicators, and zero or more attributes 34 associated with each component 40.
As the data set is read into the CBM data visualization tool 26 from the data source 22, the CBM data visualization tool 26 parses the information into layers 32 based on the attributes 34 and relationships that have been defined in the data set. The layers 32 of information then create their own indicators and triggers as part of the reading of information such that the actual data feed defines the complete layout of the CBM map 28, user navigation, and the availability of selections. For example, if the data collection efforts captured information for a component 40, such as the necessary lunar phase to support deployment of that component 40 on a scale of no moon, ¼ moon, ½ moon, ¾ moon, and full moon, this would obviously be a unique and uncommon attribute 34 which would normally not be tooled in a supporting application. In addition, another component, such as season, could be introduced to the model, and as the combination of lunar phase is overlaid with the season, it results in a unique visual impact on the CBM map based on the complementing or contradicting effect the components have when integrated. The CBM data visualization tool 26 of the present invention, however, can interpret this information and render the appropriate visual indicators as collected from the data source 22 and present information and indicators in the CBM map 28 which support the moon attribute 34. Furthermore, the CBM data visualization tool 26 can allow users, for example, via the UI 24, to include or exclude one or more of the available attributes 34 at will and in real time, and also alter the coloration of the components 40 to represent a maturity or stage of development for the associated attributes 34 visible across unlimited combinations. The CBM data visualization tool 26 can also host more than one CBM map 28 at a time and provides for the ability to select between different CBM maps 28 to allow for comparison between, for example, different industries, companies, etc.
The CBM data visualization tool 26 can be constructed as a stand alone application which can operate in any browser environment making it an extremely flexible and thin client. The CBM data visualization tool 26 allows the user to navigate over the components and explode them into wide view columns, or windows with all content visible. It also integrates zooming of categories, the ability to scroll within windows, and mouse over display capabilities.
The CBM data visualization tool 26 can be provided, for example, as an applet or a servlet, and can be driven using Java 2 technology (Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both), which provides for an extremely thin and compatible application. The applet is designed to parse out specific pieces of the incoming data to properly configure itself to support the actual information that has been gathered, such as labeling of maps, indicators, components, categories, and attributes. As the user changes source maps which have totally new or unique attributes, the application modifies itself to align with the new map.
The core application can be web based, for example, hosted on a IBM Websphere Application Server 5.0 using Java Server Pages (JSPs). The main JSP folder can contain, for example, the banner, left navigation, tab implementation, meta data, cascading style sheets, JavaScript, service header, page title information, etc., associated with each page. The JSP accepts two request parameters, the view bean which contains the view specific information, and the string representing the JSP. Data imported into the application from external spreadsheets is managed through a maplist table which is imbedded in the applet. It maintains the list of loaded CBMs and their proper content, information, and order along with providing necessary information for dropdown UI selections. This import also places all of the component content and attributes into the proper locations for use in the data visualization. This approach allows the applet to dynamically modify itself to support the constantly changing characteristics of the source data, and never be restricted by predefined options or selections.
The launching of the applet is triggered through a JSP. The griddisplayapplet class is launched and is responsible reading the input file and initializing the swing components used in the applet. Additional classes are triggered which provide the visual display and support repainting during changes.
A partial view of an illustrative static data source in the form of a spreadsheet 50 is depicted in
In this example, the “Component Column” column 52A lists the names of the columns in a corresponding CBM map 28. The “Action Level” column 52B lists the action level of a corresponding component 40 listed in the “CBM Component Name” column 52C. To this extent, the first two columns 52A-B in each row 54 of the spreadsheet 50 define the position of the component 40 listed in the “CBM Component Name” column 52C in a CBM map 28. The “In/Out,” “Current Comp Level,” “Future Comp Level,” “Business Importance,” and “Business Criticality” columns 52D-H represent the attributes 34 of the components 40. Although only five attributes 34 are shown, any number of attributes 34 can be included in such a spreadsheet 50. Additional rows 54 of the spreadsheet 50 have not been shown for clarity. Further, additional columns 52 of the spreadsheet 50, such as “Component Description,” “Indicative Functionality,” “Called Services,” “Offered Services,” and the like, have also not been shown for clarity.
The row 56 in the spreadsheet 50 is used to designate which of the attributes 34 in columns 52D-H will be displayed in a CBM map 28 (e.g., Y=Yes, N=No). The row 58 in the spreadsheet is used to designate the display color of each of the attributes 34 in columns 52D-H in a CBM map 28 (e.g., red, purple, blue, green, yellow, etc.). Finally, the row 60 in the spreadsheet 50 is used to designate the values that will be displayed in a CBM map 28 for each of the attributes 34 in columns 52D-H (e.g., Y=Yes, N=No; B=Base, C=Competitive, D=Differentiated; H=High, M=Medium, L=Low).
A first example of a CBM map 28 generated by the CBM data visualization tool 26 (
When a selection 64 from the drop-down menu 62 is chosen by a user, the resultant CBM map 28 will include components 40 that have cell backgrounds with thermal indicators (e.g., dark blue, medium blue, light blue, gray, etc.) representing the corresponding values of that attribute 34 in the spreadsheet 50. For example, selection of “Default” from the drop-down menu 62 results in the display of the CBM map 28 shown in
The correspondence between the cell backgrounds of the components 40 in the CBM map 28 and the attribute values in the spreadsheet 50 can be seen more clearly in
When a user clicks on (or otherwise actuates/selects) a component 40 in the CBM map 28, the column in which the component 40 is located in the CBM map 28 is expanded as shown in
As shown in the partial view of a CBM map 28 in
The CBM data visualization tool of the present invention can be used to support CBM consultants who need to deploy and communicate the by-product of an CBM engagement. The CBM data visualization tool itself has function and characteristics which allow for a much richer, more sophisticated modeling of CBM information and attributes than standard means (e.g. presentation software, spreadsheets, FLW, etc.) allow. Some general features of the CBM data visualization tool of the present invention include:
The CBM data visualization tool of the present invention renders information and supports the ability to display many different aspects of a component, concurrently, without refreshing a view or updating content or data. The CBM data visualization tool can be provided as a stand alone application which can operate in any browser environment making it an extremely flexible and thin client. It allows the user to navigate over components and explode them into wide view columns, or windows with all content visible. The CBM data visualization tool also integrates zooming of categories and the ability to scroll within a window.
The computer system 104 is shown as including a processing unit 108, a memory 110, at least one input/output (I/O) interface 114, and a bus 112. Further, the computer system 104 is shown in communication with at least one external device 116 and a storage system 118. In general, the processing unit 108 executes computer program code, such CBM data visualization tool 26, that is stored in memory 110 and/or storage system 118. While executing computer program code, the processing unit 108 can read and/or write data from/to the memory 110, storage system 118, and/or I/O interface(s) 114. Bus 112 provides a communication link between each of the components in the computer system 104. The external device 116 can comprise any device (e.g., display 120) that enables a user (not shown) to interact with the computer system 104 or any device that enables the computer system 104 to communicate with one or more other computer systems.
The computer system 104 can comprise any general purpose computing article of manufacture capable of executing computer program code installed by a user (e.g., a personal computer, server, handheld device, etc.). However, it is understood that the computer system 104 and the CBM data visualization tool 26 are only representative of various possible computer systems that may perform the various process steps of the invention. To this extent, in other embodiments, the computer system 104 can comprise any specific purpose computing article of manufacture comprising hardware and/or computer program code for performing specific functions, any computing article of manufacture that comprises a combination of specific purpose and general purpose hardware/software, or the like. In each case, the program code and hardware can be created using standard programming and engineering techniques, respectively.
Similarly, the computer infrastructure 102 is only illustrative of various types of computer infrastructures that can be used to implement the present invention. For example, in one embodiment, the computer infrastructure 102 comprises two or more computer systems (e.g., a server cluster) that communicate over any type of wired and/or wireless communications link, such as a network, a shared memory, or the like, to perform the various process steps of the invention. When the communications link comprises a network, the network can comprise any combination of one or more types of networks (e.g., the Internet, a wide area network, a local area network, a virtual private network, etc.). Regardless, communications between the computer systems may utilize any combination of various types of transmission techniques.
As previously mentioned, the CBM data visualization tool 26 enables the computer system 104 to generate CBM maps 28. A user 38 can provide input via a UI 24 to control the content, appearance, etc., of the CBM maps 28. The operation(s) carried out by each of these systems is discussed above in greater detail. It is understood that some of the various systems shown in
The CBM data visualization tool 26 and UI 24 can be provided as computer program code on a computer-readable medium to enable a computer infrastructure generate CBM maps 28. To this extent, the computer-readable medium includes program code, such as the CBM data visualization tool 26 and UI 24, which implements each of the various process steps of the invention. It is understood that the term “computer-readable medium” comprises one or more of any type of physical embodiment of the program code. In particular, the computer-readable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computer system, such as the memory 110 and/or storage system 118 (e.g., a fixed disk, a read-only memory, a random access memory, a cache memory, etc.), and/or as a data signal traveling over a network (e.g., during a wired/wireless electronic distribution of the program code).
In another embodiment, the invention provides a business method that performs the process steps of the invention on a subscription, advertising, and/or fee basis. That is, a service provider could offer to provide CBM maps 28 in accordance with the present invention. In this case, the service provider can create, maintain, support, etc., a computer infrastructure, such as the computer infrastructure 102, that performs the process steps of the invention for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement and/or the service provider can receive payment from the sale of advertising space to one or more third parties.
In still another embodiment, the invention provides a method for generating CBM maps 28. In this case, a computer infrastructure, such as the computer infrastructure 102, can be obtained (e.g., created, maintained, having made available to, etc.) and one or more systems for performing the process steps of the invention can be obtained (e.g., created, purchased, used, modified, etc.) and deployed to the computer infrastructure. To this extent, the deployment of each system can comprise one or more of (1) installing program code on a computer system, such as the computer system 104, from a computer-readable medium; (2) adding one or more computer systems to the computer infrastructure; and (3) incorporating and/or modifying one or more existing systems of the computer infrastructure, to enable the computer infrastructure to perform the process steps of the invention.
As used herein, it is understood that the terms “program code” and “computer program code” are synonymous and mean any expression, in any language, code or notation, of a set of instructions intended to cause a computer system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and (b) reproduction in a different material form. To this extent, program code can be embodied as one or more types of program products, such as an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing and/or I/O device, and the like.
The foregoing description of the preferred embodiments of this invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible.