The invention relates to the display of portlets in a web portal page and in particular to a method and system for tracking and displaying sequences of data communications between application portlets transmitting data and application portlets receiving the data.
As the use of the Internet becomes more pervasive, better technology is constantly being developed for displaying web content. Web portal pages have become an increasingly popular means of delivering aggregated, personalized content to computer users. A portal is a point of access to data and applications that provides a unified and personalized view of information and resources. Portals are typically implemented as websites on a worldwide communication network and are accessible via web browser applications. Portals have evolved from simple one page content sites to multi-page aggregations of content and applications with integration to back-office systems.
Typically, a portal page is rendered and delivered to a viewing user from a portal server. The portal server includes a portal program such as the commercially available WebSphere Portal Server, which is loaded on the portal server. The portal program generally obtains and aggregates web content into a portal page. As known in the art, a portal page includes sections or portlets that each contains particular web content formatted according to a user's preferences. For example, a user could establish his/her own portal page that has sections for news, weather, sports, etc. When the portal page is requested, the portal program would obtain the desired web content from the appropriate content providers. Once obtained, the portal content would be aggregated, and then displayed as a portal web page. This portal technology has lead to the explosion of personalized “home” pages for individual web users (e.g., MY.YAHOO.COM).
In particular, the emerging web desktop can provide users with access to what is commonly referred to as a portal. The portal can also allow a user to access multiple applications through a single screen (displayed by the web browser). For example, some portals allow users to access applications that can show data, such as weather, sports, stock information, or the like, to a user on a single screen. However, much of the processing required to manage the portal (such as administration, customization, and switching) can place even greater demands on the bandwidth available between the browser and the application.
Traditionally, portals can be accessed through desktop browser applications. Browsers have been referred to as “rich clients” as browsers can provide powerful rendering capabilities, including the ability to apply style sheets to content to ensure conformity in visual appearance between applications.
Portals represent a sensible solution to the problem of aggregating content through a channel paradigm in a single, network-addressable location. In consequence, portals have become the rage in content distribution.
Portlets are the visible active components included as part of portal pages. Similar to the graphical windows paradigm of windowing operating systems, each portlet in a portal occupies a portion of the portal page through which the portlet can display associated content from a portlet channel. Portlets are known to include both simple applications such as an electronic mail client, and also more complex applications such as forecasting output from a customer relationship management system. The prototypical portlet can be implemented as server-side scripts executed through a portal server.
From the end-user perspective, a portlet is a content channel or application to which the end-user can subscribe. By comparison, from the perspective of the content provider, a portlet is a means through which content can be distributed in a personalized manner to a subscribing end-user. Finally, from the point of view of the portal, a portlet merely is a component, which can be rendered within the portal page. In any case, by providing one or more individually selectable and configurable portlets in a portal, portal providers can distribute content and applications through a unified interface in a personalized manner according to the preferences of the end-user.
Developers have begun to apply the portlet technology for more commercial applications. For example, a portal page can be used to customize a page for an employee, customer, supplier, etc. In these applications, data presented in the portlets is often related. For example, data in a “destination city” field of a travel portlet could be shared with a “target city” field of a weather portlet. In current implementations, a portlet can share data with another known portlet by using messaging or passing parameters. However, the portlet developer must have detailed knowledge of all participating portlets in order to implement the data sharing. Further, the decision of whether to share data, and what data to share is fixed when a portlet is developed. These limitations restrict the reusability and interoperability of portlets.
Portal complexity has also increased due to the growth in the number of portal users. However, tools for administering portals have not kept pace with these trends. The problem addressed is in a web portal environment, with applications running with dynamic screen content and interaction. Unlike some portal applications that deliver content that changes infrequently, application interfaces in a portal deliver rapidly changing content. As an application delivers content, accepts user input, and then launches other portlets with that context and information, several different portlets tend to build up on the screen. This is as designed and what is intended, but when these portlets interact with each other, it becomes difficult to follow the chain of user interactive message transmissions from one portlet to another and from one task page to another. This becomes confusing to users and detracts from a carefully laid out and designed interface.
A method is needed then to detect data transmissions between portlets and task pages on the screen and allow a user to quickly and easily determine what transmissions are occurring between which portlets in a web-based environment.
It is an objective of the present invention to provide a method to track and display portlet and task page data communications in a Web-based Portal environment.
It is a second objective of the present invention to provide a record containing all portlets that have transmitted data to or received data from other specific portlets in a Web-based portal environment.
It is a third objective of the present invention to provide a portlet message communication sequence display as a spacial display to a web user.
It is a fourth objective of the present invention to provide a portlet message communication sequence display in a tree representation display to a web user.
It is a fifth objective of the present invention to provide a method capable of displaying a multiple page portlet message communication sequence to a web user.
It is a sixth objective of the present invention to provide an updated visual display when a new portlet communication is established or an existing portlet communication terminates.
The main concept of the present invention is a method to display and visualize the portlet and task page message communication sequences between portlets in a Web-based portal environment. In a portal environment, some applications provide for the establishment of communications between portlets resulting directly or indirectly from user actions. These portlets also have the capability to establish communications with other portlets. What then happens is that the user may have many portlets on the screen, and no way to relate which portlets are in communication other portlets. Many times, this is important, so that the user can relate information in between those portlets, making decisions, etc.
In the method of the present invention, a launched and running portlet would be displayed to the web user. During the execution, if a portlet initiates a communication with another portlet, this communication will also be displayed showing the direction of the communication between portlets. In a spacial portlet display, an arrow or other marker can appear to indicate the data transmission from one portlet to another portlet on the web screen. The marker will display the established communications between portlets appearing in the web-based portal environment.
In an implementation of the method, a monitor detects the initiation of a communication between portlets. A record is created for that portlet communication sequence. This record contains information, which includes the identity of the portlet initiating the communication and the portlet(s) receiving the communication. The record can contain pointer fields that point to a transmitting portlet and to any receiving portlets. These records are stored such that a display routine can retrieve information from these records and display a visual presentation of the relationships of the launched portlets. The basic steps of the method of the invention include:
The display can be a small portlet type ledger containing icons/windows for every currently launched portlet and any established communications between portlets. Within this ledger would be markers indicating the established communication relationships between the launched portlets.
As a result, the method of this invention presents to the user a way to distinguish, which portlets are in communications with other portlets, and how that inter-relationship exists in the portlet application.
a is an illustration of a spacial message communication sequence portlet for use in a portlet display in accordance with the present invention.
b is an illustration of a tree message communication sequence portlet for use in a portlet display in accordance with the present invention.
a shows a record format for capturing information about transmitted messages between portlets in accordance with the present invention.
b through 7g show sample records with information about the relationship of portlets that have established message communications.
Referring to
Another display representation of the relationship of the message communications between portlets could be an additional portlet on the portal page display containing the portlet message sequence information.
a is an illustration of a spacial message communication portlet 30 for use in a portlet display. This message communication portlet contains small icons of generic portlets with details of what portlets have established communications what other portlets. This display process also includes an algorithm that maintains proper size and spacing so that all portlets can show all relationships in the rectangular portlet space. Hover-over function allows more information on that portlet to be displayed when the mouse hovers over it.
In this display portlet 30, five portlets are currently running. From this special view, there are two established message communications. As shown, portlet ‘B’ has established communication with portlet ‘C’ and portlet ‘D’. In this portlet display, the letter designations for each portlet may be desirable and/or necessary because of the space that may be required if the actual names of the portlets was display. As a result, a ledger 32 can be included in the portlet display to identify the name/function of each portlet in the display.
The portlet message communication visualization portlet shows up in the portal browser screen. It has different display modes the user can change, is fairly small and unobtrusive, can be hidden or displayed as desired, and shows the layout of the rest of the portal task page.
b shows a tree representation of the portlet message communications. The tree representation shows a text that details what portlets are in communication with other portlets. This text display screen is an alternative to the multiple icon spacial approach of
For both views (spacial and tree), as the number of portlets grows beyond the ability for a user to understand the data on a single portlet screen, a scroll mechanism will expand to allow the user to access the information extending down in that portlet. This always forces the message communication portlet to be a small and unobtrusive portlet.
Some portlets are placed statically on a page at page creation and installation time, while other portlets are launched on that page due to user actions. The differences between these two types of portlets can be denoted by different colors or transparency.
The portlet has a basic layout that displays the portlet's that have been statically placed on a page, as well as those portlets launched to the page. As mentioned, the message communications between these portlets can be represented as either a visual layout, or a tree layout.
For a spacial representation:
The present invention also provides a method to display the transmission of messages between portal pages.
As previously mentioned, records store all messages communication connections.
b through 7g illustrate the storage of information in records in accordance with the message communications sequences of
Referring to
Referring back to step 93, if the transmitting portlet has other established communications, the process moves to step 95, which identifies established connections. At this point, step 96 updates the existing record for the transmitting portlet to include the new receiving portlet identity. The records for the launched portlets can reside in any designated memory location as desired by the system designers or users. At the completion of the record creation and record update activities, step 97 retrieves the updated record information and updates the message communication portlet display to reflect the communication changes that result from the newly initiated message communications.
When a running portlet terminates communications with a connected portlet, it is necessary to update the message communication portlet display.
The displayed communication sequence shows message communications between portlets in the same launch sequence and portlets of different launch sequences. As shown, portlet ‘B’ has established communication with portlet ‘D’. Portlet ‘G’ from the second portlet launch sequence has established communications with portlets ‘C’ and ‘E’ of the first portlet launch sequence. In operation, as the user interacts with portlet ‘G’ and messages get sent to portlets ‘C’ and ‘E’, the system intercepts the transmitted message and displays it on the portlet sequence display. As with the other embodiments, ledger 111 indicates all of the portlets that are running on the page. The display arrows for both launch and display sequences can be represented in various formats. For example, one set of arrows could be dotted while the other set of arrows could be solid in order to distinguish the arrow sets. In addition, other display formats such the tree format can be used to represent this combined launch sequence and message communication display. Another alternative could be separate portlets for displaying the portlet launch sequences as indicated in the previously mentioned co-pending application and the communication portlet described herein.
It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those skilled in the art will appreciate that the processes of the present invention are capable of being distributed in the form of instructions in a computer readable medium and a variety of other forms, regardless of the particular type of medium used to carry out the distribution. Examples of computer readable media include media such as EPROM, ROM, tape, paper, floppy and transmission-type of media, such as digital and analog communications links.