SERVICE FRAMEWORK FOR DEVELOPING APPLICATION SERVICES IN A DEPENDENCY CONTROLLED SOFTWARE STACK
20230350697 · 2023-11-02
Inventors
Cpc classification
International classification
Abstract
A computer-implemented method for a service framework to develop application services, including: providing at least one module of a module stack to a client; determining if the provided module has been modified by the client; determining dependency data, at least including information on the dependency of further modules of the module stack from the provided module; and providing the dependency data of the other modules of the module stack from the provided module.
Claims
1. A computer-implemented method for a service framework to develop application services, comprising: by a module stack unit stored in a memory and executed by a processor of a server unit, providing over an interface between the server unit and a client unit stored in a memory and executed by a processor of a client at least one module of a module stack to the client unit; by a first determining unit stored in the memory and executed by the processor of the server unit, determining if the provided module has been modified by the client in a manner that would make the provided module incompatible with a dependent module; by a second determining unit stored in the memory and executed by the processor of the server unit, determining dependency data, at least comprising information on the dependency of further modules of the module stack from the provided module; and by a providing unit stored in the memory and executed by the processor of the server unit, providing over the interface the dependency data of the other modules of the module stack from the provided module.
2. The method according to claim 1, wherein the providing of the at least one module of a module stack and/or providing of the dependency data of the other modules of the module stack from the provided module further comprises providing service interface data.
3. The method according to claim 2, wherein the service interface data comprises service proxy data, whereby the service proxy data comprises at least event values, method values and/or property values.
4. The method according to claim 2, wherein the service interface data comprises service stub data, whereby the service stub data comprises at least event values and/or property values.
5. The method according to claim 1, wherein the providing of the at least one module of a module stack and/or providing of the dependency data of the other modules of the module stack from the provided module further comprises providing dynamic runtime data.
6. The method according to claim 5, wherein the dynamic runtime data comprises broker data, which comprises at least a service framework value.
7. The method according to claim 5, wherein the dynamic runtime data comprises service configuration data, which comprises at least a module value, a dynamic runtime value and/or a specific service value.
8. The method according to claim 5, wherein the dynamic runtime data comprises dynamically load data.
9. The method according to claim 1, wherein the dynamic runtime data comprises service discovery data.
10. The method according to claim 1, wherein the providing of the at least one module of a module stack and/or providing of the dependency data of the other modules of the module stack from the provided module further comprises providing communication parameter data and/or system configuration data.
11. The method according to claim 1, wherein the at least one module comprises program code for use in the application services, in particular C/C++, python, Java and/or HTTP.
12. A system that is implemented as a server-client-structure for a service framework to develop application services, comprising: multiple processors; multiple memories each storing a non-transitory computer-readable medium comprising instructions executed by one or more of the multiple processors to provide: a module stack unit stored in a memory and executed by a processor of a server unit to provide over an interface between the server unit and a client unit stored in a memory and executed by a processor of a client at least one module of the module stack unit to the client unit; a first determining unit stored in the memory and executed by the processor of the server unit to determine if the provided module has been modified by the client unit in a manner that would make the provided module incompatible with a dependent module; a second determining unit stored in the memory and executed by the processor of the server unit to determine dependency data, at least comprising information on the dependency of further modules of the module stack from the provided module; and a providing unit stored in the memory and executed by the processor of the server unit to provide over the interface the dependency data of the other modules of the module stack unit from the provided module.
13. The system according to claim 12, wherein the system further comprises a service stub unit, a service proxy unit, a dynamic runtime unit of the server unit and/or a broker unit of the server unit; wherein at least one server unit of the server-client-structure comprises the service stub unit, in particular each server unit of the server-client-structure comprises a service stub unit; and/or wherein at least one client unit of the server-client-structure comprises the service proxy unit, in particular each client unit of the server-client-structure comprises a service client unit.
14. A non-transitory computer-readable medium comprising instructions stored in a memory and executed by a processor to carry out steps comprising: by a module stack unit stored in a memory and executed by a processor of a server unit, providing over an interface between the server unit and a client unit stored in a memory and executed by a processor of a client at least one module of a module stack to the client unit; by a first determining unit stored in the memory and executed by the processor of the server unit, determining if the provided module has been modified by the client in a manner that would make the provided module incompatible with a dependent module; by a second determining unit stored in the memory and executed by the processor of the server unit, determining dependency data, at least comprising information on the dependency of further modules of the module stack from the provided module; and by a providing unit stored in the memory and executed by the processor of the server unit, providing over the interface the dependency data of the other modules of the module stack from the provided module.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0053] In the following, the disclosure is described exemplarily with reference to the enclosed figures, in which:
[0054]
[0055]
[0056]
[0057]
[0058] Notably, the figures are merely schematic representations and serve only to illustrate examples of the present disclosure. Identical or equivalent elements are in principle provided with the same reference signs.
DETAILED DESCRIPTION
[0059]
[0060]
[0061] The server 100 includes a module stack unit 102 to provide at least one module 102.1 of the module stack unit 102 to the client unit 200. A first determining unit 103 to determine if the provided module has been modified by the client unit 200. A second determining unit 104 of the server unit 100 to determining dependency data, at least including information on the dependency of further modules of the module stack 102 from the provided module. As well as, a providing unit 105 of the server unit 100 to provide the dependency data of the other modules of the module stack unit 102 from the provided module. Further, the server 100 includes a service stub unit 101 and a dynamic runtime unit 106.
[0062]
[0063] Thereby, data is transported between the client 200 and the server 100 and a service discovery is provided by the interface. However, these two functions are offered separately and decoupled from each other, so that several parallel transports are possible in parallel with service discovery.
[0064]
[0065] Further, the broker unit 107 monitors the communication between the stub unit 101 and the proxy unit 201. Whereby, the broker unit 107 monitors the communication regarding the availability of the service framework based on the interface id, interface version and/or instance id to provide the availability of a service of the server to the client. Since this providing is decoupled from the actual data transport, allowing multiple parallel discovery of services in parallel with the transport.
[0066] Other variations to the disclosed example can be understood and effected by those skilled in the art in practicing the claimed subject matter, from the study of the drawings, the disclosure, and the dependent claims. In particular, respective parts/functions of the respective example described above may also be combined with each other. In the claims, the word “comprising” does not exclude other elements or steps and the indefinite article “a” or “an” does not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope of the claims.