Changes for page Remoting

Last modified by christoph_lechleitner@iteg_at on 2022-08-08 10.40:02

From version 6.1
edited by christoph_lechleitner@iteg_at
on 2022-08-08 10.40:02
Change comment: JSON Serialization and Deserialization behaviour & requirements
To version 3.1
edited by christoph_lechleitner@iteg_at
on 2013-02-02 07.28:17
Change comment: svn and jira links

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Remoting
1 +Remoting Home
Content
... ... @@ -35,48 +35,8 @@
35 35  
36 36  = {{id name="RemotingHome-Sourcecodeandissuetracker"/}}Source code and issue tracker =
37 37  
38 ---Subversion: [[http:~~/~~/svn.clazzes.org/svn/remoting>>url:http://svn.clazzes.org/svn/remoting||shape="rect"]]--
38 +Subversion: [[http:~~/~~/svn.clazzes.org/svn/remoting>>url:http://svn.clazzes.org/svn/remoting||shape="rect"]]
39 39  
40 ---Jira: [[REMOTING>>url:https://jira.clazzes.org/browse/REMOTING||shape="rect"]]--
40 +Jira: [[REMOTING>>url:https://jira.clazzes.org/browse/REMOTING||shape="rect"]]
41 41  
42 -Git-Mirrors: See [[https:~~/~~/git.clazzes.org/>>url:https://git.clazzes.org/||shape="rect"]], search for "{{code language="none"}}java-libs/rpc{{/code}}".
43 -
44 -= {{id name="RemotingHome-ProtocolandClient/ServerSupport"/}}Protocol and Client / Server Support =
45 -
46 -== {{id name="RemotingHome-BinaryProtocol"/}}Binary Protocol ==
47 -
48 -The binary protocol that is based on but not quite equal to Java serialization.
49 -
50 -Both Java and C++ can act as client and server for this variant.
51 -
52 -=== {{id name="RemotingHome-BinaryProtocolC++"/}}Binary Protocol C++ ===
53 -
54 -For C++ see {{code language="none"}}fancysock3-dev{{/code}} from the {{code language="none"}}*-fancylibs-3{{/code}} repos on [[deb.clazzes.org>>url:https://deb.clazzes.org/||shape="rect"]] and [[rpm.clazzes.org>>url:https://rpm.clazzes.org/||shape="rect"]].
55 -
56 -As as starting point look at class {{code language="none"}}Fancy::Sock::RemotingConnectionHandlerFactory{{/code}} (server) and {{code language="none"}}Fancy::Sock::RemotingClientPool{{/code}} (client).
57 -
58 -== {{id name="RemotingHome-JSONProtocol"/}}JSON Protocol ==
59 -
60 -The JSON protocol is based on JSON-RPC-2.0 and supported by a server helper for C++, and there are examples for JavaScript clients (but nothing public yet).
61 -
62 -=== {{id name="RemotingHome-JSONProtocolC++"/}}JSON Protocol C++ ===
63 -
64 -For C++ see {{code language="none"}}fancysock3-dev{{/code}} from the {{code language="none"}}*-fancylibs-3{{/code}} repos on [[deb.clazzes.org>>url:https://deb.clazzes.org/||shape="rect"]] and [[rpm.clazzes.org>>url:https://rpm.clazzes.org/||shape="rect"]].
65 -
66 -As as starting point look at class {{code language="none"}}Fancy::Sock::HttpD::JsonRpc2RequestHandler{{/code}}.
67 -
68 -=== {{id name="RemotingHome-JSONProtocolJavaScript"/}}JSON Protocol JavaScript ===
69 -
70 -There is no public example from clazzes.org yet, but it's basically JSON-RPC-2.0.
71 -
72 -=== {{id name="RemotingHome-JSONSerializationandDeserializationbehaviour&requirements(ofC++backend)"/}}JSON Serialization and Deserialization behaviour & requirements (of C++ backend) ===
73 -
74 -If an object is serialized all fields are serialized. Addtionally there's a field "{{code language="none"}}serialID{{/code}}" that's basically the fully qualified class name of the Java data classe ("POJO"), like {{code language="none"}}org.clazzes.foobar.api.data.MyPojo{{/code}}. All complex fields can be {{code language="none"}}null{{/code}}, including Strings.
75 -
76 -When deserializing a complex top-level object that field "{{code language="none"}}serialID{{/code}}" is required to understand the contained type.
77 -
78 -\\
79 -
80 -\\
81 -
82 -\\
42 +
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -659258
1 +659267
URL
... ... @@ -1,1 +1,1 @@
1 -https://clazzes.atlassian.net/wiki/spaces/REM
1 +https://clazzes.atlassian.net/wiki/spaces/REM/pages/659267/Remoting Home