US2006095332A1PendingUtilityA1

System and method for providing access to an application through a common interface for application extensions

Assignee: SAP AGPriority: Sep 30, 2004Filed: Sep 30, 2004Published: May 4, 2006
Est. expirySep 30, 2024(expired)· nominal 20-yr term from priority
G06Q 20/203G06F 16/252
60
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and system to permit externally created business objects to access a business management application database without using direct database language statements. An add-on framework includes an add-on extension manager to start an add-on application, register a form from the add-on application, and receive and route an event from the business management application to the add-on application through a user interface application programming interface component object model interface. A persistency layer provides a set of programming language classes and interface definitions to develop a persistent business object in the add-on extension, and connect the persistent business object to a database through a data interface application programming interface component object model interface to read and write data from the database associated with the business management application.

Claims

exact text as granted — not AI-modified
1 . A method for providing access to a database, associated with a server-based application, to an external add-on extension application through a standard interface, the method comprising: 
 receiving a first request, from an add-on extension object of the add-on extension application, for data from a first database associated with the server-based application;    creating a first database request based on the first request from the add-on extension object for data, the first database request and the first request from the add-on extension object having different formats;    sending the first database request to the first database associated with the server-based application;    receiving, from the first database, a first response to the first database request;    creating a first request response for the add-on extension object, based upon the first response received from the first database; and    sending the first request response to the add-on extension object.    
     
     
         2 . The method of  claim 1 , further comprising: 
 instantiating an instance of an add-on object as a first instance of an add-on object class conforming to a component object model standard to access data in the first database associated with the server-based application;    instantiating an instance of an event sink object as a second instance of the add-on object class conforming to the component object model standard to access data in the first database associated with the server-based application;    registering the add-on extension object from the add-on extension application as a first instance of an add-on extension object class conforming to the component object model standard with the event sink object; and    registering an add-on form object as a second instance of the add-on extension object class conforming to the component object model standard with the event sink object.    
     
     
         3 . The method of  claim 2  wherein instantiating the instance of the event sink object further comprises: 
 instantiating the instance of the event sink object in response to execution of a first instance of the server-based application being started.    
     
     
         4 . The method of  claim 3  wherein instantiating the instance of the event sink object further comprises: 
 adding the instance of the event sink object to a map in the add-on object.    
     
     
         5 . The method of  claim 4  wherein instantiating the instance of the event sink object further comprises: 
 storing a pointer to the server-based application in the event sink object.    
     
     
         6 . The method of  claim 2  wherein registering the add-on extension object comprises: 
 saving the add-on extension object in a list of add-on extension objects in the event sink object.    
     
     
         7 . The method of  claim 6  wherein only one add-on extension object from the add-on extension application is registered in the list of add-on extension objects in the event sink object.  
     
     
         8 . The method of  claim 2  wherein registering the add-on form object comprises: 
 saving the add-on form object in a map of add-on forms objects in the event sink object.    
     
     
         9 . The method of  claim 8  wherein one or more add-on form objects from the add-on extension application are saved in the map of add-on forms objects in the event sink object.  
     
     
         10 . The method of  claim 1  wherein: 
 receiving the first request for data from the add-on extension object for data comprises receiving the first request for data as a non-structured query language request, and creating the first database request based on the first request from the add-on extension object for data comprises: 
 determining a type of the first database; and  
 reformatting the first request for data as the first database request using a structured query language based on the type of the first database.  
   
     
     
         11 . The method of  claim 10  wherein creating the first request response for the add-on extension object comprises: 
 converting the first response to the first request into a non-structured query language response.    
     
     
         12 . The method of  claim 1  wherein: 
 receiving the first response comprises receiving the first response to the first database request in response to a structured query language request created from the first request for data; and    creating the first request response for the add-on extension object comprises converting the first response into a first non-structured query language response.    
     
     
         13 . The method of  claim 1  wherein the server-based application is a server-based business management application.  
     
     
         14 . The method of  claim 1 , further comprising: 
 receiving a second request, from the add-on extension object of the add-on extension application, for data from a second database, the first request and the second request having a same format;    creating a second database request based on the second request from the add-on extension object for data, the first database request and the second database request having different formats;    sending the second database request to the second database;    receiving, from the second database, a second response to the second database request;    creating a second request response for the add-on extension object, based upon the second response received from the second database, the first and second request responses for the add-on extension object having a same format; and    sending the second request response to the add-on extension object.    
     
     
         15 . A data processing system comprising: 
 means for instantiating an instance of an add-on object as a first instance of an add-on object class conforming to a component object model standard to access data in a database associated with a server-based business management application;    means for instantiating an instance of an event sink object as a second instance of the add-on object class conforming to the component object model standard to access data in the database associated with the server-based business management application;    means for registering an add-on extension object from an add-on extension application as a first instance of an add-on extension object class conforming to the component object model standard with the event sink object;    means for registering an add-on form object as a second instance of the add-on extension object class conforming to the component object model standard with the event sink object;    means for receiving a request from the add-on extension object for data from the database associated with the server-based business management application;    means for creating a database request based on the request from the add-on extension object for data;    means for sending the database request to the database associated with the server-based business management application;    means for receiving a response to the database request from the database;    means for creating a request response for the add-on extension object, based upon the response received by said means for receiving the response to the database request; and    means for sending the request response to the add-on extension object.    
     
     
         16 . The data processing system of  claim 15  wherein the means for instantiating the instance of the event sink object further comprises: 
 means for instantiating the instance of the event sink object in response to a first instance of the server-based business management application being started.    
     
     
         17 . The data processing system of  claim 16  wherein the means for instantiating the instance of the event sink object further comprises: 
 means for adding the instance of the event sink object to a map in the add-on object.    
     
     
         18 . The data processing system of  claim 17  wherein the means for instantiating the instance of the event sink object further comprises: 
 means for storing a pointer to the server-based business management application in the event sink object.    
     
     
         19 . The data processing system of  claim 15  wherein the means for registering the add-on extension object comprises: 
 means for saving the add-on extension object in a list of add-on extension objects in the event sink object.    
     
     
         20 . The data processing system of  claim 15  wherein the means for registering the add-on form object comprises: 
 means for saving the add-on form object in a map of add-on forms objects in the event sink object.    
     
     
         21 . The data processing system of  claim 15  wherein the means for receiving a request for data from the add-on extension object comprises: 
 means for receiving the request for data as a non-structured query language request.    
     
     
         22 . The data processing system of  claim 15  wherein the means for creating the database request based on the request for data from the add-on extension object comprises: 
 means for determining a type of the database; and    means for formatting the request for data as the database request using a structured query language based on the type of the database.    
     
     
         23 . The data processing system of  claim 15  wherein the means for creating the request response for the add-on extension object comprises: 
 means for converting the response received by said means for receiving the response to the database request into a non-structured query language response.    
     
     
         24 . A machine readable medium having stored thereon a plurality of executable instructions for performing a method for providing access to a database, associated with a server-based application, for an external add-on extension application through a standard interface, the method comprising: 
 receiving a first request, from an add-on extension object of the add-on extension application, for data from a first database associated with the server-based application;    creating a first database request based on the first request from the add-on extension object for data, the first database request and the first request from the add-on extension object having different formats;    sending the first database request to the first database associated with the server-based application;    receiving, from the first database, a first response to the first database request;    creating a first request response for the add-on extension object, based upon the first response received from the first database; and    sending the first request response to the add-on extension object.    
     
     
         25 . The machine readable medium of  claim 24 , further comprising: 
 instantiating an instance of an add-on object as a first instance of an add-on object class conforming to a component object model standard to access data in the first database associated with the server-based application;    instantiating an instance of an event sink object as a second instance of the add-on object class conforming to the component object model standard to access data in the first database associated with the server-based application;    registering the add-on extension object from the add-on extension application as a first instance of an add-on extension object class conforming to the component object model standard with the event sink object; and    registering an add-on form object as a second instance of the add-on extension object class conforming to the component object model standard with the event sink object.    
     
     
         26 . The machine readable medium of  claim 25  wherein instantiating the instance of the event sink object further comprises: 
 instantiating the instance of the event sink object in response to execution of a first instance of the server-based application being started.    
     
     
         27 . The machine readable medium of  claim 26  wherein instantiating the instance of the event sink object further comprises: 
 adding the instance of the event sink object to a map in the add-on object.    
     
     
         28 . The machine readable medium of  claim 27  wherein instantiating the instance of the event sink object further comprises: 
 storing a pointer to the server-based application in the event sink object.    
     
     
         29 . The machine readable medium of  claim 25  wherein registering the add-on extension object comprises: 
 saving the add-on extension object in a list of add-on extension objects in the event sink object.    
     
     
         30 . The machine readable medium of  claim 29  wherein only one add-on extension object from the add-on extension application is registered in the list of add-on extension objects in the event sink object.  
     
     
         31 . The machine readable medium of  claim 25  wherein registering the add-on form object comprises: 
 saving the add-on form object in a map of add-on forms objects in the event sink object.    
     
     
         32 . The machine readable medium of  claim 31  wherein one or more add-on form objects from the add-on extension application are saved in the map of add-on forms objects in the event sink object.  
     
     
         33 . The machine readable medium of  claim 24  wherein: 
 receiving the first request for data from the add-on extension object for data comprises receiving the first request for data as a non-structured query language request, and creating the first database request based on the first request from the add-on extension object for data comprises:    determining a type of the first database; and    reformatting the first request for data as the first database request using a structured query language based on the type of the first database.    
     
     
         34 . The machine readable medium of  claim 33  wherein creating the first request response for the add-on extension object comprises: 
 converting the first response to the first request into a non-structured query language response.    
     
     
         35 . The machine readable medium of  claim 24  wherein: 
 receiving the first response comprises receiving the first response to the first database request in response to a structured query language request created from the first request for data; and    creating the first request response for the add-on extension object comprises converting the first response into a first non-structured query language response.    
     
     
         36 . The machine readable medium of  claim 24  wherein the server-based application is a server-based business management application.  
     
     
         37 . The machine readable medium of  claim 24 , further comprising: 
 receiving a second request, from the add-on extension object of the add-on extension application, for data from a second database, the first request and the second request having a same format;    creating a second database request based on the second request from the add-on extension object for data, the first database request and the second database request having different formats;    sending the second database request to the second database;    receiving, from the second database, a second response to the second database request;    creating a second request response for the add-on extension object, based upon the second response received from the second database, the first and second request responses for the add-on extension object having a same format; and    sending the second request response to the add-on extension object.    
     
     
         38 . An add-on application framework comprising: 
 a persistency layer to provide a set of programming language classes and interface definitions to develop a persistent business object in an add-on application, and connect the persistent business object to a database through a data interface application programming interface component object model interface to read and write data from the database associated with a business management application.    
     
     
         39 . The add-on application framework of  claim 38 , further comprising: 
 an add-on extension manager to start an add-on application, register a form from the add-on application, and receive and route an event from the business management application to the add-on application through a user interface application programming interface component object model interface.    
     
     
         40 . The add-on application framework of  claim 39 , further comprising: 
 a log component to store messages from the add-on extension manager.    
     
     
         41 . The add-on application framework of  claim 39  wherein the add-on extension manager is implemented as a component object model object.  
     
     
         42 . The add-on application framework of  claim 39  wherein the add-on extension manager is connected to the persistency layer.  
     
     
         43 . The add-on application framework of  claim 39  wherein the add-on extension manager comprises: 
 an add-on component object model object.    
     
     
         44 . The add-on application framework of  claim 43  wherein the add-on extension manager further comprises: 
 an event sink component object model object connected to the add-on component object model object, the business management application, and the add-on application.    
     
     
         45 . The add-on application framework of  claim 38  wherein the persistency layer comprises: 
 a set of programming language classes to implement the persistent business objects.    
     
     
         46 . The add-on application framework of  claim 45  wherein the set of programming language classes comprises: 
 a set of C++ classes.    
     
     
         47 . The add-on application framework of  claim 38  wherein the persistency layer is to provide a generic interface to receive a data request for the database from the add-on application in a first format, the generic interface is to generate a database request in a second format from the data request, and send the database request in a second format through the data interface application programming interface component object model interface to the database, wherein the second format is different than the first format.  
     
     
         48 . The add-on application framework of  claim 47  wherein the persistency layer is further to receive a response to the database request in the second format through the data interface application programming interface component object model interface at the generic interface, generate a response to the data request in the first format from the response to the database request, and send the response to the data request in the first format to the add-on application.  
     
     
         49 . The add-on framework of  claim 47  wherein the first format is a non-structured query language format and the second format is a structured query language format.  
     
     
         50 . The add-on framework of  claim 47  wherein differences between the first format and the second format provide data security between the add-on application and the business management application.

Join the waitlist — get patent alerts

Track US2006095332A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.