IP Library Granted Patent US 12,260,193
Granted Patent B2
US 12,260,193 · App. 18/179,850 · Granted Mar 25, 2025

Composable processing framework based on web assembly component model

Inventor: David Kunz (Wilhelmsfeld, DE)
Assignee: SAP SE
G06F8/41G06F8/31
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,260,193
App. No.
18/179,850
Granted
Mar 25, 2025
Kind
B2
Abstract

In an example embodiment, a common, composable abstraction is provided that allows components to work efficiently across programming languages and services without the need to write glue code. Application developers can concentrate on the application logic itself. The functionality of services can be developed by framework developers only once, using the programming language of their choice.

Claims (43)

1. A system comprising:

at least one hardware processor; and

a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:

accessing a data model, the data model comprising a definition of entities and their relationships and definitions of services that operate on the entities;

compiling the data model into a component model;

compiling the component model into a user programming language, the user programming language being a programming language compilable into a bytecode format;

accessing custom code, written in the user programming language, the custom code including the compiled component model;

compiling the custom code into the bytecode format;

loading the compiled custom code into a framework running a host programming language; and

executing the compiled custom code to create a server process.

2. The system of claim 1 , wherein the server process further contains at least one interface, based on the component model, that translates input to the custom code from a first format into the host programming language, and at least one interface, based on the component model, that translates output from the custom code from the host programming language into the first format.

3. The system of claim 2 , wherein the first format is Hypertext Transfer Protocol (HTTP).

4. The system of claim 1 , wherein the bytecode format is WebAssembly.

5. The system of claim 4 , wherein the component model is a WebAssembly component model (WASM).

6. The system of claim 1 , wherein the host programming language is Core Query Notation.

7. The system of claim 1 , wherein the framework compiles the compiled component model into an interface compatible with the host programming language.

8. A method comprising:

accessing a data model, the data model comprising a definition of entities and their relationships and definitions of services that operate on the entities;

compiling the data model into a component model;

compiling the component model into a user programming language, the user programming language being a programming language compilable into a bytecode format;

accessing custom code, written in the user programming language, the custom code including the compiled component model;

compiling the custom code into the bytecode format;

loading the compiled custom code into a framework running a host programming language; and

executing the compiled custom code to create a server process.

9. The method of claim 8 , wherein the server process further contains at least one interface, based on the component model, that translates input to the custom code from a first format into the host programming language, and at least one interface, based on the component model, that translates output from the custom code from the host programming language into the first format.

10. The method of claim 9 , wherein the first format is Hypertext Transfer Protocol (HTTP).

11. The method of claim 8 , wherein the bytecode format is WebAssembly.

12. The method of claim 11 , wherein the component model is a WebAssembly component model (WASM).

13. The method of claim 8 , wherein the host programming language is Core Query Notation.

14. The method of claim 8 , wherein the framework compiles the compiled component model into an interface compatible with the host programming language.

15. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:

accessing a data model, the data model comprising a definition of entities and their relationships and definitions of services that operate on the entities;

compiling the data model into a component model;

compiling the component model into a user programming language, the user programming language being a programming language compilable into a bytecode format;

accessing custom code, written in the user language, the custom code including the compiled component model;

compiling the custom code into the bytecode format;

loading the compiled custom code into a framework running a host programming language; and

executing the compiled custom code to create a server process.

16. The non-transitory machine-readable medium of claim 15 , wherein the server process further contains at least one interface, based on the component model, that translates input to the custom code from a first format into the host programming language, and at least one interface, based on the component model, that translates output from the custom code from the host programming language into the first format.

17. The non-transitory machine-readable medium of claim 16 , wherein the first format is Hypertext Transfer Protocol (HTTP).

18. The non-transitory machine-readable medium of claim 15 , wherein the bytecode format is WebAssembly.

19. The non-transitory machine-readable medium of claim 18 , wherein the component model is a WebAssembly component model (WASM).

20. The non-transitory machine-readable medium of claim 15 , wherein the host programming language is Core Query Notation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2023
From: KUNZ, DAVID
To: SAP SE
Reel/Frame 062909/0566 →
Continuity (1)
Related Publication 20240303050A1 · Sep 12, 2024
References Cited (15)
US 6637020B1 · Hammond · 2003 [cited by examiner]
US 6804686B1 · Stone · 2004 [cited by examiner]
US 20010025373A1 · Gebhart · 2001 [cited by examiner]
US 20010056504A1 · Kuznetsov · 2001 [cited by examiner]
US 20030070006A1 · Nadler · 2003 [cited by examiner]
US 20070038666A1 · Meijer · 2007 [cited by examiner]
US 20180165175A1 · Guan · 2018 [cited by examiner]
Phipps, Geoffrey, Marcia A. Derr, and Kenneth A. Ross. “Glue-Nail: A deductive database system.” Proceedings of the 1991 ACM SIGMOD international conference on Management of data. 1991.pp. 308-317. (Year: 1991). [cited by examiner]
Kim, Miryung, et al. “An ethnographic study of copy and paste programming practices in OOPL.” Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE'04.. IEEE, 2004.pp. 83-92. (Year: 20… [cited by examiner]
Matthews, Jacob, and Robert Bruce Findler. “Operational semantics for multi-language programs.” ACM SIGPLAN Notices 42.1 (2007): pp. 3-10. (Year: 2007). [cited by examiner]
Ousterhout, John K. “Scripting: Higher level programming for the 21st century.” Computer 31.3 (1998): pp. 23-30. (Year: 1998). [cited by examiner]
Kochhar, Pavneet Singh, Dinusha Wijedasa, and David Lo. “A large scale study of multiple programming languages and code quality.” 2016 IEEE 23rd international conference on software analysis, evolution, and reengineerin… [cited by examiner]
“European Application Serial No. 23182631.4, Extended European Search Report mailed Jan. 4, 2024”, 10 pgs. [cited by applicant]
Bruyat, Julian, et al., “WasmTree: Web Assembly for he Semantic Web”, Topics in Cryptology—CT-RSA: The Cryptographers' Track at the RSA Conference, (2021), 582-597. [cited by applicant]
Kjorveziroski, Vojdan, et al., “Evaluating WebAssembly for Orchestrated Deployment of Serverless Functions”, 30th Telecommunication Forum, IEEE, (Nov. 15, 2022), 1-4. [cited by applicant]