US20060069669A1 - Method and apparatus for supporting active documents - Google Patents

Method and apparatus for supporting active documents Download PDF

Info

Publication number
US20060069669A1
US20060069669A1 US10/940,770 US94077004A US2006069669A1 US 20060069669 A1 US20060069669 A1 US 20060069669A1 US 94077004 A US94077004 A US 94077004A US 2006069669 A1 US2006069669 A1 US 2006069669A1
Authority
US
United States
Prior art keywords
computer
active document
end system
document
active
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/940,770
Inventor
Juergen Sattler
Hilmar Demant
Joachim Gaffga
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/940,770 priority Critical patent/US20060069669A1/en
Assigned to SAP AKTIENGESELLSCHAFT reassignment SAP AKTIENGESELLSCHAFT ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DEMANT, HILMAR, SATTLER, JUERGEN, GAFFGA, JOACHIM
Publication of US20060069669A1 publication Critical patent/US20060069669A1/en
Priority to US12/210,708 priority patent/US8200703B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/944Business related

Definitions

  • An application program may be used to perform operations on a document, such as a form, that has predefined types of content.
  • An “active document” is a document that has been configured to facilitate the entry of content into such a document by a user of an application program.
  • an active document may be able to guide a user of a word processing program through the fields in a form that is being processed as a document by that word processing program and may prompt the user to enter certain types of information.
  • the document may later by saved as a completed form by the application program (e.g., the word processing program).
  • a data object is an item of data that is associated with one or more functions (i.e., operations) that may be performed with that data.
  • One type of data object is a “business object,” which would concern a commercial matter.
  • Some examples of data objects may be an order, business partner, quotation, or invoice.
  • a user may be able to command a computer system to perform functions with the order such as creating a new order, checking the order status, canceling the order, shipping a product that was ordered, displaying information for an order, displaying a list of data objects that are related to the order, etc.
  • FIG. 1 is a simplified block diagram of a system for supporting active documents according to an embodiment of the present invention.
  • FIG. 2 is a simplified block diagram of a memory that stores programs and active documents according to an embodiment of the present invention.
  • FIG. 3 is a screen shot that shows an active document with an empty form that is being operated on by an application program at the start of the process of being completed according to an embodiment of the present invention.
  • FIG. 4 is a screen shot that shows active document with a user performing a data search according to an embodiment of the present invention.
  • FIG. 5 is a screen shot that shows an empty active document with a user inserting a text snippet into the form according to an embodiment of the present invention.
  • FIG. 6 shows is a screen shot that shows active document with a user performing another search to fill information into the document according to an embodiment of the present invention.
  • FIG. 7 is a simplified flow chart that shows a method of adding information to an active document as the result of a search of a back-end system according to an embodiment of the present invention.
  • FIG. 8 is a simplified flow chart that shows a method of adding information to an active document as a text string from a back-end system according to an embodiment of the present invention.
  • FIG. 9 is a simplified flow diagram of a process for generating active document forms according to an embodiment of the present invention.
  • Embodiments of the present invention provide methods and apparatus for supporting active documents and allow a user of an application program to associate information from data objects in another application program or system with or into an active document.
  • an active document being operated on by an application program on a front-end system may be able to search data objects in a back-end system. For example, certain elements displayed in an area in a document may be used to send search requests to the back-end system.
  • a price quotation document for example, a user may first search for the customer, then may search for text snippets to be used as an introduction of the document, then may search for products, etc.
  • the active document on the front-end system may be able to retrieve text snippets from the back-end system. This feature may be used to identify and import text that was placed in a common storage area at the time the document was designed. In the case of the price quotation example discussed above, a user may use text snippets as introduction to the document.
  • the active document on the front-end system may be able to create or modify a data object on the back-end system through the use of guided procedures.
  • guided procedures may allow the processing of data in the back-end system. For example, if a user creates a quotation document with a form in an application program at the front-end system, then the data can be transferred to the back-end system to create a data object “quotation” which uses this data.
  • the user may seamlessly create the back-end system data object from the front-end system without the user having to affirmatively access the back-end system, such as by logging on to the back-end system or executing an application program on the back-end system.
  • the data object may be created by the user selecting a button in the front-end system application program to submit the form to the back-end system.
  • the back-end system may create a quotation data object for the customer that is mentioned in the form, and this data object may contain a reference to the products that are listed in the form.
  • FIG. 1 is a simplified block diagram of a system for supporting active documents according to an embodiment of the present invention.
  • FIG. 1 shows a front-end system 110 , a network 120 , a back-end system 130 and a database 135 .
  • Front-end system 110 may be any type of device for running application software, such as for example a personal computer, a terminal, a personal digital assistant (PDA), etc.
  • Network 120 may be any type of network for communicating information, such as a local area network (LAN), wide area network (WAN), the Internet, or an intranet.
  • Back-end system 130 may be a terminal server, mainframe computer, or any type of computer system that services users over network 120 .
  • many front-end systems may be coupled to back-end system 130 through network 120 .
  • back-end system 130 is coupled to database 135 , which may be any type of computer readable medium, such as one or more hard disk memories, that stores instructions and data for a knowledge warehouse system that maintains a collection of data to support a decision
  • front-end system 110 is displaying the text of an active document 115 , which contains a plurality of fields 116 - 118 .
  • a user running an application program on front-end system 110 may be prompted to enter information into fields 116 - 118 on active document 115 .
  • Front-end system 110 also contains a memory 117 , which may be for example a Random Access Memory (RAM).
  • Memory 117 may be a machine readable medium which stores a computer program (which as is well known comprises a plurality of instructions) that is executable by a computer system, such as front end system 110 .
  • a machine readable medium is any medium cable of being read by a machine, such as a floppy disk memory, CD-ROM, etc.
  • FIG. 2 is a simplified block diagram of a memory 117 that stores programs and active documents according to an embodiment of the present invention.
  • Memory 117 may store a plurality of application programs 211 - 218 that may be running on front-end system 110 .
  • memory 117 stores word processor software 211 , spread sheet software 212 , email software 213 , and calendar software 218 , but of course memory 117 may store any other programs that may be running on front-end system 110 .
  • memory 117 also stores a plurality of documents 240 - 260 , each of which may be documents that may be operated on by application programs 211 - 218 .
  • One or more of the documents 240 - 260 may be active documents and may contain fields, such as fields 116 - 118 of FIG. 1 .
  • Memory 117 is also shown as storing a link program 230 which may be used to support active documents and may provide an interface between an active document on front-end system 110 and data objects in back-end system 130 according to an embodiment of the present invention.
  • front-end system 110 may be adapted to execute one or more application programs (such as programs 211 - 218 ) that perform operations on active documents (such as documents 240 - 260 ).
  • Back-end system 130 may maintain a database 135 that associates information in the front-end system's documents with data objects.
  • a single link program on front-end system 110 such as link program 230 , may be used to handle all active document related communications with back-end system 130 .
  • Configuration information for dynamic links may be created with each initialization of the link program.
  • back-end system 130 contains business logic, such as actions which can be executed for a specific active document.
  • back-end system 130 may contain any software that is used to execute a function on a business object.
  • front-end system 110 does not contain any business logic, and the recognition function as well as the computing that supports actions taken on the data objects may be performed by back-end system 130 .
  • the front-end system cannot perform functions that modify data objects.
  • changes may not be done until the document is submitted to the back-end system.
  • FIG. 3 is a screen shot that shows an active document 301 with an empty form that is being operated on by an application program at the start of the process of being completed according to an embodiment of the present invention.
  • Active document 301 may be the same as, for example, active document 115 of FIG. 1 and/or documents 240 - 260 of FIG. 2 .
  • Active document 301 may be, for example, a quotation letter that is being sent from a company (here, Akron Heating & Technology, Inc.) to a potential customer.
  • document 301 may be being operated on by, for example, a word processor program (such as word processor 211 ) executing on front-end system 110 .
  • a user may have launched the application program and opened active document 301 , which may have caused an active document template to have been opened.
  • active document 301 contains a form 320 and an activity window 310 .
  • form 320 is a blank form with a plurality of fields 321 - 323 to be completed by a user.
  • form 320 contains a customer information field 321 , a letter text field 322 , and a quotation data field 323 .
  • activity window 310 contains buttons 311 that a user may use to start the active document process to complete the form 320 .
  • FIG. 4 is a screen shot that shows active document 301 with a user performing a data search according to an embodiment of the present invention.
  • Active document 301 in FIG. 4 is the same as shown in FIG. 3 , but at a later stage of progression.
  • activity window 310 contains a search field 411 .
  • a user is searching for a customer with the name “Harald.”
  • the link program 320 may cause this search to be sent to the front-end system, and the results may be displayed in search field 411 .
  • a number of customers with the name “Harald” were found, and the user may select one of these customers to be inserted into customer information field 321 , as shown in FIG. 5 .
  • FIG. 5 is a screen shot that shows an empty active document 301 with a user inserting a text snippet (i.e., text string) into the form according to an embodiment of the present invention.
  • Active document 301 in FIG. 5 is the same as shown in FIGS. 3-4 , but at a still later stage of progression.
  • activity window 310 contains a text snippet field 511 .
  • This text snippet field 511 may have been activated when the user selected letter text field 322 in form 320 .
  • text snippet field 511 presents the user with two different text snippets to choose from.
  • the front-end system may send a request to the back-end system for possible text snippets, and the back-end system may then send the text snippets back to the front-end system.
  • a user may select one of the text snippets, which may be inserted into letter text field 322 after it is selected.
  • FIG. 6 shows is a screen shot that shows active document 301 with a user performing another search to fill information into the document according to an embodiment of the present invention.
  • Active document 301 in FIG. 6 is the same as shown in FIGS. 3-5 , but at a later stage of progression.
  • activity window 310 contains a search window 611 which may be used to search for product data, as discussed below with reference to FIG. 4 .
  • the product data that is selected by the user may be inserted into quotation field 323 in form 320 .
  • the user may select a button that submits the completed form to the back-end system, which may initiation the guided procedures as discussed above.
  • FIG. 7 is a simplified flow chart that shows a method of adding information to an active document as the result of a search of a back-end system according to an embodiment of the present invention.
  • An active document may be open in an application program executing at a first computer ( 701 ).
  • the active document may be in a format recognized by the application program and may contain a plurality of fields.
  • active document 115 may be opened by word processing software 211 running on front-end system 110 , and this active document may be a quotation document that contains fields such as customer information field 321 of FIG. 3 .
  • the user of the application program may provide the first computer with data that relates to an active document ( 702 ). For example, the user may input customer data, such as the name “Harald” shown in FIG. 4 .
  • the first computer may send a search request based on the received data to a second computer that maintains a plurality of data objects ( 703 ), and the first computer may be unable to perform any functions with data objects at the second computer.
  • front-end system 110 may send a search request for the data “Harald” to back-end system 130 , which may contain data objects that are not directly accessible by front-end system 110 .
  • any software to perform functions on such data objects is located at the second computer.
  • the first computer may receive information relating to a result of the search request from the second computer ( 704 ) and may store the information in the active document ( 705 ).
  • front-end system 110 may receive a plurality of search results (such as those shown in search field 411 of FIG. 4 ), the user may select one of those results, and based on this selection front-end system 110 may store information in customer information field 321 of the active document.
  • the search request is sent from the first computer to the second computer as a message according to the Simple Object Access Protocol (SOAP).
  • SOAP Simple Object Access Protocol
  • a single link program located on the first computer supports any accesses by application programs on the first computer to the data objects on the second computer.
  • the single link program may be a single dynamic link library file.
  • each field in the active document may be matched to a web service.
  • the second computer forwards the search request to a third computer that has a local random access memory (RAM), and the third computer performs the search on data stored in its local RAM.
  • RAM random access memory
  • the above process of entering data into the active document may continue until the user of the application program submits a request at the first computer requesting that the active document be submitted ( 706 ). If the user sends a request to submit the active document, then the active document may be forwarded from the first computer to the second computer ( 707 ), and the second computer may perform a set of predefined procedures on the active document ( 708 ). For example, the user may wish to submit a completed quotation document and may select a button to submit the quotation document, which may cause front-end system 110 to forward the completed quotation document to back-end system 130 .
  • Back-end system 130 may then perform a defined set of procedures with the completed quotation, such as storing the quotation as a data object in database 135 as an attachment or as a business object with link to the attachment, generating a report based on the quotation (e.g., to all relevant managers), sending the completed quotation as a letter or email to the intended recipient, etc.
  • a defined set of procedures with the completed quotation such as storing the quotation as a data object in database 135 as an attachment or as a business object with link to the attachment, generating a report based on the quotation (e.g., to all relevant managers), sending the completed quotation as a letter or email to the intended recipient, etc.
  • FIG. 8 is a simplified flow chart that shows a method of adding information to an active document as a text string from a back-end system according to an embodiment of the present invention. This method may be performed, for example, as part of the method of FIG. 7 (e.g., prior to submitting the active document).
  • a list of text strings may be provided to the user of an application program ( 801 ).
  • front-end system 110 may display a text snippet list as shown in FIG. 5 .
  • the first computer may receive an identification of a selection from the list ( 802 ) and may send the identification to the second computer ( 803 ). For example, the user may select the second text snippet shown in FIG.
  • front-end system 110 may thus send an identification of the second text snippet to back-end system 130 .
  • the first computer may receive the selected text string from the second computer ( 804 ) and the first computer may store the selected text string in the active document ( 805 ).
  • the text string “We are glad to provide you . . . regarding our products” may be inserted into letter text field 322 of the active document as shown in FIGS. 5-6 .
  • the text string may be stored at the second computer in a portal or document management system.
  • FIG. 9 is a simplified flow diagram of a process for generating active document forms according to an embodiment of the present invention. For the purposes of illustration, this process is discussed with reference to the systems and forms shown above in FIGS. 1-6 .
  • a person who is developing the active document/form may design a form with the necessary active fields and functions, such as to retrieve the data and text snippets.
  • Documents may be specified as an Extensible Markup Language (XML) file and XML-Schema generated out of a business object models.
  • XML Extensible Markup Language
  • the form developer may divide an active document into logical blocks and declare if a particular block is query-based block, such as shown in FIG. 3 , or a text snippet block, such as shown in FIG. 5 .
  • a Universal Resource Locator (URL) based file store it may be possible to use an document solution without a need for a local installation at the front-end system.
  • the active document may contain a path to a collection of files (e.g., a manifest) at the back-end system that are used to perform the active functions, and some or all of those files may be loaded at the front-end system at the time the active document is opened by an application program.
  • a Dynamic Link Library (DLL) file may be used to provide the functionality on the attached-schema-document to retrieve data from a back-end system to fill up fields in the document.
  • DLL Dynamic Link Library
  • the developer may cause customizing tables for the active document to be created in a back-end system, such as back-end system 130 ( 901 ). Entries in these tables may be later used for generating XML schemas. For example, one table may specify a key for the active document being defined and a Uniform Resource Identifier (URI) as the description for the active document schema; another table may store service modules and relevant queries; another table may describe the actions carried out in the form, such as searching and reading text snippets; another table may tell the text-reading function which texts should be available for selection; etc.
  • URI Uniform Resource Identifier
  • an XML Schema may be created and may be stored as an attachment to the relevant active document definition in the back-end system ( 902 ).
  • an XML generator may be used to generate the XML based on customizing done in the back-end system.
  • a document/form may then be created in a format that is recognized by an application executing on the front-end system, such as front-end system 110 , and this document/form may later by used as a form on the front-end system ( 903 ).
  • a connection may then be established at the front-end system between the front-end system document and the XML ( 904 ). For example, this connection may be stored as a path where the DLL can be found.
  • the resulting active document may then be stored for further processing, for example, as a word processing file that contains a path to a collection of files.
  • Guided procedures for back-end processing of the active document may then be created and stored on the back-end system ( 905 ), and the form fields may be mapped to the Web services ( 906 ).
  • the Web services allow the business logic at the back-end system to be split off from the user interface at the front-end system.
  • this active document form may be published ( 907 ) so that uses may have access to the new active document. The method discussed above with reference to FIGS. 7-8 may then be performed with this active document.
  • the present invention provides a means of creating documents with business content on a front-end system, which itself does not have any business logic, and a means of moving this data into a back-end system so that the back-end system may initiate a business process.
  • there is only a single Dynamic Link Library which handles all active document related communication with the back-end system, regardless of which applications are using the active document or which active documents are used.
  • the back-end system may perform such a search on a set of data that is cached in a memory and thus minimize access to databases on the back-end system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A tool is proposed for supporting active documents. In one embodiment, an active document may be opened in an application program executing at a first computer, the active document being in a format recognized by the application program. Data relating to a first active document may be received data at the first computer from a user of the application program, and a search request based on the received data may be sent from the first computer to a second computer that maintains a plurality of data objects. In one embodiment, the application program at the first computer is unable to perform any functions with data objects at the second computer. The first computer may receive information relating to a result of the search request from the second computer and may store the information in the first active document. A request from the user of the application program that the active document be submitted may be received at the first computer, and the active document may be forwarded from the first computer to the second computer. A set of procedures that are pre-defined for this active document may then be performed with the active document at the second computer.

Description

    BACKGROUND OF THE INVENTION
  • An application program may be used to perform operations on a document, such as a form, that has predefined types of content. An “active document” is a document that has been configured to facilitate the entry of content into such a document by a user of an application program. For example, an active document may be able to guide a user of a word processing program through the fields in a form that is being processed as a document by that word processing program and may prompt the user to enter certain types of information. The document may later by saved as a completed form by the application program (e.g., the word processing program).
  • A data object is an item of data that is associated with one or more functions (i.e., operations) that may be performed with that data. One type of data object is a “business object,” which would concern a commercial matter. Some examples of data objects may be an order, business partner, quotation, or invoice. In the case of the data object “order,” for example, a user may be able to command a computer system to perform functions with the order such as creating a new order, checking the order status, canceling the order, shipping a product that was ordered, displaying information for an order, displaying a list of data objects that are related to the order, etc.
  • Known active document systems do not allow a user of an application program to associate information from data objects in another application program or system with or into an active document. Accordingly, the present inventors perceive these and other needs in the art.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a simplified block diagram of a system for supporting active documents according to an embodiment of the present invention.
  • FIG. 2 is a simplified block diagram of a memory that stores programs and active documents according to an embodiment of the present invention.
  • FIG. 3 is a screen shot that shows an active document with an empty form that is being operated on by an application program at the start of the process of being completed according to an embodiment of the present invention.
  • FIG. 4 is a screen shot that shows active document with a user performing a data search according to an embodiment of the present invention.
  • FIG. 5 is a screen shot that shows an empty active document with a user inserting a text snippet into the form according to an embodiment of the present invention.
  • FIG. 6 shows is a screen shot that shows active document with a user performing another search to fill information into the document according to an embodiment of the present invention.
  • FIG. 7 is a simplified flow chart that shows a method of adding information to an active document as the result of a search of a back-end system according to an embodiment of the present invention.
  • FIG. 8 is a simplified flow chart that shows a method of adding information to an active document as a text string from a back-end system according to an embodiment of the present invention.
  • FIG. 9 is a simplified flow diagram of a process for generating active document forms according to an embodiment of the present invention.
  • DETAILED DESCRIPTION
  • Embodiments of the present invention provide methods and apparatus for supporting active documents and allow a user of an application program to associate information from data objects in another application program or system with or into an active document. In some embodiments, an active document being operated on by an application program on a front-end system may be able to search data objects in a back-end system. For example, certain elements displayed in an area in a document may be used to send search requests to the back-end system. In the case of a price quotation document, for example, a user may first search for the customer, then may search for text snippets to be used as an introduction of the document, then may search for products, etc.
  • In a further embodiment, the active document on the front-end system may be able to retrieve text snippets from the back-end system. This feature may be used to identify and import text that was placed in a common storage area at the time the document was designed. In the case of the price quotation example discussed above, a user may use text snippets as introduction to the document.
  • In a still further embodiment, the active document on the front-end system may be able to create or modify a data object on the back-end system through the use of guided procedures. Such guided procedures may allow the processing of data in the back-end system. For example, if a user creates a quotation document with a form in an application program at the front-end system, then the data can be transferred to the back-end system to create a data object “quotation” which uses this data. In some embodiments, the user may seamlessly create the back-end system data object from the front-end system without the user having to affirmatively access the back-end system, such as by logging on to the back-end system or executing an application program on the back-end system. For example, the data object may be created by the user selecting a button in the front-end system application program to submit the form to the back-end system. In the example above, the back-end system may create a quotation data object for the customer that is mentioned in the form, and this data object may contain a reference to the products that are listed in the form.
  • FIG. 1 is a simplified block diagram of a system for supporting active documents according to an embodiment of the present invention. FIG. 1 shows a front-end system 110, a network 120, a back-end system 130 and a database 135. Front-end system 110 may be any type of device for running application software, such as for example a personal computer, a terminal, a personal digital assistant (PDA), etc. Network 120 may be any type of network for communicating information, such as a local area network (LAN), wide area network (WAN), the Internet, or an intranet. Back-end system 130 may be a terminal server, mainframe computer, or any type of computer system that services users over network 120. Typically, many front-end systems may be coupled to back-end system 130 through network 120. As shown, back-end system 130 is coupled to database 135, which may be any type of computer readable medium, such as one or more hard disk memories, that stores instructions and data for a knowledge warehouse system that maintains a collection of data to support a decision making process.
  • As shown in FIG. 1, front-end system 110 is displaying the text of an active document 115, which contains a plurality of fields 116-118. In some embodiments, a user running an application program on front-end system 110 may be prompted to enter information into fields 116-118 on active document 115. Front-end system 110 also contains a memory 117, which may be for example a Random Access Memory (RAM). Memory 117 may be a machine readable medium which stores a computer program (which as is well known comprises a plurality of instructions) that is executable by a computer system, such as front end system 110. A machine readable medium is any medium cable of being read by a machine, such as a floppy disk memory, CD-ROM, etc.
  • FIG. 2 is a simplified block diagram of a memory 117 that stores programs and active documents according to an embodiment of the present invention. Memory 117 may store a plurality of application programs 211-218 that may be running on front-end system 110. As shown in FIG. 2, memory 117 stores word processor software 211, spread sheet software 212, email software 213, and calendar software 218, but of course memory 117 may store any other programs that may be running on front-end system 110. As shown in FIG. 2, memory 117 also stores a plurality of documents 240-260, each of which may be documents that may be operated on by application programs 211-218. One or more of the documents 240-260 may be active documents and may contain fields, such as fields 116-118 of FIG. 1. Memory 117 is also shown as storing a link program 230 which may be used to support active documents and may provide an interface between an active document on front-end system 110 and data objects in back-end system 130 according to an embodiment of the present invention.
  • In some embodiments, and as shown in FIG. 1, front-end system 110 may be adapted to execute one or more application programs (such as programs 211-218) that perform operations on active documents (such as documents 240-260). Back-end system 130 may maintain a database 135 that associates information in the front-end system's documents with data objects. In some embodiments, a single link program on front-end system 110, such as link program 230, may be used to handle all active document related communications with back-end system 130. Configuration information for dynamic links may be created with each initialization of the link program. In some embodiments, back-end system 130 contains business logic, such as actions which can be executed for a specific active document. Thus, back-end system 130 may contain any software that is used to execute a function on a business object. In some embodiments, front-end system 110 does not contain any business logic, and the recognition function as well as the computing that supports actions taken on the data objects may be performed by back-end system 130. In such embodiments, the front-end system cannot perform functions that modify data objects. In some embodiments, changes may not be done until the document is submitted to the back-end system.
  • FIG. 3 is a screen shot that shows an active document 301 with an empty form that is being operated on by an application program at the start of the process of being completed according to an embodiment of the present invention. Active document 301 may be the same as, for example, active document 115 of FIG. 1 and/or documents 240-260 of FIG. 2. Active document 301 may be, for example, a quotation letter that is being sent from a company (here, Akron Heating & Technology, Inc.) to a potential customer. As shown in FIG. 3, document 301 may be being operated on by, for example, a word processor program (such as word processor 211) executing on front-end system 110. Thus, a user may have launched the application program and opened active document 301, which may have caused an active document template to have been opened.
  • As shown in FIG. 3, active document 301 contains a form 320 and an activity window 310. In this example, form 320 is a blank form with a plurality of fields 321-323 to be completed by a user. In particular, form 320 contains a customer information field 321, a letter text field 322, and a quotation data field 323. In FIG. 3, activity window 310 contains buttons 311 that a user may use to start the active document process to complete the form 320.
  • FIG. 4 is a screen shot that shows active document 301 with a user performing a data search according to an embodiment of the present invention. Active document 301 in FIG. 4 is the same as shown in FIG. 3, but at a later stage of progression. In FIG. 4, activity window 310 contains a search field 411. In this example, a user is searching for a customer with the name “Harald.” The link program 320 may cause this search to be sent to the front-end system, and the results may be displayed in search field 411. In this example, a number of customers with the name “Harald” were found, and the user may select one of these customers to be inserted into customer information field 321, as shown in FIG. 5.
  • FIG. 5 is a screen shot that shows an empty active document 301 with a user inserting a text snippet (i.e., text string) into the form according to an embodiment of the present invention. Active document 301 in FIG. 5 is the same as shown in FIGS. 3-4, but at a still later stage of progression. In FIG. 5, activity window 310 contains a text snippet field 511. This text snippet field 511 may have been activated when the user selected letter text field 322 in form 320. In this example, text snippet field 511 presents the user with two different text snippets to choose from. In some embodiments, the front-end system may send a request to the back-end system for possible text snippets, and the back-end system may then send the text snippets back to the front-end system. A user may select one of the text snippets, which may be inserted into letter text field 322 after it is selected.
  • FIG. 6 shows is a screen shot that shows active document 301 with a user performing another search to fill information into the document according to an embodiment of the present invention. Active document 301 in FIG. 6 is the same as shown in FIGS. 3-5, but at a later stage of progression. In FIG. 6, activity window 310 contains a search window 611 which may be used to search for product data, as discussed below with reference to FIG. 4. The product data that is selected by the user may be inserted into quotation field 323 in form 320.
  • After as user has completed the form, the user may select a button that submits the completed form to the back-end system, which may initiation the guided procedures as discussed above.
  • FIG. 7 is a simplified flow chart that shows a method of adding information to an active document as the result of a search of a back-end system according to an embodiment of the present invention. This method is discussed using the apparatus and functionality shown and addressed with regard to FIGS. 1-6 as an illustration, but of course this method may also be performed with different apparatus, screens, etc. An active document may be open in an application program executing at a first computer (701). The active document may be in a format recognized by the application program and may contain a plurality of fields. For example, active document 115 may be opened by word processing software 211 running on front-end system 110, and this active document may be a quotation document that contains fields such as customer information field 321 of FIG. 3. The user of the application program may provide the first computer with data that relates to an active document (702). For example, the user may input customer data, such as the name “Harald” shown in FIG. 4.
  • The first computer may send a search request based on the received data to a second computer that maintains a plurality of data objects (703), and the first computer may be unable to perform any functions with data objects at the second computer. For example, front-end system 110 may send a search request for the data “Harald” to back-end system 130, which may contain data objects that are not directly accessible by front-end system 110. In some embodiments, any software to perform functions on such data objects is located at the second computer. The first computer may receive information relating to a result of the search request from the second computer (704) and may store the information in the active document (705). For example, front-end system 110 may receive a plurality of search results (such as those shown in search field 411 of FIG. 4), the user may select one of those results, and based on this selection front-end system 110 may store information in customer information field 321 of the active document. In some embodiments, the search request is sent from the first computer to the second computer as a message according to the Simple Object Access Protocol (SOAP).
  • In some embodiments, a single link program located on the first computer supports any accesses by application programs on the first computer to the data objects on the second computer. In further embodiments, the single link program may be a single dynamic link library file. In some embodiments, each field in the active document may be matched to a web service. In some embodiments, the second computer forwards the search request to a third computer that has a local random access memory (RAM), and the third computer performs the search on data stored in its local RAM.
  • In some embodiments, the above process of entering data into the active document may continue until the user of the application program submits a request at the first computer requesting that the active document be submitted (706). If the user sends a request to submit the active document, then the active document may be forwarded from the first computer to the second computer (707), and the second computer may perform a set of predefined procedures on the active document (708). For example, the user may wish to submit a completed quotation document and may select a button to submit the quotation document, which may cause front-end system 110 to forward the completed quotation document to back-end system 130. Back-end system 130 may then perform a defined set of procedures with the completed quotation, such as storing the quotation as a data object in database 135 as an attachment or as a business object with link to the attachment, generating a report based on the quotation (e.g., to all relevant managers), sending the completed quotation as a letter or email to the intended recipient, etc.
  • FIG. 8 is a simplified flow chart that shows a method of adding information to an active document as a text string from a back-end system according to an embodiment of the present invention. This method may be performed, for example, as part of the method of FIG. 7 (e.g., prior to submitting the active document). According to the method shown in FIG. 8, a list of text strings may be provided to the user of an application program (801). For example, front-end system 110 may display a text snippet list as shown in FIG. 5. The first computer may receive an identification of a selection from the list (802) and may send the identification to the second computer (803). For example, the user may select the second text snippet shown in FIG. 5, and front-end system 110 may thus send an identification of the second text snippet to back-end system 130. The first computer may receive the selected text string from the second computer (804) and the first computer may store the selected text string in the active document (805). For example, the text string “We are glad to provide you . . . regarding our products” may be inserted into letter text field 322 of the active document as shown in FIGS. 5-6. In some embodiments, the text string may be stored at the second computer in a portal or document management system.
  • FIG. 9 is a simplified flow diagram of a process for generating active document forms according to an embodiment of the present invention. For the purposes of illustration, this process is discussed with reference to the systems and forms shown above in FIGS. 1-6. A person who is developing the active document/form may design a form with the necessary active fields and functions, such as to retrieve the data and text snippets. In some embodiments, it may be possible to specify the document completely on a back-end system, such as Back-end system 130 of FIG. 1, and to perform operations on the document at a front-end system, such as and Front-end system 110. Documents may be specified as an Extensible Markup Language (XML) file and XML-Schema generated out of a business object models. The form developer may divide an active document into logical blocks and declare if a particular block is query-based block, such as shown in FIG. 3, or a text snippet block, such as shown in FIG. 5. In some embodiments, by using a Universal Resource Locator (URL) based file store it may be possible to use an document solution without a need for a local installation at the front-end system. In such embodiments, the active document may contain a path to a collection of files (e.g., a manifest) at the back-end system that are used to perform the active functions, and some or all of those files may be loaded at the front-end system at the time the active document is opened by an application program. A Dynamic Link Library (DLL) file may be used to provide the functionality on the attached-schema-document to retrieve data from a back-end system to fill up fields in the document.
  • In the embodiment shown in FIG. 9, the developer may cause customizing tables for the active document to be created in a back-end system, such as back-end system 130 (901). Entries in these tables may be later used for generating XML schemas. For example, one table may specify a key for the active document being defined and a Uniform Resource Identifier (URI) as the description for the active document schema; another table may store service modules and relevant queries; another table may describe the actions carried out in the form, such as searching and reading text snippets; another table may tell the text-reading function which texts should be available for selection; etc. Based on the customizing tables, an XML Schema may be created and may be stored as an attachment to the relevant active document definition in the back-end system (902). In some embodiments, an XML generator may be used to generate the XML based on customizing done in the back-end system. A document/form may then be created in a format that is recognized by an application executing on the front-end system, such as front-end system 110, and this document/form may later by used as a form on the front-end system (903). A connection may then be established at the front-end system between the front-end system document and the XML (904). For example, this connection may be stored as a path where the DLL can be found. The resulting active document may then be stored for further processing, for example, as a word processing file that contains a path to a collection of files. Guided procedures for back-end processing of the active document may then be created and stored on the back-end system (905), and the form fields may be mapped to the Web services (906). In an embodiment, the Web services allow the business logic at the back-end system to be split off from the user interface at the front-end system. Finally, this active document form may be published (907) so that uses may have access to the new active document. The method discussed above with reference to FIGS. 7-8 may then be performed with this active document.
  • The present invention provides a means of creating documents with business content on a front-end system, which itself does not have any business logic, and a means of moving this data into a back-end system so that the back-end system may initiate a business process. In some embodiments, there is only a single Dynamic Link Library which handles all active document related communication with the back-end system, regardless of which applications are using the active document or which active documents are used. The back-end system may perform such a search on a set of data that is cached in a memory and thus minimize access to databases on the back-end system.
  • The above is a detailed discussion of the certain embodiments. It may be understood that the examples discussed are for illustration purposes only and are not intended to limit the configuration to that shown. For example, the order of the steps performed may be varied where appropriate. It is of course intended that the scope of the claims may cover other embodiments than those described above and their equivalents.

Claims (26)

1. A method comprising:
opening an active document in an application program executing at a first computer, wherein the active document is in a format recognized by the application program, and wherein the active document contains a plurality of fields;
receiving data at the first computer from a user of the application program, wherein the data relates to a first active document field;
sending a search request from the first computer to a second computer based on the received data, wherein the second computer maintains a plurality of data objects, and wherein the first computer is unable to perform any functions with data objects at the second computer;
receiving information at the first computer relating to a result of the search request, wherein the information is received from the second computer;
storing the information in the active document;
receiving at the first computer a request from the user of the application program, wherein the received request requests that the active document be submitted;
forwarding the active document from the first computer to the second computer; and
performing a set of procedures with the active document at the second computer, wherein the procedures are pre-defined for this active document.
2. The method of claim 1, wherein a single link program located on the first computer supports any accesses by application programs on the first computer to the data objects on the second computer.
3. The method of claim 2, wherein the single link program is a single dynamic link library file.
4. The method of claim 3, wherein any software to perform functions on data objects at the second computer is located at the second computer.
5. The method of claim 1, wherein each field in the document is matched to a web service.
6. The method of claim 1, wherein the second computer forwards the search request to a third computer that has a local random access memory (RAM), and the third computer performs the requested search on data stored in its local RAM.
7. The method of claim 1, wherein the search request is sent from the first computer to the second computer as a message according to the Simple Object Access Protocol (SOAP).
8. The method of claim 1, wherein the method further comprises:
providing a list of text strings to the user of the application program;
receiving at the first computer an identification of a selection from the list;
sending the identification from the first computer to the second computer;
receiving the text string at the first computer from the second computer; and
storing the text string selected in a second active document field at the first computer.
9. The method of claim 9, wherein the text string is stored at the second computer in a portal or document management system.
10. A machine readable medium having embodied thereon instructions executable by a computer system to perform a method comprising:
opening an active document in an application program executing at a first computer, wherein the active document is in a format recognized by the application program, and wherein the active document contains a plurality of fields;
receiving data at the first computer from a user of the application program, wherein the data relates to a first active document field;
sending a search request from the first computer to a second computer based on the received data, wherein the second computer maintains a plurality of data objects, and wherein the first computer is unable to perform any functions with data objects at the second computer;
receiving information at the first computer relating to a result of the search request, wherein the information is received from the second computer;
storing the information in the active document;
receiving at the first computer a request from the user of the application program, wherein the received request requests that the active document be submitted;
forwarding the active document from the first computer to the second computer; and
performing a set of procedures with the active document at the second computer, wherein the procedures are pre-defined for this active document.
11. The machine readable medium of claim 10, wherein a single link program located on the first computer supports any accesses by application programs on the first computer to the data objects on the second computer.
12. The machine readable medium of claim 11, wherein the single link program is a single dynamic link library file.
13. The machine readable medium of claim 12, wherein any software to perform functions on data objects at the second computer is located at the second computer.
14. The machine readable medium of claim 10, wherein each field in the document is matched to a web service.
15. The machine readable medium of claim 10, wherein the second computer forwards the search request to a third computer that has a local random access memory (RAM), and the third computer performs the requested search on data stored in its local RAM.
16. The machine readable medium of claim 10, wherein the search request is sent from the first computer to the second computer as a message according to the Simple Object Access Protocol (SOAP).
17. The machine readable medium of claim 10, wherein the method further comprises:
providing a list of text strings to the user of the application program;
receiving at the first computer an identification of a selection from the list;
sending the identification from the first computer to the second computer;
receiving the text string at the first computer from the second computer; and
storing the text string selected in a second active document field at the first computer.
18. The machine readable medium of claim 17, wherein the text string is stored at the second computer in a portal or document management system.
19. A method of creating an active document, the method comprising:
creating an Extensible Markup Language file at a back-end system, wherein the back-end system maintains a plurality of data objects, and wherein the Extensible Markup Language file specifies functions to be performed for active document fields using data objects at the back-end system;
creating an active document at a front-end system in a format recognized by an application program at the front-end system, wherein the active document comprises one or more fields;
establishing connections at the front-end system between the Extensible Markup Language file at the back-end system and the fields of the active document at the front-end system; and
creating procedures for processing the active document at the back-end system.
20. The method of claim 19, wherein a field in the active document is either a query-based field or a text snippet field.
21. The method of claim 19, wherein the front-end system cannot perform functions that modify data objects at the back-end system.
22. The method of claim 19, wherein the active document is in a word processor format.
23. The method of claim 19, wherein the connections between the Extensible Markup Language file and the fields of the active document are stored at the front-end system as a Dynamic Link Library file.
24. The method of claim 23, wherein the front-end system contains a single Dynamic Link Library file for any active documents stored at the front-end system.
25. The method of claim 19, wherein the method further comprises creating customizing tables at the back-end system, and wherein said Extensible Markup Language file is created based upon the customizing tables.
26. The method of claim 19, wherein the method further comprises mapping fields in the active document to Web services.
US10/940,770 2004-07-16 2004-09-15 Method and apparatus for supporting active documents Abandoned US20060069669A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/940,770 US20060069669A1 (en) 2004-07-16 2004-09-15 Method and apparatus for supporting active documents
US12/210,708 US8200703B2 (en) 2004-07-16 2008-09-15 Method and apparatus for supporting active documents

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58839504P 2004-07-16 2004-07-16
US10/940,770 US20060069669A1 (en) 2004-07-16 2004-09-15 Method and apparatus for supporting active documents

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/210,708 Continuation US8200703B2 (en) 2004-07-16 2008-09-15 Method and apparatus for supporting active documents

Publications (1)

Publication Number Publication Date
US20060069669A1 true US20060069669A1 (en) 2006-03-30

Family

ID=36100431

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/940,770 Abandoned US20060069669A1 (en) 2004-07-16 2004-09-15 Method and apparatus for supporting active documents
US12/210,708 Expired - Fee Related US8200703B2 (en) 2004-07-16 2008-09-15 Method and apparatus for supporting active documents

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/210,708 Expired - Fee Related US8200703B2 (en) 2004-07-16 2008-09-15 Method and apparatus for supporting active documents

Country Status (1)

Country Link
US (2) US20060069669A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10264057B2 (en) * 2016-12-08 2019-04-16 Sap Se Hybrid cloud integration systems and methods
US11061744B2 (en) * 2018-06-01 2021-07-13 Apple Inc. Direct input from a remote device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266058B1 (en) * 1998-09-08 2001-07-24 Hewlett Packard Company Apparatus and method for linking browser bars with active documents for a browser
US20020194034A1 (en) * 2001-02-13 2002-12-19 Mears W. Campbell Method and apparatus for automating structured settlements
US20040267595A1 (en) * 2003-06-30 2004-12-30 Idcocumentd, Llc. Worker and document management system
US7124354B1 (en) * 2000-03-24 2006-10-17 Hewlett-Packard Development Company, L.P. Enterprise application transactions as shared active documents
US7206998B2 (en) * 1998-11-10 2007-04-17 Claria Corporation System and method for automatically learning information used for electronic form-filling

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ503517A (en) * 1997-10-06 2003-03-28 Megg Associates Single-document active user interface system
US7047253B1 (en) * 2001-09-28 2006-05-16 Oracle Interntional Corporation Mechanisms for storing content and properties of hierarchically organized resources
CN100403305C (en) * 2003-04-04 2008-07-16 雅虎公司 System for generating search results including searching by subdomain hints and providing sponsored results by subdomain

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266058B1 (en) * 1998-09-08 2001-07-24 Hewlett Packard Company Apparatus and method for linking browser bars with active documents for a browser
US7206998B2 (en) * 1998-11-10 2007-04-17 Claria Corporation System and method for automatically learning information used for electronic form-filling
US7124354B1 (en) * 2000-03-24 2006-10-17 Hewlett-Packard Development Company, L.P. Enterprise application transactions as shared active documents
US20020194034A1 (en) * 2001-02-13 2002-12-19 Mears W. Campbell Method and apparatus for automating structured settlements
US20040267595A1 (en) * 2003-06-30 2004-12-30 Idcocumentd, Llc. Worker and document management system

Also Published As

Publication number Publication date
US8200703B2 (en) 2012-06-12
US20090012943A1 (en) 2009-01-08

Similar Documents

Publication Publication Date Title
US9390179B2 (en) Federated search
TW468106B (en) Navigating network resources based on metadata
US7809710B2 (en) System and method for extracting content for submission to a search engine
US8392472B1 (en) Auto-classification of PDF forms by dynamically defining a taxonomy and vocabulary from PDF form fields
US11934460B2 (en) Linking business objects and documents
US20060112081A1 (en) Storing searches in an e-mail folder
US20040187111A1 (en) Content management portal and method for communicating media content
US20090241183A1 (en) Dynamic document merging method and system
US20040167896A1 (en) Content management portal and method for communicating information
US7552127B2 (en) System and method for providing platform-independent content services for users for content from content applications leveraging Atom, XLink, XML Query content management systems
US20130166563A1 (en) Integration of Text Analysis and Search Functionality
US7124354B1 (en) Enterprise application transactions as shared active documents
KR20090005097A (en) Systems and methods of transforming data for web communities and web applications
US20220374731A1 (en) Onboarding of entity data
US7792857B1 (en) Migration of content when accessed using federated search
US7373350B1 (en) Virtual metadata analytics and management platform
US20150142913A1 (en) Configurable views of context-relevant content
NL1025547C2 (en) Content management portal and method for managing digital values.
US7895337B2 (en) Systems and methods of generating a content aware interface
US8615733B2 (en) Building a component to display documents relevant to the content of a website
CA2772662C (en) Knowledge base for service ticketing system
US8418051B1 (en) Reviewing and editing word processing documents
US9218330B2 (en) Method of inputting information into an electronic form
US8200703B2 (en) Method and apparatus for supporting active documents
US20200104327A1 (en) Direct link generator for user interface

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAP AKTIENGESELLSCHAFT, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SATTLER, JUERGEN;DEMANT, HILMAR;GAFFGA, JOACHIM;REEL/FRAME:016158/0070;SIGNING DATES FROM 20041229 TO 20050111

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION