Ah, okay. That makes sense for the Baratine model, but hits up against another area where I don't understand Baratine as well as I would like.
When I first learned about Baratine, a "Service" was a thing that acted both like an object representing a row in a table, and a thing that responded to web requests. In the later examples, a Service seems to be something that can also live independent of the web (e.g. under the "service://" URL scheme).
Really, I just have a lot of confusion about Sessions, Vaults, and Users (to work with a concrete example). In my Auction-derived app, User is a Service. But to me, User should be a row in a table (conceptually; it doesn't have to actually be a SQL DB). Should I rename my User class to UserService (and User.Data to User)?
I tried to make an object graph of Auction:
https://cl.ly/0D2f2W0I0I0k
It attempts to show the inheritance hierarchy (thick-border boxes are classes, everything else is an interface). Generic typing is shown with a long-dash line. Dot-dash shows has-a relationship. Double arrows mean multiple instances. Short-dashed lines show where main() include()s classes.
One of the things that throws me in this is that there is a Vault<User> for each user. Why is there not just a single Vault for all Users?
No, wait, that's not quite right. My User is an @Asset and an @Api, not a @Service. My User interface has create() and get() methods (that unfortunately know something about the web interface), and the derived UserImpl has fields for each individual user. Augh, this is so confusing to me.
Sorry. I'm lost and about to give up and go back to Spring for this project.
--
Rick Mann
rm...@latencyzero.com