Abstract:
Embodiments of the present invention address deficiencies of the art in respect to messaging and provide a method, system and computer program product for business object integration with messaging. In an embodiment of the invention, a method for messaging integration of a business object can be provided. The method can include embedding a business object in message text in a messaging session provided by a messenger, and applying an action to the business object from within the messaging session of the messenger. The method further can include identifying a pronoun in the message text referencing the business object and visually distinguishing the identified pronoun in the message text to draw a correlation between the business object and the pronoun.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to the field of messaging and more particularly to the integration of business objects within a message. 
         [0003]    2. Description of the Related Art 
         [0004]    Messaging forms the heart of the Internet. The Internet with its global, continuous reach enables interpersonal activities from afar, including both asynchronous messaging like e-mail and document sharing and threaded discussions, to real time communications systems such as instant messaging and group chat. Electronic mail delivery systems, the prototypical asynchronous communications systems, in its time represented a giant leap forward in respect to global interpersonal communications. Prior to electronic mail, individuals primarily communicated via telephone, facsimile and post. With electronic mail, however, individuals expect near instant delivery of text, and even imagery, audio and video, without incurring the delay typical of the postal system, or the expense associated with telephony and fax technologies. 
         [0005]    Despite the ubiquity of electronic mail, asynchronous communications systems lack several elements common in the realm of real time communications systems. In particular, the seemingly instant delivery of a message cannot be experienced in the world of electronic mail. In a real-time society, the minor latencies associated with electronic mail often cannot be suitable for the task at hand where a real-time conversation will be required in addressing a problem or performing a collaborative task. More importantly, often the feel and nature of a “conversation” as it is known to human beings only can be approximated through real time communications where the participants to a conversation feel the spontaneity of an exchange of ideas, much as is the case in a live, face-to-face conversation. Thus, the instant messaging environment has proven to be an invaluable compliment to e-mail as a real-time conversational mechanism. 
         [0006]    Conventional messaging systems allow users to exchange messages across a network. As a stand alone application, messaging enjoys straightforward application as a conversational tool. Within, the business workflow environment, however, the role of the message, whether synchronous or asynchronous, is less clear. A business workflow generally involves the electronic and in person collaboration between collaborators in order to accomplish a goal. As part of the business workflow, collaborators receive documents electronically, amend the documents and ultimately approve or disprove of the distribution of the document. Business objects have been specifically incorporated into document editing and document viewing applications in order to permit the management of a document in a business workflow. 
         [0007]    Specifically, a business object encapsulates traditional lower-level objects that implement a business process. Notably, business objects both simulate corporate procedures and translate smoothly into software objects. Historically, business objects have been embedded in Web pages and e-mail documents using client side extensions to browser clients. More recently, scripts disposed in client side content like Web pages and e-mail messages have been configured to maintain an active connection with underlying business objects to provide an integrated active view of the business objects. The integration of business objects, however, has largely eluded both asynchronous communications like e-mail, shared documents and threaded discussions, and synchronous real-time applications like instant messengers and group chat sessions. 
       BRIEF SUMMARY OF THE INVENTION 
       [0008]    Embodiments of the present invention address deficiencies of the art in respect to messaging and provide a novel and non-obvious method, system and computer program product for business object integration with messaging. In an embodiment of the invention, a method for messaging integration of a business object can be provided. The method can include embedding a business object in message text in a messaging session provided by a messenger, and applying an action to the business object from within the messaging session of the messenger. The method further can include identifying a pronoun in the message text referencing the business object, and visually distinguishing the identified pronoun in the message text to draw a correlation between the business object and the pronoun. 
         [0009]    In a second aspect of the embodiment, the method further can include identifying a verb in the message text in association with a pronoun referencing the business object, and providing a context menu for the business object in the messaging session with entries in the context menu limited according to the identified verb. 
         [0010]    Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0011]    The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein: 
           [0012]      FIG. 1  is a pictorial illustration of a messenging application configured for business object integration; 
           [0013]      FIG. 2  is a schematic illustration of a messaging data process system configured for business object integration; and, 
           [0014]      FIG. 3  is a flow chart illustrating a process for reducing a context menu for a business object based upon messaging text in a messaging session. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0015]    Embodiments of the present invention provide a method, system and computer program product for integrating business objects in a messaging session. In accordance with an embodiment of the present invention, a business object can be embedded in a messaging session such as an e-mail exchange, instant messaging or chat session, threaded discussion, or shared document library, to name only a few. Thereafter, pronouns in the text of the session referencing the business object can be visually distinguished to assist in the understanding of the role of the business object in the session. Using the pronouns, a verb operating on the business object can be identified and the entries of a context menu for the business object can be reduced accordingly. Yet further, the business objects can be indexed and the index can be used when producing a transcript for the session. In this regard, the transcript can include separate views of the messaging text and the business object. Finally, the session can provide a justification for actions performed on the business object by forwarding a copy of the chat text to an external component supporting the business object. 
         [0016]    In further illustration,  FIG. 1  pictorially depicts a messenger configured for business object integration. As shown in  FIG. 1 , an instant messenger  110 , shown for exemplary purposes only, can support a chat between users. The chat text  120  can be provided in the instant messenger  110  and a business object  130  coupled to a backend component  190 A and corresponding data store  190 B can be embedded in the chat text  120 . Of note, different pronouns can be included in the chat text  120  referencing the business object  130 . To that end, the chat text can be linguistically parsed to identify the pronouns  140  that reference the business object  130 . For example, the chat text can be liguistically parsed to identify the pronouns  140  that reference the business object  130  utilizing anaphora resolution. Thereafter, the pronouns  140  can be visually distinguished from the rest of the chat text  120  in order to facilitate a viewing of the chat text  120  in reference to the business object  130 . 
         [0017]    Notably, a context menu  150  can be provided for the business object  130  in the instant messenger  110 . The context menu  150  can include entries  160  permitting actions to be performed in respect to the business object  130 . The entries  160 , however, can be reduced depending upon the context of the chat text  120 . In this regard, different grammatical constructs relating to the pronouns  140  in the chat text  120  can be identified according to grammatical rules such as Sentence→Noun Phrase+Verb Phrase, Verb Phrase→Verb+Noun Phrase, and Noun Phrase→article+Noun. Thereafter, the verbs acting on the pronouns  140  can be determined and matched to a reduced set of the entries  160  for the context menu  150 . For example, as shown in  FIG. 1 , the verb “approve” in connection with “it” can map to the entries  160  “Approve” and “More info”. In this way, an end user invoking the context menu  150  need only be presented with pertinent entries  160  in the context menu  150 . 
         [0018]    Once an action has been performed on the business object  130 , the action can be communicated to the backend component  190 A. To provide a justification for the action, the chat text  120  can be encapsulated in justification data  100  and provided to the backend component  190 A for storage as a record in the data store  190 B. In this way, one reviewing the action for the business object  130  will access the justification  100  to provide context for the action. 
         [0019]    The instant messenger  110  can produce a chat transcript  180  of the chat text  120 . To facilitate a viewing of the chat text  120 , however, the chat transcript  180  can provide one transcript view  180 A of the chat text  120  and another business object view  180 B of the business object  130 . In the business object view  180 B, a listing of each business object  130  and the corresponding action taken upon the business object  130  can be provided. In this way, the viewer can readily identify actions taken upon business objects integrated into the instant messenger  110 . 
         [0020]    Finally, a keyword index  170  can be generated for the chat transcript  180  in order to facilitate the searching of the chat transcript  180 . Though inverted indexing can be performed on the chat text  120 , the business objects  130  can be indexed differently in that the business object  130  can be represented in the chat text  120  with attribute tags. In this way, the attribute tags for the business object  130  can be reflected in the index  170  as opposed to the business object  130 , itself. 
         [0021]    Importantly, the skilled artisan is to recognize that the exemplary use of an instant messenger  110  in  FIG. 1  is not to be construed as limiting the scope of the term “messenger” merely to real-time communicators like an instant messenger or group chat. Rather, the skilled artisan is to recognize that other messengers can equally suffice, including an e-mail system, a threaded discussion forum or a shared document library, to name a few. In all circumstances, the skilled artisan would realize that the instant messenger  110  can be replaced with an e-mail client providing a view to a thread of e-mails, or a discussion forum environment providing view to discussion forum text in a threaded discussion forum, or a shared document library environment providing view to shared documents in a shared document library. Likewise, chat transcript  180  can easily be replaced with an aggregation of e-mail content in a thread of e-mails, or an aggregation of a threaded discussion in a discussion forum, or an aggregation of documents in a shared document library. 
         [0022]    In further illustration,  FIG. 2  schematically depicts a messaging data process system configured for business object integration. The system can include a host server  200  communicatively coupled to one or more clients  220  over computer communications network  230 . The host server  200  can support the operation of a messaging server  210  such as an instant messaging server shown for exemplary purposes only, accessed by one or messaging clients  240  in respective ones of the clients  220 . A backend server  250  supporting the operation of one or more business components (not shown) further can be coupled to the host server  200  over the computer communications network. 
         [0023]    Notably, business object integration logic  260  can be coupled to the messaging server  210  through the host server  200 . Alternatively, the business object integration logic  260  can be coupled to one or more of the clients  220  or the business object integration logic  260  can be distributed between the host server  200  and the clients  220 . The logic  260  can include program code enabled to integrate a business object into a messaging session and to provide integrative tools including reference marking, messaging transcript processing, context menu reduction, justification text transfer and business object indexing. To that end, the business object integration logic  260  can include a reference marking module  260 A, an integrated messaging transcript module  260 B, a context menu reduction module  260 C, a justification text transfer module  260 D and a business object indexing module  260 E. 
         [0024]    The reference marking module  260 A can be enabled to identify pronouns in message text, to correlate the pronouns with a business object in the message text and to visually distinguish the pronouns so as to overtly specify the reference of the pronouns to the business object. The integrated messaging transcript module  260 B can be enabled to provide a split view of chat text for a messaging session and business objects embedded in the messaging session and corresponding actions performed on the business objects. The context menu reduction module  260 C can be enabled to identify and map verbs in message text in association with an embedded business object in order to produce a reduced set of entries to be rendered in a context menu for the business object in the messaging session. Specifically,  FIG. 3  is a flow chart illustrating a process for reducing a context menu for a business object based upon message text in a messaging session. 
         [0025]    Beginning in block  310 , chat text for a messaging session can be loaded and rules for locating pronouns can be loaded as well in block  320 . In block  330 , the message text can be parsed and in block  340  one or more pronouns referencing a business object can be located by applying the rules to the message text. Subsequently, a verb can be identified in association with a pronoun in block  350 . In block  360 , a set of menu entries associated with the verb can be located in a table and in block  370 , a context menu can be populated with the set of menu entries. Finally, in block  380  the context menu can be displayed in association with the business object in the message session. 
         [0026]    Returning to  FIG. 2 , the justification text transfer module  260 D can be enabled to provide the message text for a messaging session to a backend business component to be associated with an action performed on a business object for the backend business component as a justification for the action. Finally, the indexing module  260 E can index tags for the business object when indexing message text for a message session in a message transcript. In this way a business object embedded in a messaging session can be searched along with the message text of the message session in a message transcript with contextual relevance. 
         [0027]    Embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like. Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. 
         [0028]    For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD. 
         [0029]    A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.