Extension mechanism for scripting language compiler
US-8997070-B2 · Mar 31, 2015 · US
US9875274B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9875274-B2 |
| Application number | US-201414548659-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 20, 2014 |
| Priority date | Sep 15, 2014 |
| Publication date | Jan 23, 2018 |
| Grant date | Jan 23, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Disclosed herein are systems and methods facilitating extensions to software applications that access a database, and in particular to applications with embedded database procedures. In various embodiments, an extension anchor embedded in the application as well as one or more extensions implemented as database procedures are encapsulated in specially marked database-procedure methods.
Opening claim text (preview).
The invention claimed is: 1. A computer-implemented method comprising: defining a host application including a method declared as a database procedure, and embedding an extension procedure call within the method, the extension procedure call anchoring an extension within the host application and having an associated extension procedure interface that specifies at least one of an extension name, an extension signature, or exceptions to be thrown in response to errors occurring during execution of the extension; implementing the extension as one or more extension procedures responsive to the extension procedure call and complying with the extension interface, and encapsulating the one or more extension procedures in one more methods declared as database procedures; registering the one or more extension procedures in an extension register and selectively activating the one or more extension procedures: compiling the host application, whereby an extension dispatcher calling the selectively activated ones of the one or more extension procedures is created; and executing the compiled host application, whereby one or more database procedures defined within the extension procedures called by the extension dispatcher are created and executed in a database. 2. The method of claim 1 , wherein the methods declared as database procedures are application-server-managed database procedure (ASMDP) methods. 3. The method of claim 2 , wherein each of the ASMDP methods includes a database procedure written in SQLScript or LLANG. 4. The method of claim 2 , wherein the one or more extensions procedures are Business Add-ins (BAdIs). 5. The method of claim 1 , further comprising assigning one or more business functions to the one or more extension procedures, wherein the one or more extension procedures are selectively activated in the switch framework based on the assigned one or more business functions. 6. The method of claim 1 , further comprising defining the extension procedure interface. 7. A system comprising: one or more processors; and one or more machine-readable media storing a plurality of software modules for execution by the one or more processors, the software modules comprising: at least one source-code editor for defining source code of a host application including a method declared as a database procedure and embedding an extension procedure call within the method, the extension procedure call anchoring an extension within the host application and having an associated extension interface that specifies at least one of an extension name, an extension signature, or exceptions to be thrown in response to errors occurring during execution of the extension, and for further defining one or more extension procedures responsive to the extension procedure call and complying with the extension interface, and encapsulating the one or more extension procedures in one more methods declared as database procedures; a switch framework wherein the one or more extension procedures are selectively activated; a compiler configured to cause, upon encountering the extension procedure call during compilation of the source code, creation of an extension dispatcher calling the selectively activated ones of the one or more extension procedures; and an interpreter configured to call the extension dispatcher upon encountering the extension procedure call when executing the compiled source code, and further configured to cause, upon a call of one of the extension procedures by the extension dispatcher, creation and execution of a database procedure contained therein in a database. 8. The system of claim 7 , wherein groups of extension procedures are selectively activated in the switch framework based on business functions associated with the groups. 9. The system of claim 7 , the one or more machine-readable media further storing an extension register wherein extension procedures available for activation in the switch framework are registered. 10. The system of claim 7 , wherein the methods declared as database procedures are ASMDP methods. 11. The system of claim 10 , wherein each of the ASMDP methods includes a database procedure written in SQL Script or LLANG. 12. The system of claim 10 , wherein the one or more extension procedures are BAdIs. 13. The system of claim 7 , further comprising an extension interface editor for defining an extension procedure interface. 14. A non-transitory machine-readable medium storing processor-executable instructions for compiling and executing a host application including an embedded method declared as a database procedure comprising an extension procedure call within the method that anchors an extension within the host application and has an associated extension procedure interface that specifies at least one of an extension name, an extension signature, or exceptions to be thrown in response to errors occurring during execution of the extension, the instructions, when executed by the processor, causing the processor to: compile the host application and, upon encountering the extension procedure call within the embedded extensible database procedure, create an extension dispatcher and configure the extension dispatcher, based on selective activation of one or more extension procedures encapsulated in one or more methods declared as database procedures that are responsive to the extension procedure call and comply with the extension interface, to call the activated ones of the one or more extension procedures; execute the compiled host application, whereby the extension dispatcher is called upon encountering the extension procedure call within the compiled embedded extensible database procedure; and upon a call of an activated one of the one or more extension procedures by the extension dispatcher, cause creation and execution, in a database, of a database procedure contained in the called activated extension procedure. 15. The machine-readable medium of claim 14 , wherein the embedded extensible database procedure is embedded in an ASMDP method. 16. The machine-readable medium of claim 15 , wherein the one or more extension procedures are ASMDP methods. 17. The machine-readable medium of claim 14 , wherein the one or more extension procedures are BAdIs.
Performance evaluation by tracing or monitoring · CPC title
Retargetable compilers · CPC title
Creation or generation of source code · CPC title
Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title
with details for schema evolution support · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.