I talk about this in the
Storage Combinators paper[1]
In-Process REST essentially means applying the applicable mechanisms of REST in-process:
1) URIs
2) a few well-defined verbs
Benefits:
1) Common, concise and familiar API for talking about storage. (Check how much API surface there is for talking about storage variations in typical OO libraries. In Cocoa, for example, it's atrocious).
2) Paths. For some of the benefits of paths in general purpose programming, see The Programming Language Aspects of ThingLab [2]
3) Avoidance of the architectural mismatch between storage-oriented problem domains (most of them), and procedurally-based implementation technologies.
4) Composability: this is the heart of the Storage Combinators paper, you can plug these things together to obtain the desired functionality.
5) Performance, at least compared to other ways of getting similar benefits, such as (over-)used of filesystems, FUSE, Microservices for architectural reasons etc.
...
[1] https://www.hpi.uni-potsdam.de/hirschfeld/publications/media...
[2] https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90...
In-Process REST essentially means applying the applicable mechanisms of REST in-process:
1) URIs
2) a few well-defined verbs
Benefits:
1) Common, concise and familiar API for talking about storage. (Check how much API surface there is for talking about storage variations in typical OO libraries. In Cocoa, for example, it's atrocious).
2) Paths. For some of the benefits of paths in general purpose programming, see The Programming Language Aspects of ThingLab [2]
3) Avoidance of the architectural mismatch between storage-oriented problem domains (most of them), and procedurally-based implementation technologies.
4) Composability: this is the heart of the Storage Combinators paper, you can plug these things together to obtain the desired functionality.
5) Performance, at least compared to other ways of getting similar benefits, such as (over-)used of filesystems, FUSE, Microservices for architectural reasons etc.
...
[1] https://www.hpi.uni-potsdam.de/hirschfeld/publications/media...
[2] https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90...