JSON-RPC - это JSON Remote Процедура Вызов и по умолчанию ориентированная на процедуру.
Однако если вы работаете по HTTP, вы можете видеть каждую службу RPC как объект.Т.е. если вы обращаетесь к /foo/bar
и вызываете beep
через JSON-RPC через HTTP, то вы вызываете beep
метод foo
службы bar
объекта.
В противном случае вы можете сделать это так, как всеООП отображает вызовы процедур:
foo.bar(x1,x2) -> bar(foo,x1,x2)
Где foo является «указателем» на объект, для RPC это может быть объект UUID.(Вот как это на самом деле делается в некоторых RPCS).
Итак, вы звоните
f=new integer(0);
f.add(10);
f.add(20);
x=f.get();
delete f;
Идет к:
client: new("integer",0)
server: return "23ab3cb45"
client: add("23ab3cb45",10);
client: add("23ab3cb45",20);
client: get("23ab3cb45");
server: return 30
client: delete("23ab3cb45");